@eeacms/volto-eea-design-system 1.18.3 → 1.20.0
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 +82 -19
- package/RELEASE.md +14 -14
- package/package.json +3 -3
- package/src/ui/Card/Card.stories.jsx +104 -50
- package/src/ui/Card/Card.stories.test.jsx +196 -0
- package/src/ui/Footer/FooterSites.jsx +2 -2
- package/src/ui/Header/Header.stories.js +14 -10
- package/src/ui/Tab/Tab.stories.js +21 -5
- package/src/ui/Tab/Tab.stories.test.js +10 -0
- package/theme/themes/eea/collections/breadcrumb.overrides +4 -3
- package/theme/themes/eea/collections/menu.overrides +201 -15
- package/theme/themes/eea/collections/menu.variables +43 -28
- package/theme/themes/eea/collections/message.overrides +1 -1
- package/theme/themes/eea/collections/table.overrides +9 -15
- package/theme/themes/eea/elements/button.overrides +2 -2
- package/theme/themes/eea/elements/container.overrides +39 -34
- package/theme/themes/eea/elements/divider.overrides +13 -9
- package/theme/themes/eea/elements/image.overrides +5 -6
- package/theme/themes/eea/elements/label.overrides +16 -16
- package/theme/themes/eea/elements/list.overrides +3 -1
- package/theme/themes/eea/elements/segment.overrides +4 -4
- package/theme/themes/eea/extras/custom.overrides +43 -22
- package/theme/themes/eea/extras/header.variables +1 -1
- package/theme/themes/eea/globals/site.overrides +63 -35
- package/theme/themes/eea/globals/site.variables +2 -5
- package/theme/themes/eea/modules/accordion.overrides +36 -24
- package/theme/themes/eea/modules/accordion.variables +4 -4
- package/theme/themes/eea/modules/checkbox.overrides +2 -2
- package/theme/themes/eea/modules/modal.overrides +2 -2
- package/theme/themes/eea/modules/search.overrides +4 -0
- package/theme/themes/eea/modules/tab.overrides +6 -12
- package/theme/themes/eea/modules/tab.variables +2 -1
- package/theme/themes/eea/tokens/colors.less +2 -2
- package/theme/themes/eea/views/card.overrides +49 -35
- package/theme/themes/eea/views/card.variables +5 -0
- package/theme/themes/eea/views/item.overrides +15 -13
- package/theme/themes/eea/views/statistic.overrides +13 -3
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render, fireEvent } from '@testing-library/react';
|
|
3
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
3
4
|
import {
|
|
4
5
|
TeaserCardGrid,
|
|
5
6
|
CarouselCards,
|
|
6
7
|
FluidGrid,
|
|
7
8
|
CardGrid,
|
|
9
|
+
ImageGrid,
|
|
8
10
|
Default,
|
|
9
11
|
} from './Card.stories';
|
|
10
12
|
|
|
11
13
|
describe('TeaserCardGrid component', () => {
|
|
14
|
+
it('renders correctly', () => {
|
|
15
|
+
const { container } = render(<TeaserCardGrid {...TeaserCardGrid.args} />);
|
|
16
|
+
|
|
17
|
+
expect(container.querySelector('.image')).toBeInTheDocument();
|
|
18
|
+
expect(container.querySelector('.header')).toBeInTheDocument();
|
|
19
|
+
expect(container.querySelector('.description')).toBeInTheDocument();
|
|
20
|
+
|
|
21
|
+
expect(
|
|
22
|
+
container.querySelector(`.ui.card.u-card.${TeaserCardGrid.args.variant}`),
|
|
23
|
+
).toBeInTheDocument();
|
|
24
|
+
expect(
|
|
25
|
+
container.querySelector(
|
|
26
|
+
`.ui.card.u-card.max-${TeaserCardGrid.args.maxLines}-lines`,
|
|
27
|
+
),
|
|
28
|
+
).toBeInTheDocument();
|
|
29
|
+
expect(
|
|
30
|
+
container.querySelector(
|
|
31
|
+
`.ui.card.u-card.title-max-${TeaserCardGrid.args.maxLines}-lines`,
|
|
32
|
+
),
|
|
33
|
+
).toBeInTheDocument();
|
|
34
|
+
expect(
|
|
35
|
+
container.querySelector(
|
|
36
|
+
`.ui.card.u-card.has--object-fit--${TeaserCardGrid.args.objectFit}`,
|
|
37
|
+
),
|
|
38
|
+
).toBeInTheDocument();
|
|
39
|
+
expect(
|
|
40
|
+
container.querySelector(
|
|
41
|
+
`.ui.card.u-card.has--object-position--${TeaserCardGrid.args.objectPosition}`,
|
|
42
|
+
),
|
|
43
|
+
).toBeInTheDocument();
|
|
44
|
+
});
|
|
45
|
+
|
|
12
46
|
it('renders the teaser card grid with correct number of cards', () => {
|
|
13
47
|
const { container } = render(<TeaserCardGrid {...TeaserCardGrid.args} />);
|
|
14
48
|
const teaserCards = container.querySelectorAll('.column.grid-block-teaser');
|
|
@@ -26,6 +60,39 @@ describe('TeaserCardGrid component', () => {
|
|
|
26
60
|
});
|
|
27
61
|
|
|
28
62
|
describe('CarouselCards component', () => {
|
|
63
|
+
it('renders correctly', () => {
|
|
64
|
+
const { container } = render(<CarouselCards {...CarouselCards.args} />);
|
|
65
|
+
|
|
66
|
+
expect(container.querySelector('.image')).toBeInTheDocument();
|
|
67
|
+
expect(container.querySelector('.header')).toBeInTheDocument();
|
|
68
|
+
expect(container.querySelector('.meta')).toBeInTheDocument();
|
|
69
|
+
expect(container.querySelector('.description')).toBeInTheDocument();
|
|
70
|
+
|
|
71
|
+
expect(
|
|
72
|
+
container.querySelector(`.ui.card.u-card.${CarouselCards.args.variant}`),
|
|
73
|
+
).toBeInTheDocument();
|
|
74
|
+
expect(
|
|
75
|
+
container.querySelector(
|
|
76
|
+
`.ui.card.u-card.max-${CarouselCards.args.maxLines}-lines`,
|
|
77
|
+
),
|
|
78
|
+
).toBeInTheDocument();
|
|
79
|
+
expect(
|
|
80
|
+
container.querySelector(
|
|
81
|
+
`.ui.card.u-card.title-max-${CarouselCards.args.maxLines}-lines`,
|
|
82
|
+
),
|
|
83
|
+
).toBeInTheDocument();
|
|
84
|
+
expect(
|
|
85
|
+
container.querySelector(
|
|
86
|
+
`.ui.card.u-card.has--object-fit--${CarouselCards.args.objectFit}`,
|
|
87
|
+
),
|
|
88
|
+
).toBeInTheDocument();
|
|
89
|
+
expect(
|
|
90
|
+
container.querySelector(
|
|
91
|
+
`.ui.card.u-card.has--object-position--${CarouselCards.args.objectPosition}`,
|
|
92
|
+
),
|
|
93
|
+
).toBeInTheDocument();
|
|
94
|
+
});
|
|
95
|
+
|
|
29
96
|
it('renders the carousel with correct number of cards', () => {
|
|
30
97
|
const { container } = render(<CarouselCards {...CarouselCards.args} />);
|
|
31
98
|
const carouselCards = container.querySelectorAll(
|
|
@@ -47,6 +114,39 @@ describe('CarouselCards component', () => {
|
|
|
47
114
|
});
|
|
48
115
|
|
|
49
116
|
describe('FluidGrid component', () => {
|
|
117
|
+
it('renders correctly', () => {
|
|
118
|
+
const { container } = render(<FluidGrid {...FluidGrid.args} />);
|
|
119
|
+
|
|
120
|
+
expect(container.querySelector('.image')).toBeInTheDocument();
|
|
121
|
+
expect(container.querySelector('.header')).toBeInTheDocument();
|
|
122
|
+
expect(container.querySelector('.meta')).toBeInTheDocument();
|
|
123
|
+
expect(container.querySelector('.description')).toBeInTheDocument();
|
|
124
|
+
|
|
125
|
+
expect(
|
|
126
|
+
container.querySelector(`.ui.card.u-card.${FluidGrid.args.variant}`),
|
|
127
|
+
).toBeInTheDocument();
|
|
128
|
+
expect(
|
|
129
|
+
container.querySelector(
|
|
130
|
+
`.ui.card.u-card.max-${FluidGrid.args.maxLines}-lines`,
|
|
131
|
+
),
|
|
132
|
+
).toBeInTheDocument();
|
|
133
|
+
expect(
|
|
134
|
+
container.querySelector(
|
|
135
|
+
`.ui.card.u-card.title-max-${FluidGrid.args.maxLines}-lines`,
|
|
136
|
+
),
|
|
137
|
+
).toBeInTheDocument();
|
|
138
|
+
expect(
|
|
139
|
+
container.querySelector(
|
|
140
|
+
`.ui.card.u-card.has--object-fit--${FluidGrid.args.objectFit}`,
|
|
141
|
+
),
|
|
142
|
+
).toBeInTheDocument();
|
|
143
|
+
expect(
|
|
144
|
+
container.querySelector(
|
|
145
|
+
`.ui.card.u-card.has--object-position--${FluidGrid.args.objectPosition}`,
|
|
146
|
+
),
|
|
147
|
+
).toBeInTheDocument();
|
|
148
|
+
});
|
|
149
|
+
|
|
50
150
|
it('renders fluid grid with correct number of cards', () => {
|
|
51
151
|
const { container } = render(<FluidGrid {...FluidGrid.args} />);
|
|
52
152
|
const fluidGridCards = container.querySelectorAll(
|
|
@@ -58,6 +158,39 @@ describe('FluidGrid component', () => {
|
|
|
58
158
|
});
|
|
59
159
|
|
|
60
160
|
describe('CardGrid component', () => {
|
|
161
|
+
it('renders correctly', () => {
|
|
162
|
+
const { container } = render(<CardGrid {...CardGrid.args} />);
|
|
163
|
+
|
|
164
|
+
expect(container.querySelector('.image')).toBeInTheDocument();
|
|
165
|
+
expect(container.querySelector('.header')).toBeInTheDocument();
|
|
166
|
+
expect(container.querySelector('.meta')).toBeInTheDocument();
|
|
167
|
+
expect(container.querySelector('.description')).toBeInTheDocument();
|
|
168
|
+
|
|
169
|
+
expect(
|
|
170
|
+
container.querySelector(`.ui.card.u-card.${CardGrid.args.variant}`),
|
|
171
|
+
).toBeInTheDocument();
|
|
172
|
+
expect(
|
|
173
|
+
container.querySelector(
|
|
174
|
+
`.ui.card.u-card.max-${CardGrid.args.maxLines}-lines`,
|
|
175
|
+
),
|
|
176
|
+
).toBeInTheDocument();
|
|
177
|
+
expect(
|
|
178
|
+
container.querySelector(
|
|
179
|
+
`.ui.card.u-card.title-max-${CardGrid.args.maxLines}-lines`,
|
|
180
|
+
),
|
|
181
|
+
).toBeInTheDocument();
|
|
182
|
+
expect(
|
|
183
|
+
container.querySelector(
|
|
184
|
+
`.ui.card.u-card.has--object-fit--${CardGrid.args.objectFit}`,
|
|
185
|
+
),
|
|
186
|
+
).toBeInTheDocument();
|
|
187
|
+
expect(
|
|
188
|
+
container.querySelector(
|
|
189
|
+
`.ui.card.u-card.has--object-position--${CardGrid.args.objectPosition}`,
|
|
190
|
+
),
|
|
191
|
+
).toBeInTheDocument();
|
|
192
|
+
});
|
|
193
|
+
|
|
61
194
|
it('renders the card grid with correct number of cards', () => {
|
|
62
195
|
const { container } = render(<CardGrid {...CardGrid.args} />);
|
|
63
196
|
const cardGridCards = container.querySelectorAll(
|
|
@@ -67,7 +200,70 @@ describe('CardGrid component', () => {
|
|
|
67
200
|
});
|
|
68
201
|
});
|
|
69
202
|
|
|
203
|
+
describe('ImageGrid component', () => {
|
|
204
|
+
it('renders correctly', () => {
|
|
205
|
+
const { container } = render(<ImageGrid {...ImageGrid.args} />);
|
|
206
|
+
|
|
207
|
+
expect(container.querySelector('.ui.image')).toBeInTheDocument();
|
|
208
|
+
|
|
209
|
+
expect(
|
|
210
|
+
container.querySelector(`.ui.card.u-card.${ImageGrid.args.variant}`),
|
|
211
|
+
).toBeInTheDocument();
|
|
212
|
+
expect(
|
|
213
|
+
container.querySelector(
|
|
214
|
+
`.ui.card.u-card.has--object-fit--${ImageGrid.args.objectFit}`,
|
|
215
|
+
),
|
|
216
|
+
).toBeInTheDocument();
|
|
217
|
+
expect(
|
|
218
|
+
container.querySelector(
|
|
219
|
+
`.ui.card.u-card.has--object-position--${ImageGrid.args.objectPosition}`,
|
|
220
|
+
),
|
|
221
|
+
).toBeInTheDocument();
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
it('renders the image grid with correct number of cards', () => {
|
|
225
|
+
const { container } = render(<ImageGrid {...ImageGrid.args} />);
|
|
226
|
+
const imageGridCards = container.querySelectorAll(
|
|
227
|
+
'.ui.card.u-card.default .ui.image',
|
|
228
|
+
);
|
|
229
|
+
expect(imageGridCards.length).toBe(5);
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
|
|
70
233
|
describe('Default component', () => {
|
|
234
|
+
it('renders correctly', () => {
|
|
235
|
+
const { container } = render(<Default {...Default.args} />);
|
|
236
|
+
|
|
237
|
+
expect(container.querySelector('.image')).toBeInTheDocument();
|
|
238
|
+
expect(container.querySelector('.header')).toBeInTheDocument();
|
|
239
|
+
expect(container.querySelector('.meta')).toBeInTheDocument();
|
|
240
|
+
expect(container.querySelector('.description')).toBeInTheDocument();
|
|
241
|
+
|
|
242
|
+
expect(
|
|
243
|
+
container.querySelector(`.ui.card.u-card.${Default.args.variant}`),
|
|
244
|
+
).toBeInTheDocument();
|
|
245
|
+
expect(
|
|
246
|
+
container.querySelector(
|
|
247
|
+
`.ui.card.u-card.max-${Default.args.maxLines}-lines`,
|
|
248
|
+
),
|
|
249
|
+
).toBeInTheDocument();
|
|
250
|
+
expect(
|
|
251
|
+
container.querySelector(
|
|
252
|
+
`.ui.card.u-card.title-max-${Default.args.maxLines}-lines`,
|
|
253
|
+
),
|
|
254
|
+
).toBeInTheDocument();
|
|
255
|
+
expect(
|
|
256
|
+
container.querySelector(
|
|
257
|
+
`.ui.card.u-card.has--object-fit--${Default.args.objectFit}`,
|
|
258
|
+
),
|
|
259
|
+
).toBeInTheDocument();
|
|
260
|
+
expect(
|
|
261
|
+
container.querySelector(
|
|
262
|
+
`.ui.card.u-card.has--object-position--${Default.args.objectPosition}`,
|
|
263
|
+
),
|
|
264
|
+
).toBeInTheDocument();
|
|
265
|
+
});
|
|
266
|
+
|
|
71
267
|
it('renders the default with correct number of cards', () => {
|
|
72
268
|
const { container } = render(<Default {...Default.args} />);
|
|
73
269
|
const defaultCards = container.querySelectorAll(
|
|
@@ -12,7 +12,7 @@ const Sites = (props) => {
|
|
|
12
12
|
const nextItem = logos[i + 1];
|
|
13
13
|
column.push(
|
|
14
14
|
<Grid.Column className="logo" key={i}>
|
|
15
|
-
<a className="logo" href={item.url}>
|
|
15
|
+
<a className="logo" href={item.url} aria-label={item.alt}>
|
|
16
16
|
<LazyLoadComponent>
|
|
17
17
|
<Image
|
|
18
18
|
className={item.className}
|
|
@@ -21,7 +21,7 @@ const Sites = (props) => {
|
|
|
21
21
|
></Image>
|
|
22
22
|
</LazyLoadComponent>
|
|
23
23
|
</a>
|
|
24
|
-
<a className="logo" href={nextItem.url}>
|
|
24
|
+
<a className="logo" href={nextItem.url} aria-label={item.alt}>
|
|
25
25
|
<LazyLoadComponent>
|
|
26
26
|
<Image
|
|
27
27
|
className={nextItem.className}
|
|
@@ -58,16 +58,20 @@ const logoProps = {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
const links = [
|
|
61
|
-
{ title: '
|
|
62
|
-
{ title: '
|
|
63
|
-
{
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
{ title: 'European Environment Agency website', href: '/#' },
|
|
62
|
+
{ title: 'WISE marine - Marine information system for Europe', href: '/#' },
|
|
63
|
+
{
|
|
64
|
+
title: 'WISE freshwater - Freshwater information system for Europe',
|
|
65
|
+
href: '/#',
|
|
66
|
+
},
|
|
67
|
+
{ title: 'BISE - Biodiversity information system for Europe', href: '/#' },
|
|
68
|
+
{ title: 'FISE - Forest information system for Europe', href: '/#' },
|
|
69
|
+
{ title: 'European Climate and health observatory', href: '/#' },
|
|
70
|
+
{ title: 'ClimateADAPT', href: '/#' },
|
|
66
71
|
{ title: 'European Industrial Emissions Portal', href: '/#' },
|
|
67
|
-
{ title: '
|
|
68
|
-
{ title: '
|
|
69
|
-
{ title: '
|
|
70
|
-
{ title: 'Fresh Water Information System for Europe', href: '/#' },
|
|
72
|
+
{ title: 'Climate and Energy in the EU', href: '/#' },
|
|
73
|
+
{ title: 'Copernicus Land Monitoring Service', href: '/#' },
|
|
74
|
+
{ title: 'Copernicus InSitu', href: '/#' },
|
|
71
75
|
];
|
|
72
76
|
|
|
73
77
|
const languages = [
|
|
@@ -1234,7 +1238,7 @@ const Template = (args) => {
|
|
|
1234
1238
|
<Header>
|
|
1235
1239
|
<Header.TopHeader>
|
|
1236
1240
|
<Header.TopItem className="official-union">
|
|
1237
|
-
<Image src={eeaFlag} alt="
|
|
1241
|
+
<Image src={eeaFlag} alt="European Union flag"></Image>
|
|
1238
1242
|
<Header.TopDropdownMenu
|
|
1239
1243
|
text="An official website of the European Union | How do you know?"
|
|
1240
1244
|
tabletText="An official website of the European Union"
|
|
@@ -10,6 +10,16 @@ export default {
|
|
|
10
10
|
},
|
|
11
11
|
},
|
|
12
12
|
argTypes: {
|
|
13
|
+
variant: {
|
|
14
|
+
name: 'Variation',
|
|
15
|
+
defaultValue: 'secondary',
|
|
16
|
+
options: ['primary', 'secondary', 'tertiary'],
|
|
17
|
+
control: { type: 'select' },
|
|
18
|
+
table: {
|
|
19
|
+
defaultValue: { summary: 'secondary' },
|
|
20
|
+
type: { summary: 'string' },
|
|
21
|
+
},
|
|
22
|
+
},
|
|
13
23
|
panes: {
|
|
14
24
|
description: 'tab names and content array',
|
|
15
25
|
table: {
|
|
@@ -26,11 +36,11 @@ export default {
|
|
|
26
36
|
|
|
27
37
|
function TabContent({
|
|
28
38
|
panes,
|
|
39
|
+
variant,
|
|
29
40
|
renderActive,
|
|
30
|
-
|
|
31
|
-
attached,
|
|
32
|
-
borderless,
|
|
41
|
+
inverted,
|
|
33
42
|
vertical,
|
|
43
|
+
pointing,
|
|
34
44
|
fluid,
|
|
35
45
|
grid,
|
|
36
46
|
}) {
|
|
@@ -39,10 +49,11 @@ function TabContent({
|
|
|
39
49
|
panes={panes}
|
|
40
50
|
renderActiveOnly={renderActive}
|
|
41
51
|
menu={{
|
|
42
|
-
secondary: true,
|
|
43
|
-
pointing: true,
|
|
44
52
|
vertical: vertical,
|
|
53
|
+
inverted: inverted,
|
|
54
|
+
pointing: pointing,
|
|
45
55
|
fluid: fluid,
|
|
56
|
+
className: variant,
|
|
46
57
|
tabIndex: 0,
|
|
47
58
|
}}
|
|
48
59
|
grid={grid}
|
|
@@ -59,6 +70,7 @@ const Template = (args) => (
|
|
|
59
70
|
export const Default = Template.bind({});
|
|
60
71
|
Default.args = {
|
|
61
72
|
renderActive: false,
|
|
73
|
+
inverted: false,
|
|
62
74
|
panes: [
|
|
63
75
|
{
|
|
64
76
|
menuItem: 'Tab 1',
|
|
@@ -81,8 +93,10 @@ Default.args = {
|
|
|
81
93
|
|
|
82
94
|
export const Vertical = Template.bind({});
|
|
83
95
|
Vertical.args = {
|
|
96
|
+
variant: 'secondary',
|
|
84
97
|
renderActive: true,
|
|
85
98
|
vertical: true,
|
|
99
|
+
pointing: false,
|
|
86
100
|
fluid: true,
|
|
87
101
|
grid: { paneWidth: 7, tabWidth: 5 },
|
|
88
102
|
panes: [
|
|
@@ -165,6 +179,8 @@ Vertical.args = {
|
|
|
165
179
|
};
|
|
166
180
|
|
|
167
181
|
Vertical.argTypes = {
|
|
182
|
+
variant: 'secondary',
|
|
183
|
+
inverted: false,
|
|
168
184
|
vertical: {
|
|
169
185
|
description: 'vertical tab',
|
|
170
186
|
table: {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import { Default } from './Tab.stories';
|
|
4
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
5
|
+
|
|
6
|
+
describe('It renderes corectly', () => {
|
|
7
|
+
it('renders corectly', () => {
|
|
8
|
+
render(<Default {...Default.args} />);
|
|
9
|
+
});
|
|
10
|
+
});
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.ui.breadcrumb ol {
|
|
15
|
-
|
|
15
|
+
padding-top: @space-025;
|
|
16
16
|
padding-left: 0;
|
|
17
17
|
margin: 0;
|
|
18
|
-
|
|
18
|
+
list-style: none;
|
|
19
|
+
|
|
19
20
|
li {
|
|
20
21
|
display: inline-block;
|
|
21
22
|
}
|
|
@@ -28,10 +29,10 @@
|
|
|
28
29
|
.ui.breadcrumb {
|
|
29
30
|
.section {
|
|
30
31
|
overflow: hidden;
|
|
32
|
+
max-width: @breadcrumbItemMaxWidth;
|
|
31
33
|
|
|
32
34
|
/* Max breadcrumb length */
|
|
33
35
|
min-height: @breadcrumbItemMinHeight;
|
|
34
|
-
max-width: @breadcrumbItemMaxWidth;
|
|
35
36
|
padding: @mobileBreadcrumbPadding;
|
|
36
37
|
text-overflow: ellipsis;
|
|
37
38
|
white-space: nowrap;
|
|
@@ -203,7 +203,6 @@
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
|
|
207
206
|
/*************/
|
|
208
207
|
/* EEA Theme */
|
|
209
208
|
/*************/
|
|
@@ -280,33 +279,220 @@
|
|
|
280
279
|
Tabs
|
|
281
280
|
***********/
|
|
282
281
|
|
|
282
|
+
.vertical.border-left {
|
|
283
|
+
--vertical-menu-border: @verticalMenuBorderOnLeftSide;
|
|
284
|
+
--vertical-item-border: @verticalItemBorderOnLeftSide;
|
|
285
|
+
--vertical-item-border-style: @verticalItemBorderStyleOnLeft;
|
|
286
|
+
--vertical-item-margin: @verticalItemMarginOnLeft;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.ui.menu.vertical {
|
|
290
|
+
border-width: @verticalMenuBorderWidth !important;
|
|
291
|
+
border-style: @verticalItemBorderStyle !important;
|
|
292
|
+
border-color: @verticalMenuBorderColor !important;
|
|
293
|
+
margin: 0;
|
|
294
|
+
box-shadow: none;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.ui.secondary.vertical.menu > .item,
|
|
298
|
+
.ui.vertical.menu .item {
|
|
299
|
+
padding: @verticalItemPadding;
|
|
300
|
+
border-width: @verticalItemBorder;
|
|
301
|
+
border-style: @verticalItemBorderStyle;
|
|
302
|
+
border-color: transparent;
|
|
303
|
+
margin: @verticalItemMargin;
|
|
304
|
+
word-break: break-word;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.ui.vertical.menu .item.active {
|
|
308
|
+
border-right: @verticalItemActiveBorder;
|
|
309
|
+
}
|
|
310
|
+
|
|
283
311
|
/* Tab active item custom border design */
|
|
284
|
-
.ui.
|
|
285
|
-
.ui.
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
312
|
+
.ui.menu[class*='ary']:not(.vertical, .inverted):not(.pagination) .item.active,
|
|
313
|
+
.ui.menu[class*='ary']:not(.vertical, .inverted):not(.pagination) .item:active {
|
|
314
|
+
border-bottom: @secondaryPointingActiveBorderWidth solid
|
|
315
|
+
var(--text-color, transparent);
|
|
316
|
+
margin-bottom: -@secondaryPointingActiveItemMarginBottom;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.block-editor-tabs_block .ui.menu a.active.item,
|
|
320
|
+
.block-editor-tabs_block .ui.menu a.item:hover {
|
|
321
|
+
background-color: transparent !important;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.block-editor-tabs_block .ui.inverted.menu .item:not(a):hover {
|
|
325
|
+
background-color: @strongTransparentBlack;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.tabs-block .ui.pointing.menu .item::after {
|
|
329
|
+
display: none;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.ui.menu[class*='ary']:not(.inverted) .ui.item:active {
|
|
290
333
|
color: var(--text-color, @secondaryPointingActiveTextColor);
|
|
291
334
|
}
|
|
292
335
|
|
|
293
336
|
/* Menu items custom border for responsive issues */
|
|
294
|
-
.ui.
|
|
337
|
+
.ui.menu[class*='ary']:not(.vertical) {
|
|
295
338
|
position: relative;
|
|
296
|
-
overflow: auto; // Horizontal
|
|
339
|
+
overflow: auto; // Horizontal scrolling of links
|
|
297
340
|
height: auto; // height ensures that scrollable region has keyboard access
|
|
298
341
|
padding-bottom: @2px; // Leave room for the active border item
|
|
299
342
|
border-bottom: none; // Border comes from before pseudo-element
|
|
300
|
-
margin-right:
|
|
301
|
-
margin-left:
|
|
343
|
+
margin-right: 0;
|
|
344
|
+
margin-left: 0;
|
|
302
345
|
|
|
303
|
-
|
|
346
|
+
.item {
|
|
304
347
|
max-width: @secondaryPointingItemMaxWidth;
|
|
348
|
+
padding: @secondaryItemVerticalPadding @secondaryItemHorizontalPadding;
|
|
305
349
|
border-bottom: @secondaryPointingItemBorderBottom;
|
|
350
|
+
margin: @secondaryPointingItemMargin;
|
|
306
351
|
}
|
|
307
352
|
}
|
|
308
353
|
|
|
309
|
-
.ui.
|
|
354
|
+
.ui.menu:not(.inverted) .active.item:hover {
|
|
355
|
+
background-color: transparent;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.ui.menu .item:hover {
|
|
359
|
+
cursor: pointer;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.ui.menu[class*='ary']:not(.inverted, .vertical) {
|
|
363
|
+
border: none;
|
|
364
|
+
box-shadow: none;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.ui.menu.vertical .item:before,
|
|
368
|
+
.ui.menu[class*='ary'] .item:before {
|
|
369
|
+
display: none;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
.primary.menu {
|
|
373
|
+
--text-color: @primaryColorCSSVar;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.primary.secondary.menu {
|
|
377
|
+
--text-color-secondary: @primaryColorCSSVar;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.primary.inverted.menu {
|
|
381
|
+
--bg-color: @primaryColorCSSVar;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.secondary.menu {
|
|
385
|
+
--text-color: @secondaryColorCSSVar;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
// color options from semantic tabs
|
|
389
|
+
.red.inverted.menu {
|
|
390
|
+
--bg-color: @red;
|
|
391
|
+
--text-color: @red;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.orange.inverted.menu {
|
|
395
|
+
--bg-color: @orange;
|
|
396
|
+
--text-color: @orange;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.yellow.inverted.menu {
|
|
400
|
+
--bg-color: @yellow;
|
|
401
|
+
--text-color: @yellow;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
.olive.inverted.menu {
|
|
405
|
+
--bg-color: @olive;
|
|
406
|
+
--text-color: @olive;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.green.inverted.menu {
|
|
410
|
+
--bg-color: @green;
|
|
411
|
+
--text-color: @green;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.teal.inverted.menu {
|
|
415
|
+
--bg-color: @teal;
|
|
416
|
+
--text-color: @teal;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.blue.inverted.menu {
|
|
420
|
+
--bg-color: @blue;
|
|
421
|
+
--text-color: @blue;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.violet.inverted.menu {
|
|
425
|
+
--bg-color: @violet;
|
|
426
|
+
--text-color: @violet;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.purple.inverted.menu {
|
|
430
|
+
--bg-color: @purple;
|
|
431
|
+
--text-color: @purple;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.pink.inverted.menu {
|
|
435
|
+
--bg-color: @pink;
|
|
436
|
+
--text-color: @pink;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.grey.inverted.menu {
|
|
440
|
+
--bg-color: @grey;
|
|
441
|
+
--text-color: @grey;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.brown.inverted.menu {
|
|
445
|
+
--bg-color: @brown;
|
|
446
|
+
--text-color: @brown;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
.black.menu,
|
|
450
|
+
.black.inverted.menu {
|
|
451
|
+
--bg-color: @black;
|
|
452
|
+
--text-color: @black;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.ui.inverted.menu {
|
|
456
|
+
--tab-inverted-text-color: @invertedItemTextColor;
|
|
457
|
+
--tab-inverted-active-text-color: @white;
|
|
458
|
+
--tab-inverted-hover-text-color: @white;
|
|
459
|
+
--tab-inverted-bg-color: var(--bg-color, @secondaryColorCSSVar);
|
|
460
|
+
--tab-inverted-secondary-active-border-color: @secondaryPointingInvertedBorderColor;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
.ui.secondary.pointing.menu {
|
|
464
|
+
background-color: var(--tab-inverted-bg-color);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
.tertiary.menu {
|
|
468
|
+
--text-color: @tertiaryColorCSSVar;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.tertiary.secondary.menu {
|
|
472
|
+
--text-color-secondary: @tertiaryColorCSSVar;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.menu.inverted {
|
|
476
|
+
--text-active-color: @white;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
.menu.inverted input {
|
|
480
|
+
--text-color: @white;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.tertiary.inverted.menu {
|
|
484
|
+
--bg-color: @tertiaryColorCSSVar;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.ui.pointing.menu.inverted .active.title {
|
|
488
|
+
background-color: @invertedColoredActiveBackground;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.ui.inverted.menu .ui.item.active:hover {
|
|
492
|
+
background-color: @invertedActiveBackground;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.ui.menu[class*='ary']:not(.vertical):before {
|
|
310
496
|
position: absolute;
|
|
311
497
|
z-index: 0;
|
|
312
498
|
right: 0;
|
|
@@ -318,7 +504,7 @@
|
|
|
318
504
|
}
|
|
319
505
|
|
|
320
506
|
// edit page, normalize font size of tab headers from the sidebar
|
|
321
|
-
.section-edit .
|
|
322
|
-
.tabs-wrapper .
|
|
507
|
+
.section-edit .menu[class*='ary'] .item,
|
|
508
|
+
.tabs-wrapper .menu[class*='ary'] .item {
|
|
323
509
|
font-size: 1.25rem;
|
|
324
510
|
}
|