@dxc-technology/halstack-react 8.0.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +114 -73
  5. package/accordion/Accordion.js +13 -24
  6. package/accordion/Accordion.stories.tsx +102 -13
  7. package/accordion/Accordion.test.js +1 -1
  8. package/accordion/types.d.ts +3 -3
  9. package/accordion-group/AccordionGroup.js +2 -2
  10. package/accordion-group/AccordionGroup.test.js +1 -1
  11. package/accordion-group/types.d.ts +2 -2
  12. package/alert/Alert.js +3 -5
  13. package/alert/Alert.stories.tsx +28 -0
  14. package/alert/Alert.test.js +1 -1
  15. package/box/Box.js +3 -5
  16. package/box/Box.stories.tsx +15 -0
  17. package/box/Box.test.js +1 -1
  18. package/button/Button.js +13 -15
  19. package/button/Button.stories.tsx +150 -8
  20. package/button/Button.test.js +1 -1
  21. package/button/types.d.ts +3 -3
  22. package/card/Card.js +12 -13
  23. package/card/Card.stories.tsx +12 -13
  24. package/card/Card.test.js +1 -1
  25. package/checkbox/Checkbox.js +3 -3
  26. package/checkbox/Checkbox.stories.tsx +52 -0
  27. package/checkbox/Checkbox.test.js +1 -1
  28. package/checkbox/types.d.ts +2 -2
  29. package/chip/Chip.js +18 -26
  30. package/chip/Chip.stories.tsx +96 -9
  31. package/chip/Chip.test.js +3 -5
  32. package/common/utils.d.ts +1 -0
  33. package/common/utils.js +4 -4
  34. package/common/variables.d.ts +1625 -0
  35. package/common/variables.js +280 -288
  36. package/date-input/Calendar.d.ts +1 -1
  37. package/date-input/Calendar.js +43 -43
  38. package/date-input/DateInput.js +74 -32
  39. package/date-input/DateInput.stories.tsx +183 -30
  40. package/date-input/DateInput.test.js +120 -37
  41. package/date-input/DatePicker.js +38 -52
  42. package/date-input/Icons.d.ts +6 -0
  43. package/date-input/Icons.js +75 -0
  44. package/date-input/YearPicker.d.ts +1 -1
  45. package/date-input/YearPicker.js +23 -12
  46. package/date-input/types.d.ts +6 -8
  47. package/dialog/Dialog.js +61 -74
  48. package/dialog/Dialog.stories.tsx +211 -159
  49. package/dialog/Dialog.test.js +302 -3
  50. package/dialog/types.d.ts +2 -2
  51. package/dropdown/Dropdown.js +5 -8
  52. package/dropdown/Dropdown.stories.tsx +210 -84
  53. package/dropdown/Dropdown.test.js +3 -2
  54. package/dropdown/DropdownMenu.js +8 -18
  55. package/dropdown/DropdownMenuItem.js +4 -17
  56. package/dropdown/types.d.ts +3 -3
  57. package/file-input/FileInput.js +4 -8
  58. package/file-input/FileInput.stories.tsx +85 -2
  59. package/file-input/FileInput.test.js +1 -42
  60. package/file-input/FileItem.js +1 -0
  61. package/footer/Footer.js +6 -8
  62. package/footer/Footer.stories.tsx +91 -0
  63. package/footer/Footer.test.js +14 -26
  64. package/header/Header.d.ts +3 -2
  65. package/header/Header.js +21 -23
  66. package/header/Header.stories.tsx +149 -6
  67. package/header/Header.test.js +2 -2
  68. package/header/types.d.ts +2 -2
  69. package/heading/Heading.js +1 -1
  70. package/heading/Heading.test.js +1 -1
  71. package/layout/ApplicationLayout.d.ts +1 -1
  72. package/layout/ApplicationLayout.js +1 -1
  73. package/link/Link.js +2 -2
  74. package/link/Link.stories.tsx +60 -0
  75. package/link/Link.test.js +2 -4
  76. package/link/types.d.ts +2 -2
  77. package/main.d.ts +1 -1
  78. package/main.js +1 -1
  79. package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
  80. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  81. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  82. package/{tabs-nav → nav-tabs}/Tab.js +37 -17
  83. package/number-input/NumberInput.test.js +1 -1
  84. package/package.json +2 -2
  85. package/paginator/Icons.d.ts +5 -0
  86. package/paginator/Icons.js +16 -28
  87. package/paginator/Paginator.js +6 -14
  88. package/paginator/Paginator.stories.tsx +24 -0
  89. package/paginator/Paginator.test.js +44 -47
  90. package/paragraph/Paragraph.d.ts +3 -4
  91. package/paragraph/Paragraph.js +5 -5
  92. package/password-input/PasswordInput.test.js +1 -1
  93. package/progress-bar/ProgressBar.d.ts +2 -2
  94. package/progress-bar/ProgressBar.js +5 -5
  95. package/progress-bar/ProgressBar.stories.jsx +35 -2
  96. package/progress-bar/ProgressBar.test.js +1 -1
  97. package/progress-bar/types.d.ts +4 -3
  98. package/quick-nav/QuickNav.stories.tsx +14 -0
  99. package/radio-group/RadioGroup.stories.tsx +131 -18
  100. package/radio-group/RadioGroup.test.js +1 -1
  101. package/resultsetTable/ResultsetTable.js +2 -2
  102. package/resultsetTable/ResultsetTable.test.js +18 -23
  103. package/resultsetTable/types.d.ts +3 -3
  104. package/select/Listbox.d.ts +1 -1
  105. package/select/Listbox.js +5 -34
  106. package/select/Option.js +11 -24
  107. package/select/Select.js +56 -35
  108. package/select/Select.stories.tsx +492 -145
  109. package/select/Select.test.js +76 -81
  110. package/select/types.d.ts +2 -2
  111. package/sidenav/Sidenav.js +9 -11
  112. package/sidenav/Sidenav.stories.tsx +148 -46
  113. package/slider/Slider.js +6 -7
  114. package/slider/Slider.stories.tsx +57 -0
  115. package/slider/Slider.test.js +1 -1
  116. package/slider/types.d.ts +2 -2
  117. package/spinner/Spinner.js +17 -23
  118. package/spinner/Spinner.stories.jsx +53 -27
  119. package/spinner/Spinner.test.js +1 -1
  120. package/switch/Switch.js +3 -3
  121. package/switch/Switch.stories.tsx +33 -0
  122. package/switch/Switch.test.js +1 -1
  123. package/switch/types.d.ts +2 -2
  124. package/table/Table.js +2 -2
  125. package/table/Table.stories.jsx +80 -1
  126. package/table/Table.test.js +1 -1
  127. package/tabs/Tab.js +12 -14
  128. package/tabs/Tabs.js +4 -6
  129. package/tabs/Tabs.stories.tsx +45 -5
  130. package/tabs/Tabs.test.js +4 -5
  131. package/tabs/types.d.ts +2 -2
  132. package/tag/Tag.js +7 -9
  133. package/tag/Tag.stories.tsx +14 -1
  134. package/tag/Tag.test.js +1 -1
  135. package/text-input/Suggestion.js +34 -7
  136. package/text-input/TextInput.js +10 -14
  137. package/text-input/TextInput.stories.tsx +92 -4
  138. package/text-input/TextInput.test.js +125 -26
  139. package/textarea/Textarea.js +3 -3
  140. package/textarea/Textarea.stories.jsx +60 -1
  141. package/textarea/Textarea.test.js +1 -1
  142. package/toggle-group/ToggleGroup.js +7 -4
  143. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  144. package/toggle-group/ToggleGroup.test.js +1 -1
  145. package/toggle-group/types.d.ts +1 -1
  146. package/typography/Typography.d.ts +2 -2
  147. package/typography/Typography.js +14 -113
  148. package/typography/Typography.stories.tsx +1 -1
  149. package/useTheme.d.ts +1234 -1
  150. package/useTheme.js +1 -1
  151. package/useTranslatedLabels.d.ts +84 -1
  152. package/utils/BaseTypography.d.ts +21 -0
  153. package/utils/BaseTypography.js +108 -0
  154. package/utils/FocusLock.d.ts +13 -0
  155. package/utils/FocusLock.js +139 -0
  156. package/wizard/Wizard.js +2 -2
  157. package/wizard/Wizard.stories.tsx +20 -0
  158. package/wizard/Wizard.test.js +1 -1
  159. package/wizard/types.d.ts +5 -6
  160. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  161. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  162. /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
  163. /package/{tabs-nav → nav-tabs}/types.js +0 -0
@@ -23,7 +23,11 @@ var _Badge = _interopRequireDefault(require("../badge/Badge"));
23
23
 
24
24
  var _NavTabs = require("./NavTabs");
25
25
 
26
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
26
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
27
+
28
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
27
31
 
28
32
  var _excluded = ["href", "active", "icon", "disabled", "notificationNumber", "children"];
29
33
 
@@ -50,6 +54,7 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
50
54
  hasIcons = _useContext.hasIcons,
51
55
  focusedLabel = _useContext.focusedLabel;
52
56
 
57
+ var colorsTheme = (0, _useTheme["default"])();
53
58
  (0, _react.useLayoutEffect)(function () {
54
59
  var _tabRef$current;
55
60
 
@@ -71,10 +76,12 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
71
76
  return /*#__PURE__*/_react["default"].createElement(TabContainer, {
72
77
  active: active,
73
78
  role: "tab",
74
- "aria-selected": active
79
+ "aria-selected": active,
80
+ "aria-disabled": disabled
75
81
  }, /*#__PURE__*/_react["default"].createElement(Tab, (0, _extends2["default"])({
76
82
  href: !disabled && href ? href : undefined,
77
83
  disabled: disabled,
84
+ active: active,
78
85
  iconPosition: iconPosition,
79
86
  hasIcon: hasIcons,
80
87
  ref: function ref(anchorRef) {
@@ -90,41 +97,54 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
90
97
  tabIndex: active ? tabIndex : -1
91
98
  }, otherProps), icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
92
99
  iconPosition: iconPosition
93
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TabIcon, {
100
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
94
101
  src: icon
95
- }) : icon), /*#__PURE__*/_react["default"].createElement(LabelContainer, null, children, notificationNumber && /*#__PURE__*/_react["default"].createElement(BadgeContainer, null, /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
96
- notificationText: notificationNumber > 99 ? "+99" : notificationNumber,
102
+ }) : icon), /*#__PURE__*/_react["default"].createElement(LabelContainer, null, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
103
+ color: disabled ? colorsTheme.navTabs.disabledFontColor : active ? colorsTheme.navTabs.selectedFontColor : colorsTheme.navTabs.unselectedFontColor,
104
+ fontFamily: colorsTheme.navTabs.fontFamily,
105
+ fontSize: colorsTheme.navTabs.fontSize,
106
+ fontStyle: colorsTheme.navTabs.fontStyle,
107
+ fontWeight: colorsTheme.navTabs.fontWeight,
108
+ textAlign: "center",
109
+ letterSpacing: "0.025em",
110
+ lineHeight: "1.715em"
111
+ }, children), notificationNumber && /*#__PURE__*/_react["default"].createElement(BadgeContainer, null, /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
112
+ notificationText: typeof notificationNumber === "number" && notificationNumber > 99 ? "+99" : notificationNumber,
97
113
  disabled: disabled
98
114
  })))));
99
115
  });
100
116
 
101
- var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: 2px solid ", ";\n"])), function (props) {
102
- return props.active ? "#6f2c91" : "#0000001a";
117
+ var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: 2px solid ", ";\n svg {\n color: ", ";\n }\n\n &[aria-selected=\"true\"] {\n svg {\n color: ", ";\n }\n }\n\n &[aria-disabled=\"true\"] {\n svg {\n color: ", ";\n }\n }\n"])), function (props) {
118
+ return props.active ? props.theme.selectedUnderlineColor : props.theme.dividerColor;
119
+ }, function (props) {
120
+ return props.theme.unselectedIconColor;
121
+ }, function (props) {
122
+ return props.theme.selectedIconColor;
123
+ }, function (props) {
124
+ return props.theme.disabledIconColor;
103
125
  });
104
126
 
105
- var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n\n font-family: \"Open Sans\";\n font-style: normal;\n font-weight: 400;\n font-size: 1rem;\n color: ", ";\n text-decoration-color: transparent;\n cursor: ", ";\n\n height: ", ";\n min-width: 164px;\n margin: 0.5rem;\n padding: 0.375rem;\n\n border-radius: 4px;\n\n ", "\n"])), function (props) {
127
+ var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n height: ", ";\n min-width: 164px;\n margin: 0.5rem;\n padding: 0.375rem;\n border-radius: 4px;\n background: ", ";\n text-decoration-color: transparent;\n cursor: ", ";\n\n ", "\n"])), function (props) {
106
128
  return props.hasIcon && props.iconPosition === "top" ? "column" : "row";
107
129
  }, function (props) {
108
- return props.disabled ? "#0000004D" : "#333333";
130
+ return props.hasIcon && props.iconPosition === "top" ? "66px" : "32px";
109
131
  }, function (props) {
110
- return props.disabled ? "not-allowed" : "pointer";
132
+ return props.active ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
111
133
  }, function (props) {
112
- return props.hasIcon && props.iconPosition === "top" ? "66px" : "32px";
134
+ return props.disabled ? "not-allowed" : "pointer";
113
135
  }, function (props) {
114
- return !props.disabled && ":hover {\n background: #0000000D;\n }\n\n :focus {\n outline: 2px solid #33aaff};\n }\n\n :active {\n background: #0000001A;\n outline: 2px solid #33aaff};\n }";
136
+ return !props.disabled && "\n :hover {\n background: ".concat(props.theme.hoverBackgroundColor, ";\n }\n :focus {\n outline: 2px solid ").concat(props.theme.focusOutline, ";\n }\n :active {\n background: ").concat(props.theme.pressedBackgroundColor, ";\n outline: 2px solid #33aaff};\n }\n ");
115
137
  });
116
138
 
117
- var TabIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
118
-
119
- var TabIconContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-bottom: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n align-items: center;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
139
+ var TabIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-bottom: ", ";\n margin-right: ", ";\n\n img,\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
120
140
  return props.iconPosition === "top" && "0.375rem";
121
141
  }, function (props) {
122
142
  return props.iconPosition === "left" && "0.625rem";
123
143
  });
124
144
 
125
- var LabelContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n"])));
145
+ var LabelContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n"])));
126
146
 
127
- var BadgeContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 0.5rem;\n"])));
147
+ var BadgeContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 0.5rem;\n"])));
128
148
 
129
149
  var _default = DxcTab;
130
150
  exports["default"] = _default;
@@ -8,7 +8,7 @@ var _react2 = require("@testing-library/react");
8
8
 
9
9
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
10
 
11
- var _NumberInput = _interopRequireDefault(require("./NumberInput"));
11
+ var _NumberInput = _interopRequireDefault(require("./NumberInput.tsx"));
12
12
 
13
13
  describe("Number input component tests", function () {
14
14
  test("Number input renders with label", function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxc-technology/halstack-react",
3
- "version": "8.0.0",
3
+ "version": "9.0.1",
4
4
  "description": "DXC Halstack React components library",
5
5
  "repository": "dxc-technology/halstack-react",
6
6
  "homepage": "https://developer.dxc.com/halstack",
@@ -23,7 +23,6 @@
23
23
  "@types/uuid": "^8.3.4",
24
24
  "color": "^3.1.3",
25
25
  "dayjs": "^1.11.1",
26
- "rgb-hex": "^3.0.0",
27
26
  "slugify": "^1.6.5",
28
27
  "uuid": "^8.3.2"
29
28
  },
@@ -51,6 +50,7 @@
51
50
  "@storybook/testing-library": "0.0.7",
52
51
  "@testing-library/react": "^13.0.0",
53
52
  "@testing-library/user-event": "^13.0.0",
53
+ "@types/color": "^3.0.3",
54
54
  "@types/react": "^18.0.18",
55
55
  "babel-jest": "^24.8.0",
56
56
  "babel-loader": "^8.0.6",
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const firstIcon: JSX.Element;
3
+ export declare const previousIcon: JSX.Element;
4
+ export declare const nextIcon: JSX.Element;
5
+ export declare const lastIcon: JSX.Element;
@@ -11,56 +11,44 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var firstIcon = /*#__PURE__*/_react["default"].createElement("svg", {
13
13
  xmlns: "http://www.w3.org/2000/svg",
14
- width: "12.41",
15
- height: "12",
16
- viewBox: "0 0 12.41 12"
14
+ height: "24",
15
+ width: "24",
16
+ fill: "currentColor"
17
17
  }, /*#__PURE__*/_react["default"].createElement("path", {
18
- id: "Path_2463",
19
- "data-name": "Path 2463",
20
- d: "M18.41,16.59,13.82,12l4.59-4.59L17,6l-6,6,6,6ZM6,6H8V18H6Z",
21
- transform: "translate(-6 -6)"
18
+ d: "M6 18V6h2v12Zm11 0-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
22
19
  }));
23
20
 
24
21
  exports.firstIcon = firstIcon;
25
22
 
26
23
  var previousIcon = /*#__PURE__*/_react["default"].createElement("svg", {
27
24
  xmlns: "http://www.w3.org/2000/svg",
28
- width: "7.41",
29
- height: "12",
30
- viewBox: "0 0 7.41 12"
25
+ height: "24",
26
+ width: "24",
27
+ fill: "currentColor"
31
28
  }, /*#__PURE__*/_react["default"].createElement("path", {
32
- id: "Path_2459",
33
- "data-name": "Path 2459",
34
- d: "M15.41,7.41,14,6,8,12l6,6,1.41-1.41L10.83,12Z",
35
- transform: "translate(-8 -6)"
29
+ d: "m14 18-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
36
30
  }));
37
31
 
38
32
  exports.previousIcon = previousIcon;
39
33
 
40
34
  var nextIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
35
  xmlns: "http://www.w3.org/2000/svg",
42
- width: "7.41",
43
- height: "12",
44
- viewBox: "0 0 7.41 12"
36
+ height: "24",
37
+ width: "24",
38
+ fill: "currentColor"
45
39
  }, /*#__PURE__*/_react["default"].createElement("path", {
46
- id: "Path_2461",
47
- "data-name": "Path 2461",
48
- d: "M10,6,8.59,7.41,13.17,12,8.59,16.59,10,18l6-6Z",
49
- transform: "translate(-8.59 -6)"
40
+ d: "M9.4 18 8 16.6l4.6-4.6L8 7.4 9.4 6l6 6Z"
50
41
  }));
51
42
 
52
43
  exports.nextIcon = nextIcon;
53
44
 
54
45
  var lastIcon = /*#__PURE__*/_react["default"].createElement("svg", {
55
46
  xmlns: "http://www.w3.org/2000/svg",
56
- width: "12.41",
57
- height: "12",
58
- viewBox: "0 0 12.41 12"
47
+ height: "24",
48
+ width: "24",
49
+ fill: "currentColor"
59
50
  }, /*#__PURE__*/_react["default"].createElement("path", {
60
- id: "Path_2465",
61
- "data-name": "Path 2465",
62
- d: "M5.59,7.41,10.18,12,5.59,16.59,7,18l6-6L7,6ZM16,6h2V18H16Z",
63
- transform: "translate(-5.59 -6)"
51
+ d: "m7 18-1.4-1.4 4.6-4.6-4.6-4.6L7 6l6 6Zm9 0V6h2v12Z"
64
52
  }));
65
53
 
66
54
  exports.lastIcon = lastIcon;
@@ -27,7 +27,7 @@ var _Icons = require("./Icons");
27
27
 
28
28
  var _BackgroundColorContext = require("../BackgroundColorContext");
29
29
 
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
31
31
 
32
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
33
 
@@ -56,9 +56,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
56
56
  theme: colorsTheme.paginator
57
57
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
58
58
  color: colorsTheme.paginator.backgroundColor
59
- }, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, {
60
- disabled: currentPageInternal === 1
61
- }, /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, itemsPerPageOptions && /*#__PURE__*/_react["default"].createElement(ItemsPageContainer, null, /*#__PURE__*/_react["default"].createElement(ItemsLabel, null, translatedLabels.paginator.itemsPerPageText), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
59
+ }, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, null, /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, itemsPerPageOptions && /*#__PURE__*/_react["default"].createElement(ItemsPageContainer, null, /*#__PURE__*/_react["default"].createElement(ItemsLabel, null, translatedLabels.paginator.itemsPerPageText), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
62
60
  options: itemsPerPageOptions.map(function (num) {
63
61
  return {
64
62
  label: num.toString(),
@@ -72,7 +70,6 @@ var DxcPaginator = function DxcPaginator(_ref) {
72
70
  size: "fillParent",
73
71
  tabIndex: tabIndex
74
72
  }))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
75
- size: "small",
76
73
  mode: "secondary",
77
74
  disabled: currentPageInternal === 1 || currentPageInternal === 0,
78
75
  icon: _Icons.firstIcon,
@@ -81,7 +78,6 @@ var DxcPaginator = function DxcPaginator(_ref) {
81
78
  onPageChange(1);
82
79
  }
83
80
  }), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
84
- size: "small",
85
81
  mode: "secondary",
86
82
  disabled: currentPageInternal === 1 || currentPageInternal === 0,
87
83
  icon: _Icons.previousIcon,
@@ -89,7 +85,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
89
85
  onClick: function onClick() {
90
86
  onPageChange(currentPage - 1);
91
87
  }
92
- }), showGoToPage && /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, translatedLabels.paginator.goToPageText, " "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
88
+ }), showGoToPage ? /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, translatedLabels.paginator.goToPageText, " "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
93
89
  options: Array.from(Array(totalPages), function (e, num) {
94
90
  return {
95
91
  label: (num + 1).toString(),
@@ -102,8 +98,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
102
98
  value: currentPage.toString(),
103
99
  size: "fillParent",
104
100
  tabIndex: tabIndex
105
- }))) || /*#__PURE__*/_react["default"].createElement(TextContainer, null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
106
- size: "small",
101
+ }))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
107
102
  mode: "secondary",
108
103
  disabled: currentPageInternal === totalPages,
109
104
  icon: _Icons.nextIcon,
@@ -112,7 +107,6 @@ var DxcPaginator = function DxcPaginator(_ref) {
112
107
  onPageChange(currentPage + 1);
113
108
  }
114
109
  }), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
115
- size: "small",
116
110
  mode: "secondary",
117
111
  disabled: currentPageInternal === totalPages,
118
112
  icon: _Icons.lastIcon,
@@ -145,7 +139,7 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
145
139
 
146
140
  var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
147
141
 
148
- var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])), function (props) {
142
+ var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
149
143
  return props.theme.itemsPerPageSelectorMarginRight;
150
144
  }, function (props) {
151
145
  return props.theme.itemsPerPageSelectorMarginLeft;
@@ -163,9 +157,7 @@ var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 ||
163
157
 
164
158
  var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.5rem;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n"])));
165
159
 
166
- var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])));
167
-
168
- var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
160
+ var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
169
161
 
170
162
  var _default = DxcPaginator;
171
163
  exports["default"] = _default;
@@ -2,12 +2,20 @@ import React from "react";
2
2
  import DxcPaginator from "./Paginator";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Paginator",
8
9
  component: DxcPaginator,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ paginator: {
14
+ baseColor: "#f2f2f2",
15
+ fontColor: "#000000",
16
+ },
17
+ };
18
+
11
19
  export const Chromatic = () => (
12
20
  <>
13
21
  <ExampleContainer>
@@ -59,5 +67,21 @@ export const Chromatic = () => (
59
67
  showGoToPage
60
68
  />
61
69
  </ExampleContainer>
70
+ <Title title="Opinionated theme" theme="light" level={2} />
71
+ <ExampleContainer>
72
+ <HalstackProvider theme={opinionatedTheme}>
73
+ <ExampleContainer>
74
+ <Title title="Page change and items per page options" theme="light" level={4} />
75
+ <DxcPaginator
76
+ currentPage={1}
77
+ itemsPerPage={10}
78
+ totalItems={27}
79
+ onPageChange={() => {}}
80
+ itemsPerPageOptions={[5, 10, 15]}
81
+ showGoToPage
82
+ />
83
+ </ExampleContainer>
84
+ </HalstackProvider>
85
+ </ExampleContainer>
62
86
  </>
63
87
  );
@@ -12,30 +12,37 @@ var _react2 = require("@testing-library/react");
12
12
 
13
13
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
14
 
15
- var _Paginator = _interopRequireDefault(require("./Paginator"));
15
+ var _Paginator = _interopRequireDefault(require("./Paginator.tsx"));
16
16
 
17
17
  // Mocking DOMRect for Radix Primitive Popover
18
18
  global.globalThis = global;
19
+ global.DOMRect = {
20
+ fromRect: function fromRect() {
21
+ return {
22
+ top: 0,
23
+ left: 0,
24
+ bottom: 0,
25
+ right: 0,
26
+ width: 0,
27
+ height: 0
28
+ };
29
+ }
30
+ };
19
31
 
20
32
  global.ResizeObserver = /*#__PURE__*/function () {
21
- function ResizeObserver(cb) {
33
+ function ResizeObserver() {
22
34
  (0, _classCallCheck2["default"])(this, ResizeObserver);
23
- this.cb = cb;
24
35
  }
25
36
 
26
37
  (0, _createClass2["default"])(ResizeObserver, [{
27
38
  key: "observe",
28
- value: function observe() {
29
- this.cb([{
30
- borderBoxSize: {
31
- inlineSize: 0,
32
- blockSize: 0
33
- }
34
- }]);
35
- }
39
+ value: function observe() {}
36
40
  }, {
37
41
  key: "unobserve",
38
42
  value: function unobserve() {}
43
+ }, {
44
+ key: "disconnect",
45
+ value: function disconnect() {}
39
46
  }]);
40
47
  return ResizeObserver;
41
48
  }();
@@ -78,46 +85,37 @@ describe("Paginator component tests", function () {
78
85
  getByText = _render3.getByText;
79
86
 
80
87
  expect(getByText("Items per page:")).toBeTruthy();
81
- });
82
- test("Paginator renders with itemsPerPageOptions", function () {
83
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
84
- currentPage: 1,
85
- itemsPerPage: 10,
86
- totalItems: 20
87
- })),
88
- getByText = _render4.getByText;
89
-
90
88
  expect(getByText("1 to 10 of 20")).toBeTruthy();
91
89
  expect(getByText("Page: 1 of 2")).toBeTruthy();
92
90
  });
93
91
  test("Paginator renders with totalItems", function () {
94
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
92
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
95
93
  totalItems: 20
96
94
  })),
97
- getByText = _render5.getByText;
95
+ getByText = _render4.getByText;
98
96
 
99
97
  expect(getByText("1 to 5 of 20")).toBeTruthy();
100
98
  expect(getByText("Page: 1 of 4")).toBeTruthy();
101
99
  });
102
100
  test("Paginator renders with correct text in second page", function () {
103
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
101
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
104
102
  currentPage: 2,
105
103
  itemsPerPage: 10,
106
104
  totalItems: 20
107
105
  })),
108
- getByText = _render6.getByText;
106
+ getByText = _render5.getByText;
109
107
 
110
108
  expect(getByText("11 to 20 of 20")).toBeTruthy();
111
109
  expect(getByText("Page: 2 of 2")).toBeTruthy();
112
110
  });
113
111
  test("Paginator renders goToPage select", function () {
114
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
112
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
115
113
  currentPage: 2,
116
114
  showGoToPage: true,
117
115
  itemsPerPage: 10,
118
116
  totalItems: 20
119
117
  })),
120
- getByText = _render7.getByText;
118
+ getByText = _render6.getByText;
121
119
 
122
120
  expect(getByText("Go to page:")).toBeTruthy();
123
121
  });
@@ -128,16 +126,15 @@ describe("Paginator component tests", function () {
128
126
 
129
127
  window.HTMLElement.prototype.scrollTo = function () {};
130
128
 
131
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
129
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
132
130
  currentPage: 1,
133
131
  itemsPerPage: 10,
134
132
  totalItems: 27,
135
133
  showGoToPage: true,
136
134
  onPageChange: onClick
137
135
  })),
138
- getByText = _render8.getByText,
139
- getAllByRole = _render8.getAllByRole,
140
- getByRole = _render8.getByRole;
136
+ getByText = _render7.getByText,
137
+ getAllByRole = _render7.getAllByRole;
141
138
 
142
139
  var goToPageSelect = getAllByRole("combobox")[0];
143
140
  (0, _react2.act)(function () {
@@ -152,13 +149,13 @@ describe("Paginator component tests", function () {
152
149
  test("Call correct goToPageFunction", function () {
153
150
  var onClick = jest.fn();
154
151
 
155
- var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
152
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
156
153
  onPageChange: onClick,
157
154
  currentPage: 1,
158
155
  itemsPerPage: 10,
159
156
  totalItems: 20
160
157
  })),
161
- getAllByRole = _render9.getAllByRole;
158
+ getAllByRole = _render8.getAllByRole;
162
159
 
163
160
  var nextButton = getAllByRole("button")[2];
164
161
 
@@ -173,15 +170,15 @@ describe("Paginator component tests", function () {
173
170
 
174
171
  window.HTMLElement.prototype.scrollTo = function () {};
175
172
 
176
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
173
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
177
174
  currentPage: 1,
178
175
  itemsPerPage: 10,
179
176
  itemsPerPageOptions: [10, 15],
180
177
  itemsPerPageFunction: onClick,
181
178
  totalItems: 20
182
179
  })),
183
- getAllByText = _render10.getAllByText,
184
- getByText = _render10.getByText;
180
+ getAllByText = _render9.getAllByText,
181
+ getByText = _render9.getByText;
185
182
 
186
183
  var select = getAllByText("10")[0];
187
184
  (0, _react2.act)(function () {
@@ -196,13 +193,13 @@ describe("Paginator component tests", function () {
196
193
  test("Next button is disable in last page", function () {
197
194
  var onClick = jest.fn();
198
195
 
199
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
196
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
200
197
  onPageChange: onClick,
201
198
  currentPage: 2,
202
199
  itemsPerPage: 10,
203
200
  totalItems: 20
204
201
  })),
205
- getAllByRole = _render11.getAllByRole;
202
+ getAllByRole = _render10.getAllByRole;
206
203
 
207
204
  var nextButton = getAllByRole("button")[2];
208
205
  expect(nextButton.hasAttribute("disabled")).toBeTruthy();
@@ -214,13 +211,13 @@ describe("Paginator component tests", function () {
214
211
  test("Last button is disable in last page", function () {
215
212
  var onClick = jest.fn();
216
213
 
217
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
214
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
218
215
  onPageChange: onClick,
219
216
  currentPage: 2,
220
217
  itemsPerPage: 10,
221
218
  totalItems: 20
222
219
  })),
223
- getAllByRole = _render12.getAllByRole;
220
+ getAllByRole = _render11.getAllByRole;
224
221
 
225
222
  var lastButton = getAllByRole("button")[3];
226
223
  expect(lastButton.hasAttribute("disabled")).toBeTruthy();
@@ -232,13 +229,13 @@ describe("Paginator component tests", function () {
232
229
  test("First button is disable in first page", function () {
233
230
  var onClick = jest.fn();
234
231
 
235
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
232
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
236
233
  onPageChange: onClick,
237
234
  currentPage: 1,
238
235
  itemsPerPage: 10,
239
236
  totalItems: 20
240
237
  })),
241
- getAllByRole = _render13.getAllByRole;
238
+ getAllByRole = _render12.getAllByRole;
242
239
 
243
240
  var lastButton = getAllByRole("button")[0];
244
241
  expect(lastButton.hasAttribute("disabled")).toBeTruthy();
@@ -250,13 +247,13 @@ describe("Paginator component tests", function () {
250
247
  test("Previous button is disable in first page", function () {
251
248
  var onClick = jest.fn();
252
249
 
253
- var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
250
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
254
251
  onPageChange: onClick,
255
252
  currentPage: 1,
256
253
  itemsPerPage: 10,
257
254
  totalItems: 20
258
255
  })),
259
- getAllByRole = _render14.getAllByRole;
256
+ getAllByRole = _render13.getAllByRole;
260
257
 
261
258
  var lastButton = getAllByRole("button")[1];
262
259
  expect(lastButton.hasAttribute("disabled")).toBeTruthy();
@@ -268,13 +265,13 @@ describe("Paginator component tests", function () {
268
265
  test("Last and next buttons are disable in last page", function () {
269
266
  var onClick = jest.fn();
270
267
 
271
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
268
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
272
269
  onPageChange: onClick,
273
270
  currentPage: 2,
274
271
  itemsPerPage: 10,
275
272
  totalItems: 20
276
273
  })),
277
- getAllByRole = _render15.getAllByRole;
274
+ getAllByRole = _render14.getAllByRole;
278
275
 
279
276
  var firstButton = getAllByRole("button")[0];
280
277
  var prevButton = getAllByRole("button")[1];
@@ -288,13 +285,13 @@ describe("Paginator component tests", function () {
288
285
  test("First and previous buttons are disable in first page", function () {
289
286
  var onClick = jest.fn();
290
287
 
291
- var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
288
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
292
289
  onPageChange: onClick,
293
290
  currentPage: 1,
294
291
  itemsPerPage: 10,
295
292
  totalItems: 20
296
293
  })),
297
- getAllByRole = _render16.getAllByRole;
294
+ getAllByRole = _render15.getAllByRole;
298
295
 
299
296
  var firstButton = getAllByRole("button")[0];
300
297
  var prevButton = getAllByRole("button")[1];
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- declare type ParagraphPropsType = {
2
+ declare const DxcParagraph: ({ children }: {
3
3
  children: React.ReactNode;
4
- };
5
- declare const Paragraph: ({ children }: ParagraphPropsType) => JSX.Element;
6
- export default Paragraph;
4
+ }) => JSX.Element;
5
+ export default DxcParagraph;
@@ -11,21 +11,21 @@ exports["default"] = void 0;
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _Typography = _interopRequireDefault(require("../typography/Typography"));
15
-
16
14
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
17
15
 
18
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
19
17
 
18
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
19
+
20
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
21
 
22
22
  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; }
23
23
 
24
- var Paragraph = function Paragraph(_ref) {
24
+ var DxcParagraph = function DxcParagraph(_ref) {
25
25
  var children = _ref.children;
26
26
  var colorsTheme = (0, _useTheme["default"])();
27
27
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
28
- return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
28
+ return /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
29
29
  as: "p",
30
30
  display: colorsTheme.paragraph.display,
31
31
  fontSize: colorsTheme.paragraph.fontSize,
@@ -34,5 +34,5 @@ var Paragraph = function Paragraph(_ref) {
34
34
  }, children);
35
35
  };
36
36
 
37
- var _default = Paragraph;
37
+ var _default = DxcParagraph;
38
38
  exports["default"] = _default;