@iqual/nuxt-icms 1.4.2 → 1.4.4

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 (31) hide show
  1. package/assets/css/fe-fixes.css +16 -1
  2. package/assets/css/typography.css +1 -1
  3. package/components/DesignSystem/Atoms/Button.vue +1 -1
  4. package/components/DesignSystem/Molecules/Card.vue +2 -2
  5. package/components/DesignSystem/Molecules/MediaSlider.vue +2 -0
  6. package/components/DesignSystem/Organisms/TimelineElement.vue +2 -1
  7. package/components/Paragraph/Card/Layout/index.vue +2 -2
  8. package/components/Paragraph/Contact/index.vue +7 -3
  9. package/components/Paragraph/Downloads/index.vue +10 -3
  10. package/components/Paragraph/FAQ/Layout/index.vue +9 -3
  11. package/components/Paragraph/FlipTeasers/index.vue +5 -2
  12. package/components/Paragraph/Gallery/index.vue +5 -2
  13. package/components/Paragraph/HeroImage/index.vue +4 -1
  14. package/components/Paragraph/IconText/Layout/index.vue +9 -3
  15. package/components/Paragraph/Introduction/index.vue +1 -1
  16. package/components/Paragraph/Partnerships/Layout/index.vue +25 -36
  17. package/components/Paragraph/Table/index.vue +9 -2
  18. package/components/Paragraph/Tabs/Layout/index.vue +6 -3
  19. package/components/Paragraph/Team/Layout/index.vue +6 -2
  20. package/components/Paragraph/Teasers/index.vue +9 -2
  21. package/components/Paragraph/Testimonial/Layout/index.vue +4 -1
  22. package/components/Paragraph/Text/index.vue +3 -1
  23. package/components/Paragraph/TextMedia/index.vue +14 -0
  24. package/components/Paragraph/Timeline/Layout/index.vue +1 -1
  25. package/components/Paragraph/iFrame/index.vue +13 -4
  26. package/components/Section/Header/DesktopMainMenu.vue +1 -1
  27. package/components/Section/Header/LanguageDropdown.vue +1 -1
  28. package/components/Section/Header/index.vue +1 -1
  29. package/nuxt.config.ts +2 -2
  30. package/package.json +1 -1
  31. package/tailwind.config.ts +2 -0
@@ -5,6 +5,22 @@
5
5
  mask-image: url(/modules/contrib/icms_admin/img/iqual-logo-q.svg) !important;
6
6
  }
7
7
 
8
+ /**
9
+ *
10
+ * BLÖKKLI EDIT PAGE BUTTON
11
+ *
12
+ **/
13
+ body {
14
+ position: relative;
15
+
16
+ .bk .bk-edit-indicator {
17
+ transform: translate(0) !important;
18
+ position: fixed;
19
+ top: 275px;
20
+ z-index: 1000;
21
+ }
22
+ }
23
+
8
24
  /**
9
25
  *
10
26
  * BLÖKKLI SIDEBAR
@@ -39,7 +55,6 @@
39
55
  button.bk-list-item[data-item-bundle^='icms_layout_'] {
40
56
  /* Adds a margin between layout and a separator */
41
57
  &:not(.bk-is-disabled):last-of-type {
42
-
43
58
  .bk-add-list.bk-is-vertical & {
44
59
  margin-block-end: 30px;
45
60
  /* box-shadow:
@@ -53,7 +53,7 @@
53
53
  }
54
54
 
55
55
  a {
56
- @apply underline;
56
+ @apply underline hover:no-underline;
57
57
  }
58
58
 
59
59
  p {
@@ -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('DesignSystemAtomsAtoms')
30
+ const themedClass = useTheme('DesignSystemAtomsButton')
31
31
 
32
32
  const props = defineProps<{
33
33
  label?: string
@@ -32,7 +32,7 @@
32
32
  :class="
33
33
  themedClass(
34
34
  'contentContainerClass',
35
- '@xl:w-1/2 @xl:shrink-0 @xl:py-6 @xl:px-8 @7xl:p-16 w-full p-6 pt-0',
35
+ '@xl:w-1/2 @xl:shrink-0 @xl:py-6 @xl:px-8 @7xl:p-16 w-full p-6 pb-4 pt-0',
36
36
  )
37
37
  "
38
38
  >
@@ -78,7 +78,7 @@ defineProps<{
78
78
  const card = tv({
79
79
  base: themedClass(
80
80
  'cardBase',
81
- 'flex gap-6 flex-col @xl:flex-row @xl:gap-0 @xl:p-0',
81
+ 'flex h-full gap-6 flex-col @xl:flex-row @xl:gap-0 @xl:p-0',
82
82
  ),
83
83
  variants: {
84
84
  colorScheme: {
@@ -19,6 +19,8 @@
19
19
  <Media
20
20
  v-if="element"
21
21
  :media="element"
22
+ :imageSizes="imageSizes"
23
+ :imageAspectRatios="imageAspectRatios"
22
24
  :showCaption="showCaption"
23
25
  :mediaClass="themedClass('mediaClass')"
24
26
  :figcaptionClass="
@@ -43,7 +43,8 @@
43
43
  :media="media"
44
44
  colorScheme="none"
45
45
  :containerClass="themedClass('mediaContainerClass', 'my-0')"
46
- imageSizes="xs:750px sm:750px md:750px lg:750px"
46
+ imageSizes="xs:750px"
47
+ imageAspectRatios="3/2"
47
48
  :mediaClass="themedClass('mediaClass', 'my-0')"
48
49
  :figcaptionClass="themedClass('figcaptionClass')"
49
50
  :elementClass="themedClass('elementClass')"
@@ -5,11 +5,11 @@
5
5
  :class="themedClass('containerClass')"
6
6
  >
7
7
  <DesignSystemAtomsGridRow
8
- v-if="pretitle || title"
8
+ v-if="pretitle || title || subtitle || text"
9
9
  :class="themedClass('rowClass')"
10
10
  >
11
11
  <div
12
- :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-12')"
12
+ :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-9')"
13
13
  >
14
14
  <DesignSystemOrganismsContentBlock
15
15
  :pretitle="pretitle"
@@ -6,7 +6,8 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('rowClass')">
8
8
  <div
9
- :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-12')"
9
+ v-if="pretitle || title || subtitle"
10
+ :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-9')"
10
11
  >
11
12
  <DesignSystemOrganismsContentBlock
12
13
  :pretitle="pretitle"
@@ -21,6 +22,7 @@
21
22
  />
22
23
  </div>
23
24
  <div
25
+ v-if="text || media?.length"
24
26
  :class="themedClass('secondColumnClass', 'col-span-12 md:col-span-5')"
25
27
  >
26
28
  <DesignSystemOrganismsContentBlock
@@ -48,14 +50,16 @@
48
50
  :class="
49
51
  themedClass(
50
52
  'thirdColumnClass',
51
- 'col-span-12 md:col-span-6 md:col-start-7',
53
+ text || media?.length
54
+ ? 'col-span-12 md:col-span-6 md:col-start-7'
55
+ : 'col-span-12',
52
56
  )
53
57
  "
54
58
  >
55
59
  <DrupalWebform
56
60
  v-if="contactWebform?.id"
57
61
  :form-id="contactWebform?.id"
58
- :wrapperClass="themedClass('wrapperClass', 'mt-4 md:mt-0')"
62
+ :wrapperClass="themedClass('wrapperClass')"
59
63
  :formWrapperClass="themedClass('formWrapperClass')"
60
64
  :messagesClass="themedClass('messagesClass')"
61
65
  :elementWrapperClass="themedClass('elementWrapperClass')"
@@ -6,7 +6,8 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('rowClass')">
8
8
  <div
9
- :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-12')"
9
+ v-if="pretitle || title"
10
+ :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-9')"
10
11
  >
11
12
  <DesignSystemOrganismsContentBlock
12
13
  :pretitle="pretitle"
@@ -19,6 +20,7 @@
19
20
  />
20
21
  </div>
21
22
  <div
23
+ v-if="text || media?.length"
22
24
  :class="themedClass('secondColumnClass', 'col-span-12 md:col-span-5')"
23
25
  >
24
26
  <DesignSystemOrganismsContentBlock
@@ -34,7 +36,9 @@
34
36
  :class="
35
37
  themedClass(
36
38
  'thirdColumnClass',
37
- 'col-span-12 md:order-last md:col-span-7 md:col-start-7',
39
+ text || media?.length
40
+ ? 'col-span-12 md:order-last md:col-span-7 md:col-start-7'
41
+ : 'col-span-12',
38
42
  )
39
43
  "
40
44
  >
@@ -84,7 +88,10 @@ const spacing = computed(() => {
84
88
  })
85
89
 
86
90
  const download = tv({
87
- base: themedClass('downloadBase', 'flex items-center gap-4 mb-4 py-4 px-5'),
91
+ base: themedClass(
92
+ 'downloadBase',
93
+ 'flex items-center gap-4 not-last:mb-4 py-4 px-5',
94
+ ),
88
95
  variants: {
89
96
  colorScheme: {
90
97
  none: themedClass('downloadVariantsColorSchemeNone', 'bg-gray-50'),
@@ -6,7 +6,8 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('rowClass')">
8
8
  <div
9
- :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-12')"
9
+ v-if="pretitle || title || subtitle"
10
+ :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-9')"
10
11
  >
11
12
  <DesignSystemOrganismsContentBlock
12
13
  :pretitle="pretitle"
@@ -21,6 +22,7 @@
21
22
  />
22
23
  </div>
23
24
  <div
25
+ v-if="text || media?.length || buttons?.length"
24
26
  :class="themedClass('secondColumnClass', 'col-span-12 md:col-span-5')"
25
27
  >
26
28
  <DesignSystemOrganismsContentBlock
@@ -38,7 +40,9 @@
38
40
  cn(
39
41
  themedClass(
40
42
  'buttonsContainerClass',
41
- 'mt-6 flex flex-wrap items-center gap-6',
43
+ pretitle || title || subtitle || text || media?.length
44
+ ? 'mt-6 flex flex-wrap items-center gap-6'
45
+ : 'flex flex-wrap items-center gap-6',
42
46
  ),
43
47
  buttonAlignment,
44
48
  { droptarget: isEditing },
@@ -50,7 +54,9 @@
50
54
  :class="
51
55
  themedClass(
52
56
  'thirdColumnClass',
53
- 'relative col-span-12 mt-4 md:col-span-6 md:col-start-7 md:mt-0',
57
+ text || media?.length || buttons?.length
58
+ ? 'col-span-12 mt-4 md:col-span-6 md:col-start-7 md:mt-0'
59
+ : 'col-span-12',
54
60
  )
55
61
  "
56
62
  >
@@ -6,8 +6,9 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('firstRowClass')">
8
8
  <div
9
+ v-if="pretitle || title"
9
10
  :class="
10
- themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-12')
11
+ themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-9')
11
12
  "
12
13
  >
13
14
  <DesignSystemOrganismsContentBlock
@@ -38,7 +39,9 @@
38
39
  </DesignSystemAtomsGridRow>
39
40
 
40
41
  <DesignSystemAtomsGridRow
41
- :class="themedClass('secondRowClass', 'mt-10 md:mt-20')"
42
+ :class="
43
+ themedClass('secondRowClass', pretitle || title ? 'mt-10 md:mt-20' : '')
44
+ "
42
45
  >
43
46
  <DesignSystemOrganismsFlipTeaser
44
47
  v-for="flipTeaser in flipTeasers"
@@ -6,8 +6,9 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('firstRowClass')">
8
8
  <div
9
+ v-if="pretitle || title"
9
10
  :class="
10
- themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-12')
11
+ themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-9')
11
12
  "
12
13
  >
13
14
  <DesignSystemOrganismsContentBlock
@@ -37,7 +38,9 @@
37
38
 
38
39
  <DesignSystemAtomsGridRow
39
40
  v-if="media?.length"
40
- :class="themedClass('secondRowClass', 'mt-10 md:mt-20')"
41
+ :class="
42
+ themedClass('secondRowClass', pretitle || title ? 'mt-10 md:mt-20' : '')
43
+ "
41
44
  >
42
45
  <div
43
46
  v-for="(image, index) in media"
@@ -33,7 +33,10 @@
33
33
  videoLoop
34
34
  :mediaClass="themedClass('mediaClass')"
35
35
  :elementClass="
36
- themedClass('elementClass', 'size-full object-cover object-center')
36
+ cn(
37
+ themedClass('elementClass', 'size-full object-cover'),
38
+ elementClass,
39
+ )
37
40
  "
38
41
  :figcaptionClass="themedClass('figcaptionClass')"
39
42
  />
@@ -6,7 +6,8 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('rowClass')">
8
8
  <div
9
- :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-12')"
9
+ v-if="pretitle || title || subtitle"
10
+ :class="themedClass('firstColumnClass', 'col-span-9')"
10
11
  >
11
12
  <DesignSystemOrganismsContentBlock
12
13
  :pretitle="pretitle"
@@ -21,6 +22,7 @@
21
22
  />
22
23
  </div>
23
24
  <div
25
+ v-if="text || media?.length || buttons?.length"
24
26
  :class="themedClass('secondColumnClass', 'col-span-12 md:col-span-5')"
25
27
  >
26
28
  <DesignSystemOrganismsContentBlock
@@ -39,7 +41,9 @@
39
41
  cn(
40
42
  themedClass(
41
43
  'buttonsContainerClass',
42
- 'mt-6 flex flex-wrap items-center gap-6',
44
+ text || media?.length
45
+ ? 'mt-6 flex flex-wrap items-center gap-6'
46
+ : 'flex flex-wrap items-center gap-6',
43
47
  ),
44
48
  buttonAlignment,
45
49
  { droptarget: isEditing },
@@ -53,7 +57,9 @@
53
57
  :class="[
54
58
  themedClass(
55
59
  'iconTextElementsContainerClass',
56
- 'col-span-12 mt-4 flex flex-col gap-6 md:col-span-6 md:col-start-7 md:mt-0',
60
+ text || media?.length || buttons?.length
61
+ ? 'col-span-12 mt-4 flex flex-col gap-6 md:col-span-6 md:col-start-7 md:mt-0'
62
+ : 'col-span-12 flex flex-col gap-6',
57
63
  ),
58
64
  { droptarget: isEditing },
59
65
  ]"
@@ -29,7 +29,7 @@
29
29
  :class="
30
30
  themedClass(
31
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',
32
+ 'col-span-12 flex flex-col md:col-span-7 md:pl-5 lg:pl-12',
33
33
  )
34
34
  "
35
35
  >
@@ -11,7 +11,7 @@
11
11
  :class="
12
12
  themedClass(
13
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',
14
+ 'col-span-12 md:col-span-6',
15
15
  )
16
16
  "
17
17
  >
@@ -50,46 +50,35 @@
50
50
  <Media
51
51
  v-if="image"
52
52
  :media="image"
53
- imageAspectRatios="1/1"
54
- imageSizes="xs:100vw sm:100vw md:25vw lg:320px"
53
+ imageAspectRatios="xs:16/9 md:1/1 lg:16/9"
54
+ imageSizes="xs:100vw sm:100vw md:50vw lg:600px"
55
55
  :mediaClass="themedClass('mediaClass')"
56
56
  :elementClass="themedClass('elementClass')"
57
57
  :figcaptionClass="themedClass('figcaptionClass')"
58
58
  />
59
- </div>
60
- </DesignSystemAtomsGridRow>
61
59
 
62
- <DesignSystemAtomsGridRow
63
- :class="partnershipsOffsetRow({ colorScheme })"
64
- >
65
- <div
66
- :class="
67
- themedClass(
68
- 'partnershipsOffsetRowColumnClass',
69
- 'col-span-1 p-5 lg:p-8',
70
- )
71
- "
72
- >
73
- <DesignSystemOrganismsContentBlock
74
- :pretitle="overlayTitle"
75
- :pretitleClass="themedClass('overlayTitle')"
76
- :text="overlayText"
77
- :textClass="themedClass('overlayText')"
78
- :colorScheme="colorScheme"
79
- />
60
+ <div :class="partnershipsOffsetRow({ colorScheme })">
61
+ <DesignSystemOrganismsContentBlock
62
+ :pretitle="overlayTitle"
63
+ :pretitleClass="themedClass('overlayTitle')"
64
+ :text="overlayText"
65
+ :textClass="themedClass('overlayText')"
66
+ :colorScheme="colorScheme"
67
+ />
80
68
 
81
- <BlokkliField
82
- v-if="partnershipElements"
83
- name="field_icms_partnership_elements"
84
- :list="partnershipElements"
85
- :class="[
86
- themedClass(
87
- 'partnershipsContainerClass',
88
- 'mt-8 flex flex-wrap xl:flex-nowrap',
89
- ),
90
- { droptarget: isEditing },
91
- ]"
92
- />
69
+ <BlokkliField
70
+ v-if="partnershipElements"
71
+ name="field_icms_partnership_elements"
72
+ :list="partnershipElements"
73
+ :class="[
74
+ themedClass(
75
+ 'partnershipsContainerClass',
76
+ 'mt-8 flex flex-wrap xl:flex-nowrap',
77
+ ),
78
+ { droptarget: isEditing },
79
+ ]"
80
+ />
81
+ </div>
93
82
  </div>
94
83
  </DesignSystemAtomsGridRow>
95
84
  </div>
@@ -135,7 +124,7 @@ const partnershipsRow = tv({
135
124
  const partnershipsOffsetRow = tv({
136
125
  base: themedClass(
137
126
  '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',
127
+ 'relative max-w-[75%] md:max-w-none mx-auto -mt-20 lg:-mt-8 z-10 p-5 lg:p-8 md:-mx-8 z-10',
139
128
  ),
140
129
  variants: {
141
130
  colorScheme: {
@@ -6,8 +6,9 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('firstRowClass')">
8
8
  <div
9
+ v-if="pretitle || title || subtitle"
9
10
  :class="
10
- themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-12')
11
+ themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-9')
11
12
  "
12
13
  >
13
14
  <DesignSystemOrganismsContentBlock
@@ -22,6 +23,7 @@
22
23
  />
23
24
  </div>
24
25
  <div
26
+ v-if="text"
25
27
  :class="
26
28
  themedClass('firstRowSecondColumnClass', 'col-span-12 md:col-span-9')
27
29
  "
@@ -33,7 +35,12 @@
33
35
  </div>
34
36
  </DesignSystemAtomsGridRow>
35
37
  <DesignSystemAtomsGridRow
36
- :class="themedClass('secondRowClass', 'mt-10 md:mt-20')"
38
+ :class="
39
+ themedClass(
40
+ 'secondRowClass',
41
+ pretitle || title || subtitle || text ? 'mt-10 md:mt-20' : '',
42
+ )
43
+ "
37
44
  >
38
45
  <div :class="themedClass('secondRowColumnClass', 'relative col-span-12')">
39
46
  <DesignSystemMoleculesTable
@@ -5,7 +5,10 @@
5
5
  :class="themedClass('containerClass')"
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('firstRowClass')">
8
- <div :class="themedClass('firstRowColumnClass', 'col-span-12')">
8
+ <div
9
+ v-if="title"
10
+ :class="themedClass('firstRowColumnClass', 'col-span-12')"
11
+ >
9
12
  <DesignSystemOrganismsContentBlock
10
13
  :title="title"
11
14
  :titleWeight="titleWeight"
@@ -148,7 +151,7 @@ const { isMobile } = useIsMobile()
148
151
  const tabList = tv({
149
152
  base: themedClass(
150
153
  'tabListBase',
151
- 'rounded-none flex flex-col items-center justify-center bg-transparent p-0 lg:flex-row dark:bg-transparent border-b',
154
+ 'rounded-none flex flex-col items-stretch justify-center bg-transparent p-0 lg:flex-row dark:bg-transparent border-b',
152
155
  ),
153
156
  variants: {
154
157
  colorScheme: {
@@ -166,7 +169,7 @@ const tabList = tv({
166
169
  const tabTrigger = tv({
167
170
  base: themedClass(
168
171
  'tabTriggerBase',
169
- 'inline-flex w-full flex-1 items-center justify-center whitespace-nowrap rounded-none data-[state=active]:shadow-none py-4 text-base transition-all disabled:pointer-events-none lg:w-fit not-last:border-r',
172
+ 'min-w-0 inline-flex w-full flex-1 items-center justify-center whitespace-nowrap rounded-none data-[state=active]:shadow-none py-4 text-base transition-all disabled:pointer-events-none lg:w-fit not-last:border-r [&>span]:overflow-visible [&>span]:text-ellipsis-none [&>span]:whitespace-normal',
170
173
  ),
171
174
  variants: {
172
175
  colorScheme: {
@@ -6,7 +6,8 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('rowClass')">
8
8
  <div
9
- :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-12')"
9
+ v-if="pretitle || title || subtitle"
10
+ :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-9')"
10
11
  >
11
12
  <DesignSystemOrganismsContentBlock
12
13
  :pretitle="pretitle"
@@ -21,6 +22,7 @@
21
22
  />
22
23
  </div>
23
24
  <div
25
+ v-if="text"
24
26
  :class="themedClass('secondColumnClass', 'col-span-12 md:col-span-9')"
25
27
  >
26
28
  <DesignSystemOrganismsContentBlock
@@ -39,7 +41,9 @@
39
41
  'grid-3-col',
40
42
  themedClass(
41
43
  'teamElementsContainerClass',
42
- 'container mx-auto mt-10 grid gap-6 md:mt-20 md:gap-12',
44
+ pretitle || title || subtitle || text
45
+ ? 'container mx-auto mt-10 grid gap-6 md:mt-20 md:gap-12'
46
+ : 'container mx-auto grid gap-6 md:gap-12',
43
47
  ),
44
48
  { droptarget: isEditing },
45
49
  )
@@ -6,8 +6,9 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('firstRowClass')">
8
8
  <div
9
+ v-if="pretitle || title"
9
10
  :class="
10
- themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-12')
11
+ themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-9')
11
12
  "
12
13
  >
13
14
  <DesignSystemOrganismsContentBlock
@@ -21,6 +22,7 @@
21
22
  />
22
23
  </div>
23
24
  <div
25
+ v-if="subtitle || text"
24
26
  :class="
25
27
  themedClass('firstRowSecondColumnClass', 'col-span-12 md:col-span-9')
26
28
  "
@@ -39,7 +41,12 @@
39
41
 
40
42
  <DesignSystemAtomsGridRow
41
43
  :class="
42
- themedClass('secondRowClass', 'grid-4-col mt-10 gap-y-12 md:mt-20')
44
+ themedClass(
45
+ 'secondRowClass',
46
+ pretitle || title || subtitle || text
47
+ ? 'grid-4-col mt-10 gap-y-12 md:mt-20'
48
+ : 'grid-4-col gap-y-12',
49
+ )
43
50
  "
44
51
  >
45
52
  <component
@@ -6,6 +6,7 @@
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('rowClass')">
8
8
  <div
9
+ v-if="pretitle || title || subtitle"
9
10
  :class="themedClass('firstColumnClass', 'col-span-12 md:col-span-4')"
10
11
  >
11
12
  <DesignSystemOrganismsContentBlock
@@ -24,7 +25,9 @@
24
25
  :class="
25
26
  themedClass(
26
27
  'secondColumnClass',
27
- 'col-span-12 md:col-span-7 md:col-start-6',
28
+ pretitle || title || subtitle
29
+ ? 'col-span-12 md:col-span-7 md:col-start-6'
30
+ : 'col-span-12',
28
31
  )
29
32
  "
30
33
  >
@@ -27,7 +27,9 @@
27
27
  cn(
28
28
  themedClass(
29
29
  'buttonsContainerClass',
30
- 'mt-8 flex flex-wrap items-center gap-6',
30
+ pretitle || title || subtitle || text
31
+ ? 'mt-8 flex flex-wrap items-center gap-6'
32
+ : 'flex flex-wrap items-center gap-6',
31
33
  ),
32
34
  buttonAlignment,
33
35
  { droptarget: isEditing },
@@ -39,6 +39,7 @@
39
39
  v-if="media && media.length"
40
40
  :media="media"
41
41
  imageSizes="xs:100vw sm:100vw md:50vw lg:640px"
42
+ :imageAspectRatios="imageAspectRatios"
42
43
  :containerClass="themedClass('containerClass', 'my-0')"
43
44
  :mediaClass="themedClass('mediaClass')"
44
45
  :elementClass="themedClass('elementClass')"
@@ -138,6 +139,19 @@ const imageColumnClassList = computed(() => {
138
139
  return classList.join(' ')
139
140
  })
140
141
 
142
+ const imageAspectRatios = computed(() => {
143
+ const width = options.value.textWidth
144
+
145
+ switch (width) {
146
+ case 'narrow':
147
+ return '3/2'
148
+ case 'medium':
149
+ return '4/3'
150
+ default:
151
+ return '1/1'
152
+ }
153
+ })
154
+
141
155
  const colorScheme = computed(() => {
142
156
  return options.value.colorScheme
143
157
  })
@@ -11,7 +11,7 @@
11
11
  >
12
12
  <div
13
13
  :class="
14
- themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-12')
14
+ themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-9')
15
15
  "
16
16
  >
17
17
  <DesignSystemOrganismsContentBlock
@@ -5,7 +5,10 @@
5
5
  :class="themedClass('containerClass')"
6
6
  >
7
7
  <DesignSystemAtomsGridRow :class="themedClass('rowClass')">
8
- <div :class="themedClass('firstColumnClass', titleWrapperClassList)">
8
+ <div
9
+ v-if="pretitle || title"
10
+ :class="themedClass('firstColumnClass', titleWrapperClassList)"
11
+ >
9
12
  <DesignSystemOrganismsContentBlock
10
13
  :pretitle="pretitle"
11
14
  :pretitleClass="themedClass('pretitleClass')"
@@ -17,6 +20,7 @@
17
20
  </div>
18
21
  <div :class="themedClass('secondColumnClass', textWrapperClassList)">
19
22
  <DesignSystemOrganismsContentBlock
23
+ v-if="text"
20
24
  :text="text"
21
25
  :textClass="themedClass('textClass')"
22
26
  :colorScheme="colorScheme"
@@ -25,7 +29,12 @@
25
29
  <div
26
30
  v-if="embed"
27
31
  v-html="embed"
28
- :class="themedClass('emberContainer', 'embed-wrapper mt-10')"
32
+ :class="
33
+ themedClass(
34
+ 'embedContainer',
35
+ text ? 'embed-wrapper mt-10' : 'embed-wrapper',
36
+ )
37
+ "
29
38
  :style="{ '--iframe-height': `${props.height || 600}px` }"
30
39
  />
31
40
  </div>
@@ -54,7 +63,7 @@ const titleWrapperClassList = computed(() => {
54
63
  'md:col-start-4',
55
64
  ].join(' ')
56
65
  }
57
- return ['col-span-12'].join(' ')
66
+ return ['col-span-9'].join(' ')
58
67
  })
59
68
 
60
69
  const textWrapperClassList = computed(() => {
@@ -68,7 +77,7 @@ const textWrapperClassList = computed(() => {
68
77
  'md:col-start-4',
69
78
  ].join(' ')
70
79
  }
71
- return ['col-span-9'].join(' ')
80
+ return ['col-span-12'].join(' ')
72
81
  })
73
82
 
74
83
  const colorScheme = computed(() => {
@@ -60,7 +60,7 @@
60
60
  :id="submenuId(item)"
61
61
  :class="
62
62
  themedClass(
63
- 'listClass',
63
+ 'submenulistClass',
64
64
  'absolute left-0 top-full w-fit min-w-48 border border-gray-100 bg-white',
65
65
  )
66
66
  "
@@ -55,7 +55,7 @@
55
55
  :class="
56
56
  themedClass(
57
57
  'langDropdownContainerClass',
58
- 'absolute left-0 top-full -mt-[1px]',
58
+ 'absolute left-0 top-full z-10 -mt-[1px]',
59
59
  )
60
60
  "
61
61
  >
@@ -20,7 +20,7 @@
20
20
  )
21
21
  "
22
22
  >
23
- <div ref="metaContainer">
23
+ <div ref="metaContainer" :class="themedClass('metaRefContainerClass')">
24
24
  <DesignSystemAtomsGridRow
25
25
  :class="
26
26
  themedClass(
package/nuxt.config.ts CHANGED
@@ -480,7 +480,7 @@ export default defineNuxtConfig({
480
480
  none: { class: 'bg-white', label: 'None' },
481
481
  light: { class: 'bg-gray-200', label: 'Light' },
482
482
  dark: { class: 'bg-gray-500', label: 'Dark' },
483
- darker: { class: 'bg-gray-900', label: 'Darker' },
483
+ darker: { class: 'bg-gray-800', label: 'Darker' },
484
484
  },
485
485
  },
486
486
  colorMode: {
@@ -489,7 +489,7 @@ export default defineNuxtConfig({
489
489
  default: 'none',
490
490
  displayAs: 'colors',
491
491
  options: {
492
- none: { class: 'bg-grey-200', label: 'None' },
492
+ none: { class: 'bg-gray-200', label: 'None' },
493
493
  dark: { class: 'bg-black', label: 'Dark' },
494
494
  light: { class: 'bg-white', label: 'Light' },
495
495
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iqual/nuxt-icms",
3
- "version": "1.4.2",
3
+ "version": "1.4.4",
4
4
  "description": "ICMS Base",
5
5
  "type": "module",
6
6
  "private": false,
@@ -183,6 +183,8 @@ const config: Config = {
183
183
  },
184
184
  },
185
185
  },
186
+ // Added as part of https://support-iqual.atlassian.net/browse/ICMS-312
187
+ safelist: [{ pattern: /bg-gray-\d+/ }],
186
188
  future: {
187
189
  hoverOnlyWhenSupported: true,
188
190
  },