@dxc-technology/halstack-react 0.0.0-8b133ff → 0.0.0-8b5e703

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.
Files changed (59) hide show
  1. package/HalstackContext.d.ts +4 -2
  2. package/HalstackContext.js +111 -56
  3. package/alert/Alert.js +4 -1
  4. package/badge/Badge.d.ts +1 -1
  5. package/badge/Badge.js +5 -3
  6. package/badge/types.d.ts +1 -0
  7. package/button/Button.js +3 -1
  8. package/checkbox/Checkbox.js +4 -1
  9. package/common/variables.js +177 -64
  10. package/date-input/DateInput.js +5 -2
  11. package/file-input/FileInput.js +9 -6
  12. package/file-input/FileItem.js +7 -5
  13. package/footer/Footer.js +7 -5
  14. package/header/Header.js +7 -4
  15. package/link/Link.d.ts +3 -2
  16. package/link/Link.js +50 -70
  17. package/link/Link.stories.tsx +87 -52
  18. package/link/Link.test.js +7 -15
  19. package/link/types.d.ts +7 -23
  20. package/main.d.ts +3 -2
  21. package/main.js +14 -0
  22. package/number-input/types.d.ts +1 -1
  23. package/package.json +2 -1
  24. package/paginator/Paginator.js +17 -38
  25. package/password-input/PasswordInput.js +7 -4
  26. package/password-input/PasswordInput.test.js +1 -2
  27. package/password-input/types.d.ts +1 -1
  28. package/progress-bar/ProgressBar.js +1 -1
  29. package/progress-bar/ProgressBar.stories.jsx +11 -11
  30. package/quick-nav/QuickNav.js +63 -15
  31. package/quick-nav/QuickNav.stories.tsx +2 -2
  32. package/quick-nav/types.d.ts +4 -4
  33. package/radio-group/Radio.js +1 -1
  34. package/radio-group/RadioGroup.js +8 -6
  35. package/select/Listbox.js +5 -1
  36. package/select/Select.js +37 -47
  37. package/select/Select.stories.tsx +14 -2
  38. package/select/Select.test.js +257 -194
  39. package/spinner/Spinner.js +1 -1
  40. package/switch/Switch.js +4 -1
  41. package/tabs/Tabs.stories.tsx +0 -6
  42. package/tabs-nav/NavTabs.d.ts +7 -0
  43. package/tabs-nav/NavTabs.js +106 -0
  44. package/tabs-nav/NavTabs.stories.tsx +170 -0
  45. package/tabs-nav/NavTabs.test.js +82 -0
  46. package/tabs-nav/Tab.d.ts +4 -0
  47. package/tabs-nav/Tab.js +117 -0
  48. package/tabs-nav/types.d.ts +51 -0
  49. package/tabs-nav/types.js +5 -0
  50. package/text-input/Suggestion.d.ts +4 -0
  51. package/text-input/Suggestion.js +55 -0
  52. package/text-input/TextInput.js +46 -72
  53. package/text-input/TextInput.test.js +1 -1
  54. package/text-input/types.d.ts +14 -2
  55. package/textarea/Textarea.js +10 -19
  56. package/textarea/types.d.ts +1 -1
  57. package/useTranslatedLabels.d.ts +2 -0
  58. package/useTranslatedLabels.js +20 -0
  59. package/wizard/Wizard.js +27 -25
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.typeface = exports.spaces = exports.responsiveSizes = exports.globalTokens = exports.componentTokens = void 0;
6
+ exports.typeface = exports.spaces = exports.responsiveSizes = exports.globalTokens = exports.defaultTranslatedComponentLabels = exports.componentTokens = void 0;
7
7
  var globalTokens = {
8
- // Color
8
+ // Color
9
9
  inherit: "inherit",
10
10
  transparent: "transparent",
11
11
  hal_white: "#ffffff",
@@ -19,12 +19,15 @@ var globalTokens = {
19
19
  color_grey_800: "#4d4d4d",
20
20
  color_grey_600: "#808080",
21
21
  color_grey_50: "#fafafa",
22
+ color_grey_a_100: "#0000000d",
23
+ color_grey_a_300: "#00000033",
22
24
  hal_purple_l_95: "#f2eafa",
23
25
  hal_purple_l_90: "#e5d5f6",
24
26
  hal_purple_l_65: "#a46ede",
25
27
  hal_purple_s_38: "#5f249f",
26
28
  hal_purple_d_30: "#4b1c7d",
27
29
  hal_purple_d_20: "#321353",
30
+ hal_purple_d_70: "#9A6BB2",
28
31
  color_purple_600: "#7D2FD0",
29
32
  color_purple_300: "#cbacec",
30
33
  hal_blue_l_95: "#e6f4ff",
@@ -107,7 +110,7 @@ var globalTokens = {
107
110
  type_normal: "normal",
108
111
  type_spacing_tight_02: "-0.05em",
109
112
  type_spacing_tight_01: "-0.025em",
110
- type_spacing_normal: "0",
113
+ type_spacing_normal: "0em",
111
114
  type_spacing_wide_01: "0.025em",
112
115
  type_spacing_wide_02: "0.05em",
113
116
  type_spacing_wide_03: "0.1em",
@@ -236,7 +239,7 @@ var componentTokens = {
236
239
  successBackgroundColor: globalTokens.hal_green_l_95,
237
240
  warningBackgroundColor: globalTokens.hal_yellow_l_95,
238
241
  errorBackgroundColor: globalTokens.hal_red_l_95,
239
- hoverActionBackgroundColor: "#0000000D",
242
+ hoverActionBackgroundColor: globalTokens.color_grey_a_100,
240
243
  activeActionBackgroundColor: "#0000001A",
241
244
  focusActionBorderColor: globalTokens.hal_blue_l_50,
242
245
  overlayColor: "#000000B3"
@@ -257,12 +260,12 @@ var componentTokens = {
257
260
  oneShadowDepthShadowOffsetY: "3px",
258
261
  oneShadowDepthShadowBlur: "6px",
259
262
  oneShadowDepthShadowSpread: "0px",
260
- oneShadowDepthShadowColor: "#00000033",
263
+ oneShadowDepthShadowColor: globalTokens.color_grey_a_300,
261
264
  twoShadowDepthShadowOffsetX: "0px",
262
265
  twoShadowDepthShadowOffsetY: "3px",
263
266
  twoShadowDepthShadowBlur: "10px",
264
267
  twoShadowDepthShadowSpread: "0px",
265
- twoShadowDepthShadowColor: "#00000033"
268
+ twoShadowDepthShadowColor: globalTokens.color_grey_a_300
266
269
  },
267
270
  button: {
268
271
  labelFontLineHeight: globalTokens.type_leading_normal,
@@ -483,14 +486,13 @@ var componentTokens = {
483
486
  focusDropBorderColor: globalTokens.hal_blue_l_50,
484
487
  disabledDropBorderColor: globalTokens.hal_grey_l_60,
485
488
  dragoverDropBackgroundColor: globalTokens.color_blue_50,
486
- hoverFileItemIconBackgroundColor: globalTokens.hal_grey_l_95,
487
489
  activeFileItemIconBackgrounColor: globalTokens.hal_grey_l_80,
488
490
  errorFileItemBorderColor: globalTokens.hal_red_s_41,
489
491
  errorFileItemBackgroundColor: globalTokens.color_red_50,
490
- errorFileItemIconBackgroundColor: globalTokens.color_red_700,
492
+ errorFilePreviewBackgroundColor: globalTokens.color_red_700,
491
493
  errorFileItemIconColor: globalTokens.hal_red_s_41,
492
494
  fileItemIconBackgroundColor: globalTokens.hal_grey_l_95,
493
- fileItemIconColor: globalTokens.color_grey_600,
495
+ deleteFileItemColor: globalTokens.hal_black,
494
496
  errorMessageFontColor: globalTokens.hal_red_s_41,
495
497
  labelFontFamily: globalTokens.type_sans,
496
498
  labelFontSize: globalTokens.type_scale_02,
@@ -517,9 +519,12 @@ var componentTokens = {
517
519
  fileItemBorderThickness: globalTokens.border_width_1,
518
520
  fileItemBorderStyle: globalTokens.border_solid,
519
521
  fileItemBorderRadius: globalTokens.border_radius_medium,
520
- hoverDeleteFileItemBackgroundColor: "#0000000d",
521
- activeDeleteFileItemBackgroundColor: "#00000033",
522
- focusActionBorderColor: globalTokens.hal_blue_l_50
522
+ hoverDeleteFileItemBackgroundColor: globalTokens.color_grey_a_100,
523
+ activeDeleteFileItemBackgroundColor: globalTokens.color_grey_a_300,
524
+ focusDeleteFileItemBorderColor: globalTokens.hal_blue_l_50,
525
+ filePreviewBackgroundColor: globalTokens.hal_grey_l_95,
526
+ filePreviewIconColor: globalTokens.color_grey_600,
527
+ errorFilePreviewIconColor: globalTokens.hal_red_s_41
523
528
  },
524
529
  footer: {
525
530
  height: "124px",
@@ -712,7 +717,7 @@ var componentTokens = {
712
717
  link: {
713
718
  fontColor: globalTokens.hal_blue_s_35,
714
719
  fontFamily: globalTokens.inherit,
715
- fontSize: globalTokens.type_scale_root,
720
+ fontSize: globalTokens.inherit,
716
721
  fontStyle: globalTokens.type_normal,
717
722
  fontWeight: globalTokens.type_regular,
718
723
  iconSize: "16px",
@@ -737,15 +742,15 @@ var componentTokens = {
737
742
  fontStyle: globalTokens.type_normal,
738
743
  fontWeight: globalTokens.type_regular,
739
744
  fontTextTransform: "none",
740
- height: "64px",
741
- width: "100%",
742
- marginRight: "40px",
743
- marginLeft: "20px",
745
+ verticalPadding: "0.75rem",
746
+ horizontalPadding: "2rem",
747
+ marginRight: "2rem",
748
+ marginLeft: "2rem",
744
749
  itemsPerPageSelectorMarginLeft: "0px",
745
- itemsPerPageSelectorMarginRight: "30px",
750
+ itemsPerPageSelectorMarginRight: "1rem",
746
751
  pageSelectorMarginRight: "30px",
747
752
  pageSelectorMarginLeft: "0px",
748
- totalItemsContainerMarginRight: "30px",
753
+ totalItemsContainerMarginRight: "3rem",
749
754
  totalItemsContainerMarginLeft: "0px"
750
755
  },
751
756
  progressBar: {
@@ -777,6 +782,24 @@ var componentTokens = {
777
782
  overlayColor: globalTokens.black,
778
783
  overlayOpacity: "0.8"
779
784
  },
785
+ quickNav: {
786
+ fontColor: globalTokens.hal_grey_s_40,
787
+ hoverFontColor: globalTokens.hal_purple_d_70,
788
+ selectedFontColor: globalTokens.hal_purple_s_38,
789
+ dividerBorderColor: globalTokens.hal_grey_l_75,
790
+ focusBorderColor: globalTokens.hal_blue_l_50,
791
+ focusBorderStyle: globalTokens.border_solid,
792
+ focusBorderThickness: globalTokens.border_width_2,
793
+ focusBorderRadius: globalTokens.border_width_2,
794
+ paddingTop: globalTokens.spacing_03,
795
+ paddingBottom: globalTokens.spacing_03,
796
+ paddingLeft: globalTokens.spacing_05,
797
+ paddingRight: globalTokens.spacing_05,
798
+ fontFamily: globalTokens.type_sans,
799
+ fontSize: globalTokens.type_scale_02,
800
+ fontStyle: globalTokens.type_normal,
801
+ fontWeight: globalTokens.type_regular
802
+ },
780
803
  radio: {
781
804
  circleLabelSpacing: "10px",
782
805
  circleSize: "24px",
@@ -1010,7 +1033,7 @@ var componentTokens = {
1010
1033
  },
1011
1034
  spinner: {
1012
1035
  trackCircleColor: "#5f249f",
1013
- trackCircleColorOnDark: "#a46ede",
1036
+ trackCircleColorOverlay: "#a46ede",
1014
1037
  totalCircleColor: globalTokens.white,
1015
1038
  labelFontFamily: globalTokens.type_sans,
1016
1039
  labelFontSize: globalTokens.type_scale_02,
@@ -1145,6 +1168,7 @@ var componentTokens = {
1145
1168
  disabledFontColor: "#999999",
1146
1169
  disabledIconColor: "#999999",
1147
1170
  disabledFontStyle: globalTokens.type_normal,
1171
+ disabledBadgeBackgroundColor: "#0000004D",
1148
1172
  hoverBackgroundColor: "#f2eafa",
1149
1173
  pressedBackgroundColor: "#e5d5f6",
1150
1174
  pressedFontWeight: globalTokens.type_semibold,
@@ -1264,57 +1288,64 @@ var componentTokens = {
1264
1288
  optionFocusBorderThickness: globalTokens.border_width_2
1265
1289
  },
1266
1290
  wizard: {
1267
- disabledBackgroundColor: globalTokens.lightGrey,
1268
- disabledFontColor: globalTokens.darkGrey,
1269
- stepContainerFontSize: globalTokens.type_scale_03,
1270
- stepContainerFontFamily: globalTokens.type_sans,
1271
- stepContainerFontStyle: globalTokens.type_normal,
1272
- stepContainerFontWeight: globalTokens.type_regular,
1273
- stepContainerLetterSpacing: globalTokens.type_spacing_wide_02,
1274
- stepContainerFontColor: globalTokens.black,
1275
- stepContainerSelectedFontColor: globalTokens.white,
1276
- stepContainerSelectedBackgroundColor: globalTokens.hal_purple_s_38,
1277
- stepContainerBackgroundColor: globalTokens.white,
1278
- stepContainerIconSize: "19px",
1291
+ visitedStepFontColor: globalTokens.hal_black,
1292
+ visitedStepBackgroundColor: globalTokens.hal_white,
1293
+ visitedStepBorderColor: globalTokens.hal_black,
1294
+ unvisitedStepFontColor: globalTokens.hal_grey_s_40,
1295
+ unvisitedLabelFontColor: globalTokens.hal_grey_s_40,
1296
+ unvisitedHelperTextFontColor: globalTokens.hal_grey_s_40,
1297
+ unvisitedStepBackgroundColor: globalTokens.transparent,
1298
+ unvisitedStepBorderColor: globalTokens.hal_grey_s_40,
1299
+ selectedStepFontColor: globalTokens.white,
1300
+ selectedStepBackgroundColor: globalTokens.hal_purple_s_38,
1301
+ selectedStepBorderColor: globalTokens.hal_purple_s_38,
1302
+ selectedLabelFontColor: globalTokens.hal_black,
1303
+ selectedHelperTextFontColor: globalTokens.hal_black,
1304
+ selectedStepWidth: "32px",
1305
+ selectedStepHeight: "32px",
1306
+ selectedStepBorderThickness: "2px",
1307
+ selectedStepBorderStyle: "solid",
1308
+ selectedStepBorderRadius: "45px",
1309
+ stepFontSize: globalTokens.type_scale_03,
1310
+ stepFontFamily: globalTokens.type_sans,
1311
+ stepFontStyle: globalTokens.type_normal,
1312
+ stepFontWeight: globalTokens.type_regular,
1313
+ stepFontTracking: globalTokens.type_spacing_wide_02,
1314
+ stepIconSize: "20px",
1315
+ stepWidth: "32px",
1316
+ stepHeight: "32px",
1317
+ stepBorderThickness: "2px",
1318
+ stepBorderStyle: "solid",
1319
+ stepBorderRadius: "45px",
1320
+ visitedLabelFontColor: globalTokens.hal_black,
1279
1321
  labelFontSize: globalTokens.type_scale_03,
1280
1322
  labelFontFamily: globalTokens.type_sans,
1281
1323
  labelFontStyle: globalTokens.type_normal,
1282
1324
  labelFontWeight: globalTokens.type_regular,
1283
- labelLetterSpacing: globalTokens.type_spacing_normal,
1325
+ labelFontTracking: globalTokens.type_spacing_normal,
1284
1326
  labelFontTextTransform: "none",
1285
1327
  labelTextAlign: "left",
1286
- labelFontColor: globalTokens.darkGrey,
1287
- visitedLabelFontColor: globalTokens.black,
1288
- visitedDescriptionFontColor: globalTokens.black,
1289
- descriptionFontSize: globalTokens.type_scale_01,
1290
- descriptionFontFamily: globalTokens.type_sans,
1291
- descriptionFontStyle: globalTokens.type_normal,
1292
- descriptionFontWeight: globalTokens.type_regular,
1293
- descriptionLetterSpacing: globalTokens.type_spacing_wide_01,
1294
- descriptionFontTextTransform: "none",
1295
- descriptionFontColor: globalTokens.darkGrey,
1296
- descriptionTextAlign: "left",
1297
- circleWidth: "32px",
1298
- circleHeight: "32px",
1299
- circleBorderThickness: "2px",
1300
- circleBorderStyle: "solid",
1301
- circleBorderRadius: "45px",
1302
- circleBorderColor: globalTokens.black,
1303
- selectedCircleWidth: "32px",
1304
- selectedCircleHeight: "32px",
1305
- selectedCircleBorderThickness: "2px",
1306
- selectedCircleBorderStyle: "solid",
1307
- selectedCircleBorderRadius: "45px",
1308
- selectedCircleBorderColor: globalTokens.purple,
1309
- disabledCircleWidth: "32px",
1310
- disabledCircleHeight: "32px",
1311
- disabledCircleBorderThickness: "2px",
1312
- disabledCircleBorderStyle: "solid",
1313
- disabledCircleBorderRadius: "45px",
1314
- disabledCircleBorderColor: globalTokens.lightGrey,
1328
+ helperTextFontSize: globalTokens.type_scale_02,
1329
+ helperTextFontFamily: globalTokens.type_sans,
1330
+ helperTextFontStyle: globalTokens.type_normal,
1331
+ helperTextFontWeight: globalTokens.type_regular,
1332
+ helperTextFontTracking: globalTokens.type_spacing_normal,
1333
+ helperTextFontTextTransform: "none",
1334
+ visitedHelperTextFontColor: globalTokens.hal_black,
1335
+ helperTextTextAlign: "left",
1336
+ disabledStepBackgroundColor: globalTokens.hal_grey_l_95,
1337
+ disabledStepFontColor: globalTokens.hal_grey_l_60,
1338
+ disabledLabelFontColor: globalTokens.hal_grey_l_60,
1339
+ disabledHelperTextFontColor: globalTokens.hal_grey_l_60,
1340
+ disabledStepBorderColor: globalTokens.hal_grey_l_95,
1341
+ disabledStepWidth: "32px",
1342
+ disabledStepHeight: "32px",
1343
+ disabledStepBorderThickness: "2px",
1344
+ disabledStepBorderStyle: "solid",
1345
+ disabledStepBorderRadius: "45px",
1315
1346
  separatorBorderThickness: "1px",
1316
1347
  separatorBorderStyle: "solid",
1317
- separatorColor: globalTokens.lightGrey,
1348
+ separatorColor: globalTokens.hal_grey_s_40,
1318
1349
  focusColor: globalTokens.hal_blue_l_50
1319
1350
  }
1320
1351
  };
@@ -1369,4 +1400,86 @@ var typeface = {
1369
1400
  textTransform: "uppercase"
1370
1401
  }
1371
1402
  };
1372
- exports.typeface = typeface;
1403
+ exports.typeface = typeface;
1404
+ var defaultTranslatedComponentLabels = {
1405
+ formFields: {
1406
+ optionalLabel: "(Optional)",
1407
+ requiredSelectionErrorMessage: "This field is required. Please, choose an option.",
1408
+ requiredValueErrorMessage: "This field is required. Please, enter a value.",
1409
+ formatRequestedErrorMessage: "Please match the format requested.",
1410
+ lengthErrorMessage: function lengthErrorMessage(minLength, maxLength) {
1411
+ return "Min length ".concat(minLength, ", max length ").concat(maxLength, ".");
1412
+ },
1413
+ logoAlternativeText: "Logo"
1414
+ },
1415
+ alert: {
1416
+ infoTitleText: "information",
1417
+ successTitleText: "success",
1418
+ warningTitleText: "warning",
1419
+ errorTitleText: "error"
1420
+ },
1421
+ dateInput: {
1422
+ invalidDateErrorMessage: "Invalid date."
1423
+ },
1424
+ fileInput: {
1425
+ fileSizeGreaterThanErrorMessage: "File size must be greater than min size.",
1426
+ fileSizeLessThanErrorMessage: "File size must be less than max size.",
1427
+ multipleButtonLabelDefault: "Select files",
1428
+ singleButtonLabelDefault: "Select file",
1429
+ dropAreaButtonLabelDefault: "Select",
1430
+ multipleDropAreaLabelDefault: "or drop files",
1431
+ singleDropAreaLabelDefault: "or drop a file"
1432
+ },
1433
+ footer: {
1434
+ copyrightText: function copyrightText(year) {
1435
+ return "\xA9 DXC Technology ".concat(year, ". All rights reserved.");
1436
+ }
1437
+ },
1438
+ numberInput: {
1439
+ valueGreaterThanOrEqualToErrorMessage: function valueGreaterThanOrEqualToErrorMessage(value) {
1440
+ return "Value must be greater than or equal to ".concat(value, ".");
1441
+ },
1442
+ valueLessThanOrEqualToErrorMessage: function valueLessThanOrEqualToErrorMessage(value) {
1443
+ return "Value must be less than or equal to ".concat(value, ".");
1444
+ },
1445
+ decrementValueTitle: "Decrement value",
1446
+ incrementValueTitle: "Increment value"
1447
+ },
1448
+ paginator: {
1449
+ itemsPerPageText: "Items per page ",
1450
+ minToMaxOfText: function minToMaxOfText(minNumberOfItems, maxNumberOfItems, totalItems) {
1451
+ return "".concat(minNumberOfItems, " to ").concat(maxNumberOfItems, " of ").concat(totalItems);
1452
+ },
1453
+ goToPageText: "Go to page:",
1454
+ pageOfText: function pageOfText(pageNumber, totalPagesNumber) {
1455
+ return "Page: ".concat(pageNumber, " of ").concat(totalPagesNumber);
1456
+ }
1457
+ },
1458
+ passwordInput: {
1459
+ inputShowPasswordTitle: "Show password",
1460
+ inputHidePasswordTitle: "Hide password"
1461
+ },
1462
+ quickNav: {
1463
+ contentTitle: "Contents"
1464
+ },
1465
+ radioGroup: {
1466
+ optionalItemLabelDefault: "N/A"
1467
+ },
1468
+ select: {
1469
+ noMatchesErrorMessage: "No matches found",
1470
+ actionClearSelectionTitle: "Clear selection",
1471
+ actionClearSearchTitle: "Clear search"
1472
+ },
1473
+ textInput: {
1474
+ clearFieldActionTitle: "Clear field",
1475
+ searchingMessage: "Searching...",
1476
+ fetchingDataErrorMessage: "Error fetching data"
1477
+ },
1478
+ calendar: {
1479
+ days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
1480
+ daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
1481
+ months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
1482
+ monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
1483
+ }
1484
+ };
1485
+ exports.defaultTranslatedComponentLabels = defaultTranslatedComponentLabels;
@@ -33,6 +33,8 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
33
33
 
34
34
  var _useTheme = _interopRequireDefault(require("../useTheme"));
35
35
 
36
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
37
+
36
38
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
37
39
 
38
40
  var _templateObject;
@@ -87,6 +89,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
87
89
  setAnchorEl = _useState6[1];
88
90
 
89
91
  var colorsTheme = (0, _useTheme["default"])();
92
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
90
93
  var refDate = ref || (0, _react.useRef)(null);
91
94
 
92
95
  var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
@@ -115,7 +118,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
115
118
  inputError = _ref2.error;
116
119
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
117
120
  var dayjsDate = (0, _dayjs["default"])(newValue, format.toUpperCase(), true);
118
- var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && "Invalid date.";
121
+ var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
119
122
  var callbackParams = inputError || invalidDateMessage ? {
120
123
  value: newValue,
121
124
  error: inputError || invalidDateMessage
@@ -131,7 +134,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
131
134
  var value = _ref3.value,
132
135
  inputError = _ref3.error;
133
136
  var dayjsDate = (0, _dayjs["default"])(value, format.toUpperCase(), true);
134
- var invalidDateMessage = value !== "" && !dayjsDate.isValid() && "Invalid date.";
137
+ var invalidDateMessage = value !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
135
138
  var callbackParams = inputError || invalidDateMessage ? {
136
139
  value: value,
137
140
  error: inputError || invalidDateMessage
@@ -33,6 +33,8 @@ var _variables = require("../common/variables.js");
33
33
 
34
34
  var _useTheme = _interopRequireDefault(require("../useTheme"));
35
35
 
36
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
37
+
36
38
  var _Button = _interopRequireDefault(require("../button/Button"));
37
39
 
38
40
  var _FileItem = _interopRequireDefault(require("./FileItem"));
@@ -127,6 +129,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
127
129
  fileInputId = _useState6[0];
128
130
 
129
131
  var colorsTheme = (0, _useTheme["default"])();
132
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
130
133
  (0, _react.useEffect)(function () {
131
134
  var getFiles = /*#__PURE__*/function () {
132
135
  var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
@@ -204,11 +207,11 @@ var DxcFileInput = function DxcFileInput(_ref) {
204
207
 
205
208
  var checkFileSize = function checkFileSize(file) {
206
209
  if (file.size < minSize) {
207
- return "File size must be greater than min size.";
210
+ return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;
208
211
  }
209
212
 
210
213
  if (file.size > maxSize) {
211
- return "File size must be less than max size.";
214
+ return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
212
215
  }
213
216
  };
214
217
 
@@ -410,7 +413,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
410
413
  onChange: selectFiles
411
414
  }), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
412
415
  mode: "secondary",
413
- label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? "Select files" : "Select file",
416
+ label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
414
417
  onClick: handleClick,
415
418
  disabled: disabled,
416
419
  size: "medium",
@@ -450,15 +453,15 @@ var DxcFileInput = function DxcFileInput(_ref) {
450
453
  mode: mode
451
454
  }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
452
455
  mode: "secondary",
453
- label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : "Select",
456
+ label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
454
457
  onClick: handleClick,
455
458
  disabled: disabled,
456
459
  size: "fitContent"
457
460
  })), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
458
461
  disabled: disabled
459
- }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? "or drop files" : "or drop a file") : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
462
+ }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
460
463
  disabled: disabled
461
- }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? "or drop files" : "or drop a file")), files.map(function (file) {
464
+ }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.map(function (file) {
462
465
  return /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
463
466
  mode: mode,
464
467
  multiple: multiple,
@@ -133,9 +133,9 @@ var FileItemContainer = _styledComponents["default"].div(_templateObject3 || (_t
133
133
  var ImagePreview = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n object-fit: contain;\n margin-right: 12px;\n border-radius: 2px;\n"])));
134
134
 
135
135
  var IconPreviewContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 12px;\n background-color: ", ";\n width: 48px;\n height: 48px;\n border-radius: 2px;\n color: ", ";\n"])), function (props) {
136
- return props.error ? props.theme.errorFileItemIconBackgroundColor : props.theme.fileItemIconBackgroundColor;
136
+ return props.error ? props.theme.errorFilePreviewBackgroundColor : props.theme.filePreviewBackgroundColor;
137
137
  }, function (props) {
138
- return props.error ? props.theme.errorFileItemIconColor : props.theme.fileItemIconColor;
138
+ return props.error ? props.theme.errorFilePreviewIconColor : props.theme.filePreviewIconColor;
139
139
  });
140
140
 
141
141
  var IconPreview = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
@@ -156,14 +156,16 @@ var FileName = _styledComponents["default"].span(_templateObject7 || (_templateO
156
156
 
157
157
  var ErrorIcon = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: #d0011b;\n"])));
158
158
 
159
- var DeleteIcon = _styledComponents["default"].button(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n margin-left: 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
159
+ var DeleteIcon = _styledComponents["default"].button(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n margin-left: 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n color: ", ";\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
160
160
  return props.theme.fontFamily;
161
+ }, function (props) {
162
+ return props.theme.deleteFileItemColor;
161
163
  }, function (props) {
162
164
  return props.theme.hoverDeleteFileItemBackgroundColor;
163
165
  }, function (props) {
164
- return props.theme.focusActionBorderColor;
166
+ return props.theme.focusDeleteFileItemBorderColor;
165
167
  }, function (props) {
166
- return props.theme.focusActionBorderColor;
168
+ return props.theme.focusDeleteFileItemBorderColor;
167
169
  }, function (props) {
168
170
  return props.theme.activeDeleteFileItemBackgroundColor;
169
171
  });
package/footer/Footer.js CHANGED
@@ -21,6 +21,8 @@ var _variables = require("../common/variables.js");
21
21
 
22
22
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
23
 
24
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
25
+
24
26
  var _BackgroundColorContext = require("../BackgroundColorContext");
25
27
 
26
28
  var _Icons = require("./Icons");
@@ -34,14 +36,14 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
34
36
  var DxcFooter = function DxcFooter(_ref) {
35
37
  var socialLinks = _ref.socialLinks,
36
38
  bottomLinks = _ref.bottomLinks,
37
- _ref$copyright = _ref.copyright,
38
- copyright = _ref$copyright === void 0 ? "\xA9 DXC Technology ".concat(new Date().getFullYear(), ". All rights reserved.") : _ref$copyright,
39
+ copyright = _ref.copyright,
39
40
  children = _ref.children,
40
41
  padding = _ref.padding,
41
42
  margin = _ref.margin,
42
43
  _ref$tabIndex = _ref.tabIndex,
43
44
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
44
45
  var colorsTheme = (0, _useTheme["default"])();
46
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
45
47
  var footerLogo = (0, _react.useMemo)(function () {
46
48
  if (!colorsTheme.footer.logo) {
47
49
  return _Icons.dxcLogo;
@@ -49,7 +51,7 @@ var DxcFooter = function DxcFooter(_ref) {
49
51
 
50
52
  if (typeof colorsTheme.footer.logo === "string") {
51
53
  return /*#__PURE__*/_react["default"].createElement(LogoImg, {
52
- alt: "Logo",
54
+ alt: translatedLabels.formFields.logoAlternativeText,
53
55
  src: colorsTheme.footer.logo
54
56
  });
55
57
  }
@@ -86,7 +88,7 @@ var DxcFooter = function DxcFooter(_ref) {
86
88
  color: colorsTheme.footer.backgroundColor
87
89
  }, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
88
90
  className: "footerFooter"
89
- }, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright)))));
91
+ }, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright || translatedLabels.footer.copyrightText(new Date().getFullYear()))))));
90
92
  };
91
93
 
92
94
  var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n @media (min-width: ", "rem) {\n padding: 24px 36px 24px 36px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n padding: 20px;\n }\n\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
@@ -119,7 +121,7 @@ var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_tem
119
121
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
120
122
  });
121
123
 
122
- var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n\n @media (min-width: ", "rem) {\n max-width: 40%;\n text-align: right;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 100%;\n width: 100%;\n text-align: left;\n }\n \n padding-top: ", ";\n"])), function (props) {
124
+ var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n\n @media (min-width: ", "rem) {\n max-width: 40%;\n text-align: right;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 100%;\n width: 100%;\n text-align: left;\n }\n\n padding-top: ", ";\n"])), function (props) {
123
125
  return props.theme.copyrightFontFamily;
124
126
  }, function (props) {
125
127
  return props.theme.copyrightFontSize;
package/header/Header.js CHANGED
@@ -29,6 +29,8 @@ var _variables = require("../common/variables.js");
29
29
 
30
30
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
31
 
32
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
33
+
32
34
  var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
33
35
 
34
36
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
@@ -64,14 +66,14 @@ var Dropdown = function Dropdown(props) {
64
66
 
65
67
  var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
66
68
 
67
- var getLogoElement = function getLogoElement(themeInput) {
69
+ var getLogoElement = function getLogoElement(themeInput, logoLabel) {
68
70
  if (!themeInput) {
69
71
  return _Icons.dxcLogo;
70
72
  }
71
73
 
72
74
  if (typeof themeInput === "string") {
73
75
  return /*#__PURE__*/_react["default"].createElement(LogoImg, {
74
- alt: "Logo",
76
+ alt: logoLabel,
75
77
  src: themeInput
76
78
  });
77
79
  }
@@ -90,6 +92,7 @@ var DxcHeader = function DxcHeader(_ref) {
90
92
  _ref$tabIndex = _ref.tabIndex,
91
93
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
92
94
  var colorsTheme = (0, _useTheme["default"])();
95
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
93
96
  var ref = (0, _react.useRef)(null);
94
97
 
95
98
  var _useState = (0, _react.useState)(false),
@@ -125,10 +128,10 @@ var DxcHeader = function DxcHeader(_ref) {
125
128
  };
126
129
 
127
130
  var headerLogo = (0, _react.useMemo)(function () {
128
- return getLogoElement(colorsTheme.header.logo);
131
+ return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
129
132
  }, [colorsTheme.header.logo]);
130
133
  var headerResponsiveLogo = (0, _react.useMemo)(function () {
131
- return getLogoElement(colorsTheme.header.logoResponsive);
134
+ return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
132
135
  }, [colorsTheme.header.logoResponsive]);
133
136
  (0, _react.useEffect)(function () {
134
137
  if (ref.current) {
package/link/Link.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- import Overload from "./types";
2
- declare const DxcLink: Overload;
1
+ import React from "react";
2
+ import { LinkProps } from "./types";
3
+ declare const DxcLink: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
3
4
  export default DxcLink;