@eeacms/volto-eea-design-system 1.50.1 → 1.60.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 CHANGED
@@ -4,6 +4,30 @@ 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.60.0](https://github.com/eea/volto-eea-design-system/compare/1.50.2...1.60.0) - 17 April 2026
8
+
9
+ #### :house: Documentation changes
10
+
11
+ - docs: Update README [Alin Voinea - [`06e6ce7`](https://github.com/eea/volto-eea-design-system/commit/06e6ce7553bb50dea0d000f990f19c568e658b9f)]
12
+
13
+ #### :hammer_and_wrench: Others
14
+
15
+ - update readme [Miu Razvan - [`268086f`](https://github.com/eea/volto-eea-design-system/commit/268086fa17f9f68283dc7528ddbcd71105b676da)]
16
+ - Release 1.60.0 [Alin Voinea - [`c74e3ac`](https://github.com/eea/volto-eea-design-system/commit/c74e3acb79cce153067984a234401e3d16ac0b05)]
17
+ - update version [Miu Razvan - [`5753c9f`](https://github.com/eea/volto-eea-design-system/commit/5753c9f98c80a8699889a55a3fe1abecf3853b77)]
18
+ - fix tests [Miu Razvan - [`32b5e42`](https://github.com/eea/volto-eea-design-system/commit/32b5e42c6f458f7391f930165852700daa758790)]
19
+ - fix tests [Miu Razvan - [`dca166a`](https://github.com/eea/volto-eea-design-system/commit/dca166aa44a9bc3c123a17e78333b850ef401fb6)]
20
+ - fix tests [Miu Razvan - [`0e876ca`](https://github.com/eea/volto-eea-design-system/commit/0e876caf4e172b84dfbc30a16c58009ee4481d94)]
21
+ - fix tests [Miu Razvan - [`86f657a`](https://github.com/eea/volto-eea-design-system/commit/86f657a70a357a412257e9d8cb63f9050ca718e4)]
22
+ - Make use of eea_settings [Miu Razvan - [`78ab3c5`](https://github.com/eea/volto-eea-design-system/commit/78ab3c59a4a7232b09812b3967ddd2b93cdd7fad)]
23
+ - Bump version + add upgrade step [Miu Razvan - [`a1dbbd5`](https://github.com/eea/volto-eea-design-system/commit/a1dbbd557f66174f05ce87ed21073aecefa1f507)]
24
+ ### [1.50.2](https://github.com/eea/volto-eea-design-system/compare/1.50.1...1.50.2) - 9 April 2026
25
+
26
+ #### :bug: Bug Fixes
27
+
28
+ - fix: Docusaurus build [Alin Voinea - [`0339369`](https://github.com/eea/volto-eea-design-system/commit/0339369cda49e3772b164eff3345523f7cba551e)]
29
+ - fix: warnings [Alin Voinea - [`a1e035d`](https://github.com/eea/volto-eea-design-system/commit/a1e035d47b822d755414cf436aa052e85066e197)]
30
+
7
31
  ### [1.50.1](https://github.com/eea/volto-eea-design-system/compare/1.50.0...1.50.1) - 7 April 2026
8
32
 
9
33
  #### :bug: Bug Fixes
@@ -24,8 +48,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
24
48
 
25
49
  #### :house: Internal changes
26
50
 
27
- - chore: [JENKINSFILE] add package version in sonarqube [valentinab25 - [`a2500ee`](https://github.com/eea/volto-eea-design-system/commit/a2500ee91c3d926183403b7e55ef717f697eb736)]
28
- - chore: [JENKINSFILE] use sonarqube branches [EEA Jenkins - [`79058be`](https://github.com/eea/volto-eea-design-system/commit/79058be6ad228970127ee388bbc78ad69b92465b)]
29
51
 
30
52
  #### :hammer_and_wrench: Others
31
53
 
@@ -62,7 +84,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
62
84
  #### :hammer_and_wrench: Others
63
85
 
64
86
  - add rule for eeacms/countup to jest-config.js [David Ichim - [`59244c2`](https://github.com/eea/volto-eea-design-system/commit/59244c2e85447766e9e2a051e080652d93f67458)]
65
- - Add Sonarqube tag using bise-frontend addons list [EEA Jenkins - [`314266b`](https://github.com/eea/volto-eea-design-system/commit/314266bd8131b8ade427f23f81a084714f0104af)]
66
87
  ### [1.40.0](https://github.com/eea/volto-eea-design-system/compare/1.39.1...1.40.0) - 4 November 2025
67
88
 
68
89
  ### [1.39.1](https://github.com/eea/volto-eea-design-system/compare/1.39.0...1.39.1) - 22 September 2025
@@ -138,10 +159,8 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
138
159
 
139
160
  #### :hammer_and_wrench: Others
140
161
 
141
- - Add Sonarqube tag using fise-frontend addons list [EEA Jenkins - [`d3a993f`](https://github.com/eea/volto-eea-design-system/commit/d3a993f7c9f687d709e1c8bc48b4972aca7a161e)]
142
162
  - Fix with sed the issue from line 714 missing } [David Ichim - [`e4e10a0`](https://github.com/eea/volto-eea-design-system/commit/e4e10a0a8a82c1fa20dcff9fa8178a6a938a7fd5)]
143
163
  - Fixed link for don't use more than six colors [David Ichim - [`f42c698`](https://github.com/eea/volto-eea-design-system/commit/f42c69895258291ef72c0299e348f5671b2c127b)]
144
- - Add Sonarqube tag using ied-frontend addons list [EEA Jenkins - [`a8fa4e1`](https://github.com/eea/volto-eea-design-system/commit/a8fa4e157f6351939fd6ee126f733efc1adf6dfe)]
145
164
  - lint fix [David Ichim - [`5d4d60a`](https://github.com/eea/volto-eea-design-system/commit/5d4d60ac305b8694fec64a9cce625a1015e8486f)]
146
165
  ### [1.36.3](https://github.com/eea/volto-eea-design-system/compare/1.36.2...1.36.3) - 4 March 2025
147
166
 
@@ -175,7 +194,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
175
194
  #### :hammer_and_wrench: Others
176
195
 
177
196
  - Update package.json [Ichim David - [`40ae6a7`](https://github.com/eea/volto-eea-design-system/commit/40ae6a70377c54256f7365a12bded4e25b0c322e)]
178
- - Add Sonarqube tag using bise-frontend addons list [EEA Jenkins - [`b433236`](https://github.com/eea/volto-eea-design-system/commit/b433236f3e264304c86082281da90384da7ab0ff)]
179
197
  ### [1.34.1](https://github.com/eea/volto-eea-design-system/compare/1.34.0...1.34.1) - 14 October 2024
180
198
 
181
199
  ### [1.34.0](https://github.com/eea/volto-eea-design-system/compare/1.33.1...1.34.0) - 11 October 2024
@@ -257,7 +275,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
257
275
 
258
276
  #### :hammer_and_wrench: Others
259
277
 
260
- - Add Sonarqube tag using marine-frontend addons list [EEA Jenkins - [`dfa1d1b`](https://github.com/eea/volto-eea-design-system/commit/dfa1d1bd53ae63b20aa0ef64c37bf71faf376290)]
261
278
  ### [1.31.0](https://github.com/eea/volto-eea-design-system/compare/1.23.8...1.31.0) - 22 May 2024
262
279
 
263
280
  #### :boom: Breaking Change
@@ -286,7 +303,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
286
303
 
287
304
  #### :hammer_and_wrench: Others
288
305
 
289
- - Add Sonarqube tag using insitu-frontend addons list [EEA Jenkins - [`2ccf437`](https://github.com/eea/volto-eea-design-system/commit/2ccf4372f93d56ce3cc8bfd66de5c9fbb2698cf4)]
290
306
  ### [1.23.5](https://github.com/eea/volto-eea-design-system/compare/1.23.4...1.23.5) - 5 April 2024
291
307
 
292
308
  #### :nail_care: Enhancements
@@ -322,8 +338,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
322
338
  - Update package.json version to 1.23.0 [David Ichim - [`4b2eeee`](https://github.com/eea/volto-eea-design-system/commit/4b2eeee398b771ac80111e1755f67273c8940ced)]
323
339
  - fixed merge conflict [David Ichim - [`efe0f4b`](https://github.com/eea/volto-eea-design-system/commit/efe0f4b7df1782f5143e1bee31c997801427d35c)]
324
340
  - Update react-slick version to 0.30.1 [David Ichim - [`62d4570`](https://github.com/eea/volto-eea-design-system/commit/62d457014866fc075a3203fd0f9e66354aa73fe5)]
325
- - Add Sonarqube tag using freshwater-frontend addons list [EEA Jenkins - [`c6c74f0`](https://github.com/eea/volto-eea-design-system/commit/c6c74f049ee787632b8ad0ec0f28531ac4d0f20f)]
326
- - Add Sonarqube tag using insitu-frontend addons list [EEA Jenkins - [`d3d7793`](https://github.com/eea/volto-eea-design-system/commit/d3d779363caa10f384d829a7e4242c5d54268099)]
327
341
  ### [1.23.0](https://github.com/eea/volto-eea-design-system/compare/1.22.7...1.23.0) - 19 February 2024
328
342
 
329
343
  ### [1.22.7](https://github.com/eea/volto-eea-design-system/compare/1.22.6...1.22.7) - 22 January 2024
@@ -409,11 +423,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
409
423
  - Add dropdown test case to Header component [David Ichim - [`9ea3234`](https://github.com/eea/volto-eea-design-system/commit/9ea3234c2c0f1c819c7c2b54a75c56cda7812c56)]
410
424
  - Remove unused import in Header.test.jsx [David Ichim - [`082069e`](https://github.com/eea/volto-eea-design-system/commit/082069e1f057786e0f1fb00c98d54b8e03b5d9c5)]
411
425
  - Added some tests for TopDropdownMenu mobile and dropdown interaction [David Ichim - [`9d24488`](https://github.com/eea/volto-eea-design-system/commit/9d24488c1e97b2b1b14bd9bd8cb6f5b68414794b)]
412
- - test: [JENKINS] Run cypress in started frontend container [valentinab25 - [`eadf018`](https://github.com/eea/volto-eea-design-system/commit/eadf018aa1f32d310619ce4ef08f9b11950a20dc)]
413
426
  - Lint fix [David Ichim - [`e29fd50`](https://github.com/eea/volto-eea-design-system/commit/e29fd50ee73477007dcf94a268596e6c11176d7b)]
414
- - test: [JENKINS] Add cpu limit on cypress docker [valentinab25 - [`947cb92`](https://github.com/eea/volto-eea-design-system/commit/947cb929c01ebb6f46bf124833fe1fec0f385edb)]
415
- - test: [JENKINS] Increase shm-size to cypress docker [valentinab25 - [`8356dfe`](https://github.com/eea/volto-eea-design-system/commit/8356dfe929039dcd165af0692cbbfc771a0f7fb4)]
416
- - test: [JENKINS] Improve cypress time [valentinab25 - [`e38f17e`](https://github.com/eea/volto-eea-design-system/commit/e38f17ed735e743e59df7d06ca723c1218bdb569)]
417
427
  ### [1.20.0](https://github.com/eea/volto-eea-design-system/compare/1.19.0...1.20.0) - 2 November 2023
418
428
 
419
429
  #### :rocket: New Features
@@ -446,9 +456,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
446
456
 
447
457
  #### :house: Internal changes
448
458
 
449
- - chore: [JENKINS] do not run tests on PR comments [valentinab25 - [`51b68fc`](https://github.com/eea/volto-eea-design-system/commit/51b68fc76a956996e01521b784262c67e7094d35)]
450
- - chore: [JENKINS] add comment step [valentinab25 - [`5022758`](https://github.com/eea/volto-eea-design-system/commit/50227587db2c72d17e26e7b66f28d4c09b760873)]
451
- - chore: [JENKINS] Refactor automated testing [valentinab25 - [`a70ca64`](https://github.com/eea/volto-eea-design-system/commit/a70ca642918f578d6737d975e4769bac8312f48d)]
452
459
  - chore: husky, lint-staged use fixed versions [valentinab25 - [`59ecb8e`](https://github.com/eea/volto-eea-design-system/commit/59ecb8e28b259472303324f9655b0cbbcbbf9c23)]
453
460
 
454
461
  #### :hammer_and_wrench: Others
@@ -574,7 +581,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
574
581
 
575
582
  #### :hammer_and_wrench: Others
576
583
 
577
- - test: Fix eslint and yarn i18n [Alin Voinea - [`331149f`](https://github.com/eea/volto-eea-design-system/commit/331149f5eb16a9cc6f2d996f7b793909773063c2)]
578
584
  - i18n: Add en [Alin Voinea - [`4584295`](https://github.com/eea/volto-eea-design-system/commit/458429530d993c27cfb962ddfe2f376f3568bf01)]
579
585
  - Release 1.17.0 [Alin Voinea - [`e3c25ee`](https://github.com/eea/volto-eea-design-system/commit/e3c25eeeca5e863244faae396b5aa915d0702633)]
580
586
  - test: add unit tests for DS components - refs #254313 [ana-oprea - [`0c4d4d1`](https://github.com/eea/volto-eea-design-system/commit/0c4d4d118b8e13082c576dc5c2dce6a715f49006)]
@@ -684,7 +690,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
684
690
  #### :hammer_and_wrench: Others
685
691
 
686
692
  - Release 1.14.0 [Alin Voinea - [`cb9084f`](https://github.com/eea/volto-eea-design-system/commit/cb9084fb2246dc1b729e12a419a26daa12c26f7a)]
687
- - test: [JENKINS] set pipe fail [valentinab25 - [`1cdfc39`](https://github.com/eea/volto-eea-design-system/commit/1cdfc39d08f1ae301dea57f1e4be5265c4a4c6f9)]
688
693
  - test: try storybook upload [valentinab25 - [`6d5833d`](https://github.com/eea/volto-eea-design-system/commit/6d5833d4419d00f1ac04c9eb78a0884214f9a494)]
689
694
  - test: remove useless code [valentinab25 - [`2c14b0c`](https://github.com/eea/volto-eea-design-system/commit/2c14b0ce4596cfc11a81b9762677596d1861acfe)]
690
695
  ### [1.13.2](https://github.com/eea/volto-eea-design-system/compare/1.13.1...1.13.2) - 13 June 2023
@@ -723,7 +728,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
723
728
 
724
729
  #### :house: Internal changes
725
730
 
726
- - chore: [JENKINS] Deprecate circularity website [valentinab25 - [`fb2b166`](https://github.com/eea/volto-eea-design-system/commit/fb2b166d64f95a1c183901abfe0fe0254d1bbc7a)]
727
731
 
728
732
  #### :house: Documentation changes
729
733
 
@@ -1057,7 +1061,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1057
1061
 
1058
1062
  - Release 1.0.0-beta.5 [Alin Voinea - [`e4417e1`](https://github.com/eea/volto-eea-design-system/commit/e4417e121477511c350ae3fbe4e70aadb445ed86)]
1059
1063
  - better useOnScreen hook [Andrei Grigore - [`c214b6b`](https://github.com/eea/volto-eea-design-system/commit/c214b6b76443f81c795ce2f3aa457562ec088b30)]
1060
- - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`b227cf8`](https://github.com/eea/volto-eea-design-system/commit/b227cf8a8c44b9d91e9fda8a7999fb0a42bacdca)]
1061
1064
  - feature(mobile): increased performance by lazy loading footer images #303 from eea/increase_performance [ichim-david - [`80d1df1`](https://github.com/eea/volto-eea-design-system/commit/80d1df1c459680331d486f9e8e6a95c9db0adbf6)]
1062
1065
  - prettier [David Ichim - [`a7f8384`](https://github.com/eea/volto-eea-design-system/commit/a7f838470c1bcc4e2be115d514d92a1b686a5e9b)]
1063
1066
  - fixed less build failure due to changes in footer.less [David Ichim - [`190bc8c`](https://github.com/eea/volto-eea-design-system/commit/190bc8cfa88191b45808f1e27c6e2737ee3d15b1)]
@@ -1128,7 +1131,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1128
1131
 
1129
1132
  #### :house: Internal changes
1130
1133
 
1131
- - chore(docusaurus): ignore website/.yarn [Giorgos Stamatis - [`0b33ffd`](https://github.com/eea/volto-eea-design-system/commit/0b33ffd1dda61b126e3cc5ff48888124d6aee41b)]
1132
1134
  - style(header): react syntax fix [Antonis Tarantilis - [`3add127`](https://github.com/eea/volto-eea-design-system/commit/3add1271c785a92bea0ef925d7bc562cef1e0d92)]
1133
1135
 
1134
1136
  #### :house: Documentation changes
@@ -1325,7 +1327,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1325
1327
 
1326
1328
  - Release 1.0.0-alpha.10 [Alin Voinea - [`7014d08`](https://github.com/eea/volto-eea-design-system/commit/7014d080ce114bd0bc039abeecbd7229333b0971)]
1327
1329
  - Add variable definitions [kreafox - [`293fe65`](https://github.com/eea/volto-eea-design-system/commit/293fe65e2f24e6290e1286229169a77f9be4750e)]
1328
- - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`ef58a6f`](https://github.com/eea/volto-eea-design-system/commit/ef58a6f5ad8deea26b1395a86778fe1159b7617b)]
1329
1330
  - Back to dev [Alin Voinea - [`31d4616`](https://github.com/eea/volto-eea-design-system/commit/31d461662b9184a7bbe190e86f3c47fab39229fe)]
1330
1331
  ### [1.0.0-alpha.9](https://github.com/eea/volto-eea-design-system/compare/1.0.0-alpha.8...1.0.0-alpha.9) - 28 December 2022
1331
1332
 
@@ -1383,7 +1384,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1383
1384
  - bump package version [David Ichim - [`b4628be`](https://github.com/eea/volto-eea-design-system/commit/b4628bed134abc76e38a243d4e98143e19cef989)]
1384
1385
  - feature(docusaurus, storybook): logos selection for sites plus inverted options #253 from eea/doc-logo-page [ichim-david - [`dbfc90d`](https://github.com/eea/volto-eea-design-system/commit/dbfc90d035dc40e9d4054347f00fde4de486d63d)]
1385
1386
  - (feat): Add ability to disable the language select from website top menu - refs #158616 [dobri1408 - [`411c8e4`](https://github.com/eea/volto-eea-design-system/commit/411c8e4afaf0b2b9edfdeeecdca22aa4cc41f329)]
1386
- - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`c4769e9`](https://github.com/eea/volto-eea-design-system/commit/c4769e987d525f5dcafac8e6cf8a89fd8111667d)]
1387
1387
  - test(Jenkins): Run tests and cypress with latest canary @plone/volto [Alin Voinea - [`92feea0`](https://github.com/eea/volto-eea-design-system/commit/92feea09796c9ef0530f65fa1d34139905133215)]
1388
1388
  - Proof reading page header section [ichim-david - [`230239e`](https://github.com/eea/volto-eea-design-system/commit/230239e1b22734fb8606656985bc5e513731e244)]
1389
1389
  ### [1.0.0-alpha.7](https://github.com/eea/volto-eea-design-system/compare/1.0.0-alpha.6...1.0.0-alpha.7) - 16 December 2022
@@ -1415,7 +1415,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1415
1415
  #### :hammer_and_wrench: Others
1416
1416
 
1417
1417
  - Release 1.0.0-alpha.7 [Alin Voinea - [`7e66bcc`](https://github.com/eea/volto-eea-design-system/commit/7e66bcc296b389bc55073e7f99681534977dce3a)]
1418
- - Add Sonarqube tag using cca-frontend addons list [EEA Jenkins - [`ce47e9b`](https://github.com/eea/volto-eea-design-system/commit/ce47e9b163bcb4eda988e3a87718b54ffbd3f99f)]
1419
1418
  - added back descriptionDistance variable until package release [David Ichim - [`3af811a`](https://github.com/eea/volto-eea-design-system/commit/3af811a8d86a132e16de118697ba5a4302a8a4da)]
1420
1419
  - Back to dev [Alin Voinea - [`cb531c9`](https://github.com/eea/volto-eea-design-system/commit/cb531c933c907bdbb88c9de0f1df2eb7ce899a4c)]
1421
1420
  - Proper paths if the package is not installed, but in development [Tiberiu Ichim - [`7a2655f`](https://github.com/eea/volto-eea-design-system/commit/7a2655f7cf9d3c687f172eefcf2b4cff4b12f832)]
@@ -1503,7 +1502,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1503
1502
  #### :hammer_and_wrench: Others
1504
1503
 
1505
1504
  - feature(Docusaurus): Updates on color palette information including thematic websites #231 from eea/refactor-docusaurus [ichim-david - [`ec7843d`](https://github.com/eea/volto-eea-design-system/commit/ec7843dea07f626dc1c71ae1baa8bb5b0caa52f3)]
1506
- - Upgrade Jenkinsfile storybook to yarn 3 [Alin Voinea - [`d20de8d`](https://github.com/eea/volto-eea-design-system/commit/d20de8d6e21a14660b7b5125a80218a8a6f19e62)]
1507
1505
  - Back to dev [Alin Voinea - [`563fbc5`](https://github.com/eea/volto-eea-design-system/commit/563fbc5fac0d4b0295690d0a3a4e04271753f18a)]
1508
1506
  - perf(docusaurus): added remixicon and roboto locally [Giorgos Stamatis - [`b67b1a7`](https://github.com/eea/volto-eea-design-system/commit/b67b1a72bc9cdc7c62a25967e81b430f8b62d558)]
1509
1507
  ### [1.0.0-alpha.4](https://github.com/eea/volto-eea-design-system/compare/1.0.0-alpha.3...1.0.0-alpha.4) - 22 November 2022
@@ -1596,7 +1594,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1596
1594
  - modified left value of full width classes with toolbars [David Ichim - [`70d82d4`](https://github.com/eea/volto-eea-design-system/commit/70d82d47fbc2c00a3a709de0d5c087c8443a1eae)]
1597
1595
  - WIP settings column grid width when using full size class [David Ichim - [`affc7ac`](https://github.com/eea/volto-eea-design-system/commit/affc7ac99527aa92d5a192d90dc8c9ec46a66404)]
1598
1596
  - fix eslint [Miu Razvan - [`30c52e4`](https://github.com/eea/volto-eea-design-system/commit/30c52e4eb443555ca44c1b35df064e73d52c0a8b)]
1599
- - Add Sonarqube tag using circularity-frontend addons list [EEA Jenkins - [`76a41c7`](https://github.com/eea/volto-eea-design-system/commit/76a41c786995fd54afe4d1c345de939f683ffa70)]
1600
1597
  - fix broken variable call for contentBox.variables introduced in previous commit by mistake [David Ichim - [`d249c11`](https://github.com/eea/volto-eea-design-system/commit/d249c1160d19bedb174a2fde3fdab48d9ce297d4)]
1601
1598
  - clean up [Miu Razvan - [`89f3cb3`](https://github.com/eea/volto-eea-design-system/commit/89f3cb33d70a14806a953f0acd1807e94169ee5c)]
1602
1599
  - Feature(container): flexible container size #260 from eea/feature-flexible-container [ichim-david - [`8f84c5b`](https://github.com/eea/volto-eea-design-system/commit/8f84c5b67afe9cbe01b2a44a8f92a9a554e1036a)]
@@ -1698,7 +1695,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1698
1695
 
1699
1696
  #### :nail_care: Enhancements
1700
1697
 
1701
- - change(jenkins): added yarn policy for storybook building [ichim-david - [`3d1b844`](https://github.com/eea/volto-eea-design-system/commit/3d1b844efeea40b99c00c9aa97089e0a0be58a57)]
1702
1698
  - change(docusaurus): typography updates [ichim-david - [`60a93a4`](https://github.com/eea/volto-eea-design-system/commit/60a93a4aece4e478ae13c2dfe697fd3703aa178a)]
1703
1699
  - change(accordion): allow customization of accordion title with css variables [David Ichim - [`15e7d27`](https://github.com/eea/volto-eea-design-system/commit/15e7d27f02c640df582f51a51ef36e645723f842)]
1704
1700
  - change(content-box): added css variables that will set text color and background for children [David Ichim - [`86cac53`](https://github.com/eea/volto-eea-design-system/commit/86cac531cc94386b6022e1be80dba826b39f2443)]
@@ -1733,7 +1729,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1733
1729
  #### :hammer_and_wrench: Others
1734
1730
 
1735
1731
  - Merge pull request #243 from eea/develop [ichim-david - [`576564c`](https://github.com/eea/volto-eea-design-system/commit/576564ce395ee6ac9e74bcb19d5c4f0b4cd3c33b)]
1736
- - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`4a5be6e`](https://github.com/eea/volto-eea-design-system/commit/4a5be6eec78dae230626e61ea2c77e7f3c62510d)]
1737
1732
  - Back to dev [Alin Voinea - [`b251255`](https://github.com/eea/volto-eea-design-system/commit/b251255a7ed14d8290717726d86eaf54b87aa2d4)]
1738
1733
  ### [0.9.0](https://github.com/eea/volto-eea-design-system/compare/0.8.1...0.9.0) - 19 September 2022
1739
1734
 
@@ -2489,10 +2484,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2489
2484
  #### :hammer_and_wrench: Others
2490
2485
 
2491
2486
  - prettier changes [David Ichim - [`134da52`](https://github.com/eea/volto-eea-design-system/commit/134da52549b9d5eac5a12b7ad3005073500ac2c4)]
2492
- - [JENKINSFILE] remove debug, add error per stage [valentinab25 - [`903eecd`](https://github.com/eea/volto-eea-design-system/commit/903eecdb6bcbb8d73cff5e447d80c85e2a2c906d)]
2493
- - [JENKINSFILE] mention comment author in comment [valentinab25 - [`39a26aa`](https://github.com/eea/volto-eea-design-system/commit/39a26aa1ff0f35e93e8df9f442c29c5ab79ff493)]
2494
- - [JENKINSFILE] format PR comments [valentinab25 - [`739438c`](https://github.com/eea/volto-eea-design-system/commit/739438c64950c745d630d1998314a2bed595b23a)]
2495
- - [JENKINSFILE] Add failure comment, no jenkins fail [valentinab25 - [`c325bf1`](https://github.com/eea/volto-eea-design-system/commit/c325bf14f3fb0da150f2a56cda0a9f03d8d8a628)]
2496
2487
  ### [0.2.3](https://github.com/eea/volto-eea-design-system/compare/0.2.2...0.2.3) - 29 April 2022
2497
2488
 
2498
2489
  #### :rocket: New Features
@@ -2917,7 +2908,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2917
2908
  - set profile section overflow to auto [nileshgulia1 - [`71ab47f`](https://github.com/eea/volto-eea-design-system/commit/71ab47f89a433233c14b394c3824e607dd18a393)]
2918
2909
  - remove segment custom width [nileshgulia1 - [`1d3ea40`](https://github.com/eea/volto-eea-design-system/commit/1d3ea40f98bbdc1eab95b4da739a659b5e29ec16)]
2919
2910
  - fix profile section css overflow [nileshgulia1 - [`db5126f`](https://github.com/eea/volto-eea-design-system/commit/db5126fc902e191d1e18fb7e4c54877c8d8786e6)]
2920
- - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`647a6e3`](https://github.com/eea/volto-eea-design-system/commit/647a6e3e2093f2c4884c356eb148453551c8f33f)]
2921
2911
  - fix warning related to proptype [nileshgulia1 - [`946c6c6`](https://github.com/eea/volto-eea-design-system/commit/946c6c6bc9dece0985ae4b9f9cad6ece2be0ff2c)]
2922
2912
  - removed override already present in card.less [ichim-david - [`50d2ab2`](https://github.com/eea/volto-eea-design-system/commit/50d2ab26f85c8f409da02ec128cc1df34848ca69)]
2923
2913
  - update [Miu Razvan - [`bbcab87`](https://github.com/eea/volto-eea-design-system/commit/bbcab87ef4c8475f347f0daf4ab7e428e69c2316)]
@@ -3004,7 +2994,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
3004
2994
  - remove segment custom width [nileshgulia1 - [`4a60d84`](https://github.com/eea/volto-eea-design-system/commit/4a60d84d5fe76578b7760aa1dad6eef9a20916a7)]
3005
2995
  - Reformat header.less [Tiberiu Ichim - [`1f99dfc`](https://github.com/eea/volto-eea-design-system/commit/1f99dfc82c165304ca5600ce5138c1233615ab69)]
3006
2996
  - fix profile section css overflow [nileshgulia1 - [`8fd2654`](https://github.com/eea/volto-eea-design-system/commit/8fd265413149f1b5e033dffa0fbcb5ef5ecad15f)]
3007
- - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`6051724`](https://github.com/eea/volto-eea-design-system/commit/6051724437a38675e659c797bb5586ef81286ec0)]
3008
2997
  - fix warning related to proptype [nileshgulia1 - [`824b9be`](https://github.com/eea/volto-eea-design-system/commit/824b9beff77aae139882cd50a1d670a02ec6f723)]
3009
2998
  - refactor breadcrumbs component, make it functional and customizable [nileshgulia1 - [`4ec374e`](https://github.com/eea/volto-eea-design-system/commit/4ec374e20565eb0a5aed0ff67a02cd6f77eba1f0)]
3010
2999
  - removed override already present in card.less [ichim-david - [`93c4e5a`](https://github.com/eea/volto-eea-design-system/commit/93c4e5aac9cc85ff2cc6c04180f6655d5f5616dc)]
@@ -3573,7 +3562,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
3573
3562
  - Refs #142010 - Optimize Volto-addons gitflow pipelines [valentinab25 - [`3af46d2`](https://github.com/eea/volto-eea-design-system/commit/3af46d2b14fa0b1ef44736f25b0f9ac93b23d18d)]
3574
3563
  - Refs #140454 updated eea-design-system readme with extra info on package contents [David Ichim - [`d2efc3d`](https://github.com/eea/volto-eea-design-system/commit/d2efc3ddae7b91efc82cf3bce8fb8e42d696a780)]
3575
3564
  - Refs #140454 add h1 to the list of elements that are max 800px and centered [David Ichim - [`7d3c30f`](https://github.com/eea/volto-eea-design-system/commit/7d3c30f409aa4cb43810839f8960589456cc1b2e)]
3576
- - Add Sonarqube tag using ims-frontend addons list [EEA Jenkins - [`8d657d0`](https://github.com/eea/volto-eea-design-system/commit/8d657d056cde5163cfe90ac66bc973f55d82e5e9)]
3577
3565
  ### [0.1.0](https://github.com/eea/volto-eea-design-system/compare/0.0.1...0.1.0) - 17 November 2021
3578
3566
 
3579
3567
  #### :hammer_and_wrench: Others
package/README.md CHANGED
@@ -25,6 +25,10 @@ This package provides the following features:
25
25
  2. A repository for the design system source files and mockups
26
26
  3. A website to showcase the design system
27
27
 
28
+ ## Upgrade
29
+
30
+ - Version `^1.60.0` requires `^eea.volto.policy@12.0` to allow customizing the header search box.
31
+
28
32
  ### Try the design system website
29
33
 
30
34
  Checkout the docs found within the [website](https://github.com/eea/volto-eea-design-system/blob/develop/website/README.md) folder
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-eea-design-system",
3
- "version": "1.50.1",
3
+ "version": "1.60.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",
@@ -5,7 +5,7 @@ import Banner from './Banner';
5
5
  import imgUrl from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/banner.png';
6
6
  import { Icon, Container } from 'semantic-ui-react';
7
7
  import Popup from '@eeacms/volto-eea-design-system/ui/Popup/Popup';
8
- import Copyright from '../Copyright/Copyright';
8
+ import Copyright from '@eeacms/volto-eea-design-system/ui/Copyright/Copyright';
9
9
 
10
10
  export default {
11
11
  title: 'Components/Page Header',
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Card, Image, Grid, Container, Icon, Button } from 'semantic-ui-react';
3
3
  import Slider from 'react-slick';
4
- import TagList from '../TagList/TagList';
5
- import Tag from '../Tag/Tag';
4
+ import TagList from '@eeacms/volto-eea-design-system/ui/TagList/TagList';
5
+ import Tag from '@eeacms/volto-eea-design-system/ui/Tag/Tag';
6
6
 
7
7
  import 'slick-carousel/slick/slick.css';
8
8
  import 'slick-carousel/slick/slick-theme.css';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Button } from 'semantic-ui-react';
3
3
  import DownloadLabeledIcon from './DownloadLabeledIcon';
4
- import LabeledIconGroup from '../LabeledIconGroup/LabeledIconGroup';
4
+ import LabeledIconGroup from '@eeacms/volto-eea-design-system/ui/LabeledIconGroup/LabeledIconGroup';
5
5
 
6
6
  export default {
7
7
  title: 'Components/Labeled Icons/Download',
@@ -1,5 +1,8 @@
1
1
  import React from 'react';
2
- import { Default as HeaderDefault, HeaderArgs } from '../Header/Header.stories';
2
+ import {
3
+ Default as HeaderDefault,
4
+ HeaderArgs,
5
+ } from '@eeacms/volto-eea-design-system/ui/Header/Header.stories';
3
6
  import './draft.css';
4
7
 
5
8
  export default {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Dropdown, Form, Container } from 'semantic-ui-react';
3
- import FormFieldWrapper from '../FormFieldWrapper/FormFieldWrapper';
3
+ import FormFieldWrapper from '@eeacms/volto-eea-design-system/ui/FormFieldWrapper/FormFieldWrapper';
4
4
 
5
5
  export default {
6
6
  title: 'Components/Forms/Dropdown',
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Input, Form, Container } from 'semantic-ui-react';
3
- import FormFieldWrapper from '../FormFieldWrapper/FormFieldWrapper';
3
+ import FormFieldWrapper from '@eeacms/volto-eea-design-system/ui/FormFieldWrapper/FormFieldWrapper';
4
4
 
5
5
  export default {
6
6
  title: 'Components/Forms/Input',
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { TextArea, Form, Container } from 'semantic-ui-react';
3
- import FormFieldWrapper from '../FormFieldWrapper/FormFieldWrapper';
3
+ import FormFieldWrapper from '@eeacms/volto-eea-design-system/ui/FormFieldWrapper/FormFieldWrapper';
4
4
 
5
5
  export default {
6
6
  title: 'Components/Forms/Text Area',
@@ -5,11 +5,13 @@
5
5
 
6
6
  import React from 'react'; // , { Component }
7
7
  import { useHistory } from 'react-router-dom';
8
+ import { useSelector } from 'react-redux';
8
9
  import cx from 'classnames';
9
10
  import { Container, Image, Menu, Grid, Dropdown } from 'semantic-ui-react'; // Dropdown,
10
11
 
11
12
  import closeIcon from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/close-line.svg';
12
- import searchIcon from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/ai-search.svg';
13
+ import searchSVG from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/search-line.svg';
14
+ import aiSearchIcon from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/ai-search.svg';
13
15
  import burgerIcon from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/menu-line.svg';
14
16
 
15
17
  import HeaderSearchPopUp from './HeaderSearchPopUp';
@@ -159,6 +161,11 @@ const Main = ({
159
161
  const [burger, setBurger] = React.useState('');
160
162
  const searchInputRef = React.useRef(null);
161
163
  const [isClient, setIsClient] = React.useState();
164
+ const headerSettings = useSelector(
165
+ (state) => state.eeaSettings?.data?.header || {},
166
+ );
167
+
168
+ const searchIcon = headerSettings.useAISearchIcon ? aiSearchIcon : searchSVG;
162
169
 
163
170
  const itemsLayouts =
164
171
  menuItemsLayouts || config.settings?.menuItemsLayouts || {};
@@ -2,9 +2,15 @@ import React from 'react';
2
2
  import { createMemoryHistory } from 'history';
3
3
  import { Router } from 'react-router-dom';
4
4
  import { render, fireEvent, act } from '@testing-library/react';
5
+ import { Provider } from 'react-redux';
6
+ import { createStore } from 'redux';
5
7
  import { Default } from './Header.stories';
6
8
  import '@testing-library/jest-dom';
7
9
 
10
+ const mockStore = createStore(() => ({
11
+ eeaSettings: { data: { header: {} } },
12
+ }));
13
+
8
14
  global.ResizeObserver = require('resize-observer-polyfill');
9
15
 
10
16
  const history = createMemoryHistory();
@@ -129,9 +135,11 @@ describe('Default component', () => {
129
135
 
130
136
  it('renders the default with correct number of cards', () => {
131
137
  const { container, getByText } = render(
132
- <Router history={history}>
133
- <Default {...args} />
134
- </Router>,
138
+ <Provider store={mockStore}>
139
+ <Router history={history}>
140
+ <Default {...args} />
141
+ </Router>
142
+ </Provider>,
135
143
  );
136
144
  const dropdown = container.querySelector('.official-union .content');
137
145
  fireEvent.click(dropdown);
@@ -4,8 +4,29 @@ import '@testing-library/jest-dom';
4
4
 
5
5
  import { createMemoryHistory } from 'history';
6
6
  import { Router } from 'react-router-dom';
7
+ import { Provider } from 'react-redux';
7
8
  import '@testing-library/jest-dom';
8
9
 
10
+ const mockState = {
11
+ eeaSettings: {
12
+ data: {
13
+ header: {
14
+ useAISearchIcon: false,
15
+ },
16
+ },
17
+ },
18
+ };
19
+
20
+ const mockStore = {
21
+ getState: () => mockState,
22
+ subscribe: () => () => {},
23
+ dispatch: () => {},
24
+ };
25
+
26
+ const renderWithProvider = (component) => {
27
+ return render(<Provider store={mockStore}>{component}</Provider>);
28
+ };
29
+
9
30
  // Mock subcomponents that pull in ESM helpers not transformed by Jest here
10
31
  jest.doMock('./HeaderSearchPopUp', () => () => null);
11
32
  jest.doMock('./HeaderMenuPopUp', () => () => null);
@@ -26,16 +47,16 @@ describe('Header component', () => {
26
47
  });
27
48
 
28
49
  it('renders without crashing', () => {
29
- render(<Header />);
50
+ renderWithProvider(<Header />);
30
51
  });
31
52
 
32
53
  it('renders children correctly', () => {
33
- render(<Header>Test Children</Header>);
54
+ renderWithProvider(<Header>Test Children</Header>);
34
55
  expect(screen.getByText('Test Children')).toBeInTheDocument();
35
56
  });
36
57
 
37
58
  it('renders without crashing', () => {
38
- render(
59
+ renderWithProvider(
39
60
  <Header>
40
61
  <Header.TopHeader>
41
62
  <Header.TopItem>
@@ -83,7 +104,7 @@ describe('Header component', () => {
83
104
  });
84
105
 
85
106
  it('renders without crashing', () => {
86
- render(
107
+ renderWithProvider(
87
108
  <Header>
88
109
  <Header.TopHeader>
89
110
  <Header.TopItem>
@@ -129,7 +150,7 @@ describe('Header component', () => {
129
150
  });
130
151
 
131
152
  it('renders without crashing', () => {
132
- const { getByText, getAllByText, container } = render(
153
+ const { getByText, getAllByText, container } = renderWithProvider(
133
154
  <Router history={history}>
134
155
  <Header>
135
156
  <Header.TopHeader>
@@ -427,7 +448,7 @@ test('marks only the best-matching top-level item active (sibling collision case
427
448
  },
428
449
  ];
429
450
 
430
- const { container, getByText } = render(
451
+ const { container, getByText } = renderWithProvider(
431
452
  <Router history={history}>
432
453
  <Header>
433
454
  <Header.Main
@@ -476,7 +497,7 @@ test('exact match wins: parent item active only on its own URL', async () => {
476
497
  },
477
498
  ];
478
499
 
479
- const { container, getByText } = render(
500
+ const { container, getByText } = renderWithProvider(
480
501
  <Router history={history}>
481
502
  <Header>
482
503
  <Header.Main
@@ -515,7 +536,7 @@ test('mobile burger menu interactions', async () => {
515
536
  },
516
537
  ];
517
538
 
518
- const { container } = render(
539
+ const { container } = renderWithProvider(
519
540
  <Router history={history}>
520
541
  <Header>
521
542
  <Header.Main
@@ -559,7 +580,7 @@ test('search interactions and state management', async () => {
559
580
  },
560
581
  ];
561
582
 
562
- const { container } = render(
583
+ const { container } = renderWithProvider(
563
584
  <Router history={history}>
564
585
  <Header>
565
586
  <Header.Main
@@ -603,7 +624,7 @@ test('escape key handling', async () => {
603
624
  },
604
625
  ];
605
626
 
606
- const { container } = render(
627
+ const { container } = renderWithProvider(
607
628
  <Router history={history}>
608
629
  <Header>
609
630
  <Header.Main
@@ -650,7 +671,7 @@ test('multilingual pathname handling', async () => {
650
671
  },
651
672
  ];
652
673
 
653
- const { rerender } = render(
674
+ const { rerender } = renderWithProvider(
654
675
  <Router history={history}>
655
676
  <Header>
656
677
  <Header.Main
@@ -674,25 +695,27 @@ test('multilingual pathname handling', async () => {
674
695
 
675
696
  // Test with empty multilingual path
676
697
  rerender(
677
- <Router history={history}>
678
- <Header>
679
- <Header.Main
680
- pathname="/en/"
681
- isMultilingual={true}
682
- menuItems={menuItems}
683
- renderGlobalMenuItem={(item) => (
684
- <a href={item.url} title={item.title}>
685
- {item.title}
686
- </a>
687
- )}
688
- renderMenuItem={(item, options) => (
689
- <a href={item.url || '/'} {...(options || {})}>
690
- {item.title}
691
- </a>
692
- )}
693
- />
694
- </Header>
695
- </Router>,
698
+ <Provider store={mockStore}>
699
+ <Router history={history}>
700
+ <Header>
701
+ <Header.Main
702
+ pathname="/en/"
703
+ isMultilingual={true}
704
+ menuItems={menuItems}
705
+ renderGlobalMenuItem={(item) => (
706
+ <a href={item.url} title={item.title}>
707
+ {item.title}
708
+ </a>
709
+ )}
710
+ renderMenuItem={(item, options) => (
711
+ <a href={item.url || '/'} {...(options || {})}>
712
+ {item.title}
713
+ </a>
714
+ )}
715
+ />
716
+ </Header>
717
+ </Router>
718
+ </Provider>,
696
719
  );
697
720
  });
698
721
 
@@ -707,11 +730,11 @@ test('menu click outside behavior with different active states', async () => {
707
730
  },
708
731
  ];
709
732
 
710
- const { container } = render(
733
+ const { container } = renderWithProvider(
711
734
  <Router history={history}>
712
735
  <Header>
713
736
  <Header.Main
714
- pathname="/different-path"
737
+ pathname="/test"
715
738
  menuItems={menuItems}
716
739
  renderGlobalMenuItem={(item) => (
717
740
  <a href={item.url} title={item.title}>
@@ -12,7 +12,7 @@ import cloneDeep from 'lodash/cloneDeep';
12
12
  import kebabCase from 'lodash/kebabCase';
13
13
 
14
14
  import { useClickOutside } from '@eeacms/volto-eea-design-system/helpers';
15
- import { numbersToMenuItemColumns } from '../Header/utils';
15
+ import { numbersToMenuItemColumns } from '@eeacms/volto-eea-design-system/ui/Header/utils';
16
16
 
17
17
  const generateCssClassFromUrl = (url) => {
18
18
  if (!url) return '';
@@ -1,9 +1,13 @@
1
1
  import React, { useEffect } from 'react';
2
- import { Container, Input, List } from 'semantic-ui-react';
2
+ import { useSelector } from 'react-redux';
3
+ import { Container, Input, List, Image } from 'semantic-ui-react';
3
4
  import { withRouter, Link } from 'react-router-dom';
4
5
  import { useClickOutside } from '@eeacms/volto-eea-design-system/helpers';
5
6
  import { handleEnterKeyPress } from '@eeacms/volto-eea-design-system/helpers';
6
7
 
8
+ import searchSVG from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/search-line.svg';
9
+ import aiSearchIcon from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/ai-search.svg';
10
+
7
11
  const getRandomItems = (arr, max) => {
8
12
  return (
9
13
  arr?.slice(0, max).map(function () {
@@ -12,36 +16,57 @@ const getRandomItems = (arr, max) => {
12
16
  );
13
17
  };
14
18
 
19
+ function ActionItem({ action }) {
20
+ if (action.type === 'info') {
21
+ return <div>{action.content}</div>;
22
+ }
23
+ if (action.type === 'button-link') {
24
+ return (
25
+ <a
26
+ href={action.url}
27
+ className="ui button white inverted"
28
+ title={action.title}
29
+ >
30
+ {action.title}
31
+ </a>
32
+ );
33
+ }
34
+ return null;
35
+ }
36
+
15
37
  function HeaderSearchPopUp({
16
38
  history,
17
- location,
18
39
  onClose,
19
40
  searchInputRef,
20
41
  headerSearchBox,
21
42
  triggerRefs = [],
22
43
  }) {
23
44
  const nodeRef = React.useRef();
24
- const headerSearchViews = headerSearchBox || [];
25
- const defaultView = headerSearchViews.filter((v) => v.isDefault);
26
- const localView = headerSearchViews.filter((v) =>
27
- location.pathname.match(v.matchpath ? v.matchpath : v.path),
28
- );
29
- const activeView = localView.length > 0 ? localView[0] : defaultView[0];
45
+
46
+ const searchInput =
47
+ headerSearchBox.filter((v) => v.type === 'search-input')[0] || {};
48
+ const actions =
49
+ headerSearchBox.filter((v) => ['info', 'button-link'].includes(v.type)) ||
50
+ [];
30
51
 
31
52
  const {
32
53
  path = '',
33
- buttonTitle,
34
- buttonUrl,
35
- description,
36
54
  placeholder = 'Search',
37
- searchSuggestions,
38
- } = activeView || {};
39
- const { suggestionsTitle, suggestions, maxToShow } = searchSuggestions || {};
55
+ suggestionsTitle,
56
+ maxToShow,
57
+ suggestions,
58
+ } = searchInput;
40
59
 
41
60
  const [visibleSuggestions, setVisibileSuggestions] = React.useState(
42
61
  getRandomItems(suggestions, maxToShow),
43
62
  );
44
63
 
64
+ const headerSettings = useSelector(
65
+ (state) => state.eeaSettings?.data?.header || {},
66
+ );
67
+
68
+ const searchIcon = headerSettings.useAISearchIcon ? aiSearchIcon : searchSVG;
69
+
45
70
  useEffect(() => {
46
71
  setVisibileSuggestions(getRandomItems(suggestions, maxToShow));
47
72
  }, [maxToShow, suggestions]);
@@ -77,18 +102,27 @@ function HeaderSearchPopUp({
77
102
  ref={searchInputRef}
78
103
  className="icon search"
79
104
  action={{
80
- className: 'icon ri-search-line',
105
+ className: 'icon',
81
106
  'aria-label': 'Submit search',
82
107
  onClick: onSubmit,
83
108
  onKeyDown: (event) => {
84
109
  handleEnterKeyPress(event, onSubmit);
85
110
  },
111
+ children: (
112
+ <Image
113
+ src={searchIcon}
114
+ alt="Global search"
115
+ height={45}
116
+ width={45}
117
+ className="header-search-icon"
118
+ />
119
+ ),
86
120
  }}
87
121
  placeholder={placeholder}
88
122
  fluid
89
123
  />
90
124
  </form>
91
- {searchSuggestions && suggestions.length > 0 && (
125
+ {suggestions?.length > 0 && (
92
126
  <div className="search-suggestions">
93
127
  {suggestionsTitle && <h4>{suggestionsTitle}</h4>}
94
128
 
@@ -109,17 +143,12 @@ function HeaderSearchPopUp({
109
143
  </div>
110
144
  )}
111
145
  </Container>
112
- {buttonTitle && (
146
+ {actions?.length > 0 && (
113
147
  <div className="advanced-search">
114
148
  <Container>
115
- <div>{description}</div>
116
- <a
117
- href={buttonUrl || defaultView[0].path}
118
- className="ui button white inverted"
119
- title="Advanced search"
120
- >
121
- {buttonTitle}
122
- </a>
149
+ {actions.map((action, i) => (
150
+ <ActionItem key={i} action={action} />
151
+ ))}
123
152
  </Container>
124
153
  </div>
125
154
  )}
@@ -2,41 +2,53 @@ import React from 'react';
2
2
  import { render, screen, fireEvent } from '@testing-library/react';
3
3
  import { createMemoryHistory } from 'history';
4
4
  import { Router } from 'react-router-dom';
5
+ import { Provider } from 'react-redux';
5
6
  import HeaderSearchPopUp from './HeaderSearchPopUp';
6
7
  import '@testing-library/jest-dom';
7
8
 
9
+ const mockState = {
10
+ eeaSettings: {
11
+ data: {
12
+ header: {
13
+ useAISearchIcon: false,
14
+ },
15
+ },
16
+ },
17
+ };
18
+
19
+ const mockStore = {
20
+ getState: () => mockState,
21
+ subscribe: () => () => {},
22
+ dispatch: () => {},
23
+ };
24
+
8
25
  describe('HeaderSearchPopUp', () => {
9
26
  let history;
10
27
  const mockOnClose = jest.fn();
11
28
  const sampleHeaderSearchBox = [
12
29
  {
30
+ type: 'search-input',
13
31
  path: '/search',
14
- buttonTitle: 'Advanced Search',
15
- buttonUrl: '/advanced-search',
16
- description: 'Sample description',
17
32
  placeholder: 'Search',
18
- searchSuggestions: {
19
- suggestionsTitle: 'Suggestions Title',
20
- suggestions: ['suggestion 1', 'suggestion 2', 'suggestion 3'],
21
- maxToShow: 3,
22
- },
23
- isDefault: true,
33
+ suggestionsTitle: 'Suggestions Title',
34
+ suggestions: ['suggestion 1', 'suggestion 2', 'suggestion 3'],
35
+ maxToShow: 3,
36
+ },
37
+ {
38
+ type: 'button-link',
39
+ title: 'Advanced Search',
40
+ url: '/advanced-search',
24
41
  },
25
42
  ];
26
43
 
27
44
  const sampleHeaderSearchBoxWithMatchpath = [
28
45
  {
46
+ type: 'search-input',
29
47
  matchpath: '/search',
30
- buttonTitle: 'Advanced Search',
31
- buttonUrl: undefined,
32
- description: 'Sample description',
33
48
  placeholder: 'Search',
34
- searchSuggestions: {
35
- suggestionsTitle: 'Suggestions Title',
36
- suggestions: ['suggestion 1', 'suggestion 2', 'suggestion 3'],
37
- maxToShow: 3,
38
- },
39
- isDefault: true,
49
+ suggestionsTitle: 'Suggestions Title',
50
+ suggestions: ['suggestion 1', 'suggestion 2', 'suggestion 3'],
51
+ maxToShow: 3,
40
52
  },
41
53
  ];
42
54
 
@@ -50,26 +62,30 @@ describe('HeaderSearchPopUp', () => {
50
62
 
51
63
  it('should render HeaderSearchPopUp', () => {
52
64
  render(
53
- <Router history={history}>
54
- <HeaderSearchPopUp
55
- headerSearchBox={sampleHeaderSearchBox}
56
- onClose={mockOnClose}
57
- triggerRefs={[]}
58
- />
59
- </Router>,
65
+ <Provider store={mockStore}>
66
+ <Router history={history}>
67
+ <HeaderSearchPopUp
68
+ headerSearchBox={sampleHeaderSearchBox}
69
+ onClose={mockOnClose}
70
+ triggerRefs={[]}
71
+ />
72
+ </Router>
73
+ </Provider>,
60
74
  );
61
75
  expect(screen.getByPlaceholderText('Search')).toBeInTheDocument();
62
76
  });
63
77
 
64
78
  it('should update search text on change', () => {
65
79
  render(
66
- <Router history={history}>
67
- <HeaderSearchPopUp
68
- headerSearchBox={sampleHeaderSearchBox}
69
- onClose={mockOnClose}
70
- triggerRefs={[]}
71
- />
72
- </Router>,
80
+ <Provider store={mockStore}>
81
+ <Router history={history}>
82
+ <HeaderSearchPopUp
83
+ headerSearchBox={sampleHeaderSearchBox}
84
+ onClose={mockOnClose}
85
+ triggerRefs={[]}
86
+ />
87
+ </Router>
88
+ </Provider>,
73
89
  );
74
90
  const input = screen.getByPlaceholderText('Search');
75
91
  fireEvent.change(input, { target: { value: 'New text' } });
@@ -80,32 +96,35 @@ describe('HeaderSearchPopUp', () => {
80
96
  window.searchContext = { resetSearch: jest.fn() };
81
97
 
82
98
  const { container } = render(
83
- <Router history={history}>
84
- <HeaderSearchPopUp
85
- headerSearchBox={sampleHeaderSearchBox}
86
- onClose={mockOnClose}
87
- triggerRefs={[]}
88
- />
89
- </Router>,
99
+ <Provider store={mockStore}>
100
+ <Router history={history}>
101
+ <HeaderSearchPopUp
102
+ headerSearchBox={sampleHeaderSearchBox}
103
+ onClose={mockOnClose}
104
+ triggerRefs={[]}
105
+ />
106
+ </Router>
107
+ </Provider>,
90
108
  );
91
109
  const input = screen.getByPlaceholderText('Search');
92
110
  fireEvent.change(input, { target: { value: 'Search text' } });
93
111
  fireEvent.submit(container.querySelector('form'));
94
112
  fireEvent.keyDown(input, { key: 'Enter', code: 'Enter' });
95
113
  expect(history.location.pathname).toBe('/search');
96
- // expect(history.location.search).toBe('?q=Search text');
97
114
  });
98
115
 
99
116
  it('should navigate to the suggestion when a suggestion is clicked', () => {
100
117
  window.searchContext = { resetSearch: jest.fn() };
101
118
 
102
119
  render(
103
- <Router history={history}>
104
- <HeaderSearchPopUp
105
- headerSearchBox={sampleHeaderSearchBoxWithMatchpath}
106
- onClose={mockOnClose}
107
- />
108
- </Router>,
120
+ <Provider store={mockStore}>
121
+ <Router history={history}>
122
+ <HeaderSearchPopUp
123
+ headerSearchBox={sampleHeaderSearchBoxWithMatchpath}
124
+ onClose={mockOnClose}
125
+ />
126
+ </Router>
127
+ </Provider>,
109
128
  );
110
129
  fireEvent.click(screen.getByText('suggestion 1'));
111
130
  expect(history.location.pathname).toBe('/');
@@ -114,13 +133,15 @@ describe('HeaderSearchPopUp', () => {
114
133
 
115
134
  it('should handle keydown events on search action button', () => {
116
135
  const { container } = render(
117
- <Router history={history}>
118
- <HeaderSearchPopUp
119
- headerSearchBox={sampleHeaderSearchBox}
120
- onClose={mockOnClose}
121
- triggerRefs={[]}
122
- />
123
- </Router>,
136
+ <Provider store={mockStore}>
137
+ <Router history={history}>
138
+ <HeaderSearchPopUp
139
+ headerSearchBox={sampleHeaderSearchBox}
140
+ onClose={mockOnClose}
141
+ triggerRefs={[]}
142
+ />
143
+ </Router>
144
+ </Provider>,
124
145
  );
125
146
 
126
147
  const searchActionButton = container.querySelector(
@@ -128,25 +149,23 @@ describe('HeaderSearchPopUp', () => {
128
149
  );
129
150
  expect(searchActionButton).toBeInTheDocument();
130
151
 
131
- // Test Enter key press on search action button
132
152
  fireEvent.keyDown(searchActionButton, { key: 'Enter', code: 'Enter' });
133
-
134
- // Test other key press (should not trigger action)
135
153
  fireEvent.keyDown(searchActionButton, { key: 'Tab', code: 'Tab' });
136
154
  });
137
155
 
138
156
  it('should handle search without searchContext', () => {
139
- // Remove searchContext to test the fallback
140
157
  delete window.searchContext;
141
158
 
142
159
  const { container } = render(
143
- <Router history={history}>
144
- <HeaderSearchPopUp
145
- headerSearchBox={sampleHeaderSearchBox}
146
- onClose={mockOnClose}
147
- triggerRefs={[]}
148
- />
149
- </Router>,
160
+ <Provider store={mockStore}>
161
+ <Router history={history}>
162
+ <HeaderSearchPopUp
163
+ headerSearchBox={sampleHeaderSearchBox}
164
+ onClose={mockOnClose}
165
+ triggerRefs={[]}
166
+ />
167
+ </Router>
168
+ </Provider>,
150
169
  );
151
170
 
152
171
  const input = screen.getByPlaceholderText('Search');
@@ -157,16 +176,17 @@ describe('HeaderSearchPopUp', () => {
157
176
  });
158
177
 
159
178
  it('should handle suggestion click without searchContext', () => {
160
- // Remove searchContext to test the fallback
161
179
  delete window.searchContext;
162
180
 
163
181
  render(
164
- <Router history={history}>
165
- <HeaderSearchPopUp
166
- headerSearchBox={sampleHeaderSearchBox}
167
- onClose={mockOnClose}
168
- />
169
- </Router>,
182
+ <Provider store={mockStore}>
183
+ <Router history={history}>
184
+ <HeaderSearchPopUp
185
+ headerSearchBox={sampleHeaderSearchBox}
186
+ onClose={mockOnClose}
187
+ />
188
+ </Router>
189
+ </Provider>,
170
190
  );
171
191
 
172
192
  fireEvent.click(screen.getByText('suggestion 1'));
@@ -176,23 +196,27 @@ describe('HeaderSearchPopUp', () => {
176
196
  it('should render without search suggestions', () => {
177
197
  const headerSearchBoxNoSuggestions = [
178
198
  {
199
+ type: 'search-input',
179
200
  path: '/search',
180
- buttonTitle: 'Advanced Search',
181
- buttonUrl: '/advanced-search',
182
- description: 'Sample description',
183
201
  placeholder: 'Search',
184
- isDefault: true,
202
+ },
203
+ {
204
+ type: 'button-link',
205
+ title: 'Advanced Search',
206
+ url: '/advanced-search',
185
207
  },
186
208
  ];
187
209
 
188
210
  render(
189
- <Router history={history}>
190
- <HeaderSearchPopUp
191
- headerSearchBox={headerSearchBoxNoSuggestions}
192
- onClose={mockOnClose}
193
- triggerRefs={[]}
194
- />
195
- </Router>,
211
+ <Provider store={mockStore}>
212
+ <Router history={history}>
213
+ <HeaderSearchPopUp
214
+ headerSearchBox={headerSearchBoxNoSuggestions}
215
+ onClose={mockOnClose}
216
+ triggerRefs={[]}
217
+ />
218
+ </Router>
219
+ </Provider>,
196
220
  );
197
221
 
198
222
  expect(screen.getByPlaceholderText('Search')).toBeInTheDocument();
@@ -202,28 +226,25 @@ describe('HeaderSearchPopUp', () => {
202
226
  it('should render with empty suggestions array', () => {
203
227
  const headerSearchBoxEmptySuggestions = [
204
228
  {
229
+ type: 'search-input',
205
230
  path: '/search',
206
- buttonTitle: 'Advanced Search',
207
- buttonUrl: '/advanced-search',
208
- description: 'Sample description',
209
231
  placeholder: 'Search',
210
- searchSuggestions: {
211
- suggestionsTitle: 'Suggestions Title',
212
- suggestions: [],
213
- maxToShow: 3,
214
- },
215
- isDefault: true,
232
+ suggestionsTitle: 'Suggestions Title',
233
+ suggestions: [],
234
+ maxToShow: 3,
216
235
  },
217
236
  ];
218
237
 
219
238
  render(
220
- <Router history={history}>
221
- <HeaderSearchPopUp
222
- headerSearchBox={headerSearchBoxEmptySuggestions}
223
- onClose={mockOnClose}
224
- triggerRefs={[]}
225
- />
226
- </Router>,
239
+ <Provider store={mockStore}>
240
+ <Router history={history}>
241
+ <HeaderSearchPopUp
242
+ headerSearchBox={headerSearchBoxEmptySuggestions}
243
+ onClose={mockOnClose}
244
+ triggerRefs={[]}
245
+ />
246
+ </Router>
247
+ </Provider>,
227
248
  );
228
249
 
229
250
  expect(screen.getByPlaceholderText('Search')).toBeInTheDocument();
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
 
4
4
  import { Icon } from 'semantic-ui-react';
5
- import Copyright from '../Copyright/Copyright';
5
+ import Copyright from '@eeacms/volto-eea-design-system/ui/Copyright/Copyright';
6
6
 
7
7
  Hero.propTypes = {
8
8
  image: PropTypes.bool,
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Button } from 'semantic-ui-react';
3
- import NewTabLabeledIcon from '../NewTabLabeledIcon/NewTabLabeledIcon';
4
- import DownloadLabeledIcon from '../DownloadLabeledIcon/DownloadLabeledIcon';
5
- import LanguageLabeledIcon from '../LanguageLabeledIcon/LanguageLabeledIcon';
3
+ import NewTabLabeledIcon from '@eeacms/volto-eea-design-system/ui/NewTabLabeledIcon/NewTabLabeledIcon';
4
+ import DownloadLabeledIcon from '@eeacms/volto-eea-design-system/ui/DownloadLabeledIcon/DownloadLabeledIcon';
5
+ import LanguageLabeledIcon from '@eeacms/volto-eea-design-system/ui/LanguageLabeledIcon/LanguageLabeledIcon';
6
6
 
7
7
  function LabeledIconGroup({ children, ...rest }) {
8
8
  return (
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Button } from 'semantic-ui-react';
3
3
  import LanguageLabeledIcon from './LanguageLabeledIcon';
4
- import LabeledIconGroup from '../LabeledIconGroup/LabeledIconGroup';
4
+ import LabeledIconGroup from '@eeacms/volto-eea-design-system/ui/LabeledIconGroup/LabeledIconGroup';
5
5
 
6
6
  export default {
7
7
  title: 'Components/Labeled Icons/Language',
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import NewTabLabeledIcon from './NewTabLabeledIcon';
3
- import LabeledIconGroup from '../LabeledIconGroup/LabeledIconGroup';
3
+ import LabeledIconGroup from '@eeacms/volto-eea-design-system/ui/LabeledIconGroup/LabeledIconGroup';
4
4
 
5
5
  export default {
6
6
  title: 'Components/Labeled Icons/New Tab',
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
 
4
- import Quote from '../Quote';
4
+ import Quote from '@eeacms/volto-eea-design-system/ui/Quote/Quote';
5
5
  import { Grid, Card, Image, Divider } from 'semantic-ui-react';
6
6
 
7
7
  Testimonial.propTypes = {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import TagList from './TagList';
3
- import Tag from '../Tag/Tag';
3
+ import Tag from '@eeacms/volto-eea-design-system/ui/Tag/Tag';
4
4
  import { Container } from 'semantic-ui-react';
5
5
  import configureStore from 'redux-mock-store';
6
6
  import { Provider } from 'react-redux';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Header, Divider, Container } from 'semantic-ui-react';
3
- import ContentBox from '../ContentBox/ContentBox';
3
+ import ContentBox from '@eeacms/volto-eea-design-system/ui/ContentBox/ContentBox';
4
4
 
5
5
  export default {
6
6
  title: 'Components/Heading/Underlined',
@@ -1,6 +1,7 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="20px" viewBox="0 -960 960 960" width="20px">
2
- <path
3
- d="M740-560q-1 0-8-6-16-61-60.5-105.5T566-732q-2-1-6-8 0-2 6-8 61-16 105.5-60.5T732-914q1-2 8-6 2 0 8 6 17 61 61 105.5T914-748q2 0 6 8 0 1-6 8-61 16-105.5 60.5T748-566q0 2-8 6Zm44 440L532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q29 0 57 6t53 18l-10 87q-22-15-47-23t-53-8q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400q66 0 115.5-42.5T557-555l72 50q-7 22-17.5 41T588-428l252 252-56 56Z"
4
- fill="rgba(255,255,255,1)">
5
- </path>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg fill="currentColor" height="20" viewBox="0 -960 960 960" width="20" version="1.1"
3
+ xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
4
+ <path
5
+ d="m 743.91749,-527.97997 q -1.19965,0 -9.59723,-7.19791 -19.19445,-73.17883 -72.57899,-126.56339 -53.38456,-53.38454 -126.56339,-72.57899 -2.39931,-1.19966 -7.19791,-9.59723 0,-2.3993 7.19791,-9.59722 73.17883,-19.19444 126.56339,-72.579 53.38454,-53.38456 72.57899,-126.56338 1.19966,-2.39931 9.59723,-7.19792 2.3993,0 9.59722,7.19792 20.39409,73.17882 73.17882,126.56338 52.78474,53.38456 125.96356,72.579 2.39931,0 7.19792,9.59722 0,1.19965 -7.19792,9.59723 -73.17882,19.19445 -126.56338,72.57899 -53.38456,53.38456 -72.579,126.56339 0,2.39931 -9.59722,7.19791 z M 796.70222,-0.13268868 494.38968,-302.44522 q -35.98958,28.79167 -82.77604,45.58681 -46.78647,16.79514 -99.5712,16.79514 -130.76217,0 -221.335957,-90.5738 -90.57379432,-90.57378 -90.57379432,-221.33595 0,-130.76217 90.57379432,-221.33597 90.573787,-90.57379 221.335957,-90.57379 34.78993,0 68.38021,7.19792 33.59029,7.19792 63.58161,21.59376 l -11.99653,104.36979 q -26.39236,-17.99479 -56.38368,-27.59202 -29.99133,-9.59722 -63.58161,-9.59722 -89.97396,0 -152.95574,62.98177 -62.981779,62.98179 -62.981779,152.95576 0,89.97396 62.981779,152.95574 62.98178,62.98178 152.95574,62.98178 79.1771,0 138.55991,-50.98526 59.38283,-50.98523 73.77866,-134.96094 l 86.375,59.98264 q -8.39756,26.39236 -20.99392,49.18577 -12.59636,22.7934 -28.19184,43.18751 l 302.31253,302.312529 z"
6
+ fill="rgba(255,255,255,1)" style="stroke-width:1" />
6
7
  </svg>
@@ -230,7 +230,7 @@
230
230
  .ui.pagination.pointing.secondary, .ui.pagination {
231
231
  display: flex;
232
232
  width: @paginationWidth;
233
- justify-content: start;
233
+ justify-content: flex-start;
234
234
 
235
235
  @media only screen and (min-width: @tabletBreakpoint) {
236
236
  justify-content: center;
@@ -12,7 +12,7 @@
12
12
  @copyrightWrapperPaddingLeft: @rem-space-3;
13
13
  @copyrightWrapperPaddingRight: @rem-space-3;
14
14
  @copyrightWrapperBottom: @rem-space-4;
15
- @copyrightAlignItems: start;
15
+ @copyrightAlignItems: flex-start;
16
16
 
17
17
  /* Image block */
18
18
  @floatImageLeftMaxWidth: 50%;
@@ -664,7 +664,7 @@
664
664
  display: flex;
665
665
  max-height: 100%;
666
666
  flex-wrap: wrap;
667
- justify-content: end;
667
+ justify-content: flex-end;
668
668
  margin: 0;
669
669
  padding-left: 0;
670
670