@kitconcept/volto-light-theme 1.0.0-rc.3 → 1.0.0-rc.5
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/.github/workflows/acceptance.yml +52 -0
- package/.github/workflows/deploy.yml +8 -2
- package/CHANGELOG.md +23 -0
- package/Makefile +15 -10
- package/acceptance/cypress/fixtures/halfdome2022.jpg +0 -0
- package/acceptance/cypress/support/e2e.js +4 -0
- package/acceptance/cypress/tests/basic.cy.js +23 -23
- package/acceptance/docker-compose.yml +4 -8
- package/dockerfiles/Dockerfile.acceptance +6 -0
- package/dockerfiles/docker-compose.yml +3 -2
- package/package.json +3 -3
- package/src/components/Blocks/Listing/GridTemplate.jsx +2 -2
- package/src/index.js +32 -17
- package/src/theme/_content.scss +6 -0
- package/src/theme/_layout.scss +2 -8
- package/src/theme/blocks/_grid.scss +17 -9
- package/src/theme/blocks/_listing.scss +6 -5
- package/src/theme/blocks/_teaser.scss +12 -12
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: Acceptance tests
|
|
2
|
+
on: [push]
|
|
3
|
+
|
|
4
|
+
env:
|
|
5
|
+
ADDON_NAME: "@kitconcept/volto-light-theme"
|
|
6
|
+
ADDON_PATH: "volto-light-theme"
|
|
7
|
+
VOLTO_VERSION: "17.0.0-alpha.17"
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
|
|
11
|
+
acceptance:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout
|
|
15
|
+
uses: actions/checkout@v3
|
|
16
|
+
|
|
17
|
+
- name: Set up Docker Buildx
|
|
18
|
+
uses: docker/setup-buildx-action@v2
|
|
19
|
+
|
|
20
|
+
- name: Install Cypress
|
|
21
|
+
run: |
|
|
22
|
+
cd acceptance
|
|
23
|
+
yarn
|
|
24
|
+
|
|
25
|
+
- name: "Cypress: Acceptance tests"
|
|
26
|
+
uses: cypress-io/github-action@v5
|
|
27
|
+
env:
|
|
28
|
+
BABEL_ENV: production
|
|
29
|
+
CYPRESS_RETRIES: 2
|
|
30
|
+
with:
|
|
31
|
+
parallel: false
|
|
32
|
+
browser: chrome
|
|
33
|
+
working-directory: acceptance
|
|
34
|
+
spec: cypress/tests/*.js
|
|
35
|
+
install: false
|
|
36
|
+
start: |
|
|
37
|
+
docker compose -f ci.yml --profile prod up
|
|
38
|
+
wait-on: 'npx wait-on --httpTimeout 20000 http-get://localhost:55001/plone http://localhost:3000'
|
|
39
|
+
|
|
40
|
+
# Upload Cypress screenshots
|
|
41
|
+
- uses: actions/upload-artifact@v3
|
|
42
|
+
if: failure()
|
|
43
|
+
with:
|
|
44
|
+
name: cypress-screenshots-acceptance
|
|
45
|
+
path: acceptance/cypress/screenshots
|
|
46
|
+
|
|
47
|
+
# Upload Cypress videos
|
|
48
|
+
- uses: actions/upload-artifact@v3
|
|
49
|
+
if: failure()
|
|
50
|
+
with:
|
|
51
|
+
name: cypress-videos-acceptance
|
|
52
|
+
path: acceptance/cypress/videos
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
name: Release and deploy
|
|
2
2
|
on:
|
|
3
|
-
|
|
3
|
+
workflow_run:
|
|
4
|
+
workflows: [Acceptance Tests]
|
|
5
|
+
types:
|
|
6
|
+
- completed
|
|
7
|
+
branches:
|
|
8
|
+
- main
|
|
9
|
+
workflow_dispatch:
|
|
4
10
|
|
|
5
11
|
env:
|
|
6
12
|
ENVIRONMENT: "light-theme.kitconcept.io"
|
|
7
13
|
IMAGE_NAME: "ghcr.io/kitconcept/voltolighttheme-frontend"
|
|
8
|
-
VOLTO_VERSION: "17.0.0-alpha.
|
|
14
|
+
VOLTO_VERSION: "17.0.0-alpha.17"
|
|
9
15
|
|
|
10
16
|
jobs:
|
|
11
17
|
meta:
|
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,29 @@
|
|
|
8
8
|
|
|
9
9
|
<!-- towncrier release notes start -->
|
|
10
10
|
|
|
11
|
+
## 1.0.0-rc.5 (2023-07-11)
|
|
12
|
+
|
|
13
|
+
### Breaking
|
|
14
|
+
|
|
15
|
+
- Move the container query polyfill to an add-on profile, disabled by default @sneridagh [#137](https://github.com/kitconcept/volto-light-theme/pull/137)
|
|
16
|
+
|
|
17
|
+
### Feature
|
|
18
|
+
|
|
19
|
+
- Upgrade to Volto 17a17 as baseline @sneridagh [#136](https://github.com/kitconcept/volto-light-theme/pull/136)
|
|
20
|
+
- Add acceptance tests layer, update docker files and Makefile @sneridagh [#137](https://github.com/kitconcept/volto-light-theme/pull/137)
|
|
21
|
+
|
|
22
|
+
### Bugfix
|
|
23
|
+
|
|
24
|
+
- Check if the separator is present before enhancing it @sneridagh [#138](https://github.com/kitconcept/volto-light-theme/pull/138)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## 1.0.0-rc.4 (2023-07-11)
|
|
28
|
+
|
|
29
|
+
### Bugfix
|
|
30
|
+
|
|
31
|
+
- Fix Teaser block CSS. @danalvrz [#134](https://github.com/kitconcept/volto-light-theme/pull/134)
|
|
32
|
+
|
|
33
|
+
|
|
11
34
|
## 1.0.0-rc.3 (2023-07-10)
|
|
12
35
|
|
|
13
36
|
### Breaking
|
package/Makefile
CHANGED
|
@@ -22,7 +22,7 @@ RESET=`tput sgr0`
|
|
|
22
22
|
YELLOW=`tput setaf 3`
|
|
23
23
|
|
|
24
24
|
PLONE_VERSION=6
|
|
25
|
-
VOLTO_VERSION=17.0.0-alpha.
|
|
25
|
+
VOLTO_VERSION=17.0.0-alpha.17
|
|
26
26
|
|
|
27
27
|
ADDON_NAME='@kitconcept/volto-light-theme'
|
|
28
28
|
ADDON_PATH='volto-light-theme'
|
|
@@ -103,20 +103,20 @@ test-ci: ## Run unit tests in CI
|
|
|
103
103
|
|
|
104
104
|
## Acceptance
|
|
105
105
|
.PHONY: install-acceptance
|
|
106
|
-
install-acceptance: ## Install Cypress, build containers
|
|
106
|
+
install-acceptance: ## Install Cypress, build acceptance containers
|
|
107
107
|
(cd acceptance && yarn)
|
|
108
108
|
${ACCEPTANCE} --profile dev --profile prod build
|
|
109
109
|
|
|
110
110
|
.PHONY: start-test-acceptance-server
|
|
111
|
-
start-test-acceptance-server: ## Start acceptance server
|
|
112
|
-
${ACCEPTANCE} --profile dev up
|
|
111
|
+
start-test-acceptance-server: ## Start acceptance server (for use it in while developing)
|
|
112
|
+
${ACCEPTANCE} --profile dev up
|
|
113
113
|
|
|
114
114
|
.PHONY: start-test-acceptance-server-prod
|
|
115
|
-
start-test-acceptance-server-prod: ## Start acceptance server
|
|
115
|
+
start-test-acceptance-server-prod: ## Start acceptance server in prod (used by CI)
|
|
116
116
|
${ACCEPTANCE} --profile prod up -d
|
|
117
117
|
|
|
118
118
|
.PHONY: test-acceptance
|
|
119
|
-
test-acceptance: ## Start Cypress
|
|
119
|
+
test-acceptance: ## Start Cypress (for use it while developing)
|
|
120
120
|
(cd acceptance && ./node_modules/.bin/cypress open)
|
|
121
121
|
|
|
122
122
|
.PHONY: test-acceptance-headless
|
|
@@ -124,13 +124,18 @@ test-acceptance-headless: ## Run cypress tests in CI
|
|
|
124
124
|
(cd acceptance && ./node_modules/.bin/cypress run)
|
|
125
125
|
|
|
126
126
|
.PHONY: stop-test-acceptance-server
|
|
127
|
-
stop-test-acceptance-server: ## Stop acceptance server
|
|
128
|
-
${ACCEPTANCE} down
|
|
127
|
+
stop-test-acceptance-server: ## Stop acceptance server (for use it while finished developing)
|
|
128
|
+
${ACCEPTANCE} --profile dev down
|
|
129
129
|
|
|
130
130
|
.PHONY: status-test-acceptance-server
|
|
131
|
-
status-test-acceptance-server: ## Status of Acceptance Server
|
|
131
|
+
status-test-acceptance-server: ## Status of Acceptance Server (for use it while developing)
|
|
132
132
|
${ACCEPTANCE} ps
|
|
133
133
|
|
|
134
134
|
.PHONY: debug-frontend
|
|
135
|
-
debug-frontend: ## Run bash in the Frontend container
|
|
135
|
+
debug-frontend: ## Run bash in the Frontend container (for debug infrastructure purposes)
|
|
136
136
|
${DEV_COMPOSE} run --entrypoint bash addon-dev
|
|
137
|
+
|
|
138
|
+
.PHONY: install-local
|
|
139
|
+
install-local: ## Installs essentials for developing locally (ESlint, prettier...) (for use it while developing)
|
|
140
|
+
yarn remove -A @plone/volto && yarn add @plone/volto && git co -- package.json yarn.lock
|
|
141
|
+
mv .eslintrc.local.js .eslintrc.js
|
|
Binary file
|
|
@@ -4,6 +4,10 @@ import './commands';
|
|
|
4
4
|
import { setup, teardown } from './reset-fixture';
|
|
5
5
|
|
|
6
6
|
beforeEach(function () {
|
|
7
|
+
cy.setCookie('confirm_cookies', '1');
|
|
8
|
+
cy.setCookie('confirm_tracking', '1');
|
|
9
|
+
cy.setCookie('confirm_facebook', '1');
|
|
10
|
+
cy.setCookie('confirm_youtube', '1');
|
|
7
11
|
cy.log('Setting up API fixture');
|
|
8
12
|
setup();
|
|
9
13
|
});
|
|
@@ -6,6 +6,9 @@ import {
|
|
|
6
6
|
context('Basic Acceptance Tests', () => {
|
|
7
7
|
describe('Text Block Tests', () => {
|
|
8
8
|
beforeEach(() => {
|
|
9
|
+
cy.intercept('GET', `/**/*?expand*`).as('content');
|
|
10
|
+
cy.intercept('GET', '/**/Document').as('schema');
|
|
11
|
+
|
|
9
12
|
// given a logged in editor and a page in edit mode
|
|
10
13
|
cy.autologin();
|
|
11
14
|
cy.createContent({
|
|
@@ -14,6 +17,7 @@ context('Basic Acceptance Tests', () => {
|
|
|
14
17
|
contentTitle: 'Document',
|
|
15
18
|
});
|
|
16
19
|
cy.visit('/');
|
|
20
|
+
cy.wait('@content');
|
|
17
21
|
});
|
|
18
22
|
|
|
19
23
|
it('As editor I can add a page with a text block', function () {
|
|
@@ -32,39 +36,35 @@ context('Basic Acceptance Tests', () => {
|
|
|
32
36
|
|
|
33
37
|
getSelectedSlateEditor().contains('This is the text');
|
|
34
38
|
cy.get('#toolbar-save').click();
|
|
39
|
+
cy.wait('@content');
|
|
35
40
|
cy.url().should('eq', Cypress.config().baseUrl + '/my-page');
|
|
36
41
|
});
|
|
37
42
|
|
|
38
43
|
it('As editor I can add a link to a text block', function () {
|
|
39
|
-
cy.intercept('GET', '/**/document').as('content');
|
|
40
|
-
cy.visit('/document');
|
|
41
|
-
cy.wait('@content');
|
|
42
|
-
|
|
43
44
|
cy.navigate('/document/edit');
|
|
45
|
+
cy.wait('@schema');
|
|
44
46
|
|
|
45
|
-
|
|
46
|
-
getSlateEditorAndType(
|
|
47
|
-
'.slate-editor [contenteditable=true]',
|
|
48
|
-
'Colorless green ideas sleep furiously.',
|
|
49
|
-
).setSelection('furiously');
|
|
47
|
+
cy.get('.block.inner.title .documentFirstHeading');
|
|
50
48
|
|
|
51
|
-
cy.
|
|
49
|
+
cy.log('when I create a link');
|
|
52
50
|
|
|
53
|
-
cy.
|
|
54
|
-
cy.get('#toolbar-save').click();
|
|
55
|
-
cy.url().should('eq', Cypress.config().baseUrl + '/document');
|
|
56
|
-
cy.waitForResourceToLoad('@navigation');
|
|
57
|
-
cy.waitForResourceToLoad('@breadcrumbs');
|
|
58
|
-
cy.waitForResourceToLoad('@actions');
|
|
59
|
-
cy.waitForResourceToLoad('@types');
|
|
60
|
-
cy.waitForResourceToLoad('document');
|
|
61
|
-
|
|
62
|
-
// then the page view should contain a link
|
|
63
|
-
cy.get('.ui.container p').contains(
|
|
51
|
+
cy.getSlateEditorAndType(
|
|
64
52
|
'Colorless green ideas sleep furiously.',
|
|
53
|
+
).setSlateSelection('furiously');
|
|
54
|
+
cy.clickSlateButton('Add link');
|
|
55
|
+
cy.get('.slate-toolbar .link-form-container input').type(
|
|
56
|
+
'https://google.com{enter}',
|
|
65
57
|
);
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
|
|
59
|
+
cy.get('#toolbar-save', { timeout: 10000 }).click();
|
|
60
|
+
cy.wait('@content');
|
|
61
|
+
|
|
62
|
+
cy.log('then the page view should contain a link');
|
|
63
|
+
|
|
64
|
+
cy.get('.container p').contains('Colorless green ideas sleep furiously.');
|
|
65
|
+
cy.get('.container p a')
|
|
66
|
+
.should('have.text', 'furiously')
|
|
67
|
+
.and('have.attr', 'href')
|
|
68
68
|
.and('include', 'https://google.com');
|
|
69
69
|
});
|
|
70
70
|
});
|
|
@@ -15,9 +15,11 @@ services:
|
|
|
15
15
|
environment:
|
|
16
16
|
RAZZLE_INTERNAL_API_PATH: http://backend-acceptance:55001/plone
|
|
17
17
|
RAZZLE_API_PATH: http://localhost:55001/plone
|
|
18
|
+
HOST: 0.0.0.0
|
|
18
19
|
ports:
|
|
19
20
|
- 3000:3000
|
|
20
21
|
- 3001:3001
|
|
22
|
+
tty: true
|
|
21
23
|
depends_on:
|
|
22
24
|
- backend-acceptance
|
|
23
25
|
profiles:
|
|
@@ -34,6 +36,7 @@ services:
|
|
|
34
36
|
environment:
|
|
35
37
|
RAZZLE_INTERNAL_API_PATH: http://backend-acceptance:55001/plone
|
|
36
38
|
RAZZLE_API_PATH: http://localhost:55001/plone
|
|
39
|
+
HOST: 0.0.0.0
|
|
37
40
|
ports:
|
|
38
41
|
- 3000:3000
|
|
39
42
|
depends_on:
|
|
@@ -42,14 +45,7 @@ services:
|
|
|
42
45
|
- prod
|
|
43
46
|
|
|
44
47
|
backend-acceptance:
|
|
45
|
-
image: plone/
|
|
46
|
-
command: ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING
|
|
47
|
-
environment:
|
|
48
|
-
ZSERVER_HOST: 0.0.0.0
|
|
49
|
-
ZSERVER_PORT: 55001
|
|
50
|
-
ADDONS: 'plone.app.robotframework==2.0.0'
|
|
51
|
-
APPLY_PROFILES: plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage
|
|
52
|
-
CONFIGURE_PACKAGES: plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors
|
|
48
|
+
image: plone/server-acceptance:${PLONE_VERSION:-6}
|
|
53
49
|
ports:
|
|
54
50
|
- 55001:55001
|
|
55
51
|
profiles:
|
|
@@ -5,6 +5,12 @@ FROM plone/frontend-dev:${VOLTO_VERSION}
|
|
|
5
5
|
ARG ADDON_NAME
|
|
6
6
|
ARG ADDON_PATH
|
|
7
7
|
|
|
8
|
+
# Copy helper.py as /setupAddon
|
|
9
|
+
COPY dockerfiles/helper.py /setupAddon
|
|
10
|
+
|
|
11
|
+
# Copy volto.config.js
|
|
12
|
+
COPY --chown=node:node volto.config.js* /app/
|
|
13
|
+
|
|
8
14
|
COPY --chown=node:node package.json /app/src/addons/${ADDON_PATH}/
|
|
9
15
|
|
|
10
16
|
RUN <<EOT
|
|
@@ -9,12 +9,13 @@ services:
|
|
|
9
9
|
args:
|
|
10
10
|
ADDON_NAME: "${ADDON_NAME}"
|
|
11
11
|
ADDON_PATH: "${ADDON_PATH}"
|
|
12
|
-
VOLTO_VERSION: "${VOLTO_VERSION:-
|
|
12
|
+
VOLTO_VERSION: "${VOLTO_VERSION:-17}"
|
|
13
13
|
volumes:
|
|
14
14
|
- ${CURRENT_DIR}:/app/src/addons/${ADDON_PATH}/
|
|
15
15
|
environment:
|
|
16
16
|
RAZZLE_INTERNAL_API_PATH: http://backend:8080/Plone
|
|
17
17
|
RAZZLE_API_PATH: http://localhost:8080/Plone
|
|
18
|
+
HOST: 0.0.0.0
|
|
18
19
|
ports:
|
|
19
20
|
- 3000:3000
|
|
20
21
|
- 3001:3001
|
|
@@ -29,7 +30,7 @@ services:
|
|
|
29
30
|
args:
|
|
30
31
|
ADDON_NAME: "${ADDON_NAME}"
|
|
31
32
|
ADDON_PATH: "${ADDON_PATH}"
|
|
32
|
-
VOLTO_VERSION: "${VOLTO_VERSION:-
|
|
33
|
+
VOLTO_VERSION: "${VOLTO_VERSION:-17}"
|
|
33
34
|
environment:
|
|
34
35
|
RAZZLE_INTERNAL_API_PATH: http://backend:8080/Plone
|
|
35
36
|
RAZZLE_API_PATH: http://localhost:8080/Plone
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitconcept/volto-light-theme",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.5",
|
|
4
4
|
"description": "Volto Light Theme by kitconcept",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"@kitconcept/volto-heading-block": "^2.2.0",
|
|
59
59
|
"@kitconcept/volto-image-block": "^1.0.1",
|
|
60
60
|
"@kitconcept/volto-introduction-block": "^1.0.0",
|
|
61
|
-
"@kitconcept/volto-separator-block": "^3.2.
|
|
61
|
+
"@kitconcept/volto-separator-block": "^3.2.2",
|
|
62
62
|
"@kitconcept/volto-slider-block": "^4.2.0",
|
|
63
|
-
"@plone/volto": "^17.0.0-alpha.
|
|
63
|
+
"@plone/volto": "^17.0.0-alpha.17"
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -40,10 +40,10 @@ const GridTemplate = ({ items, linkTitle, linkHref, isEditMode }) => {
|
|
|
40
40
|
componentName="PreviewImage"
|
|
41
41
|
item={item}
|
|
42
42
|
alt=""
|
|
43
|
-
className="
|
|
43
|
+
className="item-image"
|
|
44
44
|
/>
|
|
45
45
|
)}
|
|
46
|
-
<div className="
|
|
46
|
+
<div className="item">
|
|
47
47
|
<div className="content">
|
|
48
48
|
{item?.head_title && (
|
|
49
49
|
<div className="headline">{item.head_title}</div>
|
package/src/index.js
CHANGED
|
@@ -35,6 +35,7 @@ defineMessages({
|
|
|
35
35
|
|
|
36
36
|
const applyConfig = (config) => {
|
|
37
37
|
config.settings.enableAutoBlockGroupingByBackgroundColor = true;
|
|
38
|
+
config.settings.navDepth = 3;
|
|
38
39
|
|
|
39
40
|
// No required blocks (eg. Title)
|
|
40
41
|
config.blocks.requiredBlocks = [];
|
|
@@ -49,7 +50,14 @@ const applyConfig = (config) => {
|
|
|
49
50
|
...config.settings.apiExpanders,
|
|
50
51
|
{
|
|
51
52
|
match: '',
|
|
52
|
-
GET_CONTENT: ['breadcrumbs', '
|
|
53
|
+
GET_CONTENT: ['breadcrumbs', 'actions', 'types'],
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
match: '',
|
|
57
|
+
GET_CONTENT: ['navigation'],
|
|
58
|
+
querystring: {
|
|
59
|
+
'expand.navigation.depth': config.settings.navDepth,
|
|
60
|
+
},
|
|
53
61
|
},
|
|
54
62
|
];
|
|
55
63
|
|
|
@@ -118,14 +126,6 @@ const applyConfig = (config) => {
|
|
|
118
126
|
|
|
119
127
|
config.settings.slidingSearchAnimation = true;
|
|
120
128
|
|
|
121
|
-
config.settings.appExtras = [
|
|
122
|
-
...config.settings.appExtras,
|
|
123
|
-
{
|
|
124
|
-
match: '',
|
|
125
|
-
component: ContainerQueriesPolyfill,
|
|
126
|
-
},
|
|
127
|
-
];
|
|
128
|
-
|
|
129
129
|
config.blocks.blocksConfig.accordion = {
|
|
130
130
|
...config.blocks.blocksConfig.accordion,
|
|
131
131
|
mostUsed: true,
|
|
@@ -225,14 +225,17 @@ const applyConfig = (config) => {
|
|
|
225
225
|
colors: BG_COLORS,
|
|
226
226
|
};
|
|
227
227
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
config.blocks.blocksConfig.separator
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
228
|
+
// Check if the separator is present before enhancing it
|
|
229
|
+
if (config.blocks.blocksConfig.separator.id) {
|
|
230
|
+
config.blocks.blocksConfig.separator = {
|
|
231
|
+
...config.blocks.blocksConfig.separator,
|
|
232
|
+
schemaEnhancer: composeSchema(
|
|
233
|
+
config.blocks.blocksConfig.separator.schemaEnhancer,
|
|
234
|
+
defaultStylingSchema,
|
|
235
|
+
),
|
|
236
|
+
colors: BG_COLORS,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
236
239
|
|
|
237
240
|
config.blocks.blocksConfig.listing = {
|
|
238
241
|
...config.blocks.blocksConfig.listing,
|
|
@@ -252,4 +255,16 @@ const applyConfig = (config) => {
|
|
|
252
255
|
return config;
|
|
253
256
|
};
|
|
254
257
|
|
|
258
|
+
export const withContainerQueryPolyfill = (config) => {
|
|
259
|
+
config.settings.appExtras = [
|
|
260
|
+
...config.settings.appExtras,
|
|
261
|
+
{
|
|
262
|
+
match: '',
|
|
263
|
+
component: ContainerQueriesPolyfill,
|
|
264
|
+
},
|
|
265
|
+
];
|
|
266
|
+
|
|
267
|
+
return config;
|
|
268
|
+
};
|
|
269
|
+
|
|
255
270
|
export default applyConfig;
|
package/src/theme/_content.scss
CHANGED
package/src/theme/_layout.scss
CHANGED
|
@@ -164,7 +164,7 @@ footer {
|
|
|
164
164
|
& > .block.heading .heading-wrapper,
|
|
165
165
|
& > .block.separator.has--align--full .line,
|
|
166
166
|
& > .block.introduction .block-container,
|
|
167
|
-
& > .block.teaser .
|
|
167
|
+
& > .block.teaser .teaser-item.default,
|
|
168
168
|
& > .table-of-contents,
|
|
169
169
|
& > .slate blockquote {
|
|
170
170
|
@include default-container-width();
|
|
@@ -233,7 +233,7 @@ footer {
|
|
|
233
233
|
.block-editor-separator.has--align--full .block.separator,
|
|
234
234
|
.block-editor-separator .block.separator.has--align--full,
|
|
235
235
|
.block.teaser.has--align--center,
|
|
236
|
-
.block-editor-teaser .
|
|
236
|
+
.block-editor-teaser .teaser-item.default,
|
|
237
237
|
.block-editor-toc {
|
|
238
238
|
@include default-container-width();
|
|
239
239
|
@include adjustMarginsToContainer($default-container-width);
|
|
@@ -301,10 +301,4 @@ body.has-toolbar.has-sidebar .block .ui.basic.button.delete-button {
|
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
-
.contenttype-file {
|
|
305
|
-
a {
|
|
306
|
-
text-decoration: underline;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
|
|
310
304
|
@import 'bgcolor-blocks-layout';
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
.block.teaser {
|
|
17
17
|
margin-bottom: 0;
|
|
18
18
|
background-color: $lightgrey;
|
|
19
|
-
.
|
|
19
|
+
.teaser-item {
|
|
20
20
|
height: 100%;
|
|
21
21
|
|
|
22
|
-
.
|
|
22
|
+
.image-wrapper {
|
|
23
23
|
margin: 0 0 40px 0 !important;
|
|
24
24
|
|
|
25
25
|
img {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
.block-editor-teaser {
|
|
55
55
|
padding: 0;
|
|
56
56
|
margin: 0.5rem !important;
|
|
57
|
-
.
|
|
57
|
+
.teaser-item {
|
|
58
58
|
border: none !important;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -128,10 +128,18 @@
|
|
|
128
128
|
margin: 0.5rem !important;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
.listing {
|
|
131
|
+
.block.listing {
|
|
132
132
|
h2 {
|
|
133
133
|
margin-bottom: 40px !important;
|
|
134
134
|
}
|
|
135
|
+
&.previous--is--same--block-type.previous--has--same--backgroundColor:not(.has--headline) {
|
|
136
|
+
margin-top: unset;
|
|
137
|
+
}
|
|
138
|
+
.listing-item,
|
|
139
|
+
.listing-item:last-child {
|
|
140
|
+
padding-bottom: 40px !important;
|
|
141
|
+
border-bottom: 1px solid $black !important;
|
|
142
|
+
}
|
|
135
143
|
}
|
|
136
144
|
|
|
137
145
|
.block-editor-empty {
|
|
@@ -144,7 +152,7 @@
|
|
|
144
152
|
.block.gridBlock,
|
|
145
153
|
.block-editor-gridBlock {
|
|
146
154
|
.one {
|
|
147
|
-
.
|
|
155
|
+
.teaser-item .content h2 {
|
|
148
156
|
margin-bottom: 40px !important;
|
|
149
157
|
@include text-heading-h2();
|
|
150
158
|
}
|
|
@@ -159,7 +167,7 @@
|
|
|
159
167
|
.two,
|
|
160
168
|
.three {
|
|
161
169
|
.teaser {
|
|
162
|
-
.
|
|
170
|
+
.teaser-item .content {
|
|
163
171
|
h2 {
|
|
164
172
|
margin-bottom: 20px !important;
|
|
165
173
|
@include text-heading-h3();
|
|
@@ -187,8 +195,8 @@
|
|
|
187
195
|
|
|
188
196
|
.four {
|
|
189
197
|
.teaser {
|
|
190
|
-
.
|
|
191
|
-
.
|
|
198
|
+
.teaser-item {
|
|
199
|
+
.image-wrapper {
|
|
192
200
|
margin-bottom: 20px !important;
|
|
193
201
|
}
|
|
194
202
|
.content {
|
|
@@ -239,7 +247,7 @@
|
|
|
239
247
|
#page-add .block-editor-gridBlock.has--backgroundColor--grey,
|
|
240
248
|
#page-edit .block-editor-gridBlock.has--backgroundColor--grey {
|
|
241
249
|
background-color: $lightgrey;
|
|
242
|
-
.
|
|
250
|
+
.teaser-item {
|
|
243
251
|
background: white;
|
|
244
252
|
}
|
|
245
253
|
.slate {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Listing Block
|
|
2
|
-
.block.listing
|
|
2
|
+
.block.listing,
|
|
3
|
+
.column > .block.listing {
|
|
3
4
|
&.next--has--same--backgroundColor.next--is--same--block-type,
|
|
4
5
|
&.next--is--__button {
|
|
5
6
|
.listing-item:last-child {
|
|
@@ -13,7 +14,7 @@
|
|
|
13
14
|
border-bottom: 1px solid $black;
|
|
14
15
|
margin-bottom: 40px;
|
|
15
16
|
|
|
16
|
-
&:last-child
|
|
17
|
+
&:last-child {
|
|
17
18
|
padding-bottom: 0 !important;
|
|
18
19
|
border-bottom: none !important;
|
|
19
20
|
margin-bottom: 0;
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
aspect-ratio: $aspect-ratio;
|
|
63
64
|
}
|
|
64
65
|
h3 {
|
|
65
|
-
margin-bottom: 40px;
|
|
66
|
+
margin-bottom: 40px !important;
|
|
66
67
|
color: $black;
|
|
67
68
|
@include text-heading-h2();
|
|
68
69
|
}
|
|
@@ -138,13 +139,13 @@
|
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
|
|
141
|
-
img.
|
|
142
|
+
img.item-image {
|
|
142
143
|
width: 100%;
|
|
143
144
|
margin: 0;
|
|
144
145
|
aspect-ratio: $aspect-ratio;
|
|
145
146
|
}
|
|
146
147
|
|
|
147
|
-
.
|
|
148
|
+
.item {
|
|
148
149
|
margin-top: 40px;
|
|
149
150
|
}
|
|
150
151
|
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
// We want the image to extend in all its container width
|
|
9
9
|
height: 100%;
|
|
10
10
|
|
|
11
|
-
.
|
|
11
|
+
.teaser-item.default {
|
|
12
12
|
align-items: start;
|
|
13
13
|
padding-bottom: 40px; // same as vertical spacing in margin-bottom
|
|
14
14
|
border-bottom: 1px solid $black;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
.
|
|
17
|
+
.image-wrapper {
|
|
18
18
|
width: 100%;
|
|
19
19
|
img {
|
|
20
20
|
object-position: center;
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
|
|
24
24
|
&.has--align--left,
|
|
25
25
|
&.has--align--right {
|
|
26
|
-
.
|
|
26
|
+
.teaser-item.default {
|
|
27
27
|
display: flex;
|
|
28
28
|
|
|
29
|
-
.
|
|
29
|
+
.image-wrapper {
|
|
30
30
|
align-self: flex-start;
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
&.has--align--left {
|
|
40
|
-
.
|
|
40
|
+
.teaser-item.default {
|
|
41
41
|
flex-direction: row;
|
|
42
42
|
|
|
43
|
-
.
|
|
43
|
+
.image-wrapper {
|
|
44
44
|
margin-right: 20px;
|
|
45
45
|
|
|
46
46
|
@media only screen and (max-width: $largest-mobile-screen) {
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
&.has--align--right {
|
|
55
|
-
.
|
|
55
|
+
.teaser-item.default {
|
|
56
56
|
flex-direction: row-reverse;
|
|
57
57
|
|
|
58
|
-
.
|
|
58
|
+
.image-wrapper {
|
|
59
59
|
margin-left: 20px;
|
|
60
60
|
|
|
61
61
|
@media only screen and (max-width: $largest-mobile-screen) {
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
&.has--align--center {
|
|
70
|
-
.
|
|
70
|
+
.teaser-item.default {
|
|
71
71
|
display: block;
|
|
72
72
|
a {
|
|
73
73
|
display: block;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
.
|
|
76
|
+
.image-wrapper {
|
|
77
77
|
margin-bottom: 26px;
|
|
78
78
|
}
|
|
79
79
|
}
|
|
@@ -102,12 +102,12 @@
|
|
|
102
102
|
|
|
103
103
|
&.is--last--of--block-type,
|
|
104
104
|
&.next--has--different--backgroundColor {
|
|
105
|
-
.
|
|
105
|
+
.teaser-item.default {
|
|
106
106
|
padding-bottom: 0;
|
|
107
107
|
border-bottom: none;
|
|
108
108
|
}
|
|
109
109
|
&.next--is--__button {
|
|
110
|
-
.
|
|
110
|
+
.teaser-item.default {
|
|
111
111
|
padding-bottom: 40px;
|
|
112
112
|
border-bottom: 1px solid $black;
|
|
113
113
|
}
|