@eeacms/volto-tabs-block 5.0.8 → 6.0.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.
@@ -1,40 +1,87 @@
1
- import config from '@plone/volto/registry';
1
+ import { defineMessages } from 'react-intl';
2
2
 
3
- export default () => ({
4
- title: 'Accordion tabs block',
3
+ const messages = defineMessages({
4
+ AccordionTabsBlock: {
5
+ id: 'accordion-tabs-block',
6
+ defaultMessage: 'Accordion tabs block',
7
+ },
8
+ Default: {
9
+ id: 'default',
10
+ defaultMessage: 'Default',
11
+ },
12
+ Menu: {
13
+ id: 'menu',
14
+ defaultMessage: 'Menu',
15
+ },
16
+ Style: {
17
+ id: 'style',
18
+ defaultMessage: 'Style',
19
+ },
20
+ Description: {
21
+ id: 'description',
22
+ defaultMessage: 'Description',
23
+ },
24
+ IconPositionOnTheRight: {
25
+ id: 'icon-position-on-the-right',
26
+ defaultMessage: 'Icon position on the right',
27
+ },
28
+ PositionLeftRightIconAccordionTab: {
29
+ id: 'position-left-right-of-the-icon-in-the-accordion-tab',
30
+ defaultMessage: 'Position left/right of the icon in the accordion tab',
31
+ },
32
+ Inverted: {
33
+ id: 'inverted',
34
+ defaultMessage: 'Inverted',
35
+ },
36
+ Theme: {
37
+ id: 'theme',
38
+ defaultMessage: 'Theme',
39
+ },
40
+ SetThemeAccordionTabsBlock: {
41
+ id: 'set-the-theme-for-the-accordion-tabs-block',
42
+ defaultMessage: 'Set the theme for the accordion tabs block',
43
+ },
44
+ });
45
+
46
+ export default (config, props) => ({
47
+ title: props.intl.formatMessage(messages.AccordionTabsBlock),
5
48
  fieldsets: [
6
49
  {
7
50
  id: 'default',
8
- title: 'Default',
51
+ title: props.intl.formatMessage(messages.Default),
9
52
  fields: ['description'],
10
53
  },
11
54
  {
12
55
  id: 'menu',
13
- title: 'Menu',
56
+ title: props.intl.formatMessage(messages.Menu),
14
57
  fields: ['menuInverted', 'accordionIconRight'],
15
58
  },
16
59
  {
17
60
  id: 'style',
18
- title: 'Style',
61
+ title: props.intl.formatMessage(messages.Style),
19
62
  fields: ['theme'],
20
63
  },
21
64
  ],
22
65
  properties: {
23
66
  description: {
24
- title: 'Description',
67
+ title: props.intl.formatMessage(messages.Description),
25
68
  },
26
69
  accordionIconRight: {
27
- title: 'Icon position on the right',
28
- description: 'Position left/right of the icon in the accordion tab',
70
+ title: props.intl.formatMessage(messages.IconPositionOnTheRight),
71
+ description: props.intl.formatMessage(
72
+ messages.PositionLeftRightIconAccordionTab,
73
+ ),
29
74
  type: 'boolean',
30
75
  },
31
76
  menuInverted: {
32
- title: 'Inverted',
77
+ title: props.intl.formatMessage(messages.Inverted),
33
78
  type: 'boolean',
34
79
  },
35
80
  theme: {
36
- title: 'Theme',
37
- description: 'Set the theme for the accordion tabs block',
81
+ title: props.intl.formatMessage(messages.Theme),
82
+ description: props.intl.formatMessage(
83
+ messages.SetThemeAccordionTabsBlock,
84
+ ),
38
85
  widget: 'theme_picker',
39
86
  colors: [
40
87
  ...(config.settings && config.settings.themeColors
@@ -1,19 +1,48 @@
1
- export default () => ({
2
- title: 'Carousel block',
1
+ import { defineMessages } from 'react-intl';
2
+
3
+ const messages = defineMessages({
4
+ CarouselTabsBlock: {
5
+ id: 'carousel-tabs-block',
6
+ defaultMessage: 'Carousel block',
7
+ },
8
+ Default: {
9
+ id: 'default',
10
+ defaultMessage: 'Default',
11
+ },
12
+ Theme: {
13
+ id: 'theme',
14
+ defaultMessage: 'Theme',
15
+ },
16
+ Light: {
17
+ id: 'light',
18
+ defaultMessage: 'Light',
19
+ },
20
+ Dark: {
21
+ id: 'dark',
22
+ defaultMessage: 'Dark',
23
+ },
24
+ Grey: {
25
+ id: 'grey',
26
+ defaultMessage: 'Grey',
27
+ },
28
+ });
29
+
30
+ export default (config, props) => ({
31
+ title: props.intl.formatMessage(messages.CarouselTabsBlock),
3
32
  fieldsets: [
4
33
  {
5
34
  id: 'default',
6
- title: 'Default',
35
+ title: props.intl.formatMessage(messages.Default),
7
36
  fields: ['theme'],
8
37
  },
9
38
  ],
10
39
  properties: {
11
40
  theme: {
12
- title: 'Theme',
41
+ title: props.intl.formatMessage(messages.Theme),
13
42
  choices: [
14
- ['light', 'Light'],
15
- ['dark', 'Dark'],
16
- ['grey', 'Grey'],
43
+ ['light', props.intl.formatMessage(messages.Light)],
44
+ ['dark', props.intl.formatMessage(messages.Dark)],
45
+ ['grey', props.intl.formatMessage(messages.Grey)],
17
46
  ],
18
47
  default: 'light',
19
48
  },
@@ -1,14 +1,195 @@
1
- export default () => ({
2
- title: 'Default tabs block',
1
+ import { defineMessages } from 'react-intl';
2
+
3
+ const messages = defineMessages({
4
+ DefaultTabsBlock: {
5
+ id: 'default-tabs-block',
6
+ defaultMessage: 'Default tabs block',
7
+ },
8
+ Default: {
9
+ id: 'default',
10
+ defaultMessage: 'Default',
11
+ },
12
+ Menu: {
13
+ id: 'menu',
14
+ defaultMessage: 'Menu',
15
+ },
16
+ Description: {
17
+ id: 'description',
18
+ defaultMessage: 'Description',
19
+ },
20
+ Position: {
21
+ id: 'position',
22
+ defaultMessage: 'Position',
23
+ },
24
+ Top: {
25
+ id: 'top',
26
+ defaultMessage: 'Top',
27
+ },
28
+ Bottom: {
29
+ id: 'bottom',
30
+ defaultMessage: 'Bottom',
31
+ },
32
+ LeftSide: {
33
+ id: 'left-side',
34
+ defaultMessage: 'Left side',
35
+ },
36
+ RightSide: {
37
+ id: 'right-side',
38
+ defaultMessage: 'Right side',
39
+ },
40
+ Alignment: {
41
+ id: 'alignment',
42
+ defaultMessage: 'Alignment',
43
+ },
44
+ Left: {
45
+ id: 'left',
46
+ defaultMessage: 'Left',
47
+ },
48
+ Center: {
49
+ id: 'center',
50
+ defaultMessage: 'Center',
51
+ },
52
+ Right: {
53
+ id: 'right',
54
+ defaultMessage: 'Right',
55
+ },
56
+ SpaceBetween: {
57
+ id: 'space-between',
58
+ defaultMessage: 'Space between',
59
+ },
60
+ Size: {
61
+ id: 'size',
62
+ defaultMessage: 'Size',
63
+ },
64
+ Mini: {
65
+ id: 'mini',
66
+ defaultMessage: 'Mini',
67
+ },
68
+ Tiny: {
69
+ id: 'tiny',
70
+ defaultMessage: 'Tiny',
71
+ },
72
+ Small: {
73
+ id: 'small',
74
+ defaultMessage: 'Small',
75
+ },
76
+ Large: {
77
+ id: 'large',
78
+ defaultMessage: 'Large',
79
+ },
80
+ Huge: {
81
+ id: 'huge',
82
+ defaultMessage: 'Huge',
83
+ },
84
+ Massive: {
85
+ id: 'massive',
86
+ defaultMessage: 'Massive',
87
+ },
88
+ Color: {
89
+ id: 'color',
90
+ defaultMessage: 'Color',
91
+ },
92
+ Red: {
93
+ id: 'red',
94
+ defaultMessage: 'Red',
95
+ },
96
+ Orange: {
97
+ id: 'orange',
98
+ defaultMessage: 'Orange',
99
+ },
100
+ Yellow: {
101
+ id: 'yellow',
102
+ defaultMessage: 'Yellow',
103
+ },
104
+ Olive: {
105
+ id: 'olive',
106
+ defaultMessage: 'Olive',
107
+ },
108
+ Green: {
109
+ id: 'green',
110
+ defaultMessage: 'Green',
111
+ },
112
+ Teal: {
113
+ id: 'teal',
114
+ defaultMessage: 'Teal',
115
+ },
116
+ Blue: {
117
+ id: 'blue',
118
+ defaultMessage: 'Blue',
119
+ },
120
+ Violet: {
121
+ id: 'violet',
122
+ defaultMessage: 'Violet',
123
+ },
124
+ Purple: {
125
+ id: 'purple',
126
+ defaultMessage: 'Purple',
127
+ },
128
+ Pink: {
129
+ id: 'pink',
130
+ defaultMessage: 'Pink',
131
+ },
132
+ Brown: {
133
+ id: 'brown',
134
+ defaultMessage: 'Brown',
135
+ },
136
+ Grey: {
137
+ id: 'grey',
138
+ defaultMessage: 'Grey',
139
+ },
140
+ Black: {
141
+ id: 'black',
142
+ defaultMessage: 'Black',
143
+ },
144
+ MenuBorderless: {
145
+ id: 'menu-border-less',
146
+ defaultMessage: 'Borderless',
147
+ },
148
+ MenuCompact: {
149
+ id: 'menu-compact',
150
+ defaultMessage: 'Compact',
151
+ },
152
+ MenuFluid: {
153
+ id: 'menu-fluid',
154
+ defaultMessage: 'Fluid',
155
+ },
156
+ MenuInverted: {
157
+ id: 'menu-inverted',
158
+ defaultMessage: 'Inverted',
159
+ },
160
+ MenuPointing: {
161
+ id: 'menu-pointing',
162
+ defaultMessage: 'Pointing',
163
+ },
164
+ MenuSecondary: {
165
+ id: 'menu-secondary',
166
+ defaultMessage: 'Secondary',
167
+ },
168
+ MenuStackable: {
169
+ id: 'menu-stackable',
170
+ defaultMessage: 'Stackable',
171
+ },
172
+ MenuTabular: {
173
+ id: 'menu-tabular',
174
+ defaultMessage: 'Tabular',
175
+ },
176
+ MenuText: {
177
+ id: 'menu-text',
178
+ defaultMessage: 'Text',
179
+ },
180
+ });
181
+
182
+ export default (config, props) => ({
183
+ title: props.intl.formatMessage(messages.DefaultTabsBlock),
3
184
  fieldsets: [
4
185
  {
5
186
  id: 'default',
6
- title: 'Default',
187
+ title: props.intl.formatMessage(messages.Default),
7
188
  fields: ['description'],
8
189
  },
9
190
  {
10
191
  id: 'menu',
11
- title: 'Menu',
192
+ title: props.intl.formatMessage(messages.Menu),
12
193
  fields: [
13
194
  'menuAlign',
14
195
  'menuPosition',
@@ -28,92 +209,92 @@ export default () => ({
28
209
  ],
29
210
  properties: {
30
211
  description: {
31
- title: 'Description',
212
+ title: props.intl.formatMessage(messages.Description),
32
213
  },
33
214
  menuPosition: {
34
- title: 'Position',
215
+ title: props.intl.formatMessage(messages.Position),
35
216
  choices: [
36
- ['top', 'Top'],
37
- ['bottom', 'Bottom'],
38
- ['left side', 'Left side'],
39
- ['right side', 'Right side'],
217
+ ['top', props.intl.formatMessage(messages.Top)],
218
+ ['bottom', props.intl.formatMessage(messages.Bottom)],
219
+ ['left side', props.intl.formatMessage(messages.LeftSide)],
220
+ ['right side', props.intl.formatMessage(messages.RightSide)],
40
221
  ],
41
222
  },
42
223
  menuAlign: {
43
- title: 'Alignment',
224
+ title: props.intl.formatMessage(messages.Alignment),
44
225
  choices: [
45
- ['left', 'Left'],
46
- ['center', 'Center'],
47
- ['right', 'Right'],
48
- ['space-between', 'Space between'],
226
+ ['left', props.intl.formatMessage(messages.Left)],
227
+ ['center', props.intl.formatMessage(messages.Center)],
228
+ ['right', props.intl.formatMessage(messages.Right)],
229
+ ['space-between', props.intl.formatMessage(messages.SpaceBetween)],
49
230
  ],
50
231
  },
51
232
  menuSize: {
52
- title: 'Size',
233
+ title: props.intl.formatMessage(messages.Size),
53
234
  choices: [
54
- ['mini', 'Mini'],
55
- ['tiny', 'Tiny'],
56
- ['small', 'Small'],
57
- ['large', 'Large'],
58
- ['huge', 'Huge'],
59
- ['massive', 'Masive'],
235
+ ['mini', props.intl.formatMessage(messages.Mini)],
236
+ ['tiny', props.intl.formatMessage(messages.Tiny)],
237
+ ['small', props.intl.formatMessage(messages.Small)],
238
+ ['large', props.intl.formatMessage(messages.Large)],
239
+ ['huge', props.intl.formatMessage(messages.Huge)],
240
+ ['massive', props.intl.formatMessage(messages.Massive)],
60
241
  ],
61
242
  },
62
243
  menuColor: {
63
- title: 'Color',
244
+ title: props.intl.formatMessage(messages.Color),
64
245
  defaultValue: 'green',
65
246
  choices: [
66
- ['red', 'Red'],
67
- ['orange', 'Orange'],
68
- ['yellow', 'Yellow'],
69
- ['olive', 'Olive'],
70
- ['green', 'Green'],
71
- ['teal', 'Teal'],
72
- ['blue', 'Blue'],
73
- ['violet', 'Violet'],
74
- ['purple', 'Purple'],
75
- ['pink', 'Pink'],
76
- ['brown', 'Brown'],
77
- ['grey', 'Grey'],
78
- ['black', 'Black'],
247
+ ['red', props.intl.formatMessage(messages.Red)],
248
+ ['orange', props.intl.formatMessage(messages.Orange)],
249
+ ['yellow', props.intl.formatMessage(messages.Yellow)],
250
+ ['olive', props.intl.formatMessage(messages.Olive)],
251
+ ['green', props.intl.formatMessage(messages.Green)],
252
+ ['teal', props.intl.formatMessage(messages.Teal)],
253
+ ['blue', props.intl.formatMessage(messages.Blue)],
254
+ ['violet', props.intl.formatMessage(messages.Violet)],
255
+ ['purple', props.intl.formatMessage(messages.Purple)],
256
+ ['pink', props.intl.formatMessage(messages.Pink)],
257
+ ['brown', props.intl.formatMessage(messages.Brown)],
258
+ ['grey', props.intl.formatMessage(messages.Grey)],
259
+ ['black', props.intl.formatMessage(messages.Black)],
79
260
  ],
80
261
  },
81
262
  menuBorderless: {
82
- title: 'Borderless',
263
+ title: props.intl.formatMessage(messages.MenuBorderless),
83
264
  type: 'boolean',
84
265
  },
85
266
  menuCompact: {
86
- title: 'Compact',
267
+ title: props.intl.formatMessage(messages.MenuCompact),
87
268
  type: 'boolean',
88
269
  defaultValue: true,
89
270
  },
90
271
  menuFluid: {
91
- title: 'Fluid',
272
+ title: props.intl.formatMessage(messages.MenuFluid),
92
273
  type: 'boolean',
93
274
  defaultValue: true,
94
275
  },
95
276
  menuInverted: {
96
- title: 'Inverted',
277
+ title: props.intl.formatMessage(messages.MenuInverted),
97
278
  type: 'boolean',
98
279
  },
99
280
  menuPointing: {
100
- title: 'Pointing',
281
+ title: props.intl.formatMessage(messages.MenuPointing),
101
282
  type: 'boolean',
102
283
  },
103
284
  menuSecondary: {
104
- title: 'Secondary',
285
+ title: props.intl.formatMessage(messages.MenuSecondary),
105
286
  type: 'boolean',
106
287
  },
107
288
  menuStackable: {
108
- title: 'Stackable',
289
+ title: props.intl.formatMessage(messages.MenuStackable),
109
290
  type: 'boolean',
110
291
  },
111
292
  menuTabular: {
112
- title: 'Tabular',
293
+ title: props.intl.formatMessage(messages.MenuTabular),
113
294
  type: 'boolean',
114
295
  },
115
296
  menuText: {
116
- title: 'Text',
297
+ title: props.intl.formatMessage(messages.MenuText),
117
298
  type: 'boolean',
118
299
  defaultValue: true,
119
300
  },
@@ -331,7 +331,7 @@ const Edit = (props) => {
331
331
  />
332
332
  ),
333
333
  pane: (
334
- <Tab.Pane as={isContainer ? Container : undefined}>
334
+ <Tab.Pane key={tab} as={isContainer ? Container : undefined}>
335
335
  <div tabIndex={0} role="tabpanel" id={'tab-pane-' + tab}>
336
336
  <BlocksForm
337
337
  allowedBlocks={data?.allowedBlocks}
@@ -70,7 +70,7 @@ const MenuItem = (props) => {
70
70
  <Button
71
71
  as="a"
72
72
  tabIndex={0}
73
- className={cx('item', 'accesibility-button', {
73
+ className={cx('item', {
74
74
  active: tab === activeTab,
75
75
  })}
76
76
  item-data={tab}
@@ -230,7 +230,7 @@ const View = (props) => {
230
230
  />
231
231
  ),
232
232
  pane: (
233
- <Tab.Pane as={isContainer ? Container : undefined}>
233
+ <Tab.Pane key={tab} as={isContainer ? Container : undefined}>
234
234
  <div
235
235
  id={tabs[tab]?.title || `Tab ${tabsList.indexOf(tab) + 1}`}
236
236
  className="tab-name"