@eeacms/volto-eea-design-system 1.14.0 → 1.15.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 +26 -0
- package/package.json +2 -2
- package/src/helpers/eventHandlers.js +6 -0
- package/src/helpers/index.js +1 -0
- package/src/ui/Card/Card.stories.jsx +54 -32
- package/src/ui/Header/HeaderSearchPopUp.js +9 -11
- package/src/ui/Popup/Popup.stories.jsx +1 -1
- package/src/ui/Statistic/Statistic.stories.js +122 -104
- package/theme/themes/eea/elements/input.overrides +19 -6
- package/theme/themes/eea/extras/main.overrides +6 -0
- package/theme/themes/eea/views/card.overrides +11 -1
- /package/src/ui/Hero/{Hero.stories.jsx → Hero.st.jsx} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
### [1.15.0](https://github.com/eea/volto-eea-design-system/compare/1.14.0...1.15.0) - 26 July 2023
|
|
8
|
+
|
|
9
|
+
#### :rocket: New Features
|
|
10
|
+
|
|
11
|
+
- feat(carousel): added story example on how to customize the dots to contain accessibility labels [David Ichim - [`fe5eb46`](https://github.com/eea/volto-eea-design-system/commit/fe5eb46dc94abfeaaa2c79022e507b452b4bb36a)]
|
|
12
|
+
|
|
13
|
+
#### :bug: Bug Fixes
|
|
14
|
+
|
|
15
|
+
- fix(storybook): controls that broke after the Hero stories [David Ichim - [`f8e995d`](https://github.com/eea/volto-eea-design-system/commit/f8e995d30e971163677a198846b1314222dbe408)]
|
|
16
|
+
- fix: hover and focused border for block child - refs #255840 [Claudia Ifrim - [`fdd7783`](https://github.com/eea/volto-eea-design-system/commit/fdd7783b0658711674d251cce498900d9add52af)]
|
|
17
|
+
- fix(storybook): popup story react import [David Ichim - [`18888f9`](https://github.com/eea/volto-eea-design-system/commit/18888f95888f1e3c89d9d1814462e1f27e85ea87)]
|
|
18
|
+
- fix(accessibility): of carousel arrows, dots and role of carousel as a carousel region [David Ichim - [`00257fc`](https://github.com/eea/volto-eea-design-system/commit/00257fcfd0cd3b9959f2f3c68f0b2725c2d96f09)]
|
|
19
|
+
|
|
20
|
+
#### :nail_care: Enhancements
|
|
21
|
+
|
|
22
|
+
- change(carousel): set aria current to current dot button to indicate which slide we are on [David Ichim - [`e711ec8`](https://github.com/eea/volto-eea-design-system/commit/e711ec806be8b45b122a56b84717a0c45057cbbe)]
|
|
23
|
+
- refactor: Use EEA countup instead of react-countup - refs #254634 [dobri1408 - [`146d8c2`](https://github.com/eea/volto-eea-design-system/commit/146d8c2d9d7d55530b39261bfabf7cebd9c8ac0b)]
|
|
24
|
+
- change(search): added search icon as button for proper accessibility support [ACCESSIBILITY 2.1.1.1] #360 from eea/refactor-search-input-icon [ichim-david - [`8f932ff`](https://github.com/eea/volto-eea-design-system/commit/8f932ffba42a96f7d6665c593ff3ad22c3b362fc)]
|
|
25
|
+
- change(search): style icon class instead of i.icon [David Ichim - [`f96a590`](https://github.com/eea/volto-eea-design-system/commit/f96a590beb15ca6b577a169773b740b171b5e3c0)]
|
|
26
|
+
- change(header): use a real button for search submit [David Ichim - [`37e491b`](https://github.com/eea/volto-eea-design-system/commit/37e491ba4af37f16a40bf6377d220d984be17656)]
|
|
27
|
+
- change(header): move handling of key press that checks for enter key to a generic function [David Ichim - [`8df5c8a`](https://github.com/eea/volto-eea-design-system/commit/8df5c8a03f0fb0ad462605df283e622f5b6daf3f)]
|
|
28
|
+
- refactor(SearchBox): add key down handler for search icon [Antonis Tarantilis - [`4f46ba5`](https://github.com/eea/volto-eea-design-system/commit/4f46ba5d3c2457a24e705bf7f34e1cfde2e2f79d)]
|
|
29
|
+
|
|
30
|
+
#### :hammer_and_wrench: Others
|
|
31
|
+
|
|
32
|
+
- Release 1.15.0 [Alin Voinea - [`30152fc`](https://github.com/eea/volto-eea-design-system/commit/30152fcdfffa4ec2262ebf78c1c8a885e222e73c)]
|
|
7
33
|
### [1.14.0](https://github.com/eea/volto-eea-design-system/compare/1.13.2...1.14.0) - 24 July 2023
|
|
8
34
|
|
|
9
35
|
#### :rocket: New Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eeacms/volto-eea-design-system",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "@eeacms/volto-eea-design-system: Volto add-on",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"author": "European Environment Agency: IDM2 A-Team",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"@eeacms/volto-corsproxy"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
+
"@eeacms/countup": "*",
|
|
23
24
|
"@eeacms/volto-corsproxy": "*",
|
|
24
25
|
"@fontsource/roboto": "4.5.8",
|
|
25
|
-
"react-countup": "^6.3.0",
|
|
26
26
|
"react-lazy-load-image-component": "1.5.6",
|
|
27
27
|
"react-slick": "^0.28.1",
|
|
28
28
|
"remixicon": "2.5.0",
|
package/src/helpers/index.js
CHANGED
|
@@ -394,50 +394,70 @@ FluidGrid.args = {
|
|
|
394
394
|
fluid: true,
|
|
395
395
|
cards: [...cardModels],
|
|
396
396
|
};
|
|
397
|
+
const PrevArrow = (props) => {
|
|
398
|
+
const { onClick } = props;
|
|
397
399
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
+
return (
|
|
401
|
+
<Button
|
|
402
|
+
aria-label="Previous slide"
|
|
403
|
+
className="slider-arrow prev-arrow tablet or lower hidden"
|
|
404
|
+
icon
|
|
405
|
+
onClick={onClick}
|
|
406
|
+
>
|
|
407
|
+
<Icon className="ri-arrow-left-s-line" />
|
|
408
|
+
</Button>
|
|
409
|
+
);
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
const NextArrow = (props) => {
|
|
413
|
+
const { onClick } = props;
|
|
400
414
|
|
|
401
415
|
return (
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
}
|
|
411
|
-
}}
|
|
412
|
-
>
|
|
413
|
-
<Icon className="ri-arrow-left-s-line" />
|
|
414
|
-
</Button>
|
|
415
|
-
<Button
|
|
416
|
-
aria-label="Next slide"
|
|
417
|
-
className="slider-arrow next-arrow tablet or lower hidden"
|
|
418
|
-
icon
|
|
419
|
-
onClick={() => {
|
|
420
|
-
if (slider.current) {
|
|
421
|
-
slider.current.slickNext();
|
|
422
|
-
}
|
|
423
|
-
}}
|
|
424
|
-
>
|
|
425
|
-
<Icon className="ri-arrow-right-s-line" />
|
|
426
|
-
</Button>
|
|
427
|
-
</>
|
|
416
|
+
<Button
|
|
417
|
+
aria-label="Next slide"
|
|
418
|
+
className="slider-arrow next-arrow tablet or lower hidden"
|
|
419
|
+
icon
|
|
420
|
+
onClick={onClick}
|
|
421
|
+
>
|
|
422
|
+
<Icon className="ri-arrow-right-s-line" />
|
|
423
|
+
</Button>
|
|
428
424
|
);
|
|
429
425
|
};
|
|
430
426
|
|
|
431
427
|
function CarouselCardsContent(args) {
|
|
432
428
|
const slider = React.useRef(null);
|
|
429
|
+
const dots_parent = React.useRef(null);
|
|
430
|
+
const settings = {
|
|
431
|
+
...args.settings,
|
|
432
|
+
customPaging: (i) => (
|
|
433
|
+
<button className={'slider-dots-button'} aria-current={i === 0}>
|
|
434
|
+
<span className="slick-dot-icon" aria-hidden="true" />
|
|
435
|
+
<span className="slick-sr-only">Go to slide {i + 1}</span>
|
|
436
|
+
</button>
|
|
437
|
+
),
|
|
438
|
+
appendDots: (dots) => (
|
|
439
|
+
<ul ref={dots_parent} className={'slick-dots'}>
|
|
440
|
+
{dots}
|
|
441
|
+
</ul>
|
|
442
|
+
),
|
|
443
|
+
afterChange: (currentSlide) => {
|
|
444
|
+
const dots = dots_parent.current;
|
|
445
|
+
if (dots) {
|
|
446
|
+
dots
|
|
447
|
+
.querySelectorAll('.slider-dots-button')
|
|
448
|
+
.forEach(function (el, idx) {
|
|
449
|
+
el.setAttribute('aria-current', idx === currentSlide);
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
};
|
|
433
454
|
return (
|
|
434
|
-
<div className="cards-carousel">
|
|
435
|
-
<Slider {...
|
|
455
|
+
<div className="cards-carousel" role={'region'} aria-label={'carousel'}>
|
|
456
|
+
<Slider {...settings} ref={slider}>
|
|
436
457
|
{args.cards.slice(0, args.numberOfCards).map((card, index) => (
|
|
437
458
|
<CardTemplate {...args} card={card} key={index} />
|
|
438
459
|
))}
|
|
439
460
|
</Slider>
|
|
440
|
-
<Arrows slider={slider} />
|
|
441
461
|
</div>
|
|
442
462
|
);
|
|
443
463
|
}
|
|
@@ -464,7 +484,9 @@ CarouselCards.args = {
|
|
|
464
484
|
infinite: true,
|
|
465
485
|
slidesToShow: 4,
|
|
466
486
|
slidesToScroll: 1,
|
|
467
|
-
arrows:
|
|
487
|
+
arrows: true,
|
|
488
|
+
nextArrow: <NextArrow />,
|
|
489
|
+
prevArrow: <PrevArrow />,
|
|
468
490
|
responsive: [
|
|
469
491
|
{
|
|
470
492
|
breakpoint: tabletBreakpoint,
|
|
@@ -2,6 +2,7 @@ import React, { useEffect } from 'react';
|
|
|
2
2
|
import { Container, Input, List } from 'semantic-ui-react';
|
|
3
3
|
import { withRouter, Link } from 'react-router-dom';
|
|
4
4
|
import { useClickOutside } from '@eeacms/volto-eea-design-system/helpers';
|
|
5
|
+
import { handleEnterKeyPress } from '@eeacms/volto-eea-design-system/helpers';
|
|
5
6
|
|
|
6
7
|
const getRandomItems = (arr, max) => {
|
|
7
8
|
return (
|
|
@@ -37,7 +38,6 @@ function HeaderSearchPopUp({
|
|
|
37
38
|
} = activeView || {};
|
|
38
39
|
const { suggestionsTitle, suggestions, maxToShow } = searchSuggestions || {};
|
|
39
40
|
|
|
40
|
-
const [text, setText] = React.useState('');
|
|
41
41
|
const [visibleSuggestions, setVisibileSuggestions] = React.useState(
|
|
42
42
|
getRandomItems(suggestions, maxToShow),
|
|
43
43
|
);
|
|
@@ -48,12 +48,8 @@ function HeaderSearchPopUp({
|
|
|
48
48
|
|
|
49
49
|
useClickOutside({ targetRefs: [nodeRef, ...triggerRefs], callback: onClose });
|
|
50
50
|
|
|
51
|
-
const onChangeText = (event, { value }) => {
|
|
52
|
-
setText(value);
|
|
53
|
-
event.preventDefault();
|
|
54
|
-
};
|
|
55
|
-
|
|
56
51
|
const onSubmit = (event) => {
|
|
52
|
+
const text = searchInputRef?.current?.inputRef?.current?.value;
|
|
57
53
|
history.push(`${path}?q=${text}`);
|
|
58
54
|
|
|
59
55
|
if (window?.searchContext?.resetSearch) {
|
|
@@ -79,12 +75,14 @@ function HeaderSearchPopUp({
|
|
|
79
75
|
<form method="get" onSubmit={onSubmit}>
|
|
80
76
|
<Input
|
|
81
77
|
ref={searchInputRef}
|
|
82
|
-
className="search"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
link: true,
|
|
78
|
+
className="icon search"
|
|
79
|
+
action={{
|
|
80
|
+
className: 'icon ri-search-line',
|
|
81
|
+
'aria-label': 'Submit search',
|
|
87
82
|
onClick: onSubmit,
|
|
83
|
+
onKeyDown: (event) => {
|
|
84
|
+
handleEnterKeyPress(event, onSubmit);
|
|
85
|
+
},
|
|
88
86
|
}}
|
|
89
87
|
placeholder={placeholder}
|
|
90
88
|
fluid
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Statistic, Container, Button } from 'semantic-ui-react';
|
|
3
|
-
import CountUp,
|
|
3
|
+
import { CountUp, useCountUp } from '@eeacms/countup';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/Statistic',
|
|
7
7
|
component: Statistic,
|
|
8
|
+
args: {
|
|
9
|
+
label: 'Statistic Label',
|
|
10
|
+
value: 'Value',
|
|
11
|
+
size: 'small',
|
|
12
|
+
horizontal: false,
|
|
13
|
+
linked: false,
|
|
14
|
+
inverted: false,
|
|
15
|
+
backgroundVariant: 'primary',
|
|
16
|
+
},
|
|
8
17
|
argTypes: {
|
|
9
18
|
size: {
|
|
10
19
|
control: {
|
|
@@ -43,39 +52,65 @@ export default {
|
|
|
43
52
|
type: { summary: 'string' },
|
|
44
53
|
},
|
|
45
54
|
},
|
|
55
|
+
|
|
56
|
+
label: {
|
|
57
|
+
description: 'label content of the Statistic',
|
|
58
|
+
},
|
|
59
|
+
value: {
|
|
60
|
+
description: 'value content of the statistic',
|
|
61
|
+
},
|
|
62
|
+
inverted: {
|
|
63
|
+
description: 'Is the theme inverted',
|
|
64
|
+
table: {
|
|
65
|
+
type: {
|
|
66
|
+
summary: 'boolean',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
linked: {
|
|
71
|
+
description: 'Add link to statistic',
|
|
72
|
+
table: {
|
|
73
|
+
type: {
|
|
74
|
+
summary: 'boolean',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
46
78
|
},
|
|
47
79
|
};
|
|
48
80
|
|
|
49
|
-
const Template = (args) =>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
81
|
+
const Template = (args) => {
|
|
82
|
+
const { backgroundVariant, elements, linked, ...sematicProps } = args;
|
|
83
|
+
return (
|
|
84
|
+
<div
|
|
85
|
+
className={`full-width color-bg-${
|
|
86
|
+
sematicProps.inverted ? backgroundVariant : ''
|
|
87
|
+
}`}
|
|
88
|
+
>
|
|
89
|
+
<Container>
|
|
90
|
+
<Statistic.Group {...sematicProps}>
|
|
91
|
+
{elements &&
|
|
92
|
+
elements.map((element, index) => (
|
|
93
|
+
<Statistic
|
|
94
|
+
as="a"
|
|
95
|
+
href={element.href}
|
|
96
|
+
key={index}
|
|
97
|
+
{...element}
|
|
98
|
+
></Statistic>
|
|
99
|
+
))}
|
|
100
|
+
{!elements && (
|
|
101
|
+
<>
|
|
102
|
+
{linked ? (
|
|
103
|
+
<Statistic as="a" href="/#" {...sematicProps}></Statistic>
|
|
104
|
+
) : (
|
|
105
|
+
<Statistic {...sematicProps}></Statistic>
|
|
106
|
+
)}{' '}
|
|
107
|
+
</>
|
|
108
|
+
)}
|
|
109
|
+
</Statistic.Group>
|
|
110
|
+
</Container>
|
|
111
|
+
</div>
|
|
112
|
+
);
|
|
113
|
+
};
|
|
79
114
|
|
|
80
115
|
export const Default = Template.bind({});
|
|
81
116
|
Default.args = {
|
|
@@ -192,7 +227,7 @@ const CustomTemplate = (args) => (
|
|
|
192
227
|
<Container>
|
|
193
228
|
<Statistic.Group {...args}>
|
|
194
229
|
{args.elements &&
|
|
195
|
-
args.elements.map((element
|
|
230
|
+
args.elements.map((element) => (
|
|
196
231
|
<a href={element.href} className="ui small statistic">
|
|
197
232
|
<div className={`value ${args.valueVariation}`}>
|
|
198
233
|
{element.value}
|
|
@@ -300,34 +335,62 @@ Custom.argTypes = {
|
|
|
300
335
|
////////////////////////////////// Animation Stories
|
|
301
336
|
|
|
302
337
|
const AnimationTemplate = (args) => {
|
|
303
|
-
const
|
|
304
|
-
|
|
338
|
+
const [run, setRun] = React.useState(true);
|
|
339
|
+
const { reset, value } = useCountUp({
|
|
305
340
|
start: args.start,
|
|
306
341
|
end: args.end,
|
|
307
|
-
delay: args.delay,
|
|
308
342
|
duration: args.duration,
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
343
|
+
decimalPlaces: args.decimals,
|
|
344
|
+
decimalSeparator: args.decimal,
|
|
345
|
+
formatter: (value) => {
|
|
346
|
+
let prefix = args.prefix || '';
|
|
347
|
+
let suffix = args.suffix || '';
|
|
348
|
+
let valueFixed = value.toFixed(args.decimals);
|
|
349
|
+
|
|
350
|
+
if (args.decimal === ',')
|
|
351
|
+
return (
|
|
352
|
+
prefix + new Intl.NumberFormat('ro-RO').format(valueFixed) + suffix
|
|
353
|
+
);
|
|
354
|
+
else return prefix + valueFixed + suffix;
|
|
355
|
+
},
|
|
356
|
+
isCounting: run,
|
|
357
|
+
useIntersection: false,
|
|
313
358
|
});
|
|
314
359
|
|
|
315
360
|
return (
|
|
316
361
|
<Container>
|
|
317
362
|
<Statistic.Group {...args}>
|
|
318
363
|
<a href="/#" className="ui small statistic">
|
|
319
|
-
<div className="value secondary"
|
|
364
|
+
<div className="value secondary">{value}</div>
|
|
320
365
|
<div className="label tertiary">Count up label</div>
|
|
321
366
|
</a>
|
|
322
367
|
</Statistic.Group>
|
|
323
368
|
<br />
|
|
324
|
-
<Button
|
|
369
|
+
<Button
|
|
370
|
+
secondary
|
|
371
|
+
onClick={() => {
|
|
372
|
+
reset();
|
|
373
|
+
setRun(true);
|
|
374
|
+
}}
|
|
375
|
+
>
|
|
325
376
|
Start
|
|
326
377
|
</Button>
|
|
327
|
-
<Button
|
|
378
|
+
<Button
|
|
379
|
+
primary
|
|
380
|
+
onClick={() => {
|
|
381
|
+
reset();
|
|
382
|
+
setRun(false);
|
|
383
|
+
}}
|
|
384
|
+
>
|
|
328
385
|
Reset
|
|
329
386
|
</Button>
|
|
330
|
-
<Button
|
|
387
|
+
<Button
|
|
388
|
+
primary
|
|
389
|
+
inverted
|
|
390
|
+
onClick={() => {
|
|
391
|
+
setRun(!run);
|
|
392
|
+
}}
|
|
393
|
+
>
|
|
331
394
|
Pause/Resume
|
|
332
395
|
</Button>
|
|
333
396
|
</Container>
|
|
@@ -335,10 +398,10 @@ const AnimationTemplate = (args) => {
|
|
|
335
398
|
};
|
|
336
399
|
|
|
337
400
|
export const Animation = AnimationTemplate.bind({});
|
|
401
|
+
|
|
338
402
|
Animation.args = {
|
|
339
403
|
start: 0,
|
|
340
404
|
end: 5000,
|
|
341
|
-
delay: 0,
|
|
342
405
|
duration: 5,
|
|
343
406
|
decimals: 0,
|
|
344
407
|
prefix: '',
|
|
@@ -347,9 +410,17 @@ Animation.args = {
|
|
|
347
410
|
size: 'small',
|
|
348
411
|
horizontal: false,
|
|
349
412
|
};
|
|
413
|
+
Animation.argTypes = {
|
|
414
|
+
decimal: {
|
|
415
|
+
name: 'decimal',
|
|
416
|
+
defaultValue: '.',
|
|
417
|
+
options: ['.', ','],
|
|
418
|
+
control: { type: 'select' },
|
|
419
|
+
},
|
|
420
|
+
};
|
|
350
421
|
Animation.parameters = { controls: { exclude: ['Background when inverted'] } };
|
|
351
422
|
|
|
352
|
-
const
|
|
423
|
+
const CountUpStatistics = (args) => (
|
|
353
424
|
<div
|
|
354
425
|
className={`full-width color-bg-${
|
|
355
426
|
args.inverted ? args.backgroundVariant : ''
|
|
@@ -358,10 +429,10 @@ const CountupStatistics = (args) => (
|
|
|
358
429
|
<Container>
|
|
359
430
|
<Statistic.Group id="counter" {...args}>
|
|
360
431
|
{args.elements &&
|
|
361
|
-
args.elements.map((element
|
|
432
|
+
args.elements.map((element) => (
|
|
362
433
|
<a href={element.href} className="ui small statistic">
|
|
363
434
|
<div className={`value ${args.valueVariation}`}>
|
|
364
|
-
<CountUp end={element.value} />
|
|
435
|
+
<CountUp end={element.value} isCounting={true} />
|
|
365
436
|
</div>
|
|
366
437
|
<div className={`label ${args.labelVariation}`}>
|
|
367
438
|
{element.label}
|
|
@@ -375,27 +446,27 @@ const CountupStatistics = (args) => (
|
|
|
375
446
|
</Container>
|
|
376
447
|
</div>
|
|
377
448
|
);
|
|
378
|
-
export const AnimationGroup =
|
|
449
|
+
export const AnimationGroup = CountUpStatistics.bind({});
|
|
379
450
|
AnimationGroup.args = {
|
|
380
451
|
elements: [
|
|
381
452
|
{
|
|
382
453
|
...Default.args,
|
|
383
454
|
label: 'label 1',
|
|
384
|
-
value:
|
|
455
|
+
value: 50,
|
|
385
456
|
slate: 'Text from slate',
|
|
386
457
|
href: '/#',
|
|
387
458
|
},
|
|
388
459
|
{
|
|
389
460
|
...Default.args,
|
|
390
461
|
label: 'label 2',
|
|
391
|
-
value:
|
|
462
|
+
value: 500,
|
|
392
463
|
slate: 'Text from slate',
|
|
393
464
|
href: '/#',
|
|
394
465
|
},
|
|
395
466
|
{
|
|
396
467
|
...Default.args,
|
|
397
468
|
label: 'label 3',
|
|
398
|
-
value:
|
|
469
|
+
value: 5000,
|
|
399
470
|
slate: 'Text from slate',
|
|
400
471
|
href: '/#',
|
|
401
472
|
},
|
|
@@ -409,56 +480,3 @@ AnimationGroup.args = {
|
|
|
409
480
|
inverted: false,
|
|
410
481
|
backgroundVariant: 'primary',
|
|
411
482
|
};
|
|
412
|
-
AnimationGroup.argTypes = {
|
|
413
|
-
widths: {
|
|
414
|
-
control: {
|
|
415
|
-
type: 'select',
|
|
416
|
-
options: ['one', 'two', 'three', 'four', 'five'],
|
|
417
|
-
},
|
|
418
|
-
description: 'statistic column size',
|
|
419
|
-
table: {
|
|
420
|
-
type: {
|
|
421
|
-
summary: 'string',
|
|
422
|
-
},
|
|
423
|
-
defaultValue: {
|
|
424
|
-
summary: ' "" ',
|
|
425
|
-
},
|
|
426
|
-
},
|
|
427
|
-
},
|
|
428
|
-
valueVariation: {
|
|
429
|
-
name: 'Value variation',
|
|
430
|
-
defaultValue: 'tertiary',
|
|
431
|
-
options: ['primary', 'secondary', 'tertiary'],
|
|
432
|
-
control: { type: 'select' },
|
|
433
|
-
description: 'Text color variation',
|
|
434
|
-
table: {
|
|
435
|
-
category: 'Color variations',
|
|
436
|
-
defaultValue: { summary: 'tertiary' },
|
|
437
|
-
type: { summary: 'string' },
|
|
438
|
-
},
|
|
439
|
-
},
|
|
440
|
-
labelVariation: {
|
|
441
|
-
name: 'Value variation',
|
|
442
|
-
defaultValue: 'tertiary',
|
|
443
|
-
options: ['primary', 'secondary', 'tertiary'],
|
|
444
|
-
control: { type: 'select' },
|
|
445
|
-
description: 'Text color variation',
|
|
446
|
-
table: {
|
|
447
|
-
category: 'Color variations',
|
|
448
|
-
defaultValue: { summary: 'tertiary' },
|
|
449
|
-
type: { summary: 'string' },
|
|
450
|
-
},
|
|
451
|
-
},
|
|
452
|
-
extraVariation: {
|
|
453
|
-
name: 'Extra info variation',
|
|
454
|
-
defaultValue: 'tertiary',
|
|
455
|
-
options: ['primary', 'secondary', 'tertiary'],
|
|
456
|
-
control: { type: 'select' },
|
|
457
|
-
description: 'Text color variation',
|
|
458
|
-
table: {
|
|
459
|
-
category: 'Color variations',
|
|
460
|
-
defaultValue: { summary: 'tertiary' },
|
|
461
|
-
type: { summary: 'string' },
|
|
462
|
-
},
|
|
463
|
-
},
|
|
464
|
-
};
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
.accordion-title:not(.active) .ui.input input {
|
|
82
82
|
color: @textColorCSSVar;
|
|
83
83
|
}
|
|
84
|
+
|
|
84
85
|
.ui.input input {
|
|
85
86
|
border: @border;
|
|
86
87
|
|
|
@@ -121,7 +122,19 @@ textarea.fluid {
|
|
|
121
122
|
font-weight: @bold;
|
|
122
123
|
}
|
|
123
124
|
|
|
124
|
-
|
|
125
|
+
.icon {
|
|
126
|
+
position: absolute;
|
|
127
|
+
top: 0;
|
|
128
|
+
right: 0;
|
|
129
|
+
height: 100%;
|
|
130
|
+
margin: 0;
|
|
131
|
+
background-color: transparent !important;
|
|
132
|
+
box-shadow: none !important;
|
|
133
|
+
line-height: 1;
|
|
134
|
+
text-align: center;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.icon:before {
|
|
125
138
|
color: @white;
|
|
126
139
|
font-size: 16px;
|
|
127
140
|
opacity: 1;
|
|
@@ -129,18 +142,18 @@ textarea.fluid {
|
|
|
129
142
|
}
|
|
130
143
|
|
|
131
144
|
.ui.fluid.icon.input.search > input::-webkit-input-placeholder {
|
|
132
|
-
opacity: 0.9;
|
|
133
145
|
color: rgb(255, 255, 255);
|
|
146
|
+
opacity: 0.9;
|
|
134
147
|
}
|
|
135
148
|
|
|
136
149
|
.ui.fluid.icon.input.search > input::-moz-placeholder {
|
|
137
|
-
opacity: 0.9;
|
|
138
150
|
color: rgb(255, 255, 255);
|
|
151
|
+
opacity: 0.9;
|
|
139
152
|
}
|
|
140
153
|
|
|
141
154
|
.ui.fluid.icon.input.search > input::-ms-input-placeholder {
|
|
142
|
-
opacity: 0.9;
|
|
143
155
|
color: rgb(255, 255, 255);
|
|
156
|
+
opacity: 0.9;
|
|
144
157
|
}
|
|
145
158
|
|
|
146
159
|
@media only screen and (min-width: @tabletBreakpoint) {
|
|
@@ -150,7 +163,7 @@ textarea.fluid {
|
|
|
150
163
|
font-size: 18px;
|
|
151
164
|
}
|
|
152
165
|
|
|
153
|
-
|
|
166
|
+
.icon:before {
|
|
154
167
|
font-size: 18px;
|
|
155
168
|
}
|
|
156
169
|
}
|
|
@@ -164,7 +177,7 @@ textarea.fluid {
|
|
|
164
177
|
font-size: 40px;
|
|
165
178
|
}
|
|
166
179
|
|
|
167
|
-
|
|
180
|
+
.icon:before {
|
|
168
181
|
font-size: 38px;
|
|
169
182
|
}
|
|
170
183
|
}
|
|
@@ -38,3 +38,9 @@
|
|
|
38
38
|
#main main {
|
|
39
39
|
overflow: inherit;
|
|
40
40
|
}
|
|
41
|
+
|
|
42
|
+
// with z-index: -1 you don't get the hover and focused border for block child section
|
|
43
|
+
// TODO: to be removed if https://github.com/plone/volto/pull/5029 merged
|
|
44
|
+
.block .block:not(.inner)::before {
|
|
45
|
+
z-index: auto;
|
|
46
|
+
}
|
|
@@ -377,6 +377,9 @@
|
|
|
377
377
|
}
|
|
378
378
|
|
|
379
379
|
.cards-carousel .slick-dots li button:before {
|
|
380
|
+
content: none;
|
|
381
|
+
}
|
|
382
|
+
.cards-carousel .slick-dots li .slick-dot-icon:before {
|
|
380
383
|
background-color: @carouselDotsBackgroundColor;
|
|
381
384
|
color: transparent;
|
|
382
385
|
border: @carouselDotsBorder;
|
|
@@ -384,9 +387,16 @@
|
|
|
384
387
|
opacity: @carouselDotsOpacity;
|
|
385
388
|
width: @mobileCarouselDotsWidth;
|
|
386
389
|
height: @mobileCarouselDotsHeight;
|
|
390
|
+
position: absolute;
|
|
391
|
+
top: 0;
|
|
392
|
+
left: 0;
|
|
393
|
+
content: '•';
|
|
394
|
+
text-align: center;
|
|
395
|
+
-webkit-font-smoothing: antialiased;
|
|
396
|
+
-moz-osx-font-smoothing: grayscale;
|
|
387
397
|
}
|
|
388
398
|
|
|
389
|
-
.cards-carousel .slick-dots li.slick-active
|
|
399
|
+
.cards-carousel .slick-dots li.slick-active .slick-dot-icon:before {
|
|
390
400
|
background-color: @carouselDotsActiveBackgroundColor;
|
|
391
401
|
color: transparent;
|
|
392
402
|
}
|
|
File without changes
|