@patternfly/design-tokens 1.12.0 → 1.13.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.
@@ -90,6 +90,10 @@
90
90
  "description": "Use as the default background for control elements like form inputs and menu toggles.",
91
91
  "type": "color",
92
92
  "value": "{global.dark.background.color.300}"
93
+ },
94
+ "read-only": {
95
+ "type": "color",
96
+ "value": "{global.dark.background.color.300}"
93
97
  }
94
98
  },
95
99
  "highlight": {
@@ -922,17 +926,17 @@
922
926
  "default": {
923
927
  "description": "Use as the default color for icons that are placed on a nonstatus gray background color and/or are paired with on-gray colored text.",
924
928
  "type": "color",
925
- "value": "{global.icon.color.inverse}"
929
+ "value": "{global.icon.color.regular}"
926
930
  },
927
931
  "hover": {
928
932
  "description": "Use as the hover state color for icons that are placed on a nonstatus gray background color and/or are paired with on-gray colored text.",
929
933
  "type": "color",
930
- "value": "{global.icon.color.inverse}"
934
+ "value": "{global.icon.color.regular}"
931
935
  },
932
936
  "clicked": {
933
937
  "description": "Use as the clicked state color for icons that are placed on a nonstatus gray background color and/or are paired with on-gray colored text.",
934
938
  "type": "color",
935
- "value": "{global.icon.color.inverse}"
939
+ "value": "{global.icon.color.regular}"
936
940
  }
937
941
  }
938
942
  }
@@ -940,6 +944,12 @@
940
944
  },
941
945
  "border": {
942
946
  "color": {
947
+ "control": {
948
+ "read-only": {
949
+ "type": "color",
950
+ "value": "{global.dark.border.color.50}"
951
+ }
952
+ },
943
953
  "brand": {
944
954
  "default": {
945
955
  "description": "Use as the default border color for any branded element, like color-coded labels, banners, etc.",
@@ -1215,17 +1225,17 @@
1215
1225
  "default": {
1216
1226
  "description": "Use as the default border color for any element that does not convey status and that you always will want to be gray (i.e. color-coded labels)",
1217
1227
  "type": "color",
1218
- "value": "{global.dark.color.nonstatus.gray.100}"
1228
+ "value": "{global.dark.color.nonstatus.gray.200}"
1219
1229
  },
1220
1230
  "hover": {
1221
1231
  "description": "Use as the hover state border color for any element that does not convey status and that you always will want to be gray (i.e. color-coded labels)",
1222
1232
  "type": "color",
1223
- "value": "{global.dark.color.nonstatus.gray.200}"
1233
+ "value": "{global.dark.color.nonstatus.gray.300}"
1224
1234
  },
1225
1235
  "clicked": {
1226
1236
  "description": "Use as the clicked state border color for any element that does not convey status and that you always will want to be gray (i.e. color-coded labels)",
1227
1237
  "type": "color",
1228
- "value": "{global.dark.color.nonstatus.gray.200}"
1238
+ "value": "{global.dark.color.nonstatus.gray.300}"
1229
1239
  }
1230
1240
  }
1231
1241
  }
@@ -1667,17 +1677,17 @@
1667
1677
  "default": {
1668
1678
  "description": "Use as the default color for text that is placed on a nonstatus gray background color.",
1669
1679
  "type": "color",
1670
- "value": "{global.text.color.inverse}"
1680
+ "value": "{global.text.color.regular}"
1671
1681
  },
1672
1682
  "hover": {
1673
1683
  "description": "Use as the hover state color for text that is placed on a nonstatus gray background color.",
1674
1684
  "type": "color",
1675
- "value": "{global.text.color.inverse}"
1685
+ "value": "{global.text.color.regular}"
1676
1686
  },
1677
1687
  "clicked": {
1678
1688
  "description": "Use as the clicked state color for text that is placed on a nonstatus gray background color.",
1679
1689
  "type": "color",
1680
- "value": "{global.text.color.inverse}"
1690
+ "value": "{global.text.color.regular}"
1681
1691
  }
1682
1692
  }
1683
1693
  }
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "300": {
53
53
  "type": "number",
54
- "value": 22
54
+ "value": 24
55
55
  },
56
56
  "400": {
57
57
  "type": "number",
@@ -106,20 +106,6 @@
106
106
  }
107
107
  },
108
108
  "font": {
109
- "family": {
110
- "100": {
111
- "type": "string",
112
- "value": "Red Hat Text VF"
113
- },
114
- "200": {
115
- "type": "string",
116
- "value": "Red Hat Display VF"
117
- },
118
- "300": {
119
- "type": "string",
120
- "value": "Red Hat Mono VF"
121
- }
122
- },
123
109
  "weight": {
124
110
  "100": {
125
111
  "type": "number",
@@ -131,7 +117,7 @@
131
117
  },
132
118
  "300": {
133
119
  "type": "number",
134
- "value": 700
120
+ "value": 500
135
121
  },
136
122
  "400": {
137
123
  "type": "number",
@@ -171,7 +157,7 @@
171
157
  },
172
158
  "600": {
173
159
  "type": "number",
174
- "value": 22
160
+ "value": 24
175
161
  },
176
162
  "700": {
177
163
  "type": "number",
@@ -181,6 +167,20 @@
181
167
  "type": "number",
182
168
  "value": 36
183
169
  }
170
+ },
171
+ "family": {
172
+ "100": {
173
+ "type": "string",
174
+ "value": "\"Red Hat Text\", \"RedHatText\", \"Noto Sans Arabic\", \"Noto Sans Hebrew\", \"Noto Sans JP\", \"Noto Sans KR\", \"Noto Sans Malayalam\", \"Noto Sans SC\", \"Noto Sans TC\", \"Noto Sans Thai\", Helvetica, Arial, sans-serif"
175
+ },
176
+ "200": {
177
+ "type": "string",
178
+ "value": "\"Red Hat Display\", \"RedHatDisplay\", \"Noto Sans Arabic\", \"Noto Sans Hebrew\", \"Noto Sans JP\", \"Noto Sans KR\", \"Noto Sans Malayalam\", \"Noto Sans SC\", \"Noto Sans TC\", \"Noto Sans Thai\", Helvetica, Arial, sans-serif"
179
+ },
180
+ "300": {
181
+ "type": "string",
182
+ "value": "\"Red Hat Mono\", \"RedHatMono\", \"Courier New\", Courier, monospace"
183
+ }
184
184
  }
185
185
  },
186
186
  "z-index": {
@@ -328,6 +328,28 @@
328
328
  "type": "number",
329
329
  "value": 1450
330
330
  }
331
+ },
332
+ "text-decoration": {
333
+ "line": {
334
+ "100": {
335
+ "type": "string",
336
+ "value": "none"
337
+ },
338
+ "200": {
339
+ "type": "string",
340
+ "value": "underline"
341
+ }
342
+ },
343
+ "style": {
344
+ "100": {
345
+ "type": "string",
346
+ "value": "solid"
347
+ },
348
+ "200": {
349
+ "type": "string",
350
+ "value": "dashed"
351
+ }
352
+ }
331
353
  }
332
354
  }
333
355
  }
@@ -307,6 +307,10 @@
307
307
  },
308
308
  "border": {
309
309
  "color": {
310
+ "50": {
311
+ "type": "color",
312
+ "value": "{color.gray.20}"
313
+ },
310
314
  "100": {
311
315
  "type": "color",
312
316
  "value": "{color.gray.30}"
@@ -35,11 +35,6 @@
35
35
  }
36
36
  },
37
37
  "width": {
38
- "regular": {
39
- "description": "Use as the default border width for elements.",
40
- "type": "number",
41
- "value": "{global.border.width.100}"
42
- },
43
38
  "divider": {
44
39
  "default": {
45
40
  "description": "Use as the default border width for dividers.",
@@ -57,6 +52,11 @@
57
52
  "value": "{global.border.width.100}"
58
53
  }
59
54
  },
55
+ "regular": {
56
+ "description": "Use as the default border width for elements.",
57
+ "type": "number",
58
+ "value": "{global.border.width.100}"
59
+ },
60
60
  "strong": {
61
61
  "description": "Use as a stronger/wider border width for elements.",
62
62
  "type": "number",
@@ -186,9 +186,14 @@
186
186
  "value": "{global.spacer.xs}"
187
187
  },
188
188
  "plain": {
189
- "description": "Use to set the vertical padding inside of plain controls, like in plain menu toggles.",
189
+ "description": "Use to set the vertical padding inside of plain controls, like in plain menu toggles and plain buttons.",
190
190
  "type": "number",
191
191
  "value": "{global.spacer.sm}"
192
+ },
193
+ "spacious": {
194
+ "description": "Use to set the vertical padding inside a large/display controls. This is used across buttons, text inputs, menu toggles, etc.",
195
+ "type": "number",
196
+ "value": "{global.spacer.md}"
192
197
  }
193
198
  },
194
199
  "horizontal": {
@@ -214,12 +219,48 @@
214
219
  }
215
220
  }
216
221
  },
222
+ "action": {
223
+ "horizontal": {
224
+ "default": {
225
+ "description": "Use to set the horizontal padding inside a default action, like buttons.",
226
+ "type": "number",
227
+ "value": "{global.spacer.lg}"
228
+ },
229
+ "plain": {
230
+ "default": {
231
+ "description": "Use to set the horizontal padding inside a plain action, like plain buttons.",
232
+ "type": "number",
233
+ "value": "{global.spacer.sm}"
234
+ },
235
+ "compact": {
236
+ "description": "Use to set the horizontal padding inside a compact, plain action/button.",
237
+ "type": "number",
238
+ "value": "{global.spacer.xs}"
239
+ }
240
+ },
241
+ "compact": {
242
+ "description": "Use to set the horizontal padding inside a compact action, like compact buttons.",
243
+ "type": "number",
244
+ "value": "{global.spacer.md}"
245
+ },
246
+ "spacious": {
247
+ "description": "Use to set the horizontal padding inside a large/display action, like CTAs.",
248
+ "type": "number",
249
+ "value": "{global.spacer.xl}"
250
+ }
251
+ }
252
+ },
217
253
  "gap": {
218
254
  "text-to-element": {
219
255
  "default": {
220
256
  "description": "Use to space an element, like an icon or badge, inline with text",
221
257
  "type": "number",
222
258
  "value": "{global.spacer.sm}"
259
+ },
260
+ "compact": {
261
+ "description": "Use to space an element, like an icon or badge, inline with text",
262
+ "type": "number",
263
+ "value": "{global.spacer.xs}"
223
264
  }
224
265
  },
225
266
  "control-to-control": {
@@ -243,14 +284,26 @@
243
284
  },
244
285
  "group-to-group": {
245
286
  "horizontal": {
246
- "description": "Use to set the horizontal space between groups of elements, like between multiple action groups or forms groups placed in a horizontal layout.",
247
- "type": "number",
248
- "value": "{global.spacer.2xl}"
287
+ "default": {
288
+ "description": "Use to set the horizontal space between groups of elements, like between multiple action groups or forms groups placed in a horizontal layout.",
289
+ "type": "number",
290
+ "value": "{global.spacer.2xl}"
291
+ },
292
+ "compact": {
293
+ "type": "number",
294
+ "value": "{global.spacer.sm}"
295
+ }
249
296
  },
250
297
  "vertical": {
251
- "description": "Use to set the vertical space between groups of elements, like between stacked form groups.",
252
- "type": "number",
253
- "value": "{global.spacer.lg}"
298
+ "default": {
299
+ "description": "Use to set the vertical space between groups of elements, like between stacked form groups.",
300
+ "type": "number",
301
+ "value": "{global.spacer.lg}"
302
+ },
303
+ "compact": {
304
+ "type": "number",
305
+ "value": "{global.spacer.md}"
306
+ }
254
307
  }
255
308
  },
256
309
  "action-to-action": {
@@ -266,45 +319,16 @@
266
319
  }
267
320
  }
268
321
  },
269
- "action": {
270
- "horizontal": {
271
- "default": {
272
- "description": "Use to set the horizontal padding inside a default action, like buttons.",
273
- "type": "number",
274
- "value": "{global.spacer.lg}"
275
- },
276
- "plain": {
277
- "description": "Use to set the horizontal padding inside a plain action, like plain buttons.",
278
- "type": "number",
279
- "value": "{global.spacer.sm}",
280
- "compact": {
281
- "description": "Use to set the horizontal padding inside a compact, plain action/button.",
282
- "type": "number",
283
- "value": "{global.spacer.xs}"
284
- }
285
- },
286
- "compact": {
287
- "description": "Use to set the horizontal padding inside a compact action, like compact buttons.",
288
- "type": "number",
289
- "value": "{global.spacer.md}"
290
- },
291
- "spacious": {
292
- "description": "Use to set the horizontal padding inside a large/display action, like CTAs.",
293
- "type": "number",
294
- "value": "{global.spacer.xl}"
295
- }
296
- },
297
- "vertical": {
298
- "compact": {
299
- "description": "Use to set the vertical padding inside a compact action, like compact buttons.",
300
- "type": "number",
301
- "value": "{global.spacer.xs}"
302
- },
303
- "spacious": {
304
- "description": "Use to set the vertical padding inside a large/display action, like CTAs.",
305
- "type": "number",
306
- "value": "{global.spacer.md}"
307
- }
322
+ "inset": {
323
+ "page-chrome": {
324
+ "type": "number",
325
+ "value": "{global.spacer.lg}"
326
+ }
327
+ },
328
+ "gutter": {
329
+ "default": {
330
+ "type": "number",
331
+ "value": "{global.spacer.md}"
308
332
  }
309
333
  }
310
334
  },
@@ -335,12 +359,24 @@
335
359
  "type": "number",
336
360
  "value": "{global.icon.size.400}"
337
361
  },
338
- "3xl": {
339
- "description": "Use for triple extra large icons.",
340
- "type": "number",
341
- "value": "{global.icon.size.500}"
342
- },
343
362
  "font": {
363
+ "body": {
364
+ "sm": {
365
+ "description": "Use for icons that are placed inline with small body text",
366
+ "type": "number",
367
+ "value": "{global.font.size.body.sm}"
368
+ },
369
+ "default": {
370
+ "description": "Use for icons that are placed inline with default body text",
371
+ "type": "number",
372
+ "value": "{global.font.size.body.default}"
373
+ },
374
+ "lg": {
375
+ "description": "Use for icons that are placed inline with large body text",
376
+ "type": "number",
377
+ "value": "{global.font.size.body.lg}"
378
+ }
379
+ },
344
380
  "heading": {
345
381
  "h1": {
346
382
  "description": "Use for icons that are placed inline with first level headings",
@@ -373,23 +409,6 @@
373
409
  "value": "{global.font.size.heading.h6}"
374
410
  }
375
411
  },
376
- "body": {
377
- "sm": {
378
- "description": "Use for icons that are placed inline with small body text",
379
- "type": "number",
380
- "value": "{global.font.size.body.sm}"
381
- },
382
- "default": {
383
- "description": "Use for icons that are placed inline with default body text",
384
- "type": "number",
385
- "value": "{global.font.size.body.default}"
386
- },
387
- "lg": {
388
- "description": "Use for icons that are placed inline with large body text",
389
- "type": "number",
390
- "value": "{global.font.size.body.lg}"
391
- }
392
- },
393
412
  "xs": {
394
413
  "description": "Use for icons that are placed inline with font–size–xs text",
395
414
  "type": "number",
@@ -430,15 +449,34 @@
430
449
  "type": "number",
431
450
  "value": "{global.font.size.4xl}"
432
451
  }
452
+ },
453
+ "3xl": {
454
+ "description": "Use for triple extra large icons.",
455
+ "type": "number",
456
+ "value": "{global.icon.size.500}"
433
457
  }
434
458
  }
435
459
  },
436
460
  "font": {
437
- "weight": {
461
+ "line-height": {
438
462
  "body": {
439
- "description": "Use to define the default weight for body text",
463
+ "description": "Use to define the line height for body text",
440
464
  "type": "number",
441
- "value": "{global.font.weight.100}",
465
+ "value": "{global.font.line-height.200}"
466
+ },
467
+ "heading": {
468
+ "description": "Use to define the line height for heading text",
469
+ "type": "number",
470
+ "value": "{global.font.line-height.100}"
471
+ }
472
+ },
473
+ "weight": {
474
+ "body": {
475
+ "default": {
476
+ "description": "Use to define the default weight for body text",
477
+ "type": "number",
478
+ "value": "{global.font.weight.100}"
479
+ },
442
480
  "bold": {
443
481
  "description": "Use to define the bold weight for body text, often used to field labels or to add emphasis.",
444
482
  "type": "number",
@@ -446,9 +484,11 @@
446
484
  }
447
485
  },
448
486
  "heading": {
449
- "description": "Use to define the default weight for heading text",
450
- "type": "number",
451
- "value": "{global.font.weight.300}",
487
+ "default": {
488
+ "description": "Use to define the default weight for heading text",
489
+ "type": "number",
490
+ "value": "{global.font.weight.300}"
491
+ },
452
492
  "bold": {
453
493
  "description": "Use to define the bold weight for heading text, often used to add emphasis.",
454
494
  "type": "number",
@@ -456,18 +496,6 @@
456
496
  }
457
497
  }
458
498
  },
459
- "line-height": {
460
- "body": {
461
- "description": "Use to define the line height for body text",
462
- "type": "number",
463
- "value": "{global.font.line-height.100}"
464
- },
465
- "heading": {
466
- "description": "Use to define the line height for heading text",
467
- "type": "number",
468
- "value": "{global.font.line-height.200}"
469
- }
470
- },
471
499
  "family": {
472
500
  "body": {
473
501
  "description": "Use to define the font family for body text",
@@ -578,26 +606,32 @@
578
606
  },
579
607
  "z-index": {
580
608
  "xs": {
609
+ "description": "Use to set an extra small z-index, to display an element below other elements with a larger z-index. Use for smaller parts of a component that need to overlap adjacent elements, like box shadows of hovered elements.",
581
610
  "type": "number",
582
611
  "value": "{global.z-index.100}"
583
612
  },
584
613
  "sm": {
614
+ "description": "Use to set a small z-index, to display an element above other elements with smaller z-indexes. Use for components that need to appear above surrounding elements, like menus/dropdowns.",
585
615
  "type": "number",
586
616
  "value": "{global.z-index.200}"
587
617
  },
588
618
  "md": {
619
+ "description": "Use to set a medium z-index, to display an element above other elements with smaller z-indexes Use for sticky elements, like banners and page sections.",
589
620
  "type": "number",
590
621
  "value": "{global.z-index.300}"
591
622
  },
592
623
  "lg": {
624
+ "description": "Use to set a large z-index, to display an element above other elements with smaller z-indexes Use for the backdrop component, which appears beneath an open modal.",
593
625
  "type": "number",
594
626
  "value": "{global.z-index.400}"
595
627
  },
596
628
  "xl": {
629
+ "description": "Use to set an extra large z-index, to display an element above other elements with smaller z-indexes. Use for modals.",
597
630
  "type": "number",
598
631
  "value": "{global.z-index.500}"
599
632
  },
600
633
  "2xl": {
634
+ "description": "Use to set a double extra large z-index, to display an element above all other page elements. Use for elements that should appear on top of all others, like toast alert groups.",
601
635
  "type": "number",
602
636
  "value": "{global.z-index.600}"
603
637
  }
@@ -862,6 +896,86 @@
862
896
  "value": "{global.breakpoint.550}"
863
897
  }
864
898
  }
899
+ },
900
+ "text-decoration": {
901
+ "width": {
902
+ "default": {
903
+ "type": "number",
904
+ "value": "{global.border.width.regular}"
905
+ }
906
+ },
907
+ "offset": {
908
+ "default": {
909
+ "type": "number",
910
+ "value": "{global.spacer.xs}"
911
+ }
912
+ },
913
+ "editable-text": {
914
+ "line": {
915
+ "default": {
916
+ "type": "number",
917
+ "value": "{global.text-decoration.line.200}"
918
+ },
919
+ "hover": {
920
+ "type": "number",
921
+ "value": "{global.text-decoration.line.200}"
922
+ }
923
+ },
924
+ "style": {
925
+ "default": {
926
+ "type": "number",
927
+ "value": "{global.text-decoration.style.200}"
928
+ },
929
+ "hover": {
930
+ "type": "number",
931
+ "value": "{global.text-decoration.style.200}"
932
+ }
933
+ }
934
+ },
935
+ "link": {
936
+ "line": {
937
+ "default": {
938
+ "type": "number",
939
+ "value": "{global.text-decoration.line.200}"
940
+ },
941
+ "hover": {
942
+ "type": "number",
943
+ "value": "{global.text-decoration.line.200}"
944
+ }
945
+ },
946
+ "style": {
947
+ "default": {
948
+ "type": "number",
949
+ "value": "{global.text-decoration.style.100}"
950
+ },
951
+ "hover": {
952
+ "type": "number",
953
+ "value": "{global.text-decoration.style.100}"
954
+ }
955
+ }
956
+ },
957
+ "help-text": {
958
+ "line": {
959
+ "default": {
960
+ "type": "number",
961
+ "value": "{global.text-decoration.line.200}"
962
+ },
963
+ "hover": {
964
+ "type": "number",
965
+ "value": "{global.text-decoration.line.200}"
966
+ }
967
+ },
968
+ "style": {
969
+ "default": {
970
+ "type": "number",
971
+ "value": "{global.text-decoration.style.200}"
972
+ },
973
+ "hover": {
974
+ "type": "number",
975
+ "value": "{global.text-decoration.style.200}"
976
+ }
977
+ }
978
+ }
865
979
  }
866
980
  }
867
981
  }
@@ -90,6 +90,10 @@
90
90
  "description": "Use as the default background for control elements like form inputs and menu toggles.",
91
91
  "type": "color",
92
92
  "value": "{global.background.color.primary.default}"
93
+ },
94
+ "read-only": {
95
+ "type": "color",
96
+ "value": "{global.background.color.200}"
93
97
  }
94
98
  },
95
99
  "highlight": {
@@ -940,6 +944,12 @@
940
944
  },
941
945
  "border": {
942
946
  "color": {
947
+ "control": {
948
+ "read-only": {
949
+ "type": "color",
950
+ "value": "{global.border.color.50}"
951
+ }
952
+ },
943
953
  "brand": {
944
954
  "default": {
945
955
  "description": "Use as the default border color for any branded element, like color-coded labels, banners, etc.",
@@ -1,41 +0,0 @@
1
- const fs = require('fs');
2
- const fse = require('fs-extra');
3
- const path = require('path');
4
-
5
- const charts_scss = path.join(__dirname, 'build/css/tokens-charts.scss');
6
- const charts_dark_scss = path.join(__dirname, 'build/css/tokens-charts-dark.scss');
7
- const dark_scss = path.join(__dirname, 'build/css/tokens-dark.scss');
8
- const default_scss = path.join(__dirname, 'build/css/tokens-default.scss');
9
- const palette_scss = path.join(__dirname, 'build/css/tokens-palette.scss');
10
-
11
- const chartsFileContents = fs.readFileSync(charts_scss, 'utf-8');
12
- const chartsDarkFileContents = fs.readFileSync(charts_dark_scss, 'utf-8');
13
- const darkFileContents = fs.readFileSync(dark_scss, 'utf-8');
14
- const defaultFileContents = fs.readFileSync(default_scss, 'utf-8');
15
- const paletteFileContents = fs.readFileSync(palette_scss, 'utf-8');
16
-
17
- const scssAsJson = {}
18
-
19
- const addToMap = (line) => {
20
- const trimmedLine = line.trimStart();
21
- if (trimmedLine.startsWith("--")) {
22
- const varName = trimmedLine.substring(0, trimmedLine.indexOf(':'));
23
-
24
- // value should have var( ) stripped from it, so it's just the variable name
25
- // if no var ( ) then just the value should be stored in the map
26
- let value = trimmedLine.substring(trimmedLine.indexOf(':')+1, trimmedLine.indexOf(';')).trimStart();
27
- if (value.startsWith('var(')) {
28
- value = value.substring(value.indexOf('(')+1, value.indexOf(')'));
29
- }
30
- scssAsJson[varName] = value
31
- }
32
- }
33
-
34
- paletteFileContents.split(/\r?\n/).forEach(line => addToMap(line));
35
- defaultFileContents.split(/\r?\n/).forEach(line => addToMap(line));
36
- darkFileContents.split(/\r?\n/).forEach(line => addToMap(line));
37
- chartsFileContents.split(/\r?\n/).forEach(line => addToMap(line));
38
- chartsDarkFileContents.split(/\r?\n/).forEach(line => addToMap(line));
39
-
40
- fse.writeJson(path.join(__dirname, 'patternfly-docs/scssAsJson.json'), scssAsJson);
41
-