@dxc-technology/halstack-react 0.0.0-da4b2be → 0.0.0-da9270d

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 (236) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +23 -124
  4. package/HalstackContext.js +10 -35
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +24 -76
  8. package/accordion/Accordion.stories.tsx +1 -113
  9. package/accordion/Accordion.test.js +18 -33
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.js +15 -42
  12. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  13. package/accordion-group/AccordionGroup.test.js +43 -71
  14. package/accordion-group/AccordionGroupAccordion.js +9 -21
  15. package/accordion-group/types.d.ts +6 -18
  16. package/alert/Alert.js +15 -50
  17. package/alert/Alert.test.js +28 -45
  18. package/alert/types.d.ts +5 -5
  19. package/badge/Badge.js +4 -17
  20. package/badge/types.d.ts +1 -1
  21. package/bleed/Bleed.js +13 -21
  22. package/bleed/types.d.ts +2 -2
  23. package/box/Box.js +11 -33
  24. package/box/Box.test.js +1 -6
  25. package/box/types.d.ts +3 -3
  26. package/bulleted-list/BulletedList.js +18 -54
  27. package/bulleted-list/BulletedList.stories.tsx +1 -92
  28. package/bulleted-list/types.d.ts +5 -5
  29. package/button/Button.d.ts +1 -1
  30. package/button/Button.js +66 -99
  31. package/button/Button.stories.tsx +6 -87
  32. package/button/Button.test.js +17 -16
  33. package/button/types.d.ts +8 -4
  34. package/card/Card.d.ts +1 -1
  35. package/card/Card.js +39 -79
  36. package/card/Card.stories.tsx +0 -29
  37. package/card/Card.test.js +10 -21
  38. package/card/types.d.ts +6 -12
  39. package/checkbox/Checkbox.js +85 -120
  40. package/checkbox/Checkbox.stories.tsx +16 -54
  41. package/checkbox/Checkbox.test.js +107 -63
  42. package/checkbox/types.d.ts +8 -4
  43. package/chip/Chip.js +12 -31
  44. package/chip/Chip.stories.tsx +1 -1
  45. package/chip/Chip.test.js +15 -28
  46. package/chip/types.d.ts +4 -4
  47. package/common/coreTokens.d.ts +105 -14
  48. package/common/coreTokens.js +41 -24
  49. package/common/utils.js +2 -8
  50. package/common/variables.d.ts +23 -124
  51. package/common/variables.js +27 -135
  52. package/container/Container.d.ts +4 -0
  53. package/container/Container.js +194 -0
  54. package/container/Container.stories.tsx +214 -0
  55. package/container/types.d.ts +74 -0
  56. package/date-input/Calendar.js +15 -59
  57. package/date-input/DateInput.js +50 -96
  58. package/date-input/DateInput.stories.tsx +11 -30
  59. package/date-input/DateInput.test.js +674 -701
  60. package/date-input/DatePicker.js +11 -42
  61. package/date-input/Icons.d.ts +6 -6
  62. package/date-input/Icons.js +6 -23
  63. package/date-input/YearPicker.js +8 -34
  64. package/date-input/types.d.ts +27 -21
  65. package/dialog/Dialog.js +13 -40
  66. package/dialog/Dialog.stories.tsx +170 -0
  67. package/dialog/Dialog.test.js +125 -187
  68. package/dialog/types.d.ts +18 -13
  69. package/dropdown/Dropdown.js +39 -93
  70. package/dropdown/Dropdown.test.js +391 -378
  71. package/dropdown/DropdownMenu.js +8 -19
  72. package/dropdown/DropdownMenuItem.js +5 -17
  73. package/dropdown/types.d.ts +17 -19
  74. package/file-input/FileInput.js +180 -248
  75. package/file-input/FileInput.stories.tsx +1 -1
  76. package/file-input/FileInput.test.js +356 -354
  77. package/file-input/FileItem.js +14 -41
  78. package/file-input/types.d.ts +10 -10
  79. package/flex/Flex.js +25 -39
  80. package/flex/types.d.ts +6 -6
  81. package/footer/Footer.d.ts +1 -1
  82. package/footer/Footer.js +54 -112
  83. package/footer/Footer.stories.tsx +19 -95
  84. package/footer/Footer.test.js +21 -33
  85. package/footer/Icons.d.ts +2 -2
  86. package/footer/Icons.js +2 -7
  87. package/footer/types.d.ts +21 -29
  88. package/grid/Grid.d.ts +1 -1
  89. package/grid/Grid.js +2 -17
  90. package/grid/Grid.stories.tsx +38 -38
  91. package/grid/types.d.ts +10 -10
  92. package/header/Header.d.ts +2 -2
  93. package/header/Header.js +31 -114
  94. package/header/Header.stories.tsx +7 -71
  95. package/header/Header.test.js +12 -25
  96. package/header/Icons.d.ts +2 -2
  97. package/header/Icons.js +2 -7
  98. package/header/types.d.ts +5 -20
  99. package/heading/Heading.js +9 -31
  100. package/heading/Heading.test.js +70 -87
  101. package/heading/types.d.ts +7 -7
  102. package/image/Image.d.ts +4 -0
  103. package/image/Image.js +70 -0
  104. package/image/Image.stories.tsx +127 -0
  105. package/image/types.d.ts +72 -0
  106. package/inset/Inset.js +13 -21
  107. package/inset/types.d.ts +2 -2
  108. package/layout/ApplicationLayout.d.ts +3 -3
  109. package/layout/ApplicationLayout.js +28 -65
  110. package/layout/ApplicationLayout.stories.tsx +1 -1
  111. package/layout/Icons.d.ts +8 -5
  112. package/layout/Icons.js +51 -59
  113. package/layout/SidenavContext.d.ts +1 -1
  114. package/layout/SidenavContext.js +3 -9
  115. package/layout/types.d.ts +3 -3
  116. package/link/Link.js +21 -42
  117. package/link/Link.test.js +23 -41
  118. package/link/types.d.ts +14 -14
  119. package/main.d.ts +4 -3
  120. package/main.js +17 -58
  121. package/nav-tabs/NavTabs.js +11 -43
  122. package/nav-tabs/NavTabs.stories.tsx +1 -1
  123. package/nav-tabs/NavTabs.test.js +36 -43
  124. package/nav-tabs/Tab.js +16 -45
  125. package/nav-tabs/types.d.ts +9 -9
  126. package/number-input/NumberInput.d.ts +7 -0
  127. package/number-input/NumberInput.js +26 -35
  128. package/number-input/NumberInput.stories.tsx +42 -26
  129. package/number-input/NumberInput.test.js +700 -412
  130. package/number-input/types.d.ts +11 -5
  131. package/package.json +30 -28
  132. package/paginator/Icons.d.ts +5 -5
  133. package/paginator/Icons.js +5 -19
  134. package/paginator/Paginator.js +15 -43
  135. package/paginator/Paginator.test.js +224 -207
  136. package/paginator/types.d.ts +3 -3
  137. package/paragraph/Paragraph.js +3 -19
  138. package/paragraph/Paragraph.stories.tsx +0 -17
  139. package/password-input/Icons.d.ts +6 -0
  140. package/password-input/Icons.js +35 -0
  141. package/password-input/PasswordInput.js +57 -126
  142. package/password-input/PasswordInput.stories.tsx +1 -33
  143. package/password-input/PasswordInput.test.js +157 -140
  144. package/password-input/types.d.ts +8 -7
  145. package/progress-bar/ProgressBar.js +21 -53
  146. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  147. package/progress-bar/ProgressBar.test.js +35 -52
  148. package/progress-bar/types.d.ts +3 -3
  149. package/quick-nav/QuickNav.js +4 -27
  150. package/quick-nav/QuickNav.stories.tsx +1 -1
  151. package/quick-nav/types.d.ts +10 -10
  152. package/radio-group/Radio.d.ts +1 -1
  153. package/radio-group/Radio.js +22 -54
  154. package/radio-group/RadioGroup.js +37 -83
  155. package/radio-group/RadioGroup.stories.tsx +10 -10
  156. package/radio-group/RadioGroup.test.js +504 -470
  157. package/radio-group/types.d.ts +8 -8
  158. package/resultset-table/Icons.d.ts +7 -0
  159. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  160. package/{resultsetTable → resultset-table}/ResultsetTable.js +23 -59
  161. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  162. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  163. package/resultset-table/types.js +5 -0
  164. package/select/Icons.d.ts +7 -7
  165. package/select/Icons.js +1 -5
  166. package/select/Listbox.js +13 -39
  167. package/select/Option.js +9 -26
  168. package/select/Select.js +70 -155
  169. package/select/Select.stories.tsx +3 -3
  170. package/select/Select.test.js +1946 -1804
  171. package/select/types.d.ts +14 -15
  172. package/sidenav/Icons.d.ts +4 -4
  173. package/sidenav/Icons.js +1 -5
  174. package/sidenav/Sidenav.js +26 -68
  175. package/sidenav/Sidenav.test.js +3 -10
  176. package/sidenav/types.d.ts +18 -18
  177. package/slider/Slider.js +68 -125
  178. package/slider/Slider.test.js +107 -103
  179. package/slider/types.d.ts +4 -4
  180. package/spinner/Spinner.js +16 -54
  181. package/spinner/Spinner.test.js +25 -34
  182. package/spinner/types.d.ts +3 -3
  183. package/switch/Switch.js +49 -97
  184. package/switch/Switch.stories.tsx +0 -34
  185. package/switch/Switch.test.js +51 -96
  186. package/switch/types.d.ts +4 -4
  187. package/table/Table.js +5 -27
  188. package/table/Table.test.js +1 -6
  189. package/table/types.d.ts +8 -8
  190. package/tabs/Tab.js +10 -29
  191. package/tabs/Tabs.js +52 -129
  192. package/tabs/Tabs.test.js +62 -118
  193. package/tabs/types.d.ts +19 -19
  194. package/tag/Tag.js +21 -51
  195. package/tag/Tag.test.js +19 -30
  196. package/tag/types.d.ts +7 -7
  197. package/text-input/Icons.d.ts +5 -5
  198. package/text-input/Icons.js +1 -5
  199. package/text-input/Suggestion.js +9 -26
  200. package/text-input/Suggestions.d.ts +1 -1
  201. package/text-input/Suggestions.js +15 -65
  202. package/text-input/TextInput.js +204 -284
  203. package/text-input/TextInput.stories.tsx +48 -152
  204. package/text-input/TextInput.test.js +1210 -1194
  205. package/text-input/types.d.ts +25 -17
  206. package/textarea/Textarea.js +67 -109
  207. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  208. package/textarea/Textarea.test.js +150 -179
  209. package/textarea/types.d.ts +9 -5
  210. package/toggle-group/ToggleGroup.js +90 -107
  211. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  212. package/toggle-group/ToggleGroup.test.js +68 -87
  213. package/toggle-group/types.d.ts +26 -17
  214. package/typography/Typography.js +4 -13
  215. package/typography/types.d.ts +1 -1
  216. package/useTheme.d.ts +20 -121
  217. package/useTheme.js +1 -8
  218. package/useTranslatedLabels.js +1 -7
  219. package/utils/BaseTypography.d.ts +2 -2
  220. package/utils/BaseTypography.js +16 -30
  221. package/utils/FocusLock.js +22 -39
  222. package/wizard/Wizard.js +14 -49
  223. package/wizard/Wizard.test.js +53 -80
  224. package/wizard/types.d.ts +6 -6
  225. package/card/ice-cream.jpg +0 -0
  226. package/number-input/NumberInputContext.d.ts +0 -4
  227. package/number-input/NumberInputContext.js +0 -19
  228. package/number-input/numberInputContextTypes.d.ts +0 -19
  229. package/resultsetTable/Icons.d.ts +0 -7
  230. package/slider/Slider.stories.tsx +0 -240
  231. /package/{resultsetTable → container}/types.js +0 -0
  232. /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
  233. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  234. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  235. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  236. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
@@ -1,28 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _NavTabs = _interopRequireDefault(require("./NavTabs.tsx"));
10
-
11
7
  describe("Tabs component tests", function () {
12
8
  test("Tabs render with correct labels and attributes", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
14
- href: "/test1",
15
- active: true
16
- }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
17
- href: "/test2",
18
- disabled: true
19
- }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
20
- href: "/test3"
21
- }, "Tab 3"))),
22
- getByText = _render.getByText,
23
- getAllByRole = _render.getAllByRole,
24
- getByRole = _render.getByRole;
25
-
10
+ href: "/test1",
11
+ active: true
12
+ }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
13
+ href: "/test2",
14
+ disabled: true
15
+ }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
16
+ href: "/test3"
17
+ }, "Tab 3"))),
18
+ getByText = _render.getByText,
19
+ getAllByRole = _render.getAllByRole,
20
+ getByRole = _render.getByRole;
26
21
  expect(getByRole("tablist")).toBeTruthy();
27
22
  expect(getByRole("tablist").getAttribute("aria-label")).toBe("Navigation tabs");
28
23
  expect(getByText("Tab 1")).toBeTruthy();
@@ -41,21 +36,20 @@ describe("Tabs component tests", function () {
41
36
  });
42
37
  test("Tabs render with correct labels, badges and icons", function () {
43
38
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
44
- href: "/test1",
45
- active: true,
46
- notificationNumber: 10
47
- }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
48
- href: "/test2",
49
- disabled: true,
50
- notificationNumber: 20
51
- }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
52
- href: "/test3",
53
- notificationNumber: 1000,
54
- icon: "/testIcon.png"
55
- }, "Tab 3"))),
56
- getByText = _render2.getByText,
57
- getByRole = _render2.getByRole;
58
-
39
+ href: "/test1",
40
+ active: true,
41
+ notificationNumber: 10
42
+ }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
43
+ href: "/test2",
44
+ disabled: true,
45
+ notificationNumber: 20
46
+ }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
47
+ href: "/test3",
48
+ notificationNumber: 1000,
49
+ icon: "/testIcon.png"
50
+ }, "Tab 3"))),
51
+ getByText = _render2.getByText,
52
+ getByRole = _render2.getByRole;
59
53
  expect(getByText("10")).toBeTruthy();
60
54
  expect(getByText("20")).toBeTruthy();
61
55
  expect(getByText("+99")).toBeTruthy();
@@ -63,18 +57,17 @@ describe("Tabs component tests", function () {
63
57
  });
64
58
  test("Tabs render with correct tab index", function () {
65
59
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], {
66
- tabIndex: 3
67
- }, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
68
- href: "/test1"
69
- }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
70
- href: "/test2",
71
- disabled: true
72
- }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
73
- href: "/test3",
74
- active: true
75
- }, "Tab 3"))),
76
- getAllByRole = _render3.getAllByRole;
77
-
60
+ tabIndex: 3
61
+ }, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
62
+ href: "/test1"
63
+ }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
64
+ href: "/test2",
65
+ disabled: true
66
+ }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
67
+ href: "/test3",
68
+ active: true
69
+ }, "Tab 3"))),
70
+ getAllByRole = _render3.getAllByRole;
78
71
  var tabs = getAllByRole("link");
79
72
  expect(tabs[0].getAttribute("tabindex")).toBe("-1");
80
73
  expect(tabs[1].getAttribute("tabindex")).toBe("3");
package/nav-tabs/Tab.js CHANGED
@@ -1,70 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
-
16
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireDefault(require("styled-components"));
21
-
22
14
  var _Badge = _interopRequireDefault(require("../badge/Badge"));
23
-
24
15
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
25
-
26
16
  var _NavTabs = require("./NavTabs");
27
-
28
17
  var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
29
-
30
18
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
-
32
19
  var _templateObject, _templateObject2, _templateObject3;
33
-
34
20
  var _excluded = ["href", "active", "icon", "disabled", "notificationNumber", "children"];
35
-
36
- 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); }
37
-
38
- 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; }
39
-
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
40
23
  var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
41
24
  var href = _ref.href,
42
- _ref$active = _ref.active,
43
- active = _ref$active === void 0 ? false : _ref$active,
44
- icon = _ref.icon,
45
- _ref$disabled = _ref.disabled,
46
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
47
- _ref$notificationNumb = _ref.notificationNumber,
48
- notificationNumber = _ref$notificationNumb === void 0 ? false : _ref$notificationNumb,
49
- children = _ref.children,
50
- otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
25
+ _ref$active = _ref.active,
26
+ active = _ref$active === void 0 ? false : _ref$active,
27
+ icon = _ref.icon,
28
+ _ref$disabled = _ref.disabled,
29
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
30
+ _ref$notificationNumb = _ref.notificationNumber,
31
+ notificationNumber = _ref$notificationNumb === void 0 ? false : _ref$notificationNumb,
32
+ children = _ref.children,
33
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
51
34
  var tabRef = (0, _react.useRef)();
52
35
  var colorsTheme = (0, _useTheme["default"])();
53
-
54
36
  var _useContext = (0, _react.useContext)(_NavTabs.NavTabsContext),
55
- iconPosition = _useContext.iconPosition,
56
- tabIndex = _useContext.tabIndex,
57
- focusedLabel = _useContext.focusedLabel;
58
-
37
+ iconPosition = _useContext.iconPosition,
38
+ tabIndex = _useContext.tabIndex,
39
+ focusedLabel = _useContext.focusedLabel;
59
40
  (0, _react.useEffect)(function () {
60
41
  var _tabRef$current;
61
-
62
42
  focusedLabel === children.toString() && (tabRef === null || tabRef === void 0 ? void 0 : (_tabRef$current = tabRef.current) === null || _tabRef$current === void 0 ? void 0 : _tabRef$current.focus());
63
43
  }, [focusedLabel]);
64
-
65
44
  var handleOnKeyDown = function handleOnKeyDown(event) {
66
45
  var _tabRef$current2;
67
-
68
46
  switch (event.key) {
69
47
  case " ":
70
48
  case "Enter":
@@ -73,7 +51,6 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
73
51
  break;
74
52
  }
75
53
  };
76
-
77
54
  return /*#__PURE__*/_react["default"].createElement(TabContainer, {
78
55
  active: active,
79
56
  role: "tab",
@@ -87,7 +64,6 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
87
64
  hasIcon: icon != null ? true : false,
88
65
  ref: function ref(anchorRef) {
89
66
  tabRef.current = anchorRef;
90
-
91
67
  if (_ref2) {
92
68
  if (typeof _ref2 === "function") _ref2(anchorRef);else _ref2.current = anchorRef;
93
69
  }
@@ -115,7 +91,6 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
115
91
  disabled: disabled
116
92
  }))));
117
93
  });
118
-
119
94
  var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n align-items: stretch;\n border-bottom: 2px solid ", ";\n padding: 0.5rem;\n\n svg {\n color: ", ";\n }\n &[aria-selected=\"true\"] {\n svg {\n color: ", ";\n }\n }\n &[aria-disabled=\"true\"] {\n svg {\n color: ", ";\n }\n }\n"])), function (props) {
120
95
  return props.active ? props.theme.selectedUnderlineColor : props.theme.dividerColor;
121
96
  }, function (props) {
@@ -125,8 +100,7 @@ var TabContainer = _styledComponents["default"].div(_templateObject || (_templat
125
100
  }, function (props) {
126
101
  return props.theme.disabledIconColor;
127
102
  });
128
-
129
- var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n gap: ", ";\n height: ", ";\n min-width: 176px;\n min-height: 44px;\n padding: 0.375rem;\n border-radius: 4px;\n background: ", ";\n text-decoration-color: transparent;\n cursor: ", ";\n\n ", "\n"])), function (props) {
103
+ var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n gap: ", ";\n height: ", ";\n min-width: 176px;\n min-height: 44px;\n padding: 0.375rem;\n border-radius: 4px;\n background: ", ";\n text-decoration-color: transparent;\n text-decoration-line: none;\n cursor: ", ";\n\n ", "\n"])), function (props) {
130
104
  return props.hasIcon && props.iconPosition === "top" ? "column" : "row";
131
105
  }, function (props) {
132
106
  return props.hasIcon && props.iconPosition === "top" ? "0.375rem" : "0.625rem";
@@ -139,8 +113,5 @@ var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 =
139
113
  }, function (props) {
140
114
  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 ");
141
115
  });
142
-
143
116
  var TabIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n\n img,\n svg {\n height: 24px;\n width: 24px;\n }\n"])));
144
-
145
- var _default = DxcTab;
146
- exports["default"] = _default;
117
+ var _default = exports["default"] = DxcTab;
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
- declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
- export declare type NavTabsContextProps = {
2
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ export type NavTabsContextProps = {
4
4
  iconPosition: "top" | "left";
5
5
  tabIndex: number;
6
6
  focusedLabel: string;
7
7
  };
8
- export declare type TabProps = {
8
+ export type TabProps = {
9
9
  /**
10
10
  * Whether the tab is active or not.
11
11
  */
@@ -31,22 +31,22 @@ export declare type TabProps = {
31
31
  */
32
32
  notificationNumber?: boolean | number;
33
33
  /**
34
- * Contains one or more DxcNavTabs.Tab.
34
+ * Tab text label.
35
35
  */
36
36
  children: string;
37
37
  };
38
- declare type Props = {
38
+ type Props = {
39
39
  /**
40
40
  * Whether the icon should appear above or to the left of the label.
41
41
  */
42
42
  iconPosition?: "top" | "left";
43
43
  /**
44
- * Value of the tabindex for each tab.
44
+ * Contains one or more DxcNavTabs.Tab.
45
45
  */
46
- tabIndex?: number;
46
+ children: React.ReactNode;
47
47
  /**
48
- * Content of the tabs nav.
48
+ * Value of the tabindex attribute applied to each tab.
49
49
  */
50
- children: React.ReactNode;
50
+ tabIndex?: number;
51
51
  };
52
52
  export default Props;
@@ -1,4 +1,11 @@
1
1
  import React from "react";
2
2
  import NumberInputPropsType from "./types";
3
+ type NumberInputContextProps = {
4
+ typeNumber?: string;
5
+ minNumber?: number;
6
+ maxNumber?: number;
7
+ stepNumber?: number;
8
+ };
9
+ export declare const NumberInputContext: React.Context<NumberInputContextProps>;
3
10
  declare const DxcNumberInput: React.ForwardRefExoticComponent<NumberInputPropsType & React.RefAttributes<HTMLDivElement>>;
4
11
  export default DxcNumberInput;
@@ -1,47 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
7
+ exports["default"] = exports.NumberInputContext = void 0;
10
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
11
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
17
-
18
- var _NumberInputContext = _interopRequireDefault(require("./NumberInputContext"));
19
-
20
12
  var _templateObject;
21
-
13
+ var NumberInputContext = exports.NumberInputContext = /*#__PURE__*/_react["default"].createContext(null);
22
14
  var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
23
15
  var label = _ref.label,
24
- name = _ref.name,
25
- defaultValue = _ref.defaultValue,
26
- value = _ref.value,
27
- helperText = _ref.helperText,
28
- placeholder = _ref.placeholder,
29
- disabled = _ref.disabled,
30
- optional = _ref.optional,
31
- prefix = _ref.prefix,
32
- suffix = _ref.suffix,
33
- min = _ref.min,
34
- max = _ref.max,
35
- _ref$step = _ref.step,
36
- step = _ref$step === void 0 ? 1 : _ref$step,
37
- onChange = _ref.onChange,
38
- onBlur = _ref.onBlur,
39
- error = _ref.error,
40
- autocomplete = _ref.autocomplete,
41
- margin = _ref.margin,
42
- size = _ref.size,
43
- tabIndex = _ref.tabIndex;
44
- return /*#__PURE__*/_react["default"].createElement(_NumberInputContext["default"].Provider, {
16
+ name = _ref.name,
17
+ defaultValue = _ref.defaultValue,
18
+ value = _ref.value,
19
+ helperText = _ref.helperText,
20
+ placeholder = _ref.placeholder,
21
+ disabled = _ref.disabled,
22
+ optional = _ref.optional,
23
+ readOnly = _ref.readOnly,
24
+ prefix = _ref.prefix,
25
+ suffix = _ref.suffix,
26
+ min = _ref.min,
27
+ max = _ref.max,
28
+ _ref$step = _ref.step,
29
+ step = _ref$step === void 0 ? 1 : _ref$step,
30
+ onChange = _ref.onChange,
31
+ onBlur = _ref.onBlur,
32
+ error = _ref.error,
33
+ autocomplete = _ref.autocomplete,
34
+ margin = _ref.margin,
35
+ size = _ref.size,
36
+ tabIndex = _ref.tabIndex;
37
+ return /*#__PURE__*/_react["default"].createElement(NumberInputContext.Provider, {
45
38
  value: {
46
39
  typeNumber: "number",
47
40
  minNumber: min,
@@ -57,6 +50,7 @@ var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, r
57
50
  placeholder: placeholder,
58
51
  disabled: disabled,
59
52
  optional: optional,
53
+ readOnly: readOnly,
60
54
  prefix: prefix,
61
55
  suffix: suffix,
62
56
  error: error,
@@ -69,8 +63,5 @@ var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, r
69
63
  ref: ref
70
64
  })));
71
65
  });
72
-
73
66
  var NumberInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n // Chrome, Safari, Edge, Opera\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n // Firefox\n input[type=\"number\"] {\n -moz-appearance: textfield;\n }\n"])));
74
-
75
- var _default = DxcNumberInput;
76
- exports["default"] = _default;
67
+ var _default = exports["default"] = DxcNumberInput;
@@ -1,12 +1,10 @@
1
1
  import React from "react";
2
- import { BackgroundColorProvider } from "../BackgroundColorContext";
3
2
  import Title from "../../.storybook/components/Title";
4
3
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
- import DarkContainer from "../../.storybook/components/DarkSection";
6
4
  import DxcNumberInput from "./NumberInput";
7
5
 
8
6
  export default {
9
- title: "Number input ",
7
+ title: "Number Input",
10
8
  component: DxcNumberInput,
11
9
  };
12
10
 
@@ -32,6 +30,39 @@ export const Chromatic = () => (
32
30
  <Title title="Disabled, helper text, optional and value" theme="light" level={4} />
33
31
  <DxcNumberInput label="Disabled number input" helperText="Help message" disabled optional defaultValue="10" />
34
32
  </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Read only" theme="light" level={4} />
35
+ <DxcNumberInput
36
+ label="Example label"
37
+ helperText="Help message"
38
+ readOnly
39
+ optional
40
+ prefix="€"
41
+ defaultValue="33"
42
+ />
43
+ </ExampleContainer>
44
+ <ExampleContainer pseudoState="pseudo-hover">
45
+ <Title title="Hovered read only" theme="light" level={4} />
46
+ <DxcNumberInput
47
+ label="Example label"
48
+ helperText="Help message"
49
+ readOnly
50
+ optional
51
+ prefix="€"
52
+ defaultValue="1"
53
+ />
54
+ </ExampleContainer>
55
+ <ExampleContainer pseudoState="pseudo-active">
56
+ <Title title="Active read only" theme="light" level={4} />
57
+ <DxcNumberInput
58
+ label="Example label"
59
+ helperText="Help message"
60
+ readOnly
61
+ optional
62
+ prefix="€"
63
+ placeholder="Placeholder"
64
+ />
65
+ </ExampleContainer>
35
66
  <ExampleContainer>
36
67
  <Title title="Prefix" theme="light" level={4} />
37
68
  <DxcNumberInput label="With prefix" prefix="+34" />
@@ -42,29 +73,14 @@ export const Chromatic = () => (
42
73
  </ExampleContainer>
43
74
  <ExampleContainer>
44
75
  <Title title="Invalid" theme="light" level={4} />
45
- <DxcNumberInput label="Error number input" helperText="Help message" error="Error message." defaultValue="23" optional />
46
- </ExampleContainer>
47
- <BackgroundColorProvider color="#333333">
48
- <DarkContainer>
49
- <Title title="Dark" theme="dark" level={2} />
50
- <ExampleContainer>
51
- <Title title="Helper text, placeholder and optional" theme="dark" level={4} />
52
- <DxcNumberInput label="Number input" helperText="Help message" placeholder="Placeholder" optional />
53
- </ExampleContainer>
54
- <ExampleContainer>
55
- <Title title="Helper text, value and error" theme="dark" level={4} />
56
- <DxcNumberInput label="Number input" helperText="Help message" error="Error message." defaultValue="199" />
57
- </ExampleContainer>
58
- <ExampleContainer>
59
- <Title title="Disabled and placeholder" theme="dark" level={4} />
60
- <DxcNumberInput label="Disabled number input" disabled placeholder="Placeholder" />
61
- </ExampleContainer>
62
- <ExampleContainer>
63
- <Title title="Disabled, helper text, optional and value" theme="dark" level={4} />
64
- <DxcNumberInput label="Disabled number input" helperText="Help message" disabled optional defaultValue="1232454" />
65
- </ExampleContainer>
66
- </DarkContainer>
67
- </BackgroundColorProvider>
76
+ <DxcNumberInput
77
+ label="Error number input"
78
+ helperText="Help message"
79
+ error="Error message."
80
+ defaultValue="23"
81
+ optional
82
+ />
83
+ </ExampleContainer>
68
84
  <Title title="Margins" theme="light" level={2} />
69
85
  <ExampleContainer>
70
86
  <Title title="Xxsmall margin" theme="light" level={4} />