@kitconcept/volto-light-theme 1.0.0-rc.0 → 1.0.0-rc.2

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/CHANGELOG.md CHANGED
@@ -8,6 +8,22 @@
8
8
 
9
9
  <!-- towncrier release notes start -->
10
10
 
11
+ ## 1.0.0-rc.2 (2023-07-07)
12
+
13
+ ### Bugfix
14
+
15
+ - Add NewsItemView @iFlamieng [#127](https://github.com/kitconcept/volto-light-theme/pull/127)
16
+ - Add support for margins in responsive. Improve the spacing in grids. @sneridagh [#129](https://github.com/kitconcept/volto-light-theme/pull/129)
17
+
18
+
19
+ ## 1.0.0-rc.1 (2023-07-05)
20
+
21
+ ### Bugfix
22
+
23
+ - Fix css issue of image block full width variante @iFlameing [#115](https://github.com/kitconcept/volto-light-theme/pull/115)
24
+ - Fix minor style bugs in several components. @danalvrz [#122](https://github.com/kitconcept/volto-light-theme/pull/122)
25
+
26
+
11
27
  ## 1.0.0-rc.0 (2023-06-29)
12
28
 
13
29
  ### Feature
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitconcept/volto-light-theme",
3
- "version": "1.0.0-rc.0",
3
+ "version": "1.0.0-rc.2",
4
4
  "description": "Volto Light Theme by kitconcept",
5
5
  "main": "src/index.js",
6
6
  "repository": {
@@ -0,0 +1,57 @@
1
+ /**
2
+ * OVERRIDE NewsItemView.jsx
3
+ * REASON: BFS theme
4
+ * DATE: 2023-07-04
5
+ * DEVELOPER: @IFlameing
6
+ */
7
+
8
+ /**
9
+ * NewsItemView view component.
10
+ * @module components/theme/View/NewsItemView
11
+ */
12
+
13
+ import React from 'react';
14
+ import PropTypes from 'prop-types';
15
+ import RenderBlocks from '@plone/volto/components/theme/View/RenderBlocks';
16
+ import { FormattedDate } from '@plone/volto/components';
17
+
18
+ /**
19
+ * NewsItemView view component class.
20
+ * @function NewsItemView
21
+ * @params {object} content Content object.
22
+ * @returns {string} Markup of the component.
23
+ */
24
+ const NewsItemView = ({ content }) => {
25
+ return (
26
+ <div id="page-document" className="ui container viewwrapper event-view">
27
+ <div className="dates">
28
+ {content?.effective ? (
29
+ <span className="day">
30
+ <FormattedDate date={content?.effective} />{' '}
31
+ </span>
32
+ ) : (
33
+ <span className="day">No date</span>
34
+ )}{' '}
35
+ <span className="headtitle">| {content?.head_title}</span>
36
+ </div>
37
+ <RenderBlocks content={content} />
38
+ </div>
39
+ );
40
+ };
41
+
42
+ /**
43
+ * Property types.
44
+ * @property {Object} propTypes Property types.
45
+ * @static
46
+ */
47
+ NewsItemView.propTypes = {
48
+ content: PropTypes.shape({
49
+ title: PropTypes.string,
50
+ description: PropTypes.string,
51
+ text: PropTypes.shape({
52
+ data: PropTypes.string,
53
+ }),
54
+ }).isRequired,
55
+ };
56
+
57
+ export default NewsItemView;
package/src/index.js CHANGED
@@ -202,6 +202,8 @@ const applyConfig = (config) => {
202
202
  ...config.blocks.blocksConfig.heading,
203
203
  sidebarTab: 0,
204
204
  allowed_headings: [['h2', 'h2']],
205
+ colors: BG_COLORS,
206
+ schemaEnhancer: defaultStylingSchema,
205
207
  };
206
208
 
207
209
  config.blocks.blocksConfig.search.variations = [
@@ -212,12 +214,22 @@ const applyConfig = (config) => {
212
214
  isDefault: true,
213
215
  },
214
216
  ];
217
+
215
218
  config.blocks.blocksConfig.__button = {
216
219
  ...config.blocks.blocksConfig.__button,
217
220
  schemaEnhancer: ButtonStylingSchema,
218
221
  colors: BG_COLORS,
219
222
  };
220
223
 
224
+ config.blocks.blocksConfig.separator = {
225
+ ...config.blocks.blocksConfig.separator,
226
+ schemaEnhancer: composeSchema(
227
+ config.blocks.blocksConfig.separator.schemaEnhancer,
228
+ defaultStylingSchema,
229
+ ),
230
+ colors: BG_COLORS,
231
+ };
232
+
221
233
  config.blocks.blocksConfig.listing = {
222
234
  ...config.blocks.blocksConfig.listing,
223
235
  colors: BG_COLORS,
@@ -31,7 +31,9 @@
31
31
  margin-bottom: $grid-block-vertical-spacing-bottom;
32
32
  }
33
33
  &.next--is--same--block-type.next--has--same--backgroundColor {
34
- margin-bottom: -1rem;
34
+ // We rely on the grid gutter to keep the vertical spacing in case grid + grid
35
+ // So here we cancel the default block margin-bottom
36
+ margin-bottom: 0;
35
37
  }
36
38
  }
37
39
 
@@ -5,3 +5,28 @@
5
5
  padding: 0;
6
6
  margin-top: 0;
7
7
  }
8
+
9
+ .contenttype-news-item {
10
+ .documentFirstHeading {
11
+ margin-top: 0px;
12
+ }
13
+ .blocks-group-wrapper {
14
+ padding-top: 0px;
15
+ }
16
+ .dates {
17
+ max-width: var(--default-container-width) !important;
18
+ margin-top: 40px;
19
+ margin-right: auto;
20
+ margin-bottom: 40px;
21
+ margin-left: auto;
22
+ .day,
23
+ .headtitle {
24
+ font-size: 18px;
25
+
26
+ font-weight: 700;
27
+ letter-spacing: 1px;
28
+ line-height: 24px;
29
+ text-transform: uppercase;
30
+ }
31
+ }
32
+ }
@@ -4,12 +4,12 @@
4
4
  --narrow-container-width: 620px;
5
5
  }
6
6
 
7
- // Container queries still do not work with CSS properties
7
+ // Container queries still do not work with CSS custom properties
8
8
  // They should be exact numbers
9
9
  // For now, maintain in sync with the above
10
- $layout-container-width: 1440px;
11
- $default-container-width: 940px;
12
- $narrow-container-width: 620px;
10
+ $layout-container-width: 1440px !default;
11
+ $default-container-width: 940px !default;
12
+ $narrow-container-width: 620px !default;
13
13
 
14
14
  @mixin narrow-container-width() {
15
15
  max-width: var(--narrow-container-width);
@@ -21,6 +21,13 @@ $narrow-container-width: 620px;
21
21
  max-width: var(--default-container-width);
22
22
  margin-right: auto;
23
23
  margin-left: auto;
24
+
25
+ // This is mostly aesthetical if you don't want to "see" the jump
26
+ // but a nice animation instead - PoC (WIP)
27
+ // @media only screen and (max-width: #{$default-container-width + 5px}) {
28
+ // margin-right: 5px;
29
+ // margin-left: 5px;
30
+ // }
24
31
  }
25
32
 
26
33
  @mixin layout-container-width() {
@@ -29,11 +36,24 @@ $narrow-container-width: 620px;
29
36
  margin-left: auto;
30
37
  }
31
38
 
32
- // One still cannot use variables or CSS properties directly on @container queries
39
+ // One still cannot use CSS custom properties directly on @container queries
33
40
  @mixin adjustMarginsToContainer($width) {
41
+ // Next two ones are mostly aesthetical if you don't want to "see" the jump - PoC (WIP)
42
+ // transition: margin 1s ease;
43
+
44
+ // @container (max-width: #{$width + 5px}) {
45
+ // margin-right: 5px;
46
+ // margin-left: 5px;
47
+ // }
48
+
49
+ // @container (max-width: #{$width}) {
50
+ // margin-right: 0px;
51
+ // margin-left: 0px;
52
+ // }
53
+
34
54
  @container (max-width: #{$width - 1}) {
35
- margin-right: 2rem;
36
- margin-left: 2rem;
55
+ margin-right: 20px;
56
+ margin-left: 20px;
37
57
  }
38
58
  }
39
59
 
@@ -127,7 +147,9 @@ footer {
127
147
  & > pre,
128
148
  & > .block.code {
129
149
  @include narrow-container-width();
130
- @include adjustMarginsToContainer($narrow-container-width + 2 * 36px);
150
+ // Why was this for? Removing for now (Victor: 2023-07-06)
151
+ // @include adjustMarginsToContainer($narrow-container-width + 2 * 36px);
152
+ @include adjustMarginsToContainer($narrow-container-width);
131
153
  }
132
154
 
133
155
  & > h1.documentFirstHeading,
@@ -146,6 +168,7 @@ footer {
146
168
  & > .table-of-contents,
147
169
  & > .slate blockquote {
148
170
  @include default-container-width();
171
+ @include adjustMarginsToContainer($default-container-width);
149
172
  }
150
173
 
151
174
  & > .block.teaser,
@@ -234,7 +257,18 @@ footer {
234
257
  .block.gridBlock .grid-items,
235
258
  .block.gridBlock h2.headline {
236
259
  @include default-container-width();
237
- max-width: calc(var(--default-container-width) + 1rem);
260
+ // Adding 2 * 20px (one for each side) we force the container to extend the value of
261
+ // the gutter
262
+ max-width: calc(var(--default-container-width) + 2 * 20px);
263
+ }
264
+
265
+ .block.gridBlock {
266
+ .ui.grid > .column:not(.row):first-child {
267
+ padding-left: 20px;
268
+ }
269
+ .ui.grid > .column:not(.row):last-child {
270
+ padding-right: 20px;
271
+ }
238
272
  }
239
273
 
240
274
  // Fix for Image Grid with only one image
@@ -252,6 +286,11 @@ body.has-toolbar.has-sidebar .block .ui.basic.button.delete-button {
252
286
  margin-right: -30px !important;
253
287
  }
254
288
 
289
+ // Listings edge case, conflicting with Pastanaga CSS
290
+ .listing-item {
291
+ width: initial;
292
+ }
293
+
255
294
  #page-add,
256
295
  #page-edit {
257
296
  .block-editor-accordion {
@@ -55,7 +55,7 @@ h1.documentFirstHeading {
55
55
  // Block Title
56
56
  .block h2.headline {
57
57
  @include block-title();
58
- @include vertical-space-h2();
58
+ @include vertical-space-block-title();
59
59
  }
60
60
 
61
61
  // Heading block
@@ -120,6 +120,11 @@ $block-vertical-space: 25px !default;
120
120
  margin-bottom: 80px;
121
121
  }
122
122
 
123
+ @mixin vertical-space-block-title() {
124
+ margin-top: 80px;
125
+ margin-bottom: 80px;
126
+ }
127
+
123
128
  // Change of color
124
129
  $color-block-change-vertical-spacing: 80px !default;
125
130
 
@@ -4,6 +4,10 @@
4
4
 
5
5
  @include vertical-space-button();
6
6
  }
7
+
8
+ button {
9
+ margin: 0;
10
+ }
7
11
  }
8
12
 
9
13
  .block-editor-__button.has--buttonAlign--wide {
@@ -27,3 +31,7 @@
27
31
 
28
32
  @include body-text-bold();
29
33
  }
34
+
35
+ .block-editor-__button.has--backgroundColor--grey {
36
+ background-color: $lightgrey;
37
+ }
@@ -2,6 +2,17 @@
2
2
  margin-top: 0;
3
3
  margin-bottom: 0;
4
4
 
5
+ &.is--first--of--block-type {
6
+ .column {
7
+ padding-top: 0;
8
+ }
9
+ }
10
+ &.is--last--of--block-type {
11
+ .column {
12
+ padding-bottom: 0;
13
+ }
14
+ }
15
+
5
16
  .block.teaser {
6
17
  margin-bottom: 0;
7
18
  background-color: $lightgrey;
@@ -13,6 +24,7 @@
13
24
 
14
25
  img {
15
26
  position: relative;
27
+ object-position: center;
16
28
  }
17
29
  }
18
30
  .content {
@@ -51,6 +63,7 @@
51
63
  padding: 40px 20px 20px 20px;
52
64
  margin: 0;
53
65
  background-color: $lightgrey;
66
+
54
67
  p {
55
68
  padding: 0;
56
69
  margin-bottom: 20px;
@@ -59,6 +72,7 @@
59
72
 
60
73
  .block-editor-slate {
61
74
  padding: 0;
75
+ margin: 0.5rem !important;
62
76
  }
63
77
 
64
78
  .block.image {
@@ -88,6 +102,7 @@
88
102
  }
89
103
  img {
90
104
  z-index: revert !important;
105
+ object-position: center;
91
106
  }
92
107
  figure {
93
108
  position: relative;
@@ -113,6 +128,12 @@
113
128
  margin: 0.5rem !important;
114
129
  }
115
130
 
131
+ .listing {
132
+ h2 {
133
+ margin-bottom: 40px !important;
134
+ }
135
+ }
136
+
116
137
  .block-editor-empty {
117
138
  padding: 0;
118
139
  margin: 1rem 0.5rem 1rem 0.5rem !important;
@@ -205,6 +226,10 @@
205
226
  @include text-heading-h4();
206
227
  }
207
228
 
229
+ p {
230
+ margin-bottom: 0;
231
+ }
232
+
208
233
  padding-top: 20px !important;
209
234
  }
210
235
  }
@@ -218,14 +243,10 @@
218
243
  background: white;
219
244
  }
220
245
  .slate {
221
- padding: 0 !important;
222
- margin: 0 1rem 1rem 1rem;
223
246
  background-color: $white;
224
247
  }
225
248
 
226
249
  .slate-editor {
227
- padding: 0 !important;
228
- margin: 0 1rem 1rem 1rem;
229
250
  background-color: $white !important;
230
251
  }
231
252
 
@@ -9,6 +9,11 @@ figure {
9
9
  .block.image.full figcaption {
10
10
  padding-right: 25px;
11
11
  padding-left: 25px;
12
+
13
+ @media only screen and (min-width: 1470px) {
14
+ padding-right: 0px;
15
+ padding-left: 0px;
16
+ }
12
17
  }
13
18
 
14
19
  .block.image {
@@ -38,7 +43,7 @@ figure {
38
43
  img {
39
44
  width: 100% !important;
40
45
  height: auto;
41
- object-fit: contain;
46
+ aspect-ratio: $aspect-ratio;
42
47
  }
43
48
 
44
49
  &.right {
@@ -51,7 +56,6 @@ figure {
51
56
  margin-bottom: 0px;
52
57
  margin-left: 0 !important;
53
58
  float: none;
54
- object-fit: contain;
55
59
  object-position: right;
56
60
  }
57
61
  }
@@ -65,7 +69,6 @@ figure {
65
69
  margin-right: 0 !important;
66
70
  margin-bottom: 0px;
67
71
  float: none;
68
- object-fit: contain;
69
72
  object-position: left;
70
73
  }
71
74
  }
@@ -22,6 +22,7 @@
22
22
  }
23
23
 
24
24
  h2 {
25
+ @include highlight-title();
25
26
  margin-bottom: 60px;
26
27
  }
27
28
  }
@@ -4,8 +4,10 @@
4
4
  @include block-title();
5
5
  }
6
6
  .listing-item {
7
- padding-bottom: 25px;
7
+ padding-bottom: 40px;
8
8
  border-bottom: 1px solid $black;
9
+ margin-bottom: 40px;
10
+
9
11
  a {
10
12
  .listing-body {
11
13
  h2 {
@@ -24,8 +26,25 @@
24
26
  }
25
27
  }
26
28
 
27
- // Grid Listing Block
29
+ .block.listing.summary {
30
+ .listing-item {
31
+ padding-top: 0 !important;
32
+ padding-bottom: 40px !important;
33
+ margin-bottom: 40px;
34
+ img {
35
+ width: 25%;
36
+ height: min-content;
37
+ aspect-ratio: $aspect-ratio;
38
+ }
39
+ h3 {
40
+ margin-bottom: 40px;
41
+ color: $black;
42
+ @include text-heading-h2();
43
+ }
44
+ }
45
+ }
28
46
 
47
+ // Grid Listing Block
29
48
  .block.listing.grid {
30
49
  .items {
31
50
  display: flex;
@@ -54,14 +73,27 @@
54
73
 
55
74
  img.grid-item-image {
56
75
  width: 100%;
76
+ aspect-ratio: $aspect-ratio;
77
+ }
78
+
79
+ .grid-item {
80
+ margin-top: 40px;
57
81
  }
58
82
 
59
83
  .content {
60
- padding: 0 1rem 2.5rem 1rem;
84
+ padding: 0 20px 40px 20px;
85
+
86
+ .headline {
87
+ padding: 0 !important;
88
+ margin-bottom: 20px;
89
+ color: $black;
90
+ letter-spacing: 1px;
91
+ text-transform: uppercase;
92
+ @include headtitle1();
93
+ }
61
94
 
62
95
  h2 {
63
- padding-top: 2rem;
64
- margin-bottom: 0;
96
+ margin: 0 0 20px 0;
65
97
  color: $black;
66
98
  @include text-heading-h3();
67
99
  }
@@ -75,3 +107,24 @@
75
107
  }
76
108
  }
77
109
  }
110
+
111
+ #page-add .block-editor-listing.has--backgroundColor--grey,
112
+ #page-edit .block-editor-listing.has--backgroundColor--grey,
113
+ .block.listing.has--backgroundColor--grey {
114
+ background-color: $lightgrey;
115
+
116
+ &.grid {
117
+ .listing-item {
118
+ .card-container {
119
+ background-color: $white;
120
+ }
121
+ }
122
+ }
123
+ .block.listing.grid {
124
+ .listing-item {
125
+ .card-container {
126
+ background-color: $white;
127
+ }
128
+ }
129
+ }
130
+ }
@@ -11,3 +11,6 @@
11
11
 
12
12
  @include vertical-space-separator();
13
13
  }
14
+ .block-editor-separator.has--backgroundColor--grey {
15
+ background-color: $lightgrey;
16
+ }
@@ -9,12 +9,16 @@
9
9
  height: 100%;
10
10
 
11
11
  .grid-teaser-item.default {
12
+ align-items: start;
12
13
  padding-bottom: 40px; // same as vertical spacing in margin-bottom
13
14
  border-bottom: 1px solid $black;
14
15
  }
15
16
 
16
17
  .grid-image-wrapper {
17
18
  width: 100%;
19
+ img {
20
+ object-position: center;
21
+ }
18
22
  }
19
23
 
20
24
  &.has--align--left,
@@ -96,14 +100,21 @@
96
100
  }
97
101
  }
98
102
 
99
- &.is--last--of--block-type {
103
+ &.is--last--of--block-type,
104
+ &.next--has--different--backgroundColor {
100
105
  .grid-teaser-item.default {
106
+ padding-bottom: 0;
101
107
  border-bottom: none;
102
108
  }
103
109
  &.next--is--__button {
104
110
  .grid-teaser-item.default {
111
+ padding-bottom: 40px;
105
112
  border-bottom: 1px solid $black;
106
113
  }
107
114
  }
108
115
  }
109
116
  }
117
+
118
+ #page-edit .block-editor-teaser.has--backgroundColor--grey {
119
+ background-color: $lightgrey;
120
+ }
@@ -1,2 +1,7 @@
1
1
  // We want the separation between cells in grids to be 1rem only
2
- @gutterWidth: 1rem;
2
+ @gutterWidth: 20px;
3
+ @rowSpacing: 20px;
4
+
5
+ // This has to be 2 * 20px because it's going to be 1/2 in the source.
6
+ @stackableGutter: 2 * 20px;
7
+