@kitconcept/volto-light-theme 8.0.0-alpha.3 → 8.0.0-alpha.30

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 (200) hide show
  1. package/.changelog.draft +6 -9
  2. package/CHANGELOG.md +310 -0
  3. package/locales/af/LC_MESSAGES/volto.po +645 -0
  4. package/locales/ar/LC_MESSAGES/volto.po +645 -0
  5. package/locales/bg/LC_MESSAGES/volto.po +645 -0
  6. package/locales/bn/LC_MESSAGES/volto.po +645 -0
  7. package/locales/ca/LC_MESSAGES/volto.po +645 -0
  8. package/locales/cs/LC_MESSAGES/volto.po +645 -0
  9. package/locales/cy/LC_MESSAGES/volto.po +645 -0
  10. package/locales/da/LC_MESSAGES/volto.po +645 -0
  11. package/locales/de/LC_MESSAGES/volto.po +83 -167
  12. package/locales/el/LC_MESSAGES/volto.po +645 -0
  13. package/locales/en/LC_MESSAGES/volto.po +30 -115
  14. package/locales/en_AU/LC_MESSAGES/volto.po +645 -0
  15. package/locales/en_GB/LC_MESSAGES/volto.po +645 -0
  16. package/locales/eo/LC_MESSAGES/volto.po +645 -0
  17. package/locales/es/LC_MESSAGES/volto.po +75 -160
  18. package/locales/et/LC_MESSAGES/volto.po +645 -0
  19. package/locales/eu/LC_MESSAGES/volto.po +59 -125
  20. package/locales/fa/LC_MESSAGES/volto.po +645 -0
  21. package/locales/fi/LC_MESSAGES/volto.po +645 -0
  22. package/locales/fr/LC_MESSAGES/volto.po +645 -0
  23. package/locales/fu/LC_MESSAGES/volto.po +645 -0
  24. package/locales/ga/LC_MESSAGES/volto.po +645 -0
  25. package/locales/gl/LC_MESSAGES/volto.po +645 -0
  26. package/locales/he/LC_MESSAGES/volto.po +645 -0
  27. package/locales/hi/LC_MESSAGES/volto.po +645 -0
  28. package/locales/hr/LC_MESSAGES/volto.po +645 -0
  29. package/locales/hu/LC_MESSAGES/volto.po +645 -0
  30. package/locales/hy/LC_MESSAGES/volto.po +645 -0
  31. package/locales/id/LC_MESSAGES/volto.po +645 -0
  32. package/locales/it/LC_MESSAGES/volto.po +645 -0
  33. package/locales/ja/LC_MESSAGES/volto.po +645 -0
  34. package/locales/ka/LC_MESSAGES/volto.po +645 -0
  35. package/locales/kn/LC_MESSAGES/volto.po +645 -0
  36. package/locales/ko/LC_MESSAGES/volto.po +645 -0
  37. package/locales/lt/LC_MESSAGES/volto.po +645 -0
  38. package/locales/lv/LC_MESSAGES/volto.po +645 -0
  39. package/locales/mi/LC_MESSAGES/volto.po +645 -0
  40. package/locales/mk_MK/LC_MESSAGES/volto.po +645 -0
  41. package/locales/ms/LC_MESSAGES/volto.po +645 -0
  42. package/locales/mt/LC_MESSAGES/volto.po +645 -0
  43. package/locales/my/LC_MESSAGES/volto.po +645 -0
  44. package/locales/nl/LC_MESSAGES/volto.po +645 -0
  45. package/locales/nl_BE/LC_MESSAGES/volto.po +645 -0
  46. package/locales/nn/LC_MESSAGES/volto.po +645 -0
  47. package/locales/no/LC_MESSAGES/volto.po +645 -0
  48. package/locales/pl/LC_MESSAGES/volto.po +645 -0
  49. package/locales/pt/LC_MESSAGES/volto.po +645 -0
  50. package/locales/pt_BR/LC_MESSAGES/volto.po +38 -123
  51. package/locales/rm/LC_MESSAGES/volto.po +645 -0
  52. package/locales/ro/LC_MESSAGES/volto.po +645 -0
  53. package/locales/ru/LC_MESSAGES/volto.po +645 -0
  54. package/locales/sk/LC_MESSAGES/volto.po +645 -0
  55. package/locales/sl/LC_MESSAGES/volto.po +645 -0
  56. package/locales/sm/LC_MESSAGES/volto.po +645 -0
  57. package/locales/sq/LC_MESSAGES/volto.po +645 -0
  58. package/locales/sr/LC_MESSAGES/volto.po +645 -0
  59. package/locales/sr_Cyrl/LC_MESSAGES/volto.po +645 -0
  60. package/locales/sr_Latn/LC_MESSAGES/volto.po +645 -0
  61. package/locales/sv/LC_MESSAGES/volto.po +645 -0
  62. package/locales/sw/LC_MESSAGES/volto.po +645 -0
  63. package/locales/ta/LC_MESSAGES/volto.po +645 -0
  64. package/locales/te/LC_MESSAGES/volto.po +645 -0
  65. package/locales/th/LC_MESSAGES/volto.po +645 -0
  66. package/locales/tl/LC_MESSAGES/volto.po +645 -0
  67. package/locales/to/LC_MESSAGES/volto.po +645 -0
  68. package/locales/tr/LC_MESSAGES/volto.po +645 -0
  69. package/locales/uk/LC_MESSAGES/volto.po +645 -0
  70. package/locales/vi/LC_MESSAGES/volto.po +645 -0
  71. package/locales/volto.pot +31 -116
  72. package/locales/zh_CN/LC_MESSAGES/volto.po +645 -0
  73. package/locales/zh_HK/LC_MESSAGES/volto.po +645 -0
  74. package/locales/zh_TW/LC_MESSAGES/volto.po +645 -0
  75. package/package.json +7 -4
  76. package/src/__mocks__/semantic-ui-react.ts +31 -0
  77. package/src/components/Blocks/Block/EditBlockWrapper.jsx +9 -3
  78. package/src/components/Blocks/Button/schema.js +12 -0
  79. package/src/components/Blocks/EventCalendar/Search/components/EventTemplate.tsx +1 -1
  80. package/src/components/Blocks/Image/Edit.jsx +9 -32
  81. package/src/components/Blocks/Image/View.jsx +9 -26
  82. package/src/components/Blocks/Image/adapter.js +28 -14
  83. package/src/components/Blocks/Image/adapter.test.js +156 -0
  84. package/src/components/Blocks/Image/schema.js +21 -7
  85. package/src/components/Blocks/Listing/DefaultTemplate.jsx +12 -6
  86. package/src/components/Blocks/Listing/GridTemplate.jsx +17 -7
  87. package/src/components/Blocks/Listing/ListingBody.jsx +4 -1
  88. package/src/components/Blocks/Listing/SummaryTemplate.jsx +17 -7
  89. package/src/components/Blocks/Maps/MapsSidebar.jsx +68 -0
  90. package/src/components/Blocks/Maps/View.jsx +37 -0
  91. package/src/components/Blocks/Maps/adapter.js +27 -0
  92. package/src/components/Blocks/Maps/adapter.test.js +63 -0
  93. package/src/components/Blocks/Maps/schema.js +42 -2
  94. package/src/components/Blocks/Separator/schema.js +12 -0
  95. package/src/components/Blocks/Teaser/DefaultBody.tsx +35 -6
  96. package/src/components/Blocks/Video/VideoSidebar.jsx +68 -0
  97. package/src/components/Blocks/Video/View.jsx +38 -0
  98. package/src/components/Blocks/Video/adapter.js +28 -0
  99. package/src/components/Blocks/Video/adapter.test.js +63 -0
  100. package/src/components/Blocks/Video/schema.js +42 -2
  101. package/src/components/Blocks/schema.ts +69 -0
  102. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +128 -0
  103. package/src/components/Breadcrumbs/Breadcrumbs.tsx +117 -0
  104. package/src/components/Caption/Caption.test.tsx +31 -0
  105. package/src/components/Caption/{Caption.jsx → Caption.tsx} +14 -21
  106. package/src/components/Footer/ColumnLinks.tsx +2 -2
  107. package/src/components/Footer/Footer.tsx +2 -2
  108. package/src/components/Footer/slots/Colophon.tsx +13 -1
  109. package/src/components/Footer/slots/CoreFooter.tsx +4 -2
  110. package/src/components/Footer/slots/FollowUsLogoAndLinks.tsx +12 -23
  111. package/src/components/Header/Header.tsx +3 -3
  112. package/src/components/LanguageSelector/LanguageSelector.tsx +91 -0
  113. package/src/components/MobileNavigation/MobileNavigation.jsx +11 -9
  114. package/src/components/Navigation/Navigation.test.tsx +176 -0
  115. package/src/components/Navigation/{Navigation.jsx → Navigation.tsx} +89 -42
  116. package/src/components/StickyMenu/MobileCarouselArrowButton.tsx +81 -0
  117. package/src/components/StickyMenu/MobileStickyMenu.tsx +76 -0
  118. package/src/components/Summary/DefaultSummary.tsx +10 -3
  119. package/src/components/Summary/EventSummary.tsx +10 -3
  120. package/src/components/Summary/FileSummary.tsx +10 -3
  121. package/src/components/Summary/NewsItemSummary.tsx +10 -3
  122. package/src/components/Summary/PersonSummary.tsx +10 -3
  123. package/src/components/Summary/Summary.stories.tsx +46 -30
  124. package/src/components/Tags/Tags.test.tsx +71 -0
  125. package/src/components/Tags/{Tags.jsx → Tags.tsx} +9 -25
  126. package/src/components/Theme/EventView.jsx +4 -4
  127. package/src/components/Theme/ImageView.jsx +8 -1
  128. package/src/components/Theme/NewsItemView.jsx +4 -4
  129. package/src/components/Theme/RenderBlocksV2.jsx +38 -15
  130. package/src/components/Widgets/ColorSwatch.stories.tsx +197 -0
  131. package/src/components/Widgets/ColorSwatch.test.tsx +188 -0
  132. package/src/components/Widgets/ColorSwatch.tsx +77 -39
  133. package/src/components/Widgets/ObjectList.tsx +37 -27
  134. package/src/components/Widgets/SoftTextWidget.tsx +129 -0
  135. package/src/components/Widgets/SoftTextareaWidget.tsx +118 -0
  136. package/src/components/Widgets/ThemeColorSwatch.tsx +5 -9
  137. package/src/config/blocks.tsx +83 -28
  138. package/src/config/classExtenders.ts +11 -10
  139. package/src/config/settings.ts +6 -0
  140. package/src/config/slots.ts +7 -0
  141. package/src/config/widgets.ts +5 -9
  142. package/src/customizations/volto/components/manage/Blocks/Maps/MapsSidebar.jsx +10 -0
  143. package/src/customizations/volto/components/manage/Blocks/Maps/View.jsx +10 -0
  144. package/src/customizations/volto/components/manage/Blocks/Video/VideoSidebar.jsx +10 -0
  145. package/src/customizations/volto/components/manage/Blocks/Video/View.jsx +10 -0
  146. package/src/customizations/volto/components/manage/DragDropList/DragDropList.jsx +263 -0
  147. package/src/customizations/volto/components/theme/LanguageSelector/LanguageSelector.tsx +10 -0
  148. package/src/helpers/styleDefinitions.test.tsx +30 -0
  149. package/src/helpers/styleDefinitions.ts +49 -0
  150. package/src/helpers/useLiveData.ts +7 -2
  151. package/src/index.ts +15 -0
  152. package/src/internalChecks.test.ts +94 -0
  153. package/src/primitives/Card/Card.stories.tsx +4 -1
  154. package/src/primitives/Card/Card.test.tsx +11 -33
  155. package/src/primitives/Card/Card.tsx +37 -44
  156. package/src/primitives/IconLinkList.tsx +53 -52
  157. package/src/primitives/LinkIconButton.tsx +52 -0
  158. package/src/reducers/errorContext.ts +14 -0
  159. package/src/reducers/index.ts +7 -0
  160. package/src/theme/_bgcolor-blocks-layout.scss +48 -46
  161. package/src/theme/_content.scss +12 -13
  162. package/src/theme/_export_import.scss +94 -0
  163. package/src/theme/_footer.scss +131 -64
  164. package/src/theme/_header.scss +25 -5
  165. package/src/theme/_insets.scss +1 -1
  166. package/src/theme/_layout.scss +41 -77
  167. package/src/theme/_mobile-sticky-menu.scss +92 -0
  168. package/src/theme/_search-page.scss +250 -0
  169. package/src/theme/_typo-custom.scss +24 -8
  170. package/src/theme/_variables.scss +40 -4
  171. package/src/theme/_widgets.scss +6 -17
  172. package/src/theme/blocks/_accordion.scss +11 -4
  173. package/src/theme/blocks/_form.scss +350 -0
  174. package/src/theme/blocks/_grid.scss +10 -77
  175. package/src/theme/blocks/_highlight.scss +10 -7
  176. package/src/theme/blocks/_image.scss +99 -184
  177. package/src/theme/blocks/_listing.scss +61 -128
  178. package/src/theme/blocks/_maps.scss +60 -34
  179. package/src/theme/blocks/_search.scss +3 -4
  180. package/src/theme/blocks/_table.scss +1 -0
  181. package/src/theme/blocks/_teaser.scss +7 -117
  182. package/src/theme/blocks/_toc.scss +2 -1
  183. package/src/theme/card.scss +136 -69
  184. package/src/theme/main.scss +4 -0
  185. package/src/theme/notfound.scss +2 -0
  186. package/src/theme/person.scss +7 -1
  187. package/src/theme/sticky-menu.scss +7 -5
  188. package/src/transforms/to6.ts +5 -49
  189. package/src/transforms/to8.test.js +201 -0
  190. package/src/transforms/to8.ts +109 -0
  191. package/src/types.d.ts +1 -0
  192. package/vitest.config.mjs +28 -3
  193. package/razzle.extend.js +0 -38
  194. package/src/components/Blocks/schema.js +0 -44
  195. package/src/components/Breadcrumbs/Breadcrumbs.jsx +0 -118
  196. package/src/components/Widgets/AlignWidget.tsx +0 -84
  197. package/src/components/Widgets/BlockAlignment.tsx +0 -88
  198. package/src/components/Widgets/BlockWidth.tsx +0 -101
  199. package/src/components/Widgets/Buttons.tsx +0 -167
  200. package/src/components/Widgets/Size.tsx +0 -78
@@ -1,50 +1,76 @@
1
- .block.maps {
2
- iframe {
3
- height: unset;
4
- aspect-ratio: var(--image-aspect-ratio, $aspect-ratio);
5
- }
6
- &.align.left {
1
+ .block.maps,
2
+ .block-editor-maps {
3
+ margin-top: $spacing-large;
4
+ margin-bottom: $spacing-large;
5
+ .maps-inner {
6
+ @include variable-container-width();
7
+
7
8
  iframe {
8
9
  height: unset;
9
- margin-right: 20px !important;
10
- margin-bottom: 20px !important;
11
10
  aspect-ratio: var(--image-aspect-ratio, $aspect-ratio);
12
- @container (max-width: #{$largest-mobile-screen}) {
13
- margin-bottom: $spacing-large !important;
14
- }
15
11
  }
16
- margin-top: $spacing-large;
17
- margin-bottom: 0 !important;
18
12
  }
19
- &.align.right {
20
- iframe {
21
- height: unset;
22
- margin-bottom: 20px !important;
23
- margin-left: 20px !important;
24
- aspect-ratio: var(--image-aspect-ratio, $aspect-ratio);
25
- @container (max-width: #{$largest-mobile-screen}) {
26
- margin-bottom: $spacing-large !important;
27
- }
13
+ &.has--block-alignment--left {
14
+ .maps-inner {
15
+ width: 100%;
16
+ @include floated-figure('left');
28
17
  }
29
- margin-top: $spacing-large;
30
- margin-bottom: 0 !important;
31
18
  }
32
19
 
33
- &.wide,
34
- &.full,
35
- &.center {
36
- margin-top: $spacing-large;
37
- margin-bottom: $spacing-large;
20
+ &.has--block-alignment--right {
21
+ .maps-inner {
22
+ width: 100%;
23
+ @include floated-figure('right');
24
+ }
25
+ }
26
+ &.has--block-alignment--left,
27
+ &.has--block-alignment--right {
28
+ margin-bottom: 0 !important;
29
+ @container (max-width: #{$largest-mobile-screen}) {
30
+ margin-bottom: $spacing-large !important;
31
+ }
38
32
  }
39
33
 
40
- &.align.full iframe {
34
+ &.has--block-width--full iframe {
41
35
  max-height: 600px;
42
36
  }
37
+ }
43
38
 
44
- &.align.right iframe,
45
- &.align.left iframe {
46
- @container (max-width: #{$largest-mobile-screen}) {
47
- margin-bottom: $spacing-large !important;
39
+ #page-document .blocks-group-wrapper > .block.maps {
40
+ @include variable-container-width();
41
+ }
42
+
43
+ #page-document .blocks-group-wrapper {
44
+ // Unfortunately needed to have more specificity than the top one
45
+ // TODO: Remove when using layers and the BMv3
46
+ & > .block.maps.has--block-width--default {
47
+ @include adjustMarginsToContainer($default-container-width);
48
+ }
49
+ & > .block.maps.has--block-width--layout {
50
+ @include adjustMarginsToContainer($layout-container-width);
51
+ }
52
+ & > .block.maps.has--block-width--narrow {
53
+ @include adjustMarginsToContainer($narrow-container-width);
54
+ }
55
+ }
56
+
57
+ // Edit block overrides
58
+ #page-edit,
59
+ #page-add {
60
+ .block-editor-maps {
61
+ &.has--block-alignment--right,
62
+ &.has--block-alignment--left {
63
+ .block .block:not(.inner)::before {
64
+ z-index: 1;
65
+ }
66
+ }
67
+ .block.inner .block .block {
68
+ z-index: 2;
69
+ @include variable-container-width();
70
+
71
+ &:before {
72
+ display: none;
73
+ }
48
74
  }
49
75
  }
50
76
  }
@@ -2,11 +2,10 @@
2
2
  #page-add,
3
3
  #page-edit {
4
4
  .block.search {
5
+ &.next--has--same--backgroundColor.next--is--same--block-type {
6
+ margin-bottom: $spacing-xlarge;
7
+ }
5
8
  &.grid {
6
- .card-container > img {
7
- width: 100% !important;
8
- }
9
-
10
9
  .listing-item:last-child {
11
10
  padding-bottom: 0;
12
11
  border-bottom: none;
@@ -13,6 +13,7 @@
13
13
  th {
14
14
  padding: $spacing-small;
15
15
  border-color: #c1c1c1;
16
+ border-bottom: none;
16
17
  background: $darkGrey;
17
18
  color: $white;
18
19
  p {
@@ -1,8 +1,3 @@
1
- // Override the Image component `aspect-ratio`
2
- .teaser-item .image-wrapper img {
3
- aspect-ratio: var(--image-aspect-ratio, $aspect-ratio) !important;
4
- }
5
-
6
1
  // Block Teaser Standalone
7
2
  #page-document .block.teaser {
8
3
  @include vertical-space-teaser();
@@ -19,123 +14,18 @@
19
14
  }
20
15
  }
21
16
 
22
- a.external {
23
- .card-summary h2:after {
24
- @include external-link-icon();
25
- }
26
- }
27
-
28
- .teaser-item:not(.placeholder) {
29
- align-items: start;
30
- padding-bottom: 40px; // same as vertical spacing in margin-bottom
31
- border-bottom: 1px solid $black;
32
- }
33
-
34
- .image-wrapper {
35
- width: 100%;
36
- }
37
-
38
- &.has--align--left,
39
- &.has--align--right {
40
- .card-inner {
41
- padding-bottom: 40px;
42
- }
43
-
44
- .teaser-item.default {
45
- display: flex;
46
-
47
- .image-wrapper {
48
- align-self: flex-start;
49
- }
50
-
51
- @media only screen and (max-width: $largest-mobile-screen) {
52
- flex-direction: column !important;
53
- }
54
- }
55
- }
56
-
57
- &.has--align--left {
58
- .teaser-item.default {
59
- flex-direction: row;
60
-
61
- .image-wrapper {
62
- margin-right: 20px;
63
-
64
- @media only screen and (max-width: $largest-mobile-screen) {
65
- margin-right: 0;
66
- margin-bottom: 26px;
67
- }
68
- }
69
- }
70
- }
71
-
72
- &.has--align--right {
73
- .teaser-item.default {
74
- flex-direction: row-reverse;
75
-
76
- .image-wrapper {
77
- margin-right: 0px;
78
- margin-left: 20px;
79
-
80
- @media only screen and (max-width: $largest-mobile-screen) {
81
- margin-bottom: 26px;
82
- margin-left: 0;
83
- }
84
- }
85
- }
86
- }
87
-
88
- &.has--align--center {
89
- .teaser-item.default {
90
- display: block;
91
- a {
92
- display: block;
93
- }
94
-
95
- .image-wrapper {
96
- margin-bottom: 26px;
97
- @container (max-width: #{$largest-mobile-screen}) {
98
- margin: 0 0 20px 0 !important;
99
- }
100
- }
101
- }
102
- }
103
-
104
- .card-summary {
105
- .headline {
106
- margin-bottom: 20px;
107
- letter-spacing: 1px;
108
- text-transform: uppercase;
109
- @include headtitle1();
110
- }
111
- h2 {
112
- margin-top: 0;
113
- margin-bottom: 20px;
114
- @include text-heading-h2();
115
- @container (max-width: #{$largest-mobile-screen}) {
116
- @include text-heading-h3();
117
- margin-bottom: 20px;
118
- }
119
- }
120
- p {
121
- margin: 0;
122
- @include body-text();
123
- }
124
- }
125
-
126
17
  &.is--last--of--block-type,
127
18
  &.next--has--different--backgroundColor {
128
- .card-inner,
129
- .teaser-item.default {
19
+ .card-inner {
130
20
  padding-bottom: 0;
131
21
  border-bottom: none;
132
22
  }
133
- &.next--is--__button {
134
- .card-inner,
135
- .teaser-item.default {
136
- padding-bottom: 40px;
137
- border-bottom: 1px solid;
138
- }
23
+ }
24
+ &.next--is--__button {
25
+ margin-bottom: 0 !important;
26
+ .card-inner {
27
+ padding-bottom: $spacing-medium;
28
+ border-bottom: 1px solid;
139
29
  }
140
30
  }
141
31
  }
@@ -1,8 +1,9 @@
1
1
  .table-of-contents {
2
2
  .ui.bulleted.list {
3
3
  li {
4
+ line-height: 30px;
4
5
  a {
5
- text-decoration: underline;
6
+ line-height: inherit;
6
7
  }
7
8
 
8
9
  &::before {
@@ -1,24 +1,27 @@
1
1
  .card {
2
+ // Base
2
3
  position: relative;
4
+ width: 100%;
3
5
  transition: box-shadow 0.15s ease;
4
- }
5
6
 
6
- .card:has(> a):hover,
7
- .card:has(> a):focus-within {
8
- cursor: pointer;
9
- }
7
+ &:has(.card-primary-link) {
8
+ cursor: pointer;
10
9
 
11
- .card a {
12
- inset: 0; /* top:0 right:0 bottom:0 left:0 */
13
- text-decoration: none; /* remove default underline */
14
- }
10
+ // Primary card link stretched via ::after pseudo-element
11
+ .card-summary .card-primary-link {
12
+ color: inherit;
13
+ font: inherit;
15
14
 
16
- .card .card-summary,
17
- .card .card-summary * {
18
- user-select: text; /* explicit for clarity */
19
- }
15
+ &::after {
16
+ position: absolute;
17
+ z-index: 0;
18
+ content: '';
19
+ inset: 0;
20
+ }
21
+ }
22
+ }
20
23
 
21
- .card {
24
+ // Image
22
25
  .image-wrapper {
23
26
  width: 100%;
24
27
 
@@ -30,48 +33,90 @@
30
33
  aspect-ratio: var(--image-aspect-ratio, $aspect-ratio) !important;
31
34
  }
32
35
  }
36
+ &:not(.contained) .card-inner {
37
+ padding-bottom: $spacing-medium;
33
38
 
34
- .card-summary {
35
- padding-top: 40px;
36
- padding-bottom: 40px;
39
+ @container (max-width: #{$largest-mobile-screen}) {
40
+ padding-top: 0;
41
+ }
42
+ }
43
+ .previous--has--different--backgroundColor & .card-inner {
44
+ padding-top: 0;
45
+ }
37
46
 
47
+ // Summary
48
+ :not(.has--align--left, .has--align--right) > & .card-summary {
49
+ padding-top: $spacing-medium;
50
+ }
51
+ .card-summary {
52
+ @container (max-width: #{$largest-mobile-screen}) {
53
+ padding-top: $spacing-small !important;
54
+ }
38
55
  .headline {
39
- margin-bottom: 20px;
56
+ margin-bottom: $spacing-small;
40
57
  letter-spacing: 1px;
41
58
  text-transform: uppercase;
42
59
  @include headtitle1();
43
60
  }
44
- h2 {
61
+
62
+ .title {
45
63
  margin-top: 0;
46
- margin-bottom: 20px;
64
+ margin-bottom: $spacing-small !important; // Override margin from volto
47
65
  @include text-heading-h2();
66
+
48
67
  @container (max-width: #{$largest-mobile-screen}) {
49
68
  @include text-heading-h3();
50
- margin-bottom: 20px;
69
+ margin-bottom: $spacing-small;
51
70
  }
52
71
  }
72
+
53
73
  p {
54
74
  margin: 0;
55
75
  @include body-text();
76
+
77
+ &:empty {
78
+ display: none;
79
+ }
56
80
  }
57
81
  }
58
- }
59
82
 
60
- // Variants
61
- // // Contained
62
- .card {
63
- .contained & .card-inner {
64
- background: var(--theme-high-contrast-color);
83
+ // Common styles for link icon overlay
84
+ .card-link-icon {
85
+ position: absolute;
86
+ z-index: 10;
87
+ top: 0px;
88
+ right: 0px;
89
+ filter: drop-shadow(3px 3px 12px rgba(0, 0, 0, 0.5));
90
+ opacity: 0;
91
+ transition: opacity 0.2s ease;
92
+
93
+ button {
94
+ border: none;
95
+ border-radius: 50%;
96
+ background: rgba(236, 235, 235, 0.75);
97
+ cursor: pointer;
98
+ }
99
+ }
100
+
101
+ &:hover .card-link-icon,
102
+ &:focus-within .card-link-icon {
103
+ opacity: 1;
65
104
  }
66
105
 
106
+ // Additional links within the card
107
+ a:not(.card-primary-link) {
108
+ position: relative;
109
+ z-index: 1;
110
+ cursor: pointer;
111
+ }
112
+
113
+ // Contained
67
114
  .contained & .card-summary {
68
- padding-right: 20px;
69
- padding-left: 20px;
115
+ padding-right: $spacing-small;
116
+ padding-left: $spacing-small;
70
117
  }
71
- }
72
118
 
73
- // // Side-aligned
74
- .card {
119
+ // Side-aligned
75
120
  .has--align--left:not(.contained) &,
76
121
  .has--align--right:not(.contained) & {
77
122
  .card-inner {
@@ -80,84 +125,60 @@
80
125
  .image-wrapper {
81
126
  flex: 1 1 50%;
82
127
 
83
- @media only screen and (max-width: $largest-mobile-screen) {
84
- margin-right: 0;
85
- margin-bottom: 26px;
128
+ @container (max-width: #{$largest-mobile-screen}) {
129
+ margin: 0;
86
130
  }
87
131
  }
88
132
 
89
133
  .card-summary {
90
- // width: 50%;
91
134
  flex: 1 1 50%;
92
- padding: 0;
135
+ // padding: 0;
93
136
  }
94
137
  }
95
138
  }
96
139
 
97
140
  .has--align--left:not(.contained) & {
98
141
  .image-wrapper {
99
- margin-right: 20px;
142
+ margin-right: $spacing-small;
100
143
  }
101
144
  }
102
145
 
103
- .has--align--right & {
146
+ .has--align--right:not(.contained) & {
104
147
  .card-inner {
105
148
  flex-direction: row-reverse;
106
149
  }
107
150
 
108
151
  .image-wrapper {
109
- margin-right: 0px;
110
- margin-left: 20px;
152
+ margin-right: 0;
153
+ margin-left: $spacing-small;
111
154
  }
112
155
  }
113
- }
114
156
 
115
- @container (max-width: #{$largest-mobile-screen}) {
116
- .card {
157
+ @container (max-width: #{$largest-mobile-screen}) {
117
158
  .has--align--left:not(.contained) &,
118
159
  .has--align--right:not(.contained) & {
119
160
  .card-inner {
120
161
  display: block;
121
162
  }
163
+
122
164
  .image-wrapper {
123
165
  margin-right: 0;
124
166
  margin-left: 0;
125
167
  }
126
168
  }
127
169
  }
128
- }
129
-
130
- // Heading sizes
131
- @container (min-width: #{$largest-mobile-screen}) {
132
- .card {
133
- .card-summary {
134
- .one & h2 {
135
- margin-bottom: 40px !important;
136
- @include text-heading-h2();
137
- }
138
- .two & h2,
139
- .three & h2 {
140
- @include text-heading-h3();
141
- }
142
- .four & h2 {
143
- @include text-heading-h4();
144
- }
145
- }
146
- }
147
- }
148
170
 
149
- // Listing
150
- .card {
171
+ // Listing
151
172
  .card-listing & .card-inner {
152
173
  display: flex;
153
174
 
154
175
  .image-wrapper {
155
176
  flex: 0 1 var(--card-listing-image-size, 220px);
156
- margin-right: 20px;
177
+ margin-right: $spacing-small;
157
178
 
158
- @media only screen and (max-width: $largest-mobile-screen) {
179
+ @container (max-width: #{$largest-mobile-screen}) {
159
180
  margin-right: 0;
160
- margin-bottom: 26px;
181
+ margin-bottom: $spacing-small;
161
182
  }
162
183
  }
163
184
 
@@ -167,3 +188,49 @@
167
188
  }
168
189
  }
169
190
  }
191
+
192
+ // Hides the link icon in edit and add page
193
+ #page-edit .card-link-icon,
194
+ #page-add .card-link-icon {
195
+ display: none;
196
+ }
197
+
198
+ // Cards in columns
199
+ @container (min-width: #{$largest-mobile-screen}) {
200
+ .card {
201
+ .card-inner {
202
+ .one & {
203
+ .card-summary {
204
+ padding-top: $spacing-medium;
205
+ }
206
+ .title {
207
+ margin-bottom: $spacing-medium !important; // Override margin from volto
208
+ @include text-heading-h2();
209
+ }
210
+ }
211
+
212
+ .two &,
213
+ .three & {
214
+ .card-summary {
215
+ padding-top: $spacing-medium;
216
+ }
217
+ .title {
218
+ @include text-heading-h3();
219
+ }
220
+ }
221
+
222
+ .four & {
223
+ .card-summary {
224
+ padding-top: $spacing-small;
225
+ }
226
+ padding-bottom: $spacing-small;
227
+ .headline {
228
+ @include headtitle2();
229
+ }
230
+ .title {
231
+ @include text-heading-h4();
232
+ }
233
+ }
234
+ }
235
+ }
236
+ }
@@ -36,12 +36,16 @@
36
36
  @import 'blocks/eventMetadata';
37
37
  @import 'blocks/rss';
38
38
  @import 'blocks/eventSearch';
39
+ @import 'blocks/form';
39
40
  @import 'blocks/error-boundary';
40
41
  @import 'sticky-menu';
42
+ @import 'mobile-sticky-menu';
41
43
  @import 'card';
42
44
  @import 'insets';
43
45
  @import 'person';
44
46
  @import 'notfound';
47
+ @import 'search-page';
48
+ @import 'export_import';
45
49
 
46
50
  @import 'temp';
47
51
 
@@ -1,3 +1,5 @@
1
+ .view-editview.is-anonymous,
2
+ .view-unauthorized,
1
3
  .page-not-found {
2
4
  .content-area {
3
5
  @include default-container-width();
@@ -166,11 +166,17 @@ body .block.gridBlock .contained .person-teaser .card-inner {
166
166
  display: flex;
167
167
  align-items: center;
168
168
  margin-bottom: $spacing-small;
169
+ svg {
170
+ margin-right: 0.25em;
171
+ }
169
172
  }
170
173
 
171
174
  .summary-room-phone {
172
175
  display: flex;
173
176
  gap: $spacing-small;
177
+ svg {
178
+ margin-right: 0.25em;
179
+ }
174
180
  }
175
181
 
176
182
  // One person teaser in Grid, edit mode
@@ -214,7 +220,7 @@ body .block.gridBlock .contained .person-teaser .card-inner {
214
220
 
215
221
  img {
216
222
  width: 100%;
217
- height: 100%;
223
+ height: 100% !important;
218
224
  object-fit: cover;
219
225
  object-position: center;
220
226
  }
@@ -10,7 +10,7 @@ body.cms-ui .sticky-menu {
10
10
  transform: translateY(-50%);
11
11
  transition: all 0.2s linear;
12
12
 
13
- @media (min-height: 920px) {
13
+ @media (min-height: 969px) {
14
14
  top: 373px;
15
15
  transform: none;
16
16
  }
@@ -21,7 +21,9 @@ body.cms-ui .sticky-menu {
21
21
  flex-direction: column;
22
22
  padding: 0;
23
23
  margin: 0;
24
+ gap: 1px;
24
25
  list-style: none;
26
+ text-align: center;
25
27
 
26
28
  li a {
27
29
  display: flex;
@@ -34,24 +36,24 @@ body.cms-ui .sticky-menu {
34
36
  font-size: 10px;
35
37
  font-style: normal;
36
38
  font-weight: 700;
37
- line-height: 18px; /* 180% */
39
+ line-height: 12px;
38
40
  text-transform: capitalize;
39
41
  }
40
42
 
41
43
  li {
42
44
  display: flex;
43
- height: 93px;
45
+ min-height: 97px;
44
46
  flex-direction: column;
45
47
  align-items: center;
46
48
  justify-content: center;
47
- margin-bottom: 2px;
49
+ padding: 5px 10px;
48
50
  background: var(--sticky-menu-color, #555);
49
51
  color: var(--sticky-menu-foreground-color, #fff);
50
52
  font-family: Inter;
51
53
  font-size: 10px;
52
54
  font-style: normal;
53
55
  font-weight: 700;
54
- line-height: 18px; /* 180% */
56
+ line-height: 12px;
55
57
  text-transform: capitalize;
56
58
  }
57
59