@eeacms/volto-tabs-block 6.0.0 → 6.0.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,7 +4,51 @@ 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
- ### [6.0.0](https://github.com/eea/volto-tabs-block/compare/5.1.0...6.0.0) - 26 September 2023
7
+ ### [6.0.1](https://github.com/eea/volto-tabs-block/compare/6.0.0...6.0.1) - 29 September 2023
8
+
9
+ #### :bug: Bug Fixes
10
+
11
+ - fix(edit): block description due to typo [David Ichim - [`942dbb4`](https://github.com/eea/volto-tabs-block/commit/942dbb47230ff115d5dfc3387d4e699f0b23c152)]
12
+
13
+ #### :nail_care: Enhancements
14
+
15
+ - change(tabs): refactor accordion template to use accordion classes refs #256605 #63 from eea/fix-inverted-css [ichim-david - [`5d29463`](https://github.com/eea/volto-tabs-block/commit/5d29463ff58fec4cddefc874369d70e5165923eb)]
16
+ - change(tabs): removed styling for RRT_accordion regarding colors since the options were removed [David Ichim - [`23e33b1`](https://github.com/eea/volto-tabs-block/commit/23e33b181dfd40878d4f987d236aa11cf06898a2)]
17
+ - change(tabs): removed theme styling from package as we already have the styling in volto-eea-design-system [David Ichim - [`d4280b1`](https://github.com/eea/volto-tabs-block/commit/d4280b162f3d572d3095a39d0febccc22a750df5)]
18
+ - change(responsive-tabs): removed rtabs styling, pointing and secondary option from accordion template [David Ichim - [`e084ccc`](https://github.com/eea/volto-tabs-block/commit/e084ccc721e89d62496dabacb068a159ba267cf9)]
19
+
20
+ #### :house: Documentation changes
21
+
22
+ - docs: Update README and DEVELOP [Alin Voinea - [`e35251d`](https://github.com/eea/volto-tabs-block/commit/e35251d1891faf8a9ac801a965c9c4f15669a927)]
23
+
24
+ #### :hammer_and_wrench: Others
25
+
26
+ - test: increase cypress timeout [ana-oprea - [`e3175ba`](https://github.com/eea/volto-tabs-block/commit/e3175bad72169d345dfde75528cf9e15839622a8)]
27
+ - restore test to bump test coverage [David Ichim - [`fbc2291`](https://github.com/eea/volto-tabs-block/commit/fbc22910a4cb8c61f383f529a47faf1b8fbed6be)]
28
+ - end cypress tests with contains statements [David Ichim - [`8bae801`](https://github.com/eea/volto-tabs-block/commit/8bae801c3a7a396b634008af131d4bf40e5736fc)]
29
+ - comment cypress flaky test for now [David Ichim - [`3e679be`](https://github.com/eea/volto-tabs-block/commit/3e679beefdaf061fb114bf3cfb24a6e660cb32b3)]
30
+ - added pointing and secondary tab options also to the accordion responsive template for backward compatibility [David Ichim - [`7a03e3d`](https://github.com/eea/volto-tabs-block/commit/7a03e3d1cd24c281a30c7d02339e1b7122a3f321)]
31
+ - removed color property condition regarding theme colors as that concerns only the accordion template [David Ichim - [`a6f975a`](https://github.com/eea/volto-tabs-block/commit/a6f975affbd85c326f889665902d7c0bf38d3111)]
32
+ - break basic block test into 2 tests since we tested the carousel template [David Ichim - [`ef2c02b`](https://github.com/eea/volto-tabs-block/commit/ef2c02b1c062227631308ea66ad97a9a5bed6306)]
33
+ - modified accordion template test to catch more conditions thus increasing test coverage [David Ichim - [`2345325`](https://github.com/eea/volto-tabs-block/commit/2345325ff0070b845226bf59612a24cc0e2815ac)]
34
+ - add tabs-secondary-variant class tabs for default and accordion variant [David Ichim - [`ff9d558`](https://github.com/eea/volto-tabs-block/commit/ff9d558055ebb51b2979be5aa5d1fa2aacc859cc)]
35
+ - typo fixing in carousel template [David Ichim - [`56341d0`](https://github.com/eea/volto-tabs-block/commit/56341d026eee7352280c4433a908e34e2186d161)]
36
+ - lint fix [David Ichim - [`fb5b681`](https://github.com/eea/volto-tabs-block/commit/fb5b681e5d3821bdf8f8957ff6d9bf97998e4273)]
37
+ - bump package version due to major changes to themes functionality [David Ichim - [`c889732`](https://github.com/eea/volto-tabs-block/commit/c8897320c1548b8242653116804f408681f5ffc7)]
38
+ - lint fix [David Ichim - [`2ef951f`](https://github.com/eea/volto-tabs-block/commit/2ef951fbe231f467dc78693d737d332125ad2a3a)]
39
+ - bring back logic that reads the width of the component to determine if we have accordion or tabs [David Ichim - [`807ce46`](https://github.com/eea/volto-tabs-block/commit/807ce46647ad78eaa514b5951d3dc950e43738a6)]
40
+ - removed extra scrollbar when editing the tab name [David Ichim - [`76f8702`](https://github.com/eea/volto-tabs-block/commit/76f870265017ae066c281b4f4bd1bb9a9eee266b)]
41
+ - bring back resize detector in order to correctly get the re-render of tab to accordion [David Ichim - [`0d72f04`](https://github.com/eea/volto-tabs-block/commit/0d72f0417d0c6a9f049a6affda65adab7fda3f4a)]
42
+ - Update 01-block-tabs.cy.js [dobri1408 - [`85a0fdb`](https://github.com/eea/volto-tabs-block/commit/85a0fdb1582df87f731ab33402e2a20d2f4a13b5)]
43
+ - test accordion template [Dobricean Ioan Dorian - [`58ba666`](https://github.com/eea/volto-tabs-block/commit/58ba666b50e6f5a549f105c772127380ab0b5b27)]
44
+ - add test [Dobricean Ioan Dorian - [`02b47d0`](https://github.com/eea/volto-tabs-block/commit/02b47d0ecabf4f8b84c7fc6b8ed8b2411b9e3965)]
45
+ - fix stylelint [Dobricean Ioan Dorian - [`a9c0c2d`](https://github.com/eea/volto-tabs-block/commit/a9c0c2d1937655734c6fbed4265da1cb9275da65)]
46
+ - remove resizedetector [Dobricean Ioan Dorian - [`37cf3c5`](https://github.com/eea/volto-tabs-block/commit/37cf3c5ab516c965aade05f57acf89eb71993017)]
47
+ - tabs [Dobricean Ioan Dorian - [`e6a1a45`](https://github.com/eea/volto-tabs-block/commit/e6a1a45640203b55eac96386529964b20ac11311)]
48
+ - remove RRT_accordion styles [Dobricean Ioan Dorian - [`d82887a`](https://github.com/eea/volto-tabs-block/commit/d82887a89c2e65360c8cb08c790e9a2c211222c4)]
49
+ - WIP using accordion classes instead of relying on styling menu as accordion [David Ichim - [`e50ef8b`](https://github.com/eea/volto-tabs-block/commit/e50ef8b7fed8a8aa96ee1a013efff51c856f3a93)]
50
+ - fix css inverted [Dobricean Ioan Dorian - [`fdf86b5`](https://github.com/eea/volto-tabs-block/commit/fdf86b5db107f506c5d914c0d91fbc190fc2f35e)]
51
+ ## [6.0.0](https://github.com/eea/volto-tabs-block/compare/5.1.0...6.0.0) - 26 September 2023
8
52
 
9
53
  #### :rocket: New Features
10
54
 
@@ -84,6 +128,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
84
128
 
85
129
  #### :house: Internal changes
86
130
 
131
+ - chore: [JENKINS] Deprecate circularity website [valentinab25 - [`820aaa9`](https://github.com/eea/volto-tabs-block/commit/820aaa963e978a893a23b77f694bb011f3d768c1)]
87
132
 
88
133
  #### :hammer_and_wrench: Others
89
134
 
@@ -174,6 +219,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
174
219
 
175
220
  #### :hammer_and_wrench: Others
176
221
 
222
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`52bc1b0`](https://github.com/eea/volto-tabs-block/commit/52bc1b0fbd4611173b8ca9dc2cf4033b31474420)]
177
223
  ## [4.0.0](https://github.com/eea/volto-tabs-block/compare/3.0.1...4.0.0) - 10 March 2023
178
224
 
179
225
  #### :house: Internal changes
@@ -184,7 +230,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
184
230
  #### :hammer_and_wrench: Others
185
231
 
186
232
  - Release 4.0.0 [Alin Voinea - [`8fc4cc9`](https://github.com/eea/volto-tabs-block/commit/8fc4cc9d8dc71e623e6586b95871cb3b98dc385f)]
233
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`22d5bdc`](https://github.com/eea/volto-tabs-block/commit/22d5bdc1b3579cc46c73ce855041ca09154eb502)]
234
+ - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`fde4324`](https://github.com/eea/volto-tabs-block/commit/fde4324f962cde8e8de0d76a44bee4b67d216bf8)]
235
+ - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`9175e47`](https://github.com/eea/volto-tabs-block/commit/9175e470d793edc63b62a99940aed25dd45f3713)]
187
236
  - test(Jenkins): Run tests and cypress with latest canary @plone/volto [Alin Voinea - [`3348950`](https://github.com/eea/volto-tabs-block/commit/334895036f8e367281abb35a20879c32dfbfc292)]
237
+ - Add Sonarqube tag using cca-frontend addons list [EEA Jenkins - [`39bfb39`](https://github.com/eea/volto-tabs-block/commit/39bfb39fa6e8483e639491ff998293e758ac6384)]
238
+ - yarn 3 [Alin Voinea - [`7e98df5`](https://github.com/eea/volto-tabs-block/commit/7e98df59669d71945be461e86e282b913538b805)]
239
+ - Add Sonarqube tag using demo-kitkat-frontend addons list [EEA Jenkins - [`079d7a4`](https://github.com/eea/volto-tabs-block/commit/079d7a43480e92fe280a9372399ff2d4d28537ae)]
188
240
  ### [3.0.1](https://github.com/eea/volto-tabs-block/compare/3.0.0...3.0.1) - 16 November 2022
189
241
 
190
242
  #### :hammer_and_wrench: Others
@@ -208,7 +260,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
208
260
 
209
261
  #### :hammer_and_wrench: Others
210
262
 
263
+ - Add Sonarqube tag using marine-frontend addons list [EEA Jenkins - [`a00e419`](https://github.com/eea/volto-tabs-block/commit/a00e419aef4c82a25f277f5e25e3d512c7838264)]
211
264
  - lint fix [David Ichim - [`c0a898c`](https://github.com/eea/volto-tabs-block/commit/c0a898c54461478baed2ac2f149ae580d4c89aeb)]
265
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`3b284e6`](https://github.com/eea/volto-tabs-block/commit/3b284e65e0eafa9b5ad8c92b4cb77628ffcc8103)]
212
266
  ### [2.2.0](https://github.com/eea/volto-tabs-block/compare/2.1.0...2.2.0) - 25 August 2022
213
267
 
214
268
  #### :hammer_and_wrench: Others
@@ -224,6 +278,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
224
278
 
225
279
  - Release 2.1.0 [Alin Voinea - [`3cdfa30`](https://github.com/eea/volto-tabs-block/commit/3cdfa30d4d03d864be8ad63f0648b4717298734a)]
226
280
  - Squashed commit of the following: [Alin Voinea - [`ca241f5`](https://github.com/eea/volto-tabs-block/commit/ca241f56a96817679a1948154e2a8cc0e17b96fe)]
281
+ - Add Sonarqube tag using circularity-frontend addons list [EEA Jenkins - [`68ea5a6`](https://github.com/eea/volto-tabs-block/commit/68ea5a6b971fc36840cf5716a04f68316b229b2b)]
227
282
  ### [2.0.2](https://github.com/eea/volto-tabs-block/compare/2.0.1...2.0.2) - 16 June 2022
228
283
 
229
284
  ### [2.0.1](https://github.com/eea/volto-tabs-block/compare/2.0.0...2.0.1) - 10 June 2022
@@ -267,6 +322,8 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
267
322
  - Let theme addon to set default values for default template schema [Miu Razvan - [`55f148d`](https://github.com/eea/volto-tabs-block/commit/55f148d1a95417f8a0b55681ce250acde8463c1c)]
268
323
  - Render pane as container if tabs-block has full-width class [Miu Razvan - [`bbffb96`](https://github.com/eea/volto-tabs-block/commit/bbffb96b908476ddee447af3ce79bafb1a12f9a8)]
269
324
  - Refactor default template [Miu Razvan - [`58eff52`](https://github.com/eea/volto-tabs-block/commit/58eff5281adb08a5f8fe6d21fd43330252012277)]
325
+ - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`72a6735`](https://github.com/eea/volto-tabs-block/commit/72a6735cbbc0e7d57b4bb7ea83fea9becc317018)]
326
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`e928da1`](https://github.com/eea/volto-tabs-block/commit/e928da1df7e4680bd4be9b5d46406800d721b8c5)]
270
327
  ### [1.2.12](https://github.com/eea/volto-tabs-block/compare/1.2.11...1.2.12) - 21 January 2022
271
328
 
272
329
  ### [1.2.11](https://github.com/eea/volto-tabs-block/compare/1.2.10...1.2.11) - 4 January 2022
@@ -281,11 +338,17 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
281
338
 
282
339
  #### :hammer_and_wrench: Others
283
340
 
341
+ - Add Sonarqube tag using freshwater-frontend addons list [EEA Jenkins - [`cd2e2ac`](https://github.com/eea/volto-tabs-block/commit/cd2e2ac1d127bfc688ecf16e17734603ab727a34)]
284
342
  ### [1.2.8](https://github.com/eea/volto-tabs-block/compare/1.2.7...1.2.8) - 10 December 2021
285
343
 
286
344
  #### :hammer_and_wrench: Others
287
345
 
288
346
  - Refs #142010 - Optimize Volto-addons gitflow pipelines [valentinab25 - [`d10c0b3`](https://github.com/eea/volto-tabs-block/commit/d10c0b3d35d25c530d19eebde38dfe5da8fda01b)]
347
+ - Add Sonarqube tag using industry-frontend addons list [EEA Jenkins - [`1a7187f`](https://github.com/eea/volto-tabs-block/commit/1a7187f10b2bd9e1307dabf51823f63ccd766864)]
348
+ - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`72a7550`](https://github.com/eea/volto-tabs-block/commit/72a755025b38e1d8dd7fe206273a70585e4b9ac8)]
349
+ - Add Sonarqube tag using forests-frontend addons list [EEA Jenkins - [`022b277`](https://github.com/eea/volto-tabs-block/commit/022b2779a5d7fd7217c2d8a559eafab0bd86ce23)]
350
+ - Add Sonarqube tag using sustainability-frontend addons list [EEA Jenkins - [`84c9bea`](https://github.com/eea/volto-tabs-block/commit/84c9bea7a0aba2fe9ef9713e7131de6da6e0bcce)]
351
+ - Add Sonarqube tag using ims-frontend addons list [EEA Jenkins - [`020aa97`](https://github.com/eea/volto-tabs-block/commit/020aa97bc70a643ea3857566c5a1dc3a5200c2be)]
289
352
  ### [1.2.7](https://github.com/eea/volto-tabs-block/compare/1.2.6...1.2.7) - 27 August 2021
290
353
 
291
354
  #### :hammer_and_wrench: Others
@@ -302,6 +365,8 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
302
365
 
303
366
  - Move less import in View instead of Edit [Tiberiu Ichim - [`84aeff0`](https://github.com/eea/volto-tabs-block/commit/84aeff04a980076f54687c546691d37b6e790478)]
304
367
  - gitignore tweaks [Tiberiu Ichim - [`f4c993d`](https://github.com/eea/volto-tabs-block/commit/f4c993d004b126f08f16651ab9460546fa9e9cad)]
368
+ - Add Sonarqube tag using frontend addons list [EEA Jenkins - [`865906a`](https://github.com/eea/volto-tabs-block/commit/865906a0deb261d44cc23e26bfd2d1dd0e319640)]
369
+ - Add Sonarqube tag using frontend addons list [EEA Jenkins - [`5383861`](https://github.com/eea/volto-tabs-block/commit/538386100adbc868e693c1c2a5ba13461307ffee)]
305
370
  - Style update [razvanMiu - [`323aaaf`](https://github.com/eea/volto-tabs-block/commit/323aaafcad01d8fdf0e713a1fc254ae9fe319f43)]
306
371
  - Fix 'scroll to' feature on carousel [razvanMiu - [`16c6a08`](https://github.com/eea/volto-tabs-block/commit/16c6a08f6db687542ea38e07a92b265e592f6173)]
307
372
  - Better accesibility [razvanMiu - [`3511611`](https://github.com/eea/volto-tabs-block/commit/351161197270a4807f01d85a7055cbaadae72f8e)]
package/DEVELOP.md CHANGED
@@ -16,26 +16,26 @@
16
16
 
17
17
  1. Go to http://localhost:3000
18
18
 
19
- 1. Happy hacking!
19
+ 1. Initialize git hooks
20
20
 
21
21
  ```Bash
22
- cd src/addons/volto-tabs-block/
22
+ yarn prepare
23
23
  ```
24
24
 
25
+ 1. Happy hacking!
26
+
25
27
  ### Or add @eeacms/volto-tabs-block to your Volto project
26
28
 
27
29
  Before starting make sure your development environment is properly set. See [Volto Developer Documentation](https://docs.voltocms.com/getting-started/install/)
28
30
 
29
31
  1. Make sure you have installed `yo`, `@plone/generator-volto` and `mrs-developer`
30
32
 
31
- $ npm install -g yo
32
- $ npm install -g @plone/generator-volto
33
- $ npm install -g mrs-developer
33
+ npm install -g yo @plone/generator-volto mrs-developer
34
34
 
35
35
  1. Create new volto app
36
36
 
37
- $ yo @plone/volto my-volto-project --addon @eeacms/volto-tabs-block
38
- $ cd my-volto-project
37
+ yo @plone/volto my-volto-project --addon @eeacms/volto-tabs-block --skip-install
38
+ cd my-volto-project
39
39
 
40
40
  1. Add the following to `mrs.developer.json`:
41
41
 
@@ -50,29 +50,26 @@ Before starting make sure your development environment is properly set. See [Vol
50
50
 
51
51
  1. Install
52
52
 
53
- $ yarn develop
54
- $ yarn
53
+ make develop
54
+ yarn
55
55
 
56
56
  1. Start backend
57
57
 
58
- $ docker pull plone
59
- $ docker run -d --name plone -p 8080:8080 -e SITE=Plone -e PROFILES="profile-plone.restapi:blocks" plone
58
+ docker run --pull always -it --rm --name plone -p 8080:8080 -e SITE=Plone plone/plone-backend
60
59
 
61
60
  ...wait for backend to setup and start - `Ready to handle requests`:
62
61
 
63
- $ docker logs -f plone
64
-
65
62
  ...you can also check http://localhost:8080/Plone
66
63
 
67
64
  1. Start frontend
68
65
 
69
- $ yarn start
66
+ yarn start
70
67
 
71
68
  1. Go to http://localhost:3000
72
69
 
73
70
  1. Happy hacking!
74
71
 
75
- $ cd src/addons/volto-tabs-block/
72
+ cd src/addons/volto-tabs-block/
76
73
 
77
74
  ## Cypress
78
75
 
package/README.md CHANGED
@@ -18,7 +18,11 @@
18
18
 
19
19
  ## Features
20
20
 
21
- ![Tabs](./docs/volto-tabs-block.gif)
21
+ #### IMPORTANT! Because this depends on @eeacms/volto-block-style, you should always load this addon as the last addon in Volto project configuration or after @eeacms/volto-block-style.
22
+
23
+ ###
24
+
25
+ ![Tabs](https://github.com/eea/volto-tabs-block/raw/master/docs/volto-tabs-block.gif)
22
26
 
23
27
  ## Getting started
24
28
 
@@ -41,25 +45,25 @@ Go to http://localhost:3000
41
45
 
42
46
  1. Start Volto frontend
43
47
 
44
- - If you already have a volto project, just update `package.json`:
48
+ * If you already have a volto project, just update `package.json`:
45
49
 
46
- ```JSON
47
- "addons": [
48
- "@eeacms/volto-tabs-block"
49
- ],
50
+ ```JSON
51
+ "addons": [
52
+ "@eeacms/volto-tabs-block"
53
+ ],
50
54
 
51
- "dependencies": {
52
- "@eeacms/volto-tabs-block": "*"
53
- }
54
- ```
55
+ "dependencies": {
56
+ "@eeacms/volto-tabs-block": "*"
57
+ }
58
+ ```
55
59
 
56
- - If not, create one:
60
+ * If not, create one:
57
61
 
58
- ```
59
- npm install -g yo @plone/generator-volto
60
- yo @plone/volto my-volto-project --canary --addon @eeacms/volto-tabs-block
61
- cd my-volto-project
62
- ```
62
+ ```
63
+ npm install -g yo @plone/generator-volto
64
+ yo @plone/volto my-volto-project --canary --addon @eeacms/volto-tabs-block
65
+ cd my-volto-project
66
+ ```
63
67
 
64
68
  1. Install new add-ons and restart Volto:
65
69
 
package/cypress.config.js CHANGED
@@ -2,7 +2,7 @@ const { defineConfig } = require('cypress');
2
2
 
3
3
  module.exports = defineConfig({
4
4
  viewportWidth: 1280,
5
- defaultCommandTimeout: 5000,
5
+ defaultCommandTimeout: 10000,
6
6
  chromeWebSecurity: false,
7
7
  reporter: 'junit',
8
8
  video: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-tabs-block",
3
- "version": "6.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "volto-tabs-block: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -15,7 +15,6 @@ import { TABS_BLOCK } from '@eeacms/volto-tabs-block/constants';
15
15
  import { withScrollToTarget } from '@eeacms/volto-tabs-block/hocs';
16
16
  import { getParentTabFromHash } from '@eeacms/volto-tabs-block/helpers';
17
17
  import noop from 'lodash/noop';
18
- import 'react-responsive-tabs/styles.css';
19
18
  import '@eeacms/volto-tabs-block/less/menu.less';
20
19
 
21
20
  const MenuItem = (props) => {
@@ -364,13 +363,18 @@ const Edit = (props) => {
364
363
  }}
365
364
  tabsWrapperClass={cx(
366
365
  props?.data?.accordionIconRight ? 'tabs-accordion-icon-right' : '',
367
- 'ui pointing secondary menu',
366
+ 'ui fluid menu tabs-secondary-variant',
368
367
  'tabs-accessibility',
369
- data?.theme ? `theme-${data?.theme}` : '',
368
+ data?.theme ? `${data?.theme}` : '',
370
369
  {
371
370
  inverted: getDataValue('menuInverted'),
372
371
  },
373
- 'ui fluid pointing secondary menu',
372
+ {
373
+ pointing: getDataValue('menuPointing'),
374
+ },
375
+ {
376
+ secondary: getDataValue('menuSecondary'),
377
+ },
374
378
  )}
375
379
  showMore={false}
376
380
  />
@@ -12,12 +12,14 @@ import { withScrollToTarget } from '@eeacms/volto-tabs-block/hocs';
12
12
  import { getParentTabFromHash } from '@eeacms/volto-tabs-block/helpers';
13
13
  import noop from 'lodash/noop';
14
14
 
15
- import 'react-responsive-tabs/styles.css';
15
+ import { withResizeDetector } from 'react-resize-detector';
16
+
16
17
  import '@eeacms/volto-tabs-block/less/menu.less';
17
18
 
18
19
  class Tab extends React.Component {
19
20
  constructor() {
20
21
  super();
22
+ this.animateId = null;
21
23
  this.state = {
22
24
  height: 0,
23
25
  };
@@ -25,11 +27,14 @@ class Tab extends React.Component {
25
27
 
26
28
  componentDidMount() {
27
29
  if (this.state.height === 0) {
28
- requestAnimationFrame(() => {
30
+ this.animateId = requestAnimationFrame(() => {
29
31
  this.setState({ height: 'auto' });
30
32
  });
31
33
  }
32
34
  }
35
+ componentWillUnmount() {
36
+ cancelAnimationFrame(this.animateId);
37
+ }
33
38
 
34
39
  render() {
35
40
  return (
@@ -54,9 +59,9 @@ const View = (props) => {
54
59
  tabs = {},
55
60
  activeTabIndex = 0,
56
61
  setActiveTab = noop,
62
+ width,
57
63
  id,
58
64
  } = props;
59
-
60
65
  const accordionConfig =
61
66
  config.blocks.blocksConfig[TABS_BLOCK].templates?.['accordion'] || {};
62
67
  const { icons, semanticIcon, transformWidth = 800 } = accordionConfig;
@@ -65,6 +70,10 @@ const View = (props) => {
65
70
  const [mounted, setMounted] = React.useState(false);
66
71
  const [hashTab, setHashTab] = React.useState(false);
67
72
  const [initialWidth, setInitialWidth] = React.useState(transformWidth);
73
+ const tabs_width = tabsContainer?.current?.state?.blockWidth || initialWidth;
74
+ const [isAccordion, setIsAccordion] = React.useState(
75
+ tabs_width < initialWidth,
76
+ );
68
77
 
69
78
  const schema = React.useMemo(
70
79
  () =>
@@ -103,7 +112,7 @@ const View = (props) => {
103
112
  size={icons.size}
104
113
  />
105
114
  )}
106
- {title || defaultTitle}{' '}
115
+ <span>{title || defaultTitle} </span>
107
116
  </>
108
117
  ),
109
118
  content: (
@@ -116,8 +125,13 @@ const View = (props) => {
116
125
  />
117
126
  ),
118
127
  key: tab,
119
- tabClassName: cx('ui button item title', { active }),
120
- panelClassName: cx('ui bottom attached segment tab', {
128
+ tabClassName: cx(
129
+ {
130
+ active,
131
+ },
132
+ isAccordion ? 'title accordion-title' : 'ui item title',
133
+ ),
134
+ panelClassName: cx('ui attached segment tab content', {
121
135
  active,
122
136
  }),
123
137
  };
@@ -135,6 +149,10 @@ const View = (props) => {
135
149
  );
136
150
  }, [mounted]);
137
151
 
152
+ React.useEffect(() => {
153
+ setIsAccordion(width <= initialWidth);
154
+ }, [width, initialWidth]);
155
+
138
156
  useLayoutEffect(() => {
139
157
  if (document.activeElement.role !== 'tab') return;
140
158
  if (
@@ -149,6 +167,7 @@ const View = (props) => {
149
167
  activeTabDiv.focus();
150
168
  }
151
169
  }, [activeTabIndex, id]);
170
+
152
171
  return (
153
172
  <div
154
173
  tabIndex="0"
@@ -182,13 +201,22 @@ const View = (props) => {
182
201
  }
183
202
  }}
184
203
  tabsWrapperClass={cx(
185
- props?.data?.accordionIconRight ? 'tabs-accordion-icon-right' : '',
186
- 'ui pointing secondary menu',
187
- 'tabs-accessibility',
188
- data?.theme ? `theme-${data?.theme}` : '',
204
+ props?.data?.accordionIconRight
205
+ ? 'tabs-accordion-icon-right'
206
+ : 'tabs-accordion-icon-left',
207
+ isAccordion
208
+ ? 'ui accordion tabs-accessibility'
209
+ : 'ui menu tabs-accessibility tabs-secondary-variant',
210
+ data?.theme ? `${data?.theme}` : '',
189
211
  {
190
212
  inverted: getDataValue('menuInverted'),
191
213
  },
214
+ {
215
+ pointing: getDataValue('menuPointing'),
216
+ },
217
+ {
218
+ secondary: getDataValue('menuSecondary'),
219
+ },
192
220
  )}
193
221
  showMore={false}
194
222
  />
@@ -196,4 +224,8 @@ const View = (props) => {
196
224
  );
197
225
  };
198
226
 
199
- export default compose(withScrollToTarget, withRouter)(View);
227
+ export default compose(
228
+ withScrollToTarget,
229
+ withResizeDetector,
230
+ withRouter,
231
+ )(View);
@@ -13,6 +13,14 @@ const messages = defineMessages({
13
13
  id: 'menu',
14
14
  defaultMessage: 'Menu',
15
15
  },
16
+ MenuPointing: {
17
+ id: 'menu-pointing',
18
+ defaultMessage: 'Pointing',
19
+ },
20
+ MenuSecondary: {
21
+ id: 'menu-secondary',
22
+ defaultMessage: 'Secondary',
23
+ },
16
24
  Style: {
17
25
  id: 'style',
18
26
  defaultMessage: 'Style',
@@ -54,7 +62,12 @@ export default (config, props) => ({
54
62
  {
55
63
  id: 'menu',
56
64
  title: props.intl.formatMessage(messages.Menu),
57
- fields: ['menuInverted', 'accordionIconRight'],
65
+ fields: [
66
+ 'menuInverted',
67
+ 'menuSecondary',
68
+ 'menuPointing',
69
+ 'accordionIconRight',
70
+ ],
58
71
  },
59
72
  {
60
73
  id: 'style',
@@ -77,6 +90,14 @@ export default (config, props) => ({
77
90
  title: props.intl.formatMessage(messages.Inverted),
78
91
  type: 'boolean',
79
92
  },
93
+ menuPointing: {
94
+ title: props.intl.formatMessage(messages.MenuPointing),
95
+ type: 'boolean',
96
+ },
97
+ menuSecondary: {
98
+ title: props.intl.formatMessage(messages.MenuSecondary),
99
+ type: 'boolean',
100
+ },
80
101
  theme: {
81
102
  title: props.intl.formatMessage(messages.Theme),
82
103
  description: props.intl.formatMessage(
@@ -123,8 +123,8 @@ const View = (props) => {
123
123
 
124
124
  React.useEffect(() => {
125
125
  if (!slider.current?.innerSlider?.list) return;
126
- const unfocuseElements = ['a', 'button', 'input'];
127
- unfocuseElements.forEach((tag) => {
126
+ const unfocusedElements = ['a', 'button', 'input'];
127
+ unfocusedElements.forEach((_tag) => {
128
128
  for (let element of slider.current.innerSlider.list.querySelectorAll(
129
129
  ".slick-slide[aria-hidden='true'] a",
130
130
  )) {
@@ -134,10 +134,10 @@ const View = (props) => {
134
134
  }, [activeTab]);
135
135
  React.useEffect(() => {
136
136
  if (!slider.current?.innerSlider?.list) return;
137
- let unaccesibileElements = slider.current.innerSlider.list.querySelectorAll(
137
+ let inaccessibleElements = slider.current.innerSlider.list.querySelectorAll(
138
138
  '.slick-slide',
139
139
  );
140
- for (let element of unaccesibileElements) {
140
+ for (let element of inaccessibleElements) {
141
141
  element.setAttribute('tabindex', '0');
142
142
  element.setAttribute('aria-hidden', 'false');
143
143
  element.style.removeProperty('outline');
@@ -147,7 +147,7 @@ const View = (props) => {
147
147
  carouselDiv.setAttribute('tabindex', '0');
148
148
  }, []);
149
149
 
150
- const panes = tabsList.map((tab, index) => {
150
+ const panes = tabsList.map((tab, _index) => {
151
151
  return {
152
152
  id: tab,
153
153
  renderItem: (
@@ -27,7 +27,7 @@ const View = (props) => {
27
27
  verticalSwiping: true,
28
28
  };
29
29
 
30
- const panes = tabsList.map((tab, index) => {
30
+ const panes = tabsList.map((tab, _index) => {
31
31
  return {
32
32
  id: tab,
33
33
  renderItem: (
@@ -209,7 +209,7 @@ const Edit = (props) => {
209
209
  <Tab.Pane as={isContainer ? Container : undefined}>
210
210
  <BlocksForm
211
211
  allowedBlocks={data?.allowedBlocks}
212
- description={data?.instrunctions?.data}
212
+ description={data?.instructions?.data}
213
213
  manage={manage}
214
214
  metadata={metadata}
215
215
  pathname={props.pathname}
@@ -276,10 +276,7 @@ const Edit = (props) => {
276
276
  menu={{
277
277
  attached: menuPosition.attached,
278
278
  borderless: getDataValue('menuBorderless'),
279
- color:
280
- props?.template === 'accordion' && props?.data?.theme
281
- ? `theme-${props?.data?.theme}`
282
- : getDataValue('menuColor'),
279
+ color: getDataValue('menuColor'),
283
280
  compact: getDataValue('menuCompact'),
284
281
  fluid: getDataValue('menuFluid'),
285
282
  inverted: getDataValue('menuInverted'),
@@ -291,6 +288,7 @@ const Edit = (props) => {
291
288
  text: getDataValue('menuText'),
292
289
  vertical: menuPosition.vertical,
293
290
  className: cx(
291
+ 'tabs-secondary-variant',
294
292
  data.menuAlign,
295
293
  menuPosition.direction === 'left' ? 'border-right' : '',
296
294
  menuPosition.direction === 'right' ? 'border-left' : '',
@@ -171,6 +171,7 @@ const View = (props) => {
171
171
  text: getDataValue('menuText'),
172
172
  vertical: menuPosition.vertical,
173
173
  className: cx(
174
+ 'tabs-secondary-variant',
174
175
  data.menuAlign,
175
176
  menuPosition.direction === 'left' ? 'border-right' : '',
176
177
  menuPosition.direction === 'right' ? 'border-left' : '',
@@ -12,14 +12,14 @@
12
12
  }
13
13
 
14
14
  .remove-menu {
15
- padding-right: 0px !important;
16
- padding-bottom: 0px !important;
15
+ padding-right: 0 !important;
16
+ padding-bottom: 0 !important;
17
17
  overflow-y: hidden;
18
18
  }
19
19
 
20
20
  .remove-menu :not(.RRT__tab--collapsed) {
21
- padding-top: 0px !important;
22
- padding-left: 0px !important;
21
+ padding-top: 0 !important;
22
+ padding-left: 0 !important;
23
23
  border-bottom: none !important;
24
24
  }
25
25
 
@@ -143,13 +143,12 @@
143
143
  }
144
144
  }
145
145
 
146
- .RRT__container {
147
- .inverted {
148
- .RRT__tab.active {
149
- background-color: rgba(0, 0, 0, 0.1) !important;
150
- }
151
- }
146
+ .RRT__accordion.tabs-accordion-icon-left {
147
+ --accordion-title-justify: flex-start;
148
+ --accordion-title-icon-order: 0;
149
+ }
152
150
 
151
+ .RRT__container {
153
152
  > .ui.tab .rah-animating {
154
153
  transition: height 0ms ease 0ms !important;
155
154
 
@@ -157,364 +156,7 @@
157
156
  transition: opacity 0ms ease 0ms !important;
158
157
  }
159
158
  }
160
-
161
- .RRT__tabs.inverted.ui.secondary.pointing.menu:not(.RRT__accordion) {
162
- background-color: @green !important;
163
- }
164
-
165
- .inverted .RRT__tab--collapsed {
166
- background-color: @green !important;
167
- }
168
- }
169
-
170
- .ui.menu.RRT__accordion.tabs-accordion-icon-right {
171
- .tabs-icon {
172
- position: absolute;
173
- right: 0%;
174
- }
175
-
176
- .item {
177
- padding-top: 0.6875rem !important;
178
- padding-bottom: 0.6875rem !important;
179
- }
180
- }
181
-
182
- .ui.menu.RRT__accordion {
183
- &::before {
184
- display: none;
185
- }
186
-
187
- border-bottom: none !important;
188
-
189
- .ui.item {
190
- display: flex;
191
- width: 100%;
192
- padding: 0 1rem !important;
193
- border-bottom: 0.0625rem solid #e6e7e8;
194
- margin: 0 !important;
195
-
196
- .icon {
197
- margin: 0 !important;
198
- }
199
-
200
- .dropdown.icon {
201
- transform: rotate(-90deg);
202
- }
203
-
204
- &.active {
205
- .dropdown.icon {
206
- transform: rotate(0);
207
- }
208
- }
209
- }
210
-
211
- .RRT__tab:not(.active) .icon {
212
- color: #808285;
213
- }
214
-
215
- &.theme-primary {
216
- .ui.item:not(.active):hover {
217
- color: @primaryColor !important;
218
-
219
- .icon {
220
- color: @primaryColor !important;
221
- }
222
- }
223
-
224
- .ui.item.active {
225
- background-color: @primaryColor !important;
226
- color: #fff !important;
227
- }
228
-
229
- .active .menu-item-text {
230
- color: #fff !important;
231
- }
232
- }
233
-
234
- &.theme-secondary {
235
- .ui.item:not(.active):hover {
236
- color: @secondaryColor !important;
237
-
238
- .icon {
239
- color: @secondaryColor !important;
240
- }
241
- }
242
-
243
- .ui.item.active {
244
- background-color: @secondaryColor !important;
245
- color: #fff !important;
246
- }
247
-
248
- .active .menu-item-text {
249
- color: #fff !important;
250
- }
251
- }
252
-
253
- &.theme-tertiary {
254
- .ui.item:not(.active):hover {
255
- color: @tertiaryColor !important;
256
-
257
- .icon {
258
- color: @tertiaryColor !important;
259
- }
260
- }
261
-
262
- .ui.item.active {
263
- background-color: @tertiaryColor !important;
264
- color: #fff !important;
265
- }
266
-
267
- .active .menu-item-text {
268
- color: #fff !important;
269
- }
270
- }
271
-
272
- &.red {
273
- color: @red !important;
274
-
275
- .ui.item.active {
276
- background-color: @red !important;
277
- color: #fff !important;
278
- }
279
-
280
- .active .menu-item-text {
281
- color: #fff !important;
282
- }
283
- }
284
-
285
- &.orange {
286
- .ui.item:hover {
287
- color: @orange !important;
288
- }
289
-
290
- .ui.item.active {
291
- background-color: @orange !important;
292
- color: #fff !important;
293
- }
294
-
295
- .active .menu-item-text {
296
- color: #fff !important;
297
- }
298
- }
299
-
300
- &.yellow {
301
- .ui.item:hover {
302
- color: @yellow !important;
303
- }
304
-
305
- .ui.item.active {
306
- background-color: @yellow !important;
307
- color: #fff !important;
308
- }
309
-
310
- .active .menu-item-text {
311
- color: #fff !important;
312
- }
313
- }
314
-
315
- &.olive {
316
- .ui.item:hover {
317
- color: @olive !important;
318
- }
319
-
320
- .ui.item.active {
321
- background-color: @olive !important;
322
- color: #fff !important;
323
- }
324
-
325
- .active .menu-item-text {
326
- color: #fff !important;
327
- }
328
- }
329
-
330
- &.green {
331
- .ui.item:hover {
332
- color: @green !important;
333
- }
334
-
335
- .ui.item.active {
336
- background-color: @green !important;
337
- color: #fff !important;
338
- }
339
-
340
- .active .menu-item-text {
341
- color: #fff !important;
342
- }
343
- }
344
-
345
- &.teal {
346
- .ui.item:hover {
347
- color: @teal !important;
348
- }
349
-
350
- .ui.item.active {
351
- background-color: @teal !important;
352
- color: #fff !important;
353
- }
354
-
355
- .active .menu-item-text {
356
- color: #fff !important;
357
- }
358
- }
359
-
360
- &.blue {
361
- .ui.item:hover {
362
- color: @blue !important;
363
- }
364
-
365
- .ui.item.active {
366
- background-color: @blue !important;
367
- color: #fff !important;
368
- }
369
-
370
- .active .menu-item-text {
371
- color: #fff !important;
372
- }
373
- }
374
-
375
- &.violet {
376
- .ui.item:hover {
377
- color: @violet !important;
378
- }
379
-
380
- .ui.item.active {
381
- background-color: @violet !important;
382
- color: #fff !important;
383
- }
384
-
385
- .active .menu-item-text {
386
- color: #fff !important;
387
- }
388
- }
389
-
390
- &.purple {
391
- .ui.item:hover {
392
- color: @purple !important;
393
- }
394
-
395
- .ui.item.active {
396
- background-color: @purple !important;
397
- color: #fff !important;
398
- }
399
-
400
- .active .menu-item-text {
401
- color: #fff !important;
402
- }
403
- }
404
-
405
- &.brown {
406
- .ui.item:hover {
407
- color: @brown !important;
408
- }
409
-
410
- .ui.item.active {
411
- background-color: @brown !important;
412
- color: #fff !important;
413
- }
414
- }
415
-
416
- &.grey {
417
- .ui.item:hover {
418
- color: @grey !important;
419
- }
420
-
421
- .ui.item.active {
422
- background-color: @grey !important;
423
- color: #fff !important;
424
- }
425
-
426
- .active .menu-item-text {
427
- color: #fff !important;
428
- }
429
- }
430
-
431
- &.black {
432
- .ui.item:hover {
433
- color: @black !important;
434
- }
435
-
436
- .ui.item.active {
437
- background-color: @black !important;
438
- color: #fff !important;
439
- }
440
-
441
- .active .menu-item-text {
442
- color: #fff !important;
443
- }
444
- }
445
-
446
- .ui.tab {
447
- padding: 1rem;
448
- margin-bottom: 0;
449
- background-color: @accordionTabBackground !important;
450
- }
451
159
  }
452
160
  }
453
161
 
454
- .ui.menu.RRT__tabs {
455
- .item.ui {
456
- color: #323232;
457
- }
458
-
459
- &.theme-primary {
460
- .item.ui:hover {
461
- color: @primaryColor !important;
462
- }
463
-
464
- .item.ui.active {
465
- border-bottom: 0.1875rem solid @primaryColor !important;
466
- color: @primaryColor !important;
467
- }
468
- }
469
-
470
- &.theme-secondary {
471
- .item.ui:hover {
472
- color: @secondaryColor !important;
473
- }
474
-
475
- .item.ui.active {
476
- border-bottom: 0.1875rem solid @secondaryColor !important;
477
- color: @secondaryColor !important;
478
- }
479
- }
480
-
481
- &.theme-tertiary {
482
- .item.ui:hover {
483
- color: @tertiaryColor !important;
484
- }
485
-
486
- .ui.item.active {
487
- border-bottom: 0.1875rem solid @tertiaryColor !important;
488
- color: @tertiaryColor !important;
489
- }
490
- }
491
- }
492
-
493
- .tabs-block {
494
- .theme-primary {
495
- .active.item {
496
- border-bottom: 0.1875rem solid @primaryColor !important;
497
- color: @primaryColor !important;
498
- }
499
- }
500
-
501
- .theme-secondary {
502
- .active.item {
503
- border-bottom: 0.1875rem solid @secondaryColor !important;
504
- color: @secondaryColor !important;
505
- }
506
- }
507
-
508
- .theme-tertiary {
509
- .active.item {
510
- border-bottom: 0.1875rem solid @tertiaryColor !important;
511
- color: @tertiaryColor !important;
512
- }
513
- }
514
- }
515
-
516
- // .tabs-block .ui.menu.RRT__accordion .ui.item .icon {
517
- // color: #808285;
518
- // }
519
-
520
162
  .loadAddonOverrides();
@@ -8,7 +8,6 @@
8
8
  @menuTitleFontSize: 24px;
9
9
  @menuTitleFontWeight: normal;
10
10
  @menuTitleColor: #013C60;
11
- @menuTitleBackgrounnd: none;
12
11
  @menuTitleHoverColor: #013C60;
13
12
  @menuTitleHoverBackground: none;
14
13
 
@@ -18,10 +17,10 @@
18
17
  /* Menu item */
19
18
  @menuItemCountDisplay: none;
20
19
 
21
- @accordionMenuItemBackground: #F3F4F5;
20
+ @accordionMenuItemBackground: #F3F4F5; /* not used */
22
21
  @accordionTabBackground: transparent;
23
22
 
24
23
  /* Theme variables */
25
24
  @primaryColor : #004B7F;
26
25
  @secondaryColor : #007B6C;
27
- @tertiaryColor : #3D5265;
26
+ @tertiaryColor : #3D5265;
@@ -7,6 +7,10 @@
7
7
  .loadAddonVariables();
8
8
 
9
9
  .tabs-block {
10
+ .remove-menu.active {
11
+ overflow: revert; /* needed for edit double click to modify title to remove scrollbar */
12
+ }
13
+
10
14
  .tabs-accessibility {
11
15
  .ui.button.item:focus-visible {
12
16
  outline: 1px dotted #212121 !important;
@@ -2,9 +2,9 @@
2
2
  Tabs block
3
3
  *******************************/
4
4
 
5
- @tabsBlockColor: #000;
5
+ @tabsBlockColor: var(--text-color, #000);
6
6
  @verticalPadding: 1rem;
7
7
  @horizontalPadding: 1rem;
8
8
 
9
9
  /* Tab pane */
10
- @tabPanePadding: @verticalPadding @horizontalPadding;
10
+ @tabPanePadding: @verticalPadding @horizontalPadding;