@dxc-technology/halstack-react 0.0.0-65612cd → 0.0.0-65c8e88

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 (282) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1229 -6
  4. package/HalstackContext.js +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +36 -99
  8. package/accordion/Accordion.stories.tsx +101 -124
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +6 -18
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +43 -0
  20. package/action-icon/types.d.ts +26 -0
  21. package/alert/Alert.js +19 -58
  22. package/alert/Alert.stories.tsx +28 -0
  23. package/alert/Alert.test.js +29 -46
  24. package/alert/types.d.ts +5 -5
  25. package/badge/Badge.js +4 -17
  26. package/badge/types.d.ts +1 -1
  27. package/bleed/Bleed.js +13 -21
  28. package/bleed/Bleed.stories.tsx +1 -0
  29. package/bleed/types.d.ts +2 -2
  30. package/box/Box.d.ts +1 -1
  31. package/box/Box.js +18 -59
  32. package/box/Box.stories.tsx +38 -51
  33. package/box/Box.test.js +2 -7
  34. package/box/types.d.ts +3 -15
  35. package/bulleted-list/BulletedList.js +19 -53
  36. package/bulleted-list/BulletedList.stories.tsx +8 -93
  37. package/bulleted-list/types.d.ts +32 -5
  38. package/button/Button.d.ts +1 -1
  39. package/button/Button.js +69 -105
  40. package/button/Button.stories.tsx +152 -91
  41. package/button/Button.test.js +18 -17
  42. package/button/types.d.ts +8 -4
  43. package/card/Card.d.ts +1 -1
  44. package/card/Card.js +48 -89
  45. package/card/Card.stories.tsx +12 -42
  46. package/card/Card.test.js +11 -22
  47. package/card/types.d.ts +6 -12
  48. package/checkbox/Checkbox.d.ts +2 -2
  49. package/checkbox/Checkbox.js +92 -126
  50. package/checkbox/Checkbox.stories.tsx +128 -94
  51. package/checkbox/Checkbox.test.js +108 -64
  52. package/checkbox/types.d.ts +11 -3
  53. package/chip/Chip.js +39 -79
  54. package/chip/Chip.stories.tsx +121 -26
  55. package/chip/Chip.test.js +16 -31
  56. package/chip/types.d.ts +4 -4
  57. package/common/OpenSans.css +68 -80
  58. package/common/coreTokens.d.ts +237 -0
  59. package/common/coreTokens.js +184 -0
  60. package/common/utils.d.ts +1 -0
  61. package/common/utils.js +6 -12
  62. package/common/variables.d.ts +1381 -0
  63. package/common/variables.js +888 -1143
  64. package/container/Container.d.ts +4 -0
  65. package/container/Container.js +194 -0
  66. package/container/Container.stories.tsx +214 -0
  67. package/container/types.d.ts +74 -0
  68. package/date-input/Calendar.d.ts +4 -0
  69. package/date-input/Calendar.js +214 -0
  70. package/date-input/DateInput.js +150 -299
  71. package/date-input/DateInput.stories.tsx +203 -56
  72. package/date-input/DateInput.test.js +700 -371
  73. package/date-input/DatePicker.d.ts +4 -0
  74. package/date-input/DatePicker.js +115 -0
  75. package/date-input/Icons.d.ts +6 -0
  76. package/date-input/Icons.js +58 -0
  77. package/date-input/YearPicker.d.ts +4 -0
  78. package/date-input/YearPicker.js +100 -0
  79. package/date-input/types.d.ts +72 -15
  80. package/dialog/Dialog.d.ts +1 -1
  81. package/dialog/Dialog.js +61 -119
  82. package/dialog/Dialog.stories.tsx +310 -212
  83. package/dialog/Dialog.test.js +269 -32
  84. package/dialog/types.d.ts +18 -26
  85. package/dropdown/Dropdown.js +66 -120
  86. package/dropdown/Dropdown.stories.tsx +210 -84
  87. package/dropdown/Dropdown.test.js +409 -400
  88. package/dropdown/DropdownMenu.js +20 -37
  89. package/dropdown/DropdownMenuItem.js +9 -34
  90. package/dropdown/types.d.ts +17 -19
  91. package/file-input/FileInput.d.ts +2 -2
  92. package/file-input/FileInput.js +236 -358
  93. package/file-input/FileInput.stories.tsx +123 -12
  94. package/file-input/FileInput.test.js +368 -407
  95. package/file-input/FileItem.d.ts +4 -14
  96. package/file-input/FileItem.js +45 -96
  97. package/file-input/types.d.ts +25 -8
  98. package/flex/Flex.js +27 -39
  99. package/flex/Flex.stories.tsx +35 -26
  100. package/flex/types.d.ts +74 -9
  101. package/footer/Footer.d.ts +1 -1
  102. package/footer/Footer.js +55 -115
  103. package/footer/Footer.stories.tsx +36 -21
  104. package/footer/Footer.test.js +33 -57
  105. package/footer/Icons.d.ts +2 -2
  106. package/footer/Icons.js +2 -7
  107. package/footer/types.d.ts +21 -29
  108. package/grid/Grid.d.ts +7 -0
  109. package/grid/Grid.js +76 -0
  110. package/grid/Grid.stories.tsx +219 -0
  111. package/grid/types.d.ts +115 -0
  112. package/header/Header.d.ts +4 -3
  113. package/header/Header.js +48 -133
  114. package/header/Header.stories.tsx +115 -36
  115. package/header/Header.test.js +13 -26
  116. package/header/Icons.d.ts +2 -2
  117. package/header/Icons.js +2 -7
  118. package/header/types.d.ts +5 -20
  119. package/heading/Heading.js +10 -32
  120. package/heading/Heading.test.js +71 -88
  121. package/heading/types.d.ts +7 -7
  122. package/image/Image.d.ts +4 -0
  123. package/image/Image.js +70 -0
  124. package/image/Image.stories.tsx +127 -0
  125. package/image/types.d.ts +72 -0
  126. package/image/types.js +5 -0
  127. package/inset/Inset.js +13 -21
  128. package/inset/Inset.stories.tsx +2 -1
  129. package/inset/types.d.ts +2 -2
  130. package/layout/ApplicationLayout.d.ts +5 -5
  131. package/layout/ApplicationLayout.js +29 -66
  132. package/layout/ApplicationLayout.stories.tsx +1 -1
  133. package/layout/Icons.d.ts +8 -5
  134. package/layout/Icons.js +51 -59
  135. package/layout/SidenavContext.d.ts +1 -1
  136. package/layout/SidenavContext.js +3 -9
  137. package/layout/types.d.ts +5 -6
  138. package/link/Link.js +25 -46
  139. package/link/Link.stories.tsx +60 -0
  140. package/link/Link.test.js +24 -44
  141. package/link/types.d.ts +14 -14
  142. package/main.d.ts +6 -4
  143. package/main.js +25 -58
  144. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  145. package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
  146. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
  147. package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
  148. package/nav-tabs/Tab.js +117 -0
  149. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  150. package/nav-tabs/types.js +5 -0
  151. package/number-input/NumberInput.d.ts +7 -0
  152. package/number-input/NumberInput.js +26 -35
  153. package/number-input/NumberInput.stories.tsx +42 -26
  154. package/number-input/NumberInput.test.js +701 -414
  155. package/number-input/types.d.ts +11 -5
  156. package/package.json +37 -40
  157. package/paginator/Icons.d.ts +5 -0
  158. package/paginator/Icons.js +21 -47
  159. package/paginator/Paginator.js +22 -58
  160. package/paginator/Paginator.stories.tsx +24 -0
  161. package/paginator/Paginator.test.js +252 -225
  162. package/paginator/types.d.ts +3 -3
  163. package/paragraph/Paragraph.d.ts +3 -4
  164. package/paragraph/Paragraph.js +6 -22
  165. package/paragraph/Paragraph.stories.tsx +0 -17
  166. package/password-input/Icons.d.ts +6 -0
  167. package/password-input/Icons.js +35 -0
  168. package/password-input/PasswordInput.js +57 -126
  169. package/password-input/PasswordInput.stories.tsx +1 -33
  170. package/password-input/PasswordInput.test.js +158 -141
  171. package/password-input/types.d.ts +8 -7
  172. package/progress-bar/ProgressBar.d.ts +2 -2
  173. package/progress-bar/ProgressBar.js +23 -55
  174. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  175. package/progress-bar/ProgressBar.test.js +36 -53
  176. package/progress-bar/types.d.ts +4 -3
  177. package/quick-nav/QuickNav.js +4 -27
  178. package/quick-nav/QuickNav.stories.tsx +15 -1
  179. package/quick-nav/types.d.ts +10 -10
  180. package/radio-group/Radio.d.ts +1 -1
  181. package/radio-group/Radio.js +31 -63
  182. package/radio-group/RadioGroup.js +45 -93
  183. package/radio-group/RadioGroup.stories.tsx +131 -18
  184. package/radio-group/RadioGroup.test.js +505 -471
  185. package/radio-group/types.d.ts +8 -8
  186. package/resultset-table/Icons.d.ts +7 -0
  187. package/resultset-table/Icons.js +47 -0
  188. package/resultset-table/ResultsetTable.js +159 -0
  189. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  190. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +101 -144
  191. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  192. package/resultset-table/types.js +5 -0
  193. package/select/Icons.d.ts +7 -7
  194. package/select/Icons.js +1 -5
  195. package/select/Listbox.d.ts +1 -1
  196. package/select/Listbox.js +17 -72
  197. package/select/Option.js +20 -50
  198. package/select/Select.js +106 -170
  199. package/select/Select.stories.tsx +497 -153
  200. package/select/Select.test.js +1974 -1837
  201. package/select/types.d.ts +16 -17
  202. package/sidenav/Icons.d.ts +7 -0
  203. package/sidenav/Icons.js +47 -0
  204. package/sidenav/Sidenav.d.ts +2 -2
  205. package/sidenav/Sidenav.js +81 -153
  206. package/sidenav/Sidenav.stories.tsx +165 -63
  207. package/sidenav/Sidenav.test.js +3 -10
  208. package/sidenav/types.d.ts +31 -28
  209. package/slider/Slider.d.ts +2 -2
  210. package/slider/Slider.js +77 -134
  211. package/slider/Slider.test.js +108 -104
  212. package/slider/types.d.ts +7 -3
  213. package/spinner/Spinner.js +31 -75
  214. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  215. package/spinner/Spinner.test.js +26 -35
  216. package/spinner/types.d.ts +3 -3
  217. package/switch/Switch.d.ts +3 -3
  218. package/switch/Switch.js +56 -103
  219. package/switch/Switch.stories.tsx +33 -34
  220. package/switch/Switch.test.js +52 -97
  221. package/switch/types.d.ts +8 -3
  222. package/table/Table.js +7 -29
  223. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  224. package/table/Table.test.js +3 -8
  225. package/table/types.d.ts +8 -8
  226. package/tabs/Tab.js +22 -44
  227. package/tabs/Tabs.js +62 -145
  228. package/tabs/Tabs.stories.tsx +45 -5
  229. package/tabs/Tabs.test.js +66 -123
  230. package/tabs/types.d.ts +19 -19
  231. package/tag/Tag.js +28 -60
  232. package/tag/Tag.stories.tsx +14 -1
  233. package/tag/Tag.test.js +20 -31
  234. package/tag/types.d.ts +7 -7
  235. package/text-input/Icons.d.ts +5 -5
  236. package/text-input/Icons.js +1 -5
  237. package/text-input/Suggestion.js +35 -25
  238. package/text-input/Suggestions.d.ts +1 -1
  239. package/text-input/Suggestions.js +15 -65
  240. package/text-input/TextInput.js +219 -324
  241. package/text-input/TextInput.stories.tsx +139 -155
  242. package/text-input/TextInput.test.js +1370 -1402
  243. package/text-input/types.d.ts +25 -17
  244. package/textarea/Textarea.js +70 -113
  245. package/textarea/Textarea.stories.tsx +174 -0
  246. package/textarea/Textarea.test.js +152 -183
  247. package/textarea/types.d.ts +9 -5
  248. package/toggle-group/ToggleGroup.d.ts +2 -2
  249. package/toggle-group/ToggleGroup.js +92 -106
  250. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  251. package/toggle-group/ToggleGroup.test.js +69 -88
  252. package/toggle-group/types.d.ts +26 -17
  253. package/typography/Typography.d.ts +2 -2
  254. package/typography/Typography.js +15 -123
  255. package/typography/Typography.stories.tsx +1 -1
  256. package/typography/types.d.ts +1 -1
  257. package/useTheme.d.ts +1133 -1
  258. package/useTheme.js +2 -9
  259. package/useTranslatedLabels.d.ts +84 -1
  260. package/useTranslatedLabels.js +1 -7
  261. package/utils/BaseTypography.d.ts +21 -0
  262. package/utils/BaseTypography.js +94 -0
  263. package/utils/FocusLock.d.ts +13 -0
  264. package/utils/FocusLock.js +121 -0
  265. package/wizard/Wizard.js +16 -51
  266. package/wizard/Wizard.stories.tsx +20 -0
  267. package/wizard/Wizard.test.js +54 -81
  268. package/wizard/types.d.ts +8 -9
  269. package/card/ice-cream.jpg +0 -0
  270. package/common/RequiredComponent.js +0 -32
  271. package/number-input/NumberInputContext.d.ts +0 -4
  272. package/number-input/NumberInputContext.js +0 -19
  273. package/number-input/numberInputContextTypes.d.ts +0 -19
  274. package/resultsetTable/ResultsetTable.js +0 -252
  275. package/slider/Slider.stories.tsx +0 -183
  276. package/tabs-nav/Tab.js +0 -130
  277. package/textarea/Textarea.stories.jsx +0 -157
  278. /package/{resultsetTable → action-icon}/types.js +0 -0
  279. /package/{tabs-nav → container}/types.js +0 -0
  280. /package/{number-input/numberInputContextTypes.js → grid/types.js} +0 -0
  281. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  282. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+ var _Badge = _interopRequireDefault(require("../badge/Badge"));
15
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
16
+ var _NavTabs = require("./NavTabs");
17
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
18
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
19
+ var _templateObject, _templateObject2, _templateObject3;
20
+ var _excluded = ["href", "active", "icon", "disabled", "notificationNumber", "children"];
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; }
23
+ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
24
+ var href = _ref.href,
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);
34
+ var tabRef = (0, _react.useRef)();
35
+ var colorsTheme = (0, _useTheme["default"])();
36
+ var _useContext = (0, _react.useContext)(_NavTabs.NavTabsContext),
37
+ iconPosition = _useContext.iconPosition,
38
+ tabIndex = _useContext.tabIndex,
39
+ focusedLabel = _useContext.focusedLabel;
40
+ (0, _react.useEffect)(function () {
41
+ var _tabRef$current;
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());
43
+ }, [focusedLabel]);
44
+ var handleOnKeyDown = function handleOnKeyDown(event) {
45
+ var _tabRef$current2;
46
+ switch (event.key) {
47
+ case " ":
48
+ case "Enter":
49
+ event.preventDefault();
50
+ tabRef === null || tabRef === void 0 ? void 0 : (_tabRef$current2 = tabRef.current) === null || _tabRef$current2 === void 0 ? void 0 : _tabRef$current2.click();
51
+ break;
52
+ }
53
+ };
54
+ return /*#__PURE__*/_react["default"].createElement(TabContainer, {
55
+ active: active,
56
+ role: "tab",
57
+ "aria-selected": active,
58
+ "aria-disabled": disabled
59
+ }, /*#__PURE__*/_react["default"].createElement(Tab, (0, _extends2["default"])({
60
+ href: !disabled ? href : undefined,
61
+ disabled: disabled,
62
+ active: active,
63
+ iconPosition: iconPosition,
64
+ hasIcon: icon != null ? true : false,
65
+ ref: function ref(anchorRef) {
66
+ tabRef.current = anchorRef;
67
+ if (_ref2) {
68
+ if (typeof _ref2 === "function") _ref2(anchorRef);else _ref2.current = anchorRef;
69
+ }
70
+ },
71
+ onKeyDown: handleOnKeyDown,
72
+ tabIndex: active ? tabIndex : -1
73
+ }, otherProps), icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
74
+ iconPosition: iconPosition
75
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
76
+ src: icon
77
+ }) : icon), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
78
+ alignItems: "center",
79
+ gap: "0.5rem"
80
+ }, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
81
+ color: disabled ? colorsTheme.navTabs.disabledFontColor : active ? colorsTheme.navTabs.selectedFontColor : colorsTheme.navTabs.unselectedFontColor,
82
+ fontFamily: colorsTheme.navTabs.fontFamily,
83
+ fontSize: colorsTheme.navTabs.fontSize,
84
+ fontStyle: colorsTheme.navTabs.fontStyle,
85
+ fontWeight: colorsTheme.navTabs.fontWeight,
86
+ textAlign: "center",
87
+ letterSpacing: "0.025em",
88
+ lineHeight: "1.715em"
89
+ }, children), notificationNumber && /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
90
+ notificationText: typeof notificationNumber === "number" && notificationNumber > 99 ? "+99" : notificationNumber,
91
+ disabled: disabled
92
+ }))));
93
+ });
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) {
95
+ return props.active ? props.theme.selectedUnderlineColor : 'transparent';
96
+ }, function (props) {
97
+ return props.theme.unselectedIconColor;
98
+ }, function (props) {
99
+ return props.theme.selectedIconColor;
100
+ }, function (props) {
101
+ return props.theme.disabledIconColor;
102
+ });
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) {
104
+ return props.hasIcon && props.iconPosition === "top" ? "column" : "row";
105
+ }, function (props) {
106
+ return props.hasIcon && props.iconPosition === "top" ? "0.375rem" : "0.625rem";
107
+ }, function (props) {
108
+ return props.hasIcon && props.iconPosition === "top" ? "78px" : "100%";
109
+ }, function (props) {
110
+ return props.active ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
111
+ }, function (props) {
112
+ return props.disabled ? "not-allowed" : "pointer";
113
+ }, function (props) {
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 ");
115
+ });
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"])));
117
+ var _default = exports["default"] = DxcTab;
@@ -1,6 +1,11 @@
1
1
  /// <reference types="react" />
2
- declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
- export declare type TabProps = {
2
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ export type NavTabsContextProps = {
4
+ iconPosition: "top" | "left";
5
+ tabIndex: number;
6
+ focusedLabel: string;
7
+ };
8
+ export type TabProps = {
4
9
  /**
5
10
  * Whether the tab is active or not.
6
11
  */
@@ -26,28 +31,22 @@ export declare type TabProps = {
26
31
  */
27
32
  notificationNumber?: boolean | number;
28
33
  /**
29
- * Content of the tab.
34
+ * Tab text label.
30
35
  */
31
36
  children: string;
32
37
  };
33
- export declare type NavTabsProps = {
38
+ type Props = {
34
39
  /**
35
40
  * Whether the icon should appear above or to the left of the label.
36
41
  */
37
42
  iconPosition?: "top" | "left";
38
43
  /**
39
- * Value of the tabindex for each tab.
44
+ * Contains one or more DxcNavTabs.Tab.
40
45
  */
41
- tabIndex?: number;
46
+ children: React.ReactNode;
42
47
  /**
43
- * Content of the tabs nav.
48
+ * Value of the tabindex attribute applied to each tab.
44
49
  */
45
- children: React.ReactNode;
46
- };
47
- export declare type NavTabsContextProps = {
48
- iconPosition: "top" | "left";
49
- tabIndex: number;
50
- hasIcons: boolean;
51
- focusedLabel: string;
50
+ tabIndex?: number;
52
51
  };
53
- export {};
52
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -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} />