@eeacms/volto-eea-design-system 1.50.2 → 1.60.1

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,28 @@ 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.1](https://github.com/eea/volto-eea-design-system/compare/1.60.0...1.60.1) - 17 April 2026
8
+
9
+ #### :hammer_and_wrench: Others
10
+
11
+ - filter header search box settings by path [Miu Razvan - [`4d752c6`](https://github.com/eea/volto-eea-design-system/commit/4d752c6f589cb0ccf49885a3b3a02fdf3875fb72)]
12
+ ### [1.60.0](https://github.com/eea/volto-eea-design-system/compare/1.50.2...1.60.0) - 17 April 2026
13
+
14
+ #### :house: Documentation changes
15
+
16
+ - docs: Update README [Alin Voinea - [`06e6ce7`](https://github.com/eea/volto-eea-design-system/commit/06e6ce7553bb50dea0d000f990f19c568e658b9f)]
17
+
18
+ #### :hammer_and_wrench: Others
19
+
20
+ - update readme [Miu Razvan - [`268086f`](https://github.com/eea/volto-eea-design-system/commit/268086fa17f9f68283dc7528ddbcd71105b676da)]
21
+ - Release 1.60.0 [Alin Voinea - [`c74e3ac`](https://github.com/eea/volto-eea-design-system/commit/c74e3acb79cce153067984a234401e3d16ac0b05)]
22
+ - update version [Miu Razvan - [`5753c9f`](https://github.com/eea/volto-eea-design-system/commit/5753c9f98c80a8699889a55a3fe1abecf3853b77)]
23
+ - fix tests [Miu Razvan - [`32b5e42`](https://github.com/eea/volto-eea-design-system/commit/32b5e42c6f458f7391f930165852700daa758790)]
24
+ - fix tests [Miu Razvan - [`dca166a`](https://github.com/eea/volto-eea-design-system/commit/dca166aa44a9bc3c123a17e78333b850ef401fb6)]
25
+ - fix tests [Miu Razvan - [`0e876ca`](https://github.com/eea/volto-eea-design-system/commit/0e876caf4e172b84dfbc30a16c58009ee4481d94)]
26
+ - fix tests [Miu Razvan - [`86f657a`](https://github.com/eea/volto-eea-design-system/commit/86f657a70a357a412257e9d8cb63f9050ca718e4)]
27
+ - Make use of eea_settings [Miu Razvan - [`78ab3c5`](https://github.com/eea/volto-eea-design-system/commit/78ab3c59a4a7232b09812b3967ddd2b93cdd7fad)]
28
+ - Bump version + add upgrade step [Miu Razvan - [`a1dbbd5`](https://github.com/eea/volto-eea-design-system/commit/a1dbbd557f66174f05ce87ed21073aecefa1f507)]
7
29
  ### [1.50.2](https://github.com/eea/volto-eea-design-system/compare/1.50.1...1.50.2) - 9 April 2026
8
30
 
9
31
  #### :bug: Bug Fixes
@@ -31,6 +53,8 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
31
53
 
32
54
  #### :house: Internal changes
33
55
 
56
+ - chore: [JENKINSFILE] add package version in sonarqube [valentinab25 - [`a2500ee`](https://github.com/eea/volto-eea-design-system/commit/a2500ee91c3d926183403b7e55ef717f697eb736)]
57
+ - chore: [JENKINSFILE] use sonarqube branches [EEA Jenkins - [`79058be`](https://github.com/eea/volto-eea-design-system/commit/79058be6ad228970127ee388bbc78ad69b92465b)]
34
58
 
35
59
  #### :hammer_and_wrench: Others
36
60
 
@@ -67,6 +91,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
67
91
  #### :hammer_and_wrench: Others
68
92
 
69
93
  - add rule for eeacms/countup to jest-config.js [David Ichim - [`59244c2`](https://github.com/eea/volto-eea-design-system/commit/59244c2e85447766e9e2a051e080652d93f67458)]
94
+ - Add Sonarqube tag using bise-frontend addons list [EEA Jenkins - [`314266b`](https://github.com/eea/volto-eea-design-system/commit/314266bd8131b8ade427f23f81a084714f0104af)]
70
95
  ### [1.40.0](https://github.com/eea/volto-eea-design-system/compare/1.39.1...1.40.0) - 4 November 2025
71
96
 
72
97
  ### [1.39.1](https://github.com/eea/volto-eea-design-system/compare/1.39.0...1.39.1) - 22 September 2025
@@ -142,8 +167,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
142
167
 
143
168
  #### :hammer_and_wrench: Others
144
169
 
170
+ - Add Sonarqube tag using fise-frontend addons list [EEA Jenkins - [`d3a993f`](https://github.com/eea/volto-eea-design-system/commit/d3a993f7c9f687d709e1c8bc48b4972aca7a161e)]
145
171
  - Fix with sed the issue from line 714 missing } [David Ichim - [`e4e10a0`](https://github.com/eea/volto-eea-design-system/commit/e4e10a0a8a82c1fa20dcff9fa8178a6a938a7fd5)]
146
172
  - Fixed link for don't use more than six colors [David Ichim - [`f42c698`](https://github.com/eea/volto-eea-design-system/commit/f42c69895258291ef72c0299e348f5671b2c127b)]
173
+ - Add Sonarqube tag using ied-frontend addons list [EEA Jenkins - [`a8fa4e1`](https://github.com/eea/volto-eea-design-system/commit/a8fa4e157f6351939fd6ee126f733efc1adf6dfe)]
147
174
  - lint fix [David Ichim - [`5d4d60a`](https://github.com/eea/volto-eea-design-system/commit/5d4d60ac305b8694fec64a9cce625a1015e8486f)]
148
175
  ### [1.36.3](https://github.com/eea/volto-eea-design-system/compare/1.36.2...1.36.3) - 4 March 2025
149
176
 
@@ -177,6 +204,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
177
204
  #### :hammer_and_wrench: Others
178
205
 
179
206
  - Update package.json [Ichim David - [`40ae6a7`](https://github.com/eea/volto-eea-design-system/commit/40ae6a70377c54256f7365a12bded4e25b0c322e)]
207
+ - Add Sonarqube tag using bise-frontend addons list [EEA Jenkins - [`b433236`](https://github.com/eea/volto-eea-design-system/commit/b433236f3e264304c86082281da90384da7ab0ff)]
180
208
  ### [1.34.1](https://github.com/eea/volto-eea-design-system/compare/1.34.0...1.34.1) - 14 October 2024
181
209
 
182
210
  ### [1.34.0](https://github.com/eea/volto-eea-design-system/compare/1.33.1...1.34.0) - 11 October 2024
@@ -258,6 +286,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
258
286
 
259
287
  #### :hammer_and_wrench: Others
260
288
 
289
+ - Add Sonarqube tag using marine-frontend addons list [EEA Jenkins - [`dfa1d1b`](https://github.com/eea/volto-eea-design-system/commit/dfa1d1bd53ae63b20aa0ef64c37bf71faf376290)]
261
290
  ### [1.31.0](https://github.com/eea/volto-eea-design-system/compare/1.23.8...1.31.0) - 22 May 2024
262
291
 
263
292
  #### :boom: Breaking Change
@@ -286,6 +315,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
286
315
 
287
316
  #### :hammer_and_wrench: Others
288
317
 
318
+ - Add Sonarqube tag using insitu-frontend addons list [EEA Jenkins - [`2ccf437`](https://github.com/eea/volto-eea-design-system/commit/2ccf4372f93d56ce3cc8bfd66de5c9fbb2698cf4)]
289
319
  ### [1.23.5](https://github.com/eea/volto-eea-design-system/compare/1.23.4...1.23.5) - 5 April 2024
290
320
 
291
321
  #### :nail_care: Enhancements
@@ -321,6 +351,8 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
321
351
  - Update package.json version to 1.23.0 [David Ichim - [`4b2eeee`](https://github.com/eea/volto-eea-design-system/commit/4b2eeee398b771ac80111e1755f67273c8940ced)]
322
352
  - fixed merge conflict [David Ichim - [`efe0f4b`](https://github.com/eea/volto-eea-design-system/commit/efe0f4b7df1782f5143e1bee31c997801427d35c)]
323
353
  - Update react-slick version to 0.30.1 [David Ichim - [`62d4570`](https://github.com/eea/volto-eea-design-system/commit/62d457014866fc075a3203fd0f9e66354aa73fe5)]
354
+ - Add Sonarqube tag using freshwater-frontend addons list [EEA Jenkins - [`c6c74f0`](https://github.com/eea/volto-eea-design-system/commit/c6c74f049ee787632b8ad0ec0f28531ac4d0f20f)]
355
+ - Add Sonarqube tag using insitu-frontend addons list [EEA Jenkins - [`d3d7793`](https://github.com/eea/volto-eea-design-system/commit/d3d779363caa10f384d829a7e4242c5d54268099)]
324
356
  ### [1.23.0](https://github.com/eea/volto-eea-design-system/compare/1.22.7...1.23.0) - 19 February 2024
325
357
 
326
358
  ### [1.22.7](https://github.com/eea/volto-eea-design-system/compare/1.22.6...1.22.7) - 22 January 2024
@@ -406,7 +438,11 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
406
438
  - Add dropdown test case to Header component [David Ichim - [`9ea3234`](https://github.com/eea/volto-eea-design-system/commit/9ea3234c2c0f1c819c7c2b54a75c56cda7812c56)]
407
439
  - Remove unused import in Header.test.jsx [David Ichim - [`082069e`](https://github.com/eea/volto-eea-design-system/commit/082069e1f057786e0f1fb00c98d54b8e03b5d9c5)]
408
440
  - Added some tests for TopDropdownMenu mobile and dropdown interaction [David Ichim - [`9d24488`](https://github.com/eea/volto-eea-design-system/commit/9d24488c1e97b2b1b14bd9bd8cb6f5b68414794b)]
441
+ - test: [JENKINS] Run cypress in started frontend container [valentinab25 - [`eadf018`](https://github.com/eea/volto-eea-design-system/commit/eadf018aa1f32d310619ce4ef08f9b11950a20dc)]
409
442
  - Lint fix [David Ichim - [`e29fd50`](https://github.com/eea/volto-eea-design-system/commit/e29fd50ee73477007dcf94a268596e6c11176d7b)]
443
+ - test: [JENKINS] Add cpu limit on cypress docker [valentinab25 - [`947cb92`](https://github.com/eea/volto-eea-design-system/commit/947cb929c01ebb6f46bf124833fe1fec0f385edb)]
444
+ - test: [JENKINS] Increase shm-size to cypress docker [valentinab25 - [`8356dfe`](https://github.com/eea/volto-eea-design-system/commit/8356dfe929039dcd165af0692cbbfc771a0f7fb4)]
445
+ - test: [JENKINS] Improve cypress time [valentinab25 - [`e38f17e`](https://github.com/eea/volto-eea-design-system/commit/e38f17ed735e743e59df7d06ca723c1218bdb569)]
410
446
  ### [1.20.0](https://github.com/eea/volto-eea-design-system/compare/1.19.0...1.20.0) - 2 November 2023
411
447
 
412
448
  #### :rocket: New Features
@@ -439,6 +475,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
439
475
 
440
476
  #### :house: Internal changes
441
477
 
478
+ - chore: [JENKINS] do not run tests on PR comments [valentinab25 - [`51b68fc`](https://github.com/eea/volto-eea-design-system/commit/51b68fc76a956996e01521b784262c67e7094d35)]
479
+ - chore: [JENKINS] add comment step [valentinab25 - [`5022758`](https://github.com/eea/volto-eea-design-system/commit/50227587db2c72d17e26e7b66f28d4c09b760873)]
480
+ - chore: [JENKINS] Refactor automated testing [valentinab25 - [`a70ca64`](https://github.com/eea/volto-eea-design-system/commit/a70ca642918f578d6737d975e4769bac8312f48d)]
442
481
  - chore: husky, lint-staged use fixed versions [valentinab25 - [`59ecb8e`](https://github.com/eea/volto-eea-design-system/commit/59ecb8e28b259472303324f9655b0cbbcbbf9c23)]
443
482
 
444
483
  #### :hammer_and_wrench: Others
@@ -564,6 +603,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
564
603
 
565
604
  #### :hammer_and_wrench: Others
566
605
 
606
+ - test: Fix eslint and yarn i18n [Alin Voinea - [`331149f`](https://github.com/eea/volto-eea-design-system/commit/331149f5eb16a9cc6f2d996f7b793909773063c2)]
567
607
  - i18n: Add en [Alin Voinea - [`4584295`](https://github.com/eea/volto-eea-design-system/commit/458429530d993c27cfb962ddfe2f376f3568bf01)]
568
608
  - Release 1.17.0 [Alin Voinea - [`e3c25ee`](https://github.com/eea/volto-eea-design-system/commit/e3c25eeeca5e863244faae396b5aa915d0702633)]
569
609
  - test: add unit tests for DS components - refs #254313 [ana-oprea - [`0c4d4d1`](https://github.com/eea/volto-eea-design-system/commit/0c4d4d118b8e13082c576dc5c2dce6a715f49006)]
@@ -673,6 +713,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
673
713
  #### :hammer_and_wrench: Others
674
714
 
675
715
  - Release 1.14.0 [Alin Voinea - [`cb9084f`](https://github.com/eea/volto-eea-design-system/commit/cb9084fb2246dc1b729e12a419a26daa12c26f7a)]
716
+ - test: [JENKINS] set pipe fail [valentinab25 - [`1cdfc39`](https://github.com/eea/volto-eea-design-system/commit/1cdfc39d08f1ae301dea57f1e4be5265c4a4c6f9)]
676
717
  - test: try storybook upload [valentinab25 - [`6d5833d`](https://github.com/eea/volto-eea-design-system/commit/6d5833d4419d00f1ac04c9eb78a0884214f9a494)]
677
718
  - test: remove useless code [valentinab25 - [`2c14b0c`](https://github.com/eea/volto-eea-design-system/commit/2c14b0ce4596cfc11a81b9762677596d1861acfe)]
678
719
  ### [1.13.2](https://github.com/eea/volto-eea-design-system/compare/1.13.1...1.13.2) - 13 June 2023
@@ -711,6 +752,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
711
752
 
712
753
  #### :house: Internal changes
713
754
 
755
+ - chore: [JENKINS] Deprecate circularity website [valentinab25 - [`fb2b166`](https://github.com/eea/volto-eea-design-system/commit/fb2b166d64f95a1c183901abfe0fe0254d1bbc7a)]
714
756
 
715
757
  #### :house: Documentation changes
716
758
 
@@ -1044,6 +1086,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1044
1086
 
1045
1087
  - Release 1.0.0-beta.5 [Alin Voinea - [`e4417e1`](https://github.com/eea/volto-eea-design-system/commit/e4417e121477511c350ae3fbe4e70aadb445ed86)]
1046
1088
  - better useOnScreen hook [Andrei Grigore - [`c214b6b`](https://github.com/eea/volto-eea-design-system/commit/c214b6b76443f81c795ce2f3aa457562ec088b30)]
1089
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`b227cf8`](https://github.com/eea/volto-eea-design-system/commit/b227cf8a8c44b9d91e9fda8a7999fb0a42bacdca)]
1047
1090
  - 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)]
1048
1091
  - prettier [David Ichim - [`a7f8384`](https://github.com/eea/volto-eea-design-system/commit/a7f838470c1bcc4e2be115d514d92a1b686a5e9b)]
1049
1092
  - fixed less build failure due to changes in footer.less [David Ichim - [`190bc8c`](https://github.com/eea/volto-eea-design-system/commit/190bc8cfa88191b45808f1e27c6e2737ee3d15b1)]
@@ -1114,6 +1157,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1114
1157
 
1115
1158
  #### :house: Internal changes
1116
1159
 
1160
+ - chore(docusaurus): ignore website/.yarn [Giorgos Stamatis - [`0b33ffd`](https://github.com/eea/volto-eea-design-system/commit/0b33ffd1dda61b126e3cc5ff48888124d6aee41b)]
1117
1161
  - style(header): react syntax fix [Antonis Tarantilis - [`3add127`](https://github.com/eea/volto-eea-design-system/commit/3add1271c785a92bea0ef925d7bc562cef1e0d92)]
1118
1162
 
1119
1163
  #### :house: Documentation changes
@@ -1310,6 +1354,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1310
1354
 
1311
1355
  - Release 1.0.0-alpha.10 [Alin Voinea - [`7014d08`](https://github.com/eea/volto-eea-design-system/commit/7014d080ce114bd0bc039abeecbd7229333b0971)]
1312
1356
  - Add variable definitions [kreafox - [`293fe65`](https://github.com/eea/volto-eea-design-system/commit/293fe65e2f24e6290e1286229169a77f9be4750e)]
1357
+ - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`ef58a6f`](https://github.com/eea/volto-eea-design-system/commit/ef58a6f5ad8deea26b1395a86778fe1159b7617b)]
1313
1358
  - Back to dev [Alin Voinea - [`31d4616`](https://github.com/eea/volto-eea-design-system/commit/31d461662b9184a7bbe190e86f3c47fab39229fe)]
1314
1359
  ### [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
1315
1360
 
@@ -1367,6 +1412,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1367
1412
  - bump package version [David Ichim - [`b4628be`](https://github.com/eea/volto-eea-design-system/commit/b4628bed134abc76e38a243d4e98143e19cef989)]
1368
1413
  - 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)]
1369
1414
  - (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)]
1415
+ - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`c4769e9`](https://github.com/eea/volto-eea-design-system/commit/c4769e987d525f5dcafac8e6cf8a89fd8111667d)]
1370
1416
  - test(Jenkins): Run tests and cypress with latest canary @plone/volto [Alin Voinea - [`92feea0`](https://github.com/eea/volto-eea-design-system/commit/92feea09796c9ef0530f65fa1d34139905133215)]
1371
1417
  - Proof reading page header section [ichim-david - [`230239e`](https://github.com/eea/volto-eea-design-system/commit/230239e1b22734fb8606656985bc5e513731e244)]
1372
1418
  ### [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
@@ -1398,6 +1444,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1398
1444
  #### :hammer_and_wrench: Others
1399
1445
 
1400
1446
  - Release 1.0.0-alpha.7 [Alin Voinea - [`7e66bcc`](https://github.com/eea/volto-eea-design-system/commit/7e66bcc296b389bc55073e7f99681534977dce3a)]
1447
+ - Add Sonarqube tag using cca-frontend addons list [EEA Jenkins - [`ce47e9b`](https://github.com/eea/volto-eea-design-system/commit/ce47e9b163bcb4eda988e3a87718b54ffbd3f99f)]
1401
1448
  - added back descriptionDistance variable until package release [David Ichim - [`3af811a`](https://github.com/eea/volto-eea-design-system/commit/3af811a8d86a132e16de118697ba5a4302a8a4da)]
1402
1449
  - Back to dev [Alin Voinea - [`cb531c9`](https://github.com/eea/volto-eea-design-system/commit/cb531c933c907bdbb88c9de0f1df2eb7ce899a4c)]
1403
1450
  - Proper paths if the package is not installed, but in development [Tiberiu Ichim - [`7a2655f`](https://github.com/eea/volto-eea-design-system/commit/7a2655f7cf9d3c687f172eefcf2b4cff4b12f832)]
@@ -1485,6 +1532,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1485
1532
  #### :hammer_and_wrench: Others
1486
1533
 
1487
1534
  - 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)]
1535
+ - Upgrade Jenkinsfile storybook to yarn 3 [Alin Voinea - [`d20de8d`](https://github.com/eea/volto-eea-design-system/commit/d20de8d6e21a14660b7b5125a80218a8a6f19e62)]
1488
1536
  - Back to dev [Alin Voinea - [`563fbc5`](https://github.com/eea/volto-eea-design-system/commit/563fbc5fac0d4b0295690d0a3a4e04271753f18a)]
1489
1537
  - perf(docusaurus): added remixicon and roboto locally [Giorgos Stamatis - [`b67b1a7`](https://github.com/eea/volto-eea-design-system/commit/b67b1a72bc9cdc7c62a25967e81b430f8b62d558)]
1490
1538
  ### [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
@@ -1577,6 +1625,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1577
1625
  - modified left value of full width classes with toolbars [David Ichim - [`70d82d4`](https://github.com/eea/volto-eea-design-system/commit/70d82d47fbc2c00a3a709de0d5c087c8443a1eae)]
1578
1626
  - WIP settings column grid width when using full size class [David Ichim - [`affc7ac`](https://github.com/eea/volto-eea-design-system/commit/affc7ac99527aa92d5a192d90dc8c9ec46a66404)]
1579
1627
  - fix eslint [Miu Razvan - [`30c52e4`](https://github.com/eea/volto-eea-design-system/commit/30c52e4eb443555ca44c1b35df064e73d52c0a8b)]
1628
+ - Add Sonarqube tag using circularity-frontend addons list [EEA Jenkins - [`76a41c7`](https://github.com/eea/volto-eea-design-system/commit/76a41c786995fd54afe4d1c345de939f683ffa70)]
1580
1629
  - 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)]
1581
1630
  - clean up [Miu Razvan - [`89f3cb3`](https://github.com/eea/volto-eea-design-system/commit/89f3cb33d70a14806a953f0acd1807e94169ee5c)]
1582
1631
  - Feature(container): flexible container size #260 from eea/feature-flexible-container [ichim-david - [`8f84c5b`](https://github.com/eea/volto-eea-design-system/commit/8f84c5b67afe9cbe01b2a44a8f92a9a554e1036a)]
@@ -1678,6 +1727,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1678
1727
 
1679
1728
  #### :nail_care: Enhancements
1680
1729
 
1730
+ - change(jenkins): added yarn policy for storybook building [ichim-david - [`3d1b844`](https://github.com/eea/volto-eea-design-system/commit/3d1b844efeea40b99c00c9aa97089e0a0be58a57)]
1681
1731
  - change(docusaurus): typography updates [ichim-david - [`60a93a4`](https://github.com/eea/volto-eea-design-system/commit/60a93a4aece4e478ae13c2dfe697fd3703aa178a)]
1682
1732
  - change(accordion): allow customization of accordion title with css variables [David Ichim - [`15e7d27`](https://github.com/eea/volto-eea-design-system/commit/15e7d27f02c640df582f51a51ef36e645723f842)]
1683
1733
  - 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)]
@@ -1712,6 +1762,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1712
1762
  #### :hammer_and_wrench: Others
1713
1763
 
1714
1764
  - Merge pull request #243 from eea/develop [ichim-david - [`576564c`](https://github.com/eea/volto-eea-design-system/commit/576564ce395ee6ac9e74bcb19d5c4f0b4cd3c33b)]
1765
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`4a5be6e`](https://github.com/eea/volto-eea-design-system/commit/4a5be6eec78dae230626e61ea2c77e7f3c62510d)]
1715
1766
  - Back to dev [Alin Voinea - [`b251255`](https://github.com/eea/volto-eea-design-system/commit/b251255a7ed14d8290717726d86eaf54b87aa2d4)]
1716
1767
  ### [0.9.0](https://github.com/eea/volto-eea-design-system/compare/0.8.1...0.9.0) - 19 September 2022
1717
1768
 
@@ -2467,6 +2518,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2467
2518
  #### :hammer_and_wrench: Others
2468
2519
 
2469
2520
  - prettier changes [David Ichim - [`134da52`](https://github.com/eea/volto-eea-design-system/commit/134da52549b9d5eac5a12b7ad3005073500ac2c4)]
2521
+ - [JENKINSFILE] remove debug, add error per stage [valentinab25 - [`903eecd`](https://github.com/eea/volto-eea-design-system/commit/903eecdb6bcbb8d73cff5e447d80c85e2a2c906d)]
2522
+ - [JENKINSFILE] mention comment author in comment [valentinab25 - [`39a26aa`](https://github.com/eea/volto-eea-design-system/commit/39a26aa1ff0f35e93e8df9f442c29c5ab79ff493)]
2523
+ - [JENKINSFILE] format PR comments [valentinab25 - [`739438c`](https://github.com/eea/volto-eea-design-system/commit/739438c64950c745d630d1998314a2bed595b23a)]
2524
+ - [JENKINSFILE] Add failure comment, no jenkins fail [valentinab25 - [`c325bf1`](https://github.com/eea/volto-eea-design-system/commit/c325bf14f3fb0da150f2a56cda0a9f03d8d8a628)]
2470
2525
  ### [0.2.3](https://github.com/eea/volto-eea-design-system/compare/0.2.2...0.2.3) - 29 April 2022
2471
2526
 
2472
2527
  #### :rocket: New Features
@@ -2891,6 +2946,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2891
2946
  - set profile section overflow to auto [nileshgulia1 - [`71ab47f`](https://github.com/eea/volto-eea-design-system/commit/71ab47f89a433233c14b394c3824e607dd18a393)]
2892
2947
  - remove segment custom width [nileshgulia1 - [`1d3ea40`](https://github.com/eea/volto-eea-design-system/commit/1d3ea40f98bbdc1eab95b4da739a659b5e29ec16)]
2893
2948
  - fix profile section css overflow [nileshgulia1 - [`db5126f`](https://github.com/eea/volto-eea-design-system/commit/db5126fc902e191d1e18fb7e4c54877c8d8786e6)]
2949
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`647a6e3`](https://github.com/eea/volto-eea-design-system/commit/647a6e3e2093f2c4884c356eb148453551c8f33f)]
2894
2950
  - fix warning related to proptype [nileshgulia1 - [`946c6c6`](https://github.com/eea/volto-eea-design-system/commit/946c6c6bc9dece0985ae4b9f9cad6ece2be0ff2c)]
2895
2951
  - removed override already present in card.less [ichim-david - [`50d2ab2`](https://github.com/eea/volto-eea-design-system/commit/50d2ab26f85c8f409da02ec128cc1df34848ca69)]
2896
2952
  - update [Miu Razvan - [`bbcab87`](https://github.com/eea/volto-eea-design-system/commit/bbcab87ef4c8475f347f0daf4ab7e428e69c2316)]
@@ -2977,6 +3033,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2977
3033
  - remove segment custom width [nileshgulia1 - [`4a60d84`](https://github.com/eea/volto-eea-design-system/commit/4a60d84d5fe76578b7760aa1dad6eef9a20916a7)]
2978
3034
  - Reformat header.less [Tiberiu Ichim - [`1f99dfc`](https://github.com/eea/volto-eea-design-system/commit/1f99dfc82c165304ca5600ce5138c1233615ab69)]
2979
3035
  - fix profile section css overflow [nileshgulia1 - [`8fd2654`](https://github.com/eea/volto-eea-design-system/commit/8fd265413149f1b5e033dffa0fbcb5ef5ecad15f)]
3036
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`6051724`](https://github.com/eea/volto-eea-design-system/commit/6051724437a38675e659c797bb5586ef81286ec0)]
2980
3037
  - fix warning related to proptype [nileshgulia1 - [`824b9be`](https://github.com/eea/volto-eea-design-system/commit/824b9beff77aae139882cd50a1d670a02ec6f723)]
2981
3038
  - refactor breadcrumbs component, make it functional and customizable [nileshgulia1 - [`4ec374e`](https://github.com/eea/volto-eea-design-system/commit/4ec374e20565eb0a5aed0ff67a02cd6f77eba1f0)]
2982
3039
  - removed override already present in card.less [ichim-david - [`93c4e5a`](https://github.com/eea/volto-eea-design-system/commit/93c4e5aac9cc85ff2cc6c04180f6655d5f5616dc)]
@@ -3545,6 +3602,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
3545
3602
  - Refs #142010 - Optimize Volto-addons gitflow pipelines [valentinab25 - [`3af46d2`](https://github.com/eea/volto-eea-design-system/commit/3af46d2b14fa0b1ef44736f25b0f9ac93b23d18d)]
3546
3603
  - 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)]
3547
3604
  - 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)]
3605
+ - Add Sonarqube tag using ims-frontend addons list [EEA Jenkins - [`8d657d0`](https://github.com/eea/volto-eea-design-system/commit/8d657d056cde5163cfe90ac66bc973f55d82e5e9)]
3548
3606
  ### [0.1.0](https://github.com/eea/volto-eea-design-system/compare/0.0.1...0.1.0) - 17 November 2021
3549
3607
 
3550
3608
  #### :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.2",
3
+ "version": "1.60.1",
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,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}>
@@ -1,9 +1,15 @@
1
1
  import React, { useEffect } from 'react';
2
- import { Container, Input, List } from 'semantic-ui-react';
2
+ import isArray from 'lodash/isArray';
3
+ import isPlainObject from 'lodash/isPlainObject';
4
+ import { useSelector } from 'react-redux';
5
+ import { Container, Input, List, Image } from 'semantic-ui-react';
3
6
  import { withRouter, Link } from 'react-router-dom';
4
7
  import { useClickOutside } from '@eeacms/volto-eea-design-system/helpers';
5
8
  import { handleEnterKeyPress } from '@eeacms/volto-eea-design-system/helpers';
6
9
 
10
+ import searchSVG from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/search-line.svg';
11
+ import aiSearchIcon from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/ai-search.svg';
12
+
7
13
  const getRandomItems = (arr, max) => {
8
14
  return (
9
15
  arr?.slice(0, max).map(function () {
@@ -12,6 +18,51 @@ const getRandomItems = (arr, max) => {
12
18
  );
13
19
  };
14
20
 
21
+ const getSearchInput = (config, location) => {
22
+ return (
23
+ config.filter(
24
+ (v) =>
25
+ v.type === 'search-input' &&
26
+ location.pathname.match(v.matchpath ? v.matchpath : v.path),
27
+ )[0] ||
28
+ config.filter((v) => v.type === 'search-input')[0] ||
29
+ {}
30
+ );
31
+ };
32
+
33
+ const serializeAction = (action, location) => {
34
+ if (action.type === 'info' && isArray(action.content)) {
35
+ const matchedContent =
36
+ action.content.filter((c) => {
37
+ const path = c.matchpath ? c.matchpath : c.path;
38
+ return path && location.pathname.match(path);
39
+ })[0] || action.content[0];
40
+ return {
41
+ type: 'info',
42
+ content: (isPlainObject(matchedContent) && matchedContent.text) || null,
43
+ };
44
+ }
45
+ return action;
46
+ };
47
+
48
+ function ActionItem({ action }) {
49
+ if (action.type === 'info') {
50
+ return <div>{action.content}</div>;
51
+ }
52
+ if (action.type === 'button-link') {
53
+ return (
54
+ <a
55
+ href={action.url}
56
+ className="ui button white inverted"
57
+ title={action.title}
58
+ >
59
+ {action.title}
60
+ </a>
61
+ );
62
+ }
63
+ return null;
64
+ }
65
+
15
66
  function HeaderSearchPopUp({
16
67
  history,
17
68
  location,
@@ -21,27 +72,31 @@ function HeaderSearchPopUp({
21
72
  triggerRefs = [],
22
73
  }) {
23
74
  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];
75
+
76
+ const searchInput = getSearchInput(headerSearchBox, location);
77
+ const actions =
78
+ headerSearchBox
79
+ .filter((v) => ['info', 'button-link'].includes(v.type))
80
+ .map((v) => serializeAction(v, location)) || [];
30
81
 
31
82
  const {
32
83
  path = '',
33
- buttonTitle,
34
- buttonUrl,
35
- description,
36
84
  placeholder = 'Search',
37
- searchSuggestions,
38
- } = activeView || {};
39
- const { suggestionsTitle, suggestions, maxToShow } = searchSuggestions || {};
85
+ suggestionsTitle,
86
+ maxToShow,
87
+ suggestions,
88
+ } = searchInput;
40
89
 
41
90
  const [visibleSuggestions, setVisibileSuggestions] = React.useState(
42
91
  getRandomItems(suggestions, maxToShow),
43
92
  );
44
93
 
94
+ const headerSettings = useSelector(
95
+ (state) => state.eeaSettings?.data?.header || {},
96
+ );
97
+
98
+ const searchIcon = headerSettings.useAISearchIcon ? aiSearchIcon : searchSVG;
99
+
45
100
  useEffect(() => {
46
101
  setVisibileSuggestions(getRandomItems(suggestions, maxToShow));
47
102
  }, [maxToShow, suggestions]);
@@ -77,18 +132,27 @@ function HeaderSearchPopUp({
77
132
  ref={searchInputRef}
78
133
  className="icon search"
79
134
  action={{
80
- className: 'icon ri-search-line',
135
+ className: 'icon',
81
136
  'aria-label': 'Submit search',
82
137
  onClick: onSubmit,
83
138
  onKeyDown: (event) => {
84
139
  handleEnterKeyPress(event, onSubmit);
85
140
  },
141
+ children: (
142
+ <Image
143
+ src={searchIcon}
144
+ alt="Global search"
145
+ height={45}
146
+ width={45}
147
+ className="header-search-icon"
148
+ />
149
+ ),
86
150
  }}
87
151
  placeholder={placeholder}
88
152
  fluid
89
153
  />
90
154
  </form>
91
- {searchSuggestions && suggestions.length > 0 && (
155
+ {suggestions?.length > 0 && (
92
156
  <div className="search-suggestions">
93
157
  {suggestionsTitle && <h4>{suggestionsTitle}</h4>}
94
158
 
@@ -109,17 +173,12 @@ function HeaderSearchPopUp({
109
173
  </div>
110
174
  )}
111
175
  </Container>
112
- {buttonTitle && (
176
+ {actions?.length > 0 && (
113
177
  <div className="advanced-search">
114
178
  <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>
179
+ {actions.map((action, i) => (
180
+ <ActionItem key={i} action={action} />
181
+ ))}
123
182
  </Container>
124
183
  </div>
125
184
  )}
@@ -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();
@@ -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>