@dxc-technology/halstack-react 0.0.0-c25d3b6 → 0.0.0-c2834c3

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 (104) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +298 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +7 -28
  5. package/accordion/Accordion.stories.tsx +11 -11
  6. package/accordion/Accordion.test.js +19 -4
  7. package/accordion/types.d.ts +4 -0
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +13 -15
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +24 -6
  12. package/accordion-group/types.d.ts +4 -0
  13. package/alert/Alert.js +4 -1
  14. package/button/Button.js +14 -11
  15. package/card/Card.js +27 -28
  16. package/checkbox/Checkbox.d.ts +1 -1
  17. package/checkbox/Checkbox.js +43 -39
  18. package/checkbox/Checkbox.stories.tsx +124 -128
  19. package/checkbox/Checkbox.test.js +13 -0
  20. package/checkbox/types.d.ts +7 -3
  21. package/common/variables.js +181 -70
  22. package/date-input/DateInput.js +38 -20
  23. package/date-input/DateInput.test.js +9 -22
  24. package/date-input/types.d.ts +12 -9
  25. package/dialog/Dialog.js +4 -32
  26. package/dropdown/Dropdown.js +13 -17
  27. package/file-input/FileInput.js +9 -6
  28. package/file-input/FileItem.js +7 -5
  29. package/footer/Footer.js +15 -88
  30. package/header/Header.js +27 -48
  31. package/header/Header.stories.tsx +46 -36
  32. package/header/Header.test.js +18 -2
  33. package/inset/types.d.ts +24 -0
  34. package/layout/ApplicationLayout.js +5 -18
  35. package/link/Link.d.ts +3 -2
  36. package/link/Link.js +65 -56
  37. package/link/Link.stories.tsx +87 -52
  38. package/link/Link.test.js +7 -15
  39. package/link/types.d.ts +8 -23
  40. package/main.d.ts +3 -2
  41. package/main.js +19 -5
  42. package/number-input/NumberInput.test.js +2 -4
  43. package/number-input/types.d.ts +13 -10
  44. package/package.json +6 -5
  45. package/paginator/Paginator.js +17 -38
  46. package/password-input/PasswordInput.js +7 -4
  47. package/password-input/PasswordInput.test.js +3 -6
  48. package/password-input/types.d.ts +14 -11
  49. package/quick-nav/QuickNav.d.ts +4 -0
  50. package/quick-nav/QuickNav.js +116 -0
  51. package/quick-nav/QuickNav.stories.tsx +237 -0
  52. package/quick-nav/types.d.ts +21 -0
  53. package/quick-nav/types.js +5 -0
  54. package/radio/Radio.js +10 -11
  55. package/radio-group/Radio.js +1 -1
  56. package/radio-group/RadioGroup.js +8 -6
  57. package/row/types.d.ts +18 -0
  58. package/select/Listbox.d.ts +4 -0
  59. package/select/Listbox.js +152 -0
  60. package/select/Option.js +1 -1
  61. package/select/Select.js +53 -139
  62. package/select/Select.stories.tsx +14 -2
  63. package/select/Select.test.js +83 -42
  64. package/select/types.d.ts +33 -11
  65. package/slider/Slider.d.ts +1 -1
  66. package/slider/Slider.js +2 -1
  67. package/slider/Slider.stories.tsx +8 -8
  68. package/slider/Slider.test.js +31 -10
  69. package/slider/types.d.ts +4 -0
  70. package/spinner/Spinner.js +1 -1
  71. package/switch/Switch.d.ts +1 -1
  72. package/switch/Switch.js +35 -19
  73. package/switch/Switch.stories.tsx +14 -14
  74. package/switch/Switch.test.js +25 -0
  75. package/switch/types.d.ts +6 -2
  76. package/tabs/Tabs.d.ts +1 -1
  77. package/tabs/Tabs.js +9 -11
  78. package/tabs/Tabs.stories.tsx +0 -8
  79. package/tabs/Tabs.test.js +26 -9
  80. package/tabs/types.d.ts +4 -0
  81. package/tag/Tag.js +5 -8
  82. package/text-input/Suggestion.d.ts +4 -0
  83. package/text-input/Suggestion.js +55 -0
  84. package/text-input/TextInput.js +48 -76
  85. package/text-input/TextInput.test.js +22 -35
  86. package/text-input/types.d.ts +27 -12
  87. package/textarea/Textarea.js +12 -23
  88. package/textarea/Textarea.test.js +10 -20
  89. package/textarea/types.d.ts +14 -11
  90. package/toggle-group/ToggleGroup.d.ts +1 -1
  91. package/toggle-group/ToggleGroup.js +5 -4
  92. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  93. package/toggle-group/ToggleGroup.test.js +35 -4
  94. package/toggle-group/types.d.ts +8 -0
  95. package/useTheme.js +2 -2
  96. package/useTranslatedLabels.d.ts +2 -0
  97. package/useTranslatedLabels.js +20 -0
  98. package/wizard/Wizard.d.ts +1 -1
  99. package/wizard/Wizard.js +55 -44
  100. package/wizard/Wizard.stories.tsx +13 -23
  101. package/wizard/Wizard.test.js +36 -23
  102. package/wizard/types.d.ts +6 -2
  103. package/ThemeContext.d.ts +0 -10
  104. package/ThemeContext.js +0 -243
@@ -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,
@@ -1264,57 +1287,64 @@ var componentTokens = {
1264
1287
  optionFocusBorderThickness: globalTokens.border_width_2
1265
1288
  },
1266
1289
  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",
1290
+ visitedStepFontColor: globalTokens.hal_black,
1291
+ visitedStepBackgroundColor: globalTokens.hal_white,
1292
+ visitedStepBorderColor: globalTokens.hal_black,
1293
+ unvisitedStepFontColor: globalTokens.hal_grey_s_40,
1294
+ unvisitedLabelFontColor: globalTokens.hal_grey_s_40,
1295
+ unvisitedHelperTextFontColor: globalTokens.hal_grey_s_40,
1296
+ unvisitedStepBackgroundColor: globalTokens.transparent,
1297
+ unvisitedStepBorderColor: globalTokens.hal_grey_s_40,
1298
+ selectedStepFontColor: globalTokens.white,
1299
+ selectedStepBackgroundColor: globalTokens.hal_purple_s_38,
1300
+ selectedStepBorderColor: globalTokens.hal_purple_s_38,
1301
+ selectedLabelFontColor: globalTokens.hal_black,
1302
+ selectedHelperTextFontColor: globalTokens.hal_black,
1303
+ selectedStepWidth: "32px",
1304
+ selectedStepHeight: "32px",
1305
+ selectedStepBorderThickness: "2px",
1306
+ selectedStepBorderStyle: "solid",
1307
+ selectedStepBorderRadius: "45px",
1308
+ stepFontSize: globalTokens.type_scale_03,
1309
+ stepFontFamily: globalTokens.type_sans,
1310
+ stepFontStyle: globalTokens.type_normal,
1311
+ stepFontWeight: globalTokens.type_regular,
1312
+ stepFontTracking: globalTokens.type_spacing_wide_02,
1313
+ stepIconSize: "20px",
1314
+ stepWidth: "32px",
1315
+ stepHeight: "32px",
1316
+ stepBorderThickness: "2px",
1317
+ stepBorderStyle: "solid",
1318
+ stepBorderRadius: "45px",
1319
+ visitedLabelFontColor: globalTokens.hal_black,
1279
1320
  labelFontSize: globalTokens.type_scale_03,
1280
1321
  labelFontFamily: globalTokens.type_sans,
1281
1322
  labelFontStyle: globalTokens.type_normal,
1282
1323
  labelFontWeight: globalTokens.type_regular,
1283
- labelLetterSpacing: globalTokens.type_spacing_normal,
1324
+ labelFontTracking: globalTokens.type_spacing_normal,
1284
1325
  labelFontTextTransform: "none",
1285
1326
  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,
1327
+ helperTextFontSize: globalTokens.type_scale_02,
1328
+ helperTextFontFamily: globalTokens.type_sans,
1329
+ helperTextFontStyle: globalTokens.type_normal,
1330
+ helperTextFontWeight: globalTokens.type_regular,
1331
+ helperTextFontTracking: globalTokens.type_spacing_normal,
1332
+ helperTextFontTextTransform: "none",
1333
+ visitedHelperTextFontColor: globalTokens.hal_black,
1334
+ helperTextTextAlign: "left",
1335
+ disabledStepBackgroundColor: globalTokens.hal_grey_l_95,
1336
+ disabledStepFontColor: globalTokens.hal_grey_l_60,
1337
+ disabledLabelFontColor: globalTokens.hal_grey_l_60,
1338
+ disabledHelperTextFontColor: globalTokens.hal_grey_l_60,
1339
+ disabledStepBorderColor: globalTokens.hal_grey_l_95,
1340
+ disabledStepWidth: "32px",
1341
+ disabledStepHeight: "32px",
1342
+ disabledStepBorderThickness: "2px",
1343
+ disabledStepBorderStyle: "solid",
1344
+ disabledStepBorderRadius: "45px",
1315
1345
  separatorBorderThickness: "1px",
1316
1346
  separatorBorderStyle: "solid",
1317
- separatorColor: globalTokens.lightGrey,
1347
+ separatorColor: globalTokens.hal_grey_s_40,
1318
1348
  focusColor: globalTokens.hal_blue_l_50
1319
1349
  }
1320
1350
  };
@@ -1330,12 +1360,11 @@ var spaces = {
1330
1360
  };
1331
1361
  exports.spaces = spaces;
1332
1362
  var responsiveSizes = {
1333
- mobileSmall: "320",
1334
- mobileMedium: "375",
1335
- mobileLarge: "425",
1336
- tablet: "768",
1337
- laptop: "1024",
1338
- desktop: "1440"
1363
+ xsmall: "20",
1364
+ small: "30",
1365
+ medium: "45",
1366
+ large: "66",
1367
+ xlarge: "90"
1339
1368
  };
1340
1369
  exports.responsiveSizes = responsiveSizes;
1341
1370
  var typeface = {
@@ -1370,4 +1399,86 @@ var typeface = {
1370
1399
  textTransform: "uppercase"
1371
1400
  }
1372
1401
  };
1373
- exports.typeface = typeface;
1402
+ exports.typeface = typeface;
1403
+ var defaultTranslatedComponentLabels = {
1404
+ formFields: {
1405
+ optionalLabel: "(Optional)",
1406
+ requiredSelectionErrorMessage: "This field is required. Please, choose an option.",
1407
+ requiredValueErrorMessage: "This field is required. Please, enter a value.",
1408
+ formatRequestedErrorMessage: "Please match the format requested.",
1409
+ lengthErrorMessage: function lengthErrorMessage(minLength, maxLength) {
1410
+ return "Min length ".concat(minLength, ", max length ").concat(maxLength, ".");
1411
+ },
1412
+ logoAlternativeText: "Logo"
1413
+ },
1414
+ alert: {
1415
+ infoTitleText: "information",
1416
+ successTitleText: "success",
1417
+ warningTitleText: "warning",
1418
+ errorTitleText: "error"
1419
+ },
1420
+ dateInput: {
1421
+ invalidDateErrorMessage: "Invalid date."
1422
+ },
1423
+ fileInput: {
1424
+ fileSizeGreaterThanErrorMessage: "File size must be greater than min size.",
1425
+ fileSizeLessThanErrorMessage: "File size must be less than max size.",
1426
+ multipleButtonLabelDefault: "Select files",
1427
+ singleButtonLabelDefault: "Select file",
1428
+ dropAreaButtonLabelDefault: "Select",
1429
+ multipleDropAreaLabelDefault: "or drop files",
1430
+ singleDropAreaLabelDefault: "or drop a file"
1431
+ },
1432
+ footer: {
1433
+ copyrightText: function copyrightText(year) {
1434
+ return "\xA9 DXC Technology ".concat(year, ". All rights reserved.");
1435
+ }
1436
+ },
1437
+ numberInput: {
1438
+ valueGreaterThanOrEqualToErrorMessage: function valueGreaterThanOrEqualToErrorMessage(value) {
1439
+ return "Value must be greater than or equal to ".concat(value, ".");
1440
+ },
1441
+ valueLessThanOrEqualToErrorMessage: function valueLessThanOrEqualToErrorMessage(value) {
1442
+ return "Value must be less than or equal to ".concat(value, ".");
1443
+ },
1444
+ decrementValueTitle: "Decrement value",
1445
+ incrementValueTitle: "Increment value"
1446
+ },
1447
+ paginator: {
1448
+ itemsPerPageText: "Items per page ",
1449
+ minToMaxOfText: function minToMaxOfText(minNumberOfItems, maxNumberOfItems, totalItems) {
1450
+ return "".concat(minNumberOfItems, " to ").concat(maxNumberOfItems, " of ").concat(totalItems);
1451
+ },
1452
+ goToPageText: "Go to page:",
1453
+ pageOfText: function pageOfText(pageNumber, totalPagesNumber) {
1454
+ return "Page: ".concat(pageNumber, " of ").concat(totalPagesNumber);
1455
+ }
1456
+ },
1457
+ passwordInput: {
1458
+ inputShowPasswordTitle: "Show password",
1459
+ inputHidePasswordTitle: "Hide password"
1460
+ },
1461
+ quickNav: {
1462
+ contentTitle: "Contents"
1463
+ },
1464
+ radioGroup: {
1465
+ optionalItemLabelDefault: "N/A"
1466
+ },
1467
+ select: {
1468
+ noMatchesErrorMessage: "No matches found",
1469
+ actionClearSelectionTitle: "Clear selection",
1470
+ actionClearSearchTitle: "Clear search"
1471
+ },
1472
+ textInput: {
1473
+ clearFieldActionTitle: "Clear field",
1474
+ searchingMessage: "Searching...",
1475
+ fetchingDataErrorMessage: "Error fetching data"
1476
+ },
1477
+ calendar: {
1478
+ days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
1479
+ daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
1480
+ months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
1481
+ monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
1482
+ }
1483
+ };
1484
+ exports.defaultTranslatedComponentLabels = defaultTranslatedComponentLabels;
@@ -11,6 +11,8 @@ exports["default"] = void 0;
11
11
 
12
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
13
 
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
14
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
17
 
16
18
  var _react = _interopRequireWildcard(require("react"));
@@ -23,14 +25,16 @@ var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/Click
23
25
 
24
26
  var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
25
27
 
26
- var _moment = _interopRequireDefault(require("moment"));
28
+ var _dayjs = _interopRequireDefault(require("dayjs"));
27
29
 
28
- var _dateFns = _interopRequireDefault(require("@date-io/date-fns"));
30
+ var _dayjs2 = _interopRequireDefault(require("@date-io/dayjs"));
29
31
 
30
32
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
31
33
 
32
34
  var _useTheme = _interopRequireDefault(require("../useTheme"));
33
35
 
36
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
37
+
34
38
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
35
39
 
36
40
  var _templateObject;
@@ -39,8 +43,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
39
43
 
40
44
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
45
 
46
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
+
48
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
+
42
50
  var getValueForPicker = function getValueForPicker(value, format) {
43
- return (0, _moment["default"])(value, format.toUpperCase(), true).format();
51
+ return (0, _dayjs["default"])(value, format.toUpperCase(), true).format();
44
52
  };
45
53
 
46
54
  var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
@@ -81,6 +89,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
81
89
  setAnchorEl = _useState6[1];
82
90
 
83
91
  var colorsTheme = (0, _useTheme["default"])();
92
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
84
93
  var refDate = ref || (0, _react.useRef)(null);
85
94
 
86
95
  var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
@@ -94,12 +103,13 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
94
103
  };
95
104
 
96
105
  var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
97
- var newValue = (0, _moment["default"])(newDate).format(format.toUpperCase());
106
+ var newValue = (0, _dayjs["default"])(newDate).format(format.toUpperCase());
98
107
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
99
- onChange === null || onChange === void 0 ? void 0 : onChange({
108
+ newDate !== null && newDate !== void 0 && newDate.toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
100
109
  value: newValue,
101
- error: null,
102
- date: newDate !== null && newDate !== void 0 && newDate.toJSON() ? newDate : null
110
+ date: newDate
111
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
112
+ value: newValue
103
113
  });
104
114
  };
105
115
 
@@ -107,25 +117,33 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
107
117
  var newValue = _ref2.value,
108
118
  inputError = _ref2.error;
109
119
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
110
- var momentDate = (0, _moment["default"])(newValue, format.toUpperCase(), true);
111
- var invalidDateMessage = newValue !== "" && !momentDate.isValid() ? "Invalid date." : null;
112
- onChange === null || onChange === void 0 ? void 0 : onChange({
120
+ var dayjsDate = (0, _dayjs["default"])(newValue, format.toUpperCase(), true);
121
+ var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
122
+ var callbackParams = inputError || invalidDateMessage ? {
113
123
  value: newValue,
114
- error: inputError || invalidDateMessage,
115
- date: momentDate.isValid() ? momentDate.toDate() : null
116
- });
124
+ error: inputError || invalidDateMessage
125
+ } : {
126
+ value: newValue
127
+ };
128
+ dayjsDate.isValid() ? onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
129
+ date: dayjsDate.toDate()
130
+ })) : onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
117
131
  };
118
132
 
119
133
  var handleIOnBlur = function handleIOnBlur(_ref3) {
120
134
  var value = _ref3.value,
121
135
  inputError = _ref3.error;
122
- var momentDate = (0, _moment["default"])(value, format.toUpperCase(), true);
123
- var invalidDateMessage = value !== "" && !momentDate.isValid() ? "Invalid date." : null;
124
- onBlur === null || onBlur === void 0 ? void 0 : onBlur({
136
+ var dayjsDate = (0, _dayjs["default"])(value, format.toUpperCase(), true);
137
+ var invalidDateMessage = value !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
138
+ var callbackParams = inputError || invalidDateMessage ? {
125
139
  value: value,
126
- error: inputError || invalidDateMessage,
127
- date: momentDate.isValid() ? momentDate.toDate() : null
128
- });
140
+ error: inputError || invalidDateMessage
141
+ } : {
142
+ value: value
143
+ };
144
+ dayjsDate.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
145
+ date: dayjsDate.toDate()
146
+ })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
129
147
  };
130
148
 
131
149
  var openCalendar = function openCalendar() {
@@ -295,7 +313,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
295
313
  }, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
296
314
  theme: dateTheme
297
315
  }, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
298
- utils: _dateFns["default"]
316
+ utils: _dayjs2["default"]
299
317
  }, /*#__PURE__*/_react["default"].createElement(StyledDPicker, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
300
318
  label: label,
301
319
  name: name,
@@ -106,8 +106,7 @@ describe("DateInput component tests", function () {
106
106
  expect(onChange).toHaveBeenCalledTimes(10);
107
107
  expect(onChange).toHaveBeenCalledWith({
108
108
  value: "10/90/2010",
109
- error: "Invalid date.",
110
- date: null
109
+ error: "Invalid date."
111
110
  });
112
111
  });
113
112
  test("Calendar renders with correct date: today's date", function () {
@@ -191,8 +190,7 @@ describe("DateInput component tests", function () {
191
190
  expect(onBlur).toHaveBeenCalled();
192
191
  expect(onBlur).toHaveBeenCalledWith({
193
192
  value: "01-01-xxxx",
194
- error: "Invalid date.",
195
- date: null
193
+ error: "Invalid date."
196
194
  });
197
195
 
198
196
  _userEvent["default"].click(calendarAction);
@@ -301,7 +299,6 @@ describe("DateInput component tests", function () {
301
299
  expect(onChange).toHaveBeenCalledTimes(10);
302
300
  expect(onChange).toHaveBeenCalledWith({
303
301
  value: "10-10-2011",
304
- error: null,
305
302
  date: d
306
303
  });
307
304
 
@@ -310,7 +307,6 @@ describe("DateInput component tests", function () {
310
307
  expect(onBlur).toHaveBeenCalled();
311
308
  expect(onBlur).toHaveBeenCalledWith({
312
309
  value: "10-10-2011",
313
- error: null,
314
310
  date: d
315
311
  });
316
312
  });
@@ -332,8 +328,7 @@ describe("DateInput component tests", function () {
332
328
  expect(onChange).toHaveBeenCalledTimes(6);
333
329
  expect(onChange).toHaveBeenCalledWith({
334
330
  value: "10-10-",
335
- error: "Invalid date.",
336
- date: null
331
+ error: "Invalid date."
337
332
  });
338
333
 
339
334
  _react2.fireEvent.blur(input);
@@ -341,8 +336,7 @@ describe("DateInput component tests", function () {
341
336
  expect(onBlur).toHaveBeenCalled();
342
337
  expect(onBlur).toHaveBeenCalledWith({
343
338
  value: "10-10-",
344
- error: "Invalid date.",
345
- date: null
339
+ error: "Invalid date."
346
340
  });
347
341
  });
348
342
  test("onBlur function removes the error when it is fixed", function () {
@@ -365,8 +359,7 @@ describe("DateInput component tests", function () {
365
359
  expect(onBlur).toHaveBeenCalled();
366
360
  expect(onBlur).toHaveBeenCalledWith({
367
361
  value: "test",
368
- error: "Invalid date.",
369
- date: null
362
+ error: "Invalid date."
370
363
  });
371
364
 
372
365
  _userEvent["default"].clear(input);
@@ -380,7 +373,6 @@ describe("DateInput component tests", function () {
380
373
  expect(onBlur).toHaveBeenCalled();
381
374
  expect(onBlur).toHaveBeenCalledWith({
382
375
  value: "20-02-2002",
383
- error: null,
384
376
  date: d
385
377
  });
386
378
  });
@@ -404,8 +396,7 @@ describe("DateInput component tests", function () {
404
396
  expect(onBlur).toHaveBeenCalled();
405
397
  expect(onBlur).toHaveBeenCalledWith({
406
398
  value: "test",
407
- error: "Invalid date.",
408
- date: null
399
+ error: "Invalid date."
409
400
  });
410
401
 
411
402
  _userEvent["default"].clear(input);
@@ -414,9 +405,7 @@ describe("DateInput component tests", function () {
414
405
 
415
406
  expect(onBlur).toHaveBeenCalled();
416
407
  expect(onBlur).toHaveBeenCalledWith({
417
- value: "",
418
- error: null,
419
- date: null
408
+ value: ""
420
409
  });
421
410
  });
422
411
  test("onBlur & onChange functions error: required field (not optional)", function () {
@@ -442,14 +431,12 @@ describe("DateInput component tests", function () {
442
431
  expect(onBlur).toHaveBeenCalled();
443
432
  expect(onBlur).toHaveBeenCalledWith({
444
433
  value: "",
445
- error: "This field is required. Please, enter a value.",
446
- date: null
434
+ error: "This field is required. Please, enter a value."
447
435
  });
448
436
  expect(onChange).toHaveBeenCalled();
449
437
  expect(onChange).toHaveBeenCalledWith({
450
438
  value: "",
451
- error: "This field is required. Please, enter a value.",
452
- date: null
439
+ error: "This field is required. Please, enter a value."
453
440
  });
454
441
  });
455
442
  test("Disabled date input (calendar action must be shown but not clickable)", function () {
@@ -54,28 +54,31 @@ declare type Props = {
54
54
  * element of the component. An object including the string value, the
55
55
  * error and the date value will be passed to this function.
56
56
  * If the string value is a valid date, error will
57
- * be null. Also, if the string value is not a valid date, date will be null.
57
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
58
58
  */
59
59
  onChange?: (val: {
60
60
  value: string;
61
- error: string | null;
62
- date: Date | null;
61
+ error?: string;
62
+ date?: Date;
63
63
  }) => void;
64
64
  /**
65
65
  * This function will be called when the input element loses the focus.
66
66
  * An object including the string value, the error and the date value
67
67
  * will be passed to this function. If the string value is a valid date, error will
68
- * be null. Also, if the string value is not a valid date, date will be null.
68
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
69
69
  */
70
70
  onBlur?: (val: {
71
71
  value: string;
72
- error: string | null;
73
- date: Date | null;
72
+ error?: string;
73
+ date?: Date;
74
74
  }) => void;
75
75
  /**
76
- * If it is defined, the component will change its appearance, showing
77
- * the error below the date input component. If it is not defined, the error
78
- * messages will be managed internally, but never displayed on its own.
76
+ * If it is a defined value and also a truthy string, the component will
77
+ * change its appearance, showing the error below the date input
78
+ * component. If the defined value is an empty string, it will reserve a
79
+ * space below the component for a future error, but it would not change
80
+ * its look. In case of being undefined or null, both the appearance and
81
+ * the space for the error message would not be modified.
79
82
  */
80
83
  error?: string;
81
84
  /**