@dxc-technology/halstack-react 0.0.0-4dc980c → 0.0.0-4e1277a

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 (323) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +122 -106
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +37 -100
  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 +2 -2
  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/AccordionGroupContext.d.ts +3 -0
  18. package/accordion-group/AccordionGroupContext.js +8 -0
  19. package/accordion-group/types.d.ts +6 -18
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +47 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/alert/Alert.js +19 -58
  26. package/alert/Alert.stories.tsx +28 -0
  27. package/alert/Alert.test.js +29 -46
  28. package/alert/types.d.ts +5 -5
  29. package/badge/Badge.d.ts +1 -1
  30. package/badge/Badge.js +141 -43
  31. package/badge/Badge.stories.tsx +210 -0
  32. package/badge/Badge.test.js +30 -0
  33. package/badge/types.d.ts +52 -3
  34. package/bleed/Bleed.js +13 -21
  35. package/bleed/Bleed.stories.tsx +1 -0
  36. package/bleed/types.d.ts +2 -2
  37. package/box/Box.d.ts +1 -1
  38. package/box/Box.js +18 -59
  39. package/box/Box.stories.tsx +38 -51
  40. package/box/Box.test.js +2 -7
  41. package/box/types.d.ts +3 -15
  42. package/bulleted-list/BulletedList.js +19 -53
  43. package/bulleted-list/BulletedList.stories.tsx +8 -93
  44. package/bulleted-list/types.d.ts +32 -5
  45. package/button/Button.d.ts +1 -1
  46. package/button/Button.js +71 -106
  47. package/button/Button.stories.tsx +144 -101
  48. package/button/Button.test.js +20 -17
  49. package/button/types.d.ts +9 -5
  50. package/card/Card.d.ts +1 -1
  51. package/card/Card.js +48 -89
  52. package/card/Card.stories.tsx +12 -42
  53. package/card/Card.test.js +11 -22
  54. package/card/types.d.ts +6 -12
  55. package/checkbox/Checkbox.js +87 -122
  56. package/checkbox/Checkbox.stories.tsx +68 -54
  57. package/checkbox/Checkbox.test.js +108 -64
  58. package/checkbox/types.d.ts +8 -4
  59. package/chip/Chip.js +39 -79
  60. package/chip/Chip.stories.tsx +121 -26
  61. package/chip/Chip.test.js +16 -31
  62. package/chip/types.d.ts +4 -4
  63. package/common/coreTokens.d.ts +237 -0
  64. package/common/coreTokens.js +184 -0
  65. package/common/utils.d.ts +1 -0
  66. package/common/utils.js +6 -12
  67. package/common/variables.d.ts +1395 -0
  68. package/common/variables.js +910 -1155
  69. package/container/Container.d.ts +4 -0
  70. package/container/Container.js +194 -0
  71. package/container/Container.stories.tsx +214 -0
  72. package/container/types.d.ts +74 -0
  73. package/contextual-menu/ContextualMenu.d.ts +7 -0
  74. package/contextual-menu/ContextualMenu.js +71 -0
  75. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  76. package/contextual-menu/ContextualMenu.test.js +71 -0
  77. package/contextual-menu/MenuItemAction.d.ts +4 -0
  78. package/contextual-menu/MenuItemAction.js +46 -0
  79. package/contextual-menu/types.d.ts +22 -0
  80. package/date-input/Calendar.d.ts +1 -1
  81. package/date-input/Calendar.js +52 -96
  82. package/date-input/DateInput.js +103 -107
  83. package/date-input/DateInput.stories.tsx +194 -60
  84. package/date-input/DateInput.test.js +676 -620
  85. package/date-input/DatePicker.js +47 -92
  86. package/date-input/Icons.d.ts +6 -0
  87. package/date-input/Icons.js +58 -0
  88. package/date-input/YearPicker.d.ts +1 -1
  89. package/date-input/YearPicker.js +29 -44
  90. package/date-input/types.d.ts +32 -28
  91. package/dialog/Dialog.d.ts +1 -1
  92. package/dialog/Dialog.js +61 -119
  93. package/dialog/Dialog.stories.tsx +310 -212
  94. package/dialog/Dialog.test.js +269 -32
  95. package/dialog/types.d.ts +18 -26
  96. package/divider/Divider.d.ts +4 -0
  97. package/divider/Divider.js +36 -0
  98. package/divider/Divider.stories.tsx +223 -0
  99. package/divider/Divider.test.js +38 -0
  100. package/divider/types.d.ts +21 -0
  101. package/divider/types.js +5 -0
  102. package/dropdown/Dropdown.js +53 -108
  103. package/dropdown/Dropdown.stories.tsx +210 -84
  104. package/dropdown/Dropdown.test.js +393 -379
  105. package/dropdown/DropdownMenu.js +20 -37
  106. package/dropdown/DropdownMenuItem.js +9 -34
  107. package/dropdown/types.d.ts +18 -20
  108. package/file-input/FileInput.js +184 -256
  109. package/file-input/FileInput.stories.tsx +86 -3
  110. package/file-input/FileInput.test.js +356 -395
  111. package/file-input/FileItem.js +15 -41
  112. package/file-input/types.d.ts +10 -10
  113. package/flex/Flex.js +27 -39
  114. package/flex/Flex.stories.tsx +35 -26
  115. package/flex/types.d.ts +74 -9
  116. package/footer/Footer.d.ts +1 -1
  117. package/footer/Footer.js +70 -117
  118. package/footer/Footer.stories.tsx +55 -21
  119. package/footer/Footer.test.js +33 -57
  120. package/footer/Icons.d.ts +3 -2
  121. package/footer/Icons.js +66 -7
  122. package/footer/types.d.ts +25 -27
  123. package/grid/Grid.d.ts +7 -0
  124. package/grid/Grid.js +76 -0
  125. package/grid/Grid.stories.tsx +219 -0
  126. package/grid/types.d.ts +115 -0
  127. package/grid/types.js +5 -0
  128. package/header/Header.d.ts +4 -3
  129. package/header/Header.js +48 -133
  130. package/header/Header.stories.tsx +115 -36
  131. package/header/Header.test.js +13 -26
  132. package/header/Icons.d.ts +2 -2
  133. package/header/Icons.js +2 -7
  134. package/header/types.d.ts +7 -22
  135. package/heading/Heading.js +10 -32
  136. package/heading/Heading.test.js +71 -88
  137. package/heading/types.d.ts +7 -7
  138. package/icon/Icon.d.ts +4 -0
  139. package/icon/Icon.js +33 -0
  140. package/icon/Icon.stories.tsx +26 -0
  141. package/icon/types.d.ts +4 -0
  142. package/icon/types.js +5 -0
  143. package/image/Image.d.ts +4 -0
  144. package/image/Image.js +70 -0
  145. package/image/Image.stories.tsx +129 -0
  146. package/image/types.d.ts +72 -0
  147. package/image/types.js +5 -0
  148. package/inset/Inset.js +13 -21
  149. package/inset/Inset.stories.tsx +2 -1
  150. package/inset/types.d.ts +2 -2
  151. package/layout/ApplicationLayout.d.ts +5 -5
  152. package/layout/ApplicationLayout.js +30 -67
  153. package/layout/ApplicationLayout.stories.tsx +1 -1
  154. package/layout/Icons.d.ts +8 -5
  155. package/layout/Icons.js +51 -59
  156. package/layout/types.d.ts +5 -6
  157. package/link/Link.js +24 -45
  158. package/link/Link.stories.tsx +60 -0
  159. package/link/Link.test.js +24 -44
  160. package/link/types.d.ts +14 -14
  161. package/main.d.ts +10 -5
  162. package/main.js +47 -59
  163. package/nav-tabs/NavTabs.d.ts +7 -0
  164. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  165. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  166. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  167. package/nav-tabs/NavTabsContext.d.ts +3 -0
  168. package/nav-tabs/NavTabsContext.js +8 -0
  169. package/nav-tabs/Tab.js +118 -0
  170. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  171. package/nav-tabs/types.js +5 -0
  172. package/number-input/NumberInput.js +46 -36
  173. package/number-input/NumberInput.stories.tsx +42 -26
  174. package/number-input/NumberInput.test.js +860 -413
  175. package/number-input/NumberInputContext.d.ts +3 -4
  176. package/number-input/NumberInputContext.js +3 -14
  177. package/number-input/types.d.ts +17 -5
  178. package/package.json +31 -29
  179. package/paginator/Icons.d.ts +5 -0
  180. package/paginator/Icons.js +21 -47
  181. package/paginator/Paginator.js +22 -58
  182. package/paginator/Paginator.stories.tsx +24 -0
  183. package/paginator/Paginator.test.js +252 -225
  184. package/paginator/types.d.ts +3 -3
  185. package/paragraph/Paragraph.d.ts +3 -4
  186. package/paragraph/Paragraph.js +6 -22
  187. package/paragraph/Paragraph.stories.tsx +0 -17
  188. package/password-input/Icons.d.ts +6 -0
  189. package/password-input/Icons.js +35 -0
  190. package/password-input/PasswordInput.js +57 -126
  191. package/password-input/PasswordInput.stories.tsx +1 -33
  192. package/password-input/PasswordInput.test.js +158 -141
  193. package/password-input/types.d.ts +8 -7
  194. package/progress-bar/ProgressBar.d.ts +2 -2
  195. package/progress-bar/ProgressBar.js +23 -55
  196. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  197. package/progress-bar/ProgressBar.test.js +36 -53
  198. package/progress-bar/types.d.ts +4 -3
  199. package/quick-nav/QuickNav.js +4 -27
  200. package/quick-nav/QuickNav.stories.tsx +15 -1
  201. package/quick-nav/types.d.ts +10 -10
  202. package/radio-group/Radio.d.ts +1 -1
  203. package/radio-group/Radio.js +31 -63
  204. package/radio-group/RadioGroup.js +45 -93
  205. package/radio-group/RadioGroup.stories.tsx +131 -18
  206. package/radio-group/RadioGroup.test.js +505 -471
  207. package/radio-group/types.d.ts +8 -8
  208. package/resultset-table/Icons.d.ts +7 -0
  209. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  210. package/resultset-table/ResultsetTable.d.ts +7 -0
  211. package/{resultsetTable → resultset-table}/ResultsetTable.js +37 -66
  212. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +102 -5
  213. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +155 -114
  214. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  215. package/resultset-table/types.js +5 -0
  216. package/select/Icons.d.ts +7 -7
  217. package/select/Icons.js +1 -5
  218. package/select/Listbox.d.ts +1 -1
  219. package/select/Listbox.js +17 -72
  220. package/select/Option.js +27 -50
  221. package/select/Select.js +120 -175
  222. package/select/Select.stories.tsx +495 -148
  223. package/select/Select.test.js +1974 -1837
  224. package/select/types.d.ts +16 -17
  225. package/sidenav/Icons.d.ts +7 -0
  226. package/sidenav/Icons.js +47 -0
  227. package/sidenav/Sidenav.d.ts +2 -2
  228. package/sidenav/Sidenav.js +83 -154
  229. package/sidenav/Sidenav.stories.tsx +165 -63
  230. package/sidenav/Sidenav.test.js +3 -10
  231. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  232. package/{layout → sidenav}/SidenavContext.js +3 -9
  233. package/sidenav/types.d.ts +31 -28
  234. package/slider/Slider.js +70 -128
  235. package/slider/Slider.test.js +108 -104
  236. package/slider/types.d.ts +4 -4
  237. package/spinner/Spinner.js +29 -73
  238. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  239. package/spinner/Spinner.test.js +26 -35
  240. package/spinner/types.d.ts +3 -3
  241. package/status-light/StatusLight.d.ts +4 -0
  242. package/status-light/StatusLight.js +51 -0
  243. package/status-light/StatusLight.stories.tsx +74 -0
  244. package/status-light/StatusLight.test.js +25 -0
  245. package/status-light/types.d.ts +17 -0
  246. package/status-light/types.js +5 -0
  247. package/switch/Switch.js +51 -99
  248. package/switch/Switch.stories.tsx +33 -34
  249. package/switch/Switch.test.js +52 -97
  250. package/switch/types.d.ts +4 -4
  251. package/table/DropdownTheme.js +62 -0
  252. package/table/Table.d.ts +6 -2
  253. package/table/Table.js +87 -35
  254. package/table/Table.stories.tsx +658 -0
  255. package/table/Table.test.js +94 -7
  256. package/table/types.d.ts +48 -6
  257. package/tabs/Tab.js +26 -45
  258. package/tabs/Tabs.js +62 -145
  259. package/tabs/Tabs.stories.tsx +46 -5
  260. package/tabs/Tabs.test.js +66 -123
  261. package/tabs/types.d.ts +19 -19
  262. package/tag/Tag.js +28 -60
  263. package/tag/Tag.stories.tsx +14 -1
  264. package/tag/Tag.test.js +20 -31
  265. package/tag/types.d.ts +7 -7
  266. package/text-input/Icons.d.ts +5 -5
  267. package/text-input/Icons.js +1 -5
  268. package/text-input/Suggestion.js +35 -25
  269. package/text-input/Suggestions.d.ts +1 -1
  270. package/text-input/Suggestions.js +15 -65
  271. package/text-input/TextInput.js +220 -332
  272. package/text-input/TextInput.stories.tsx +139 -155
  273. package/text-input/TextInput.test.js +1289 -1157
  274. package/text-input/types.d.ts +25 -17
  275. package/textarea/Textarea.js +70 -113
  276. package/textarea/Textarea.stories.tsx +174 -0
  277. package/textarea/Textarea.test.js +152 -183
  278. package/textarea/types.d.ts +9 -5
  279. package/toggle-group/ToggleGroup.d.ts +2 -2
  280. package/toggle-group/ToggleGroup.js +92 -106
  281. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  282. package/toggle-group/ToggleGroup.test.js +69 -88
  283. package/toggle-group/types.d.ts +26 -17
  284. package/typography/Typography.d.ts +2 -2
  285. package/typography/Typography.js +15 -123
  286. package/typography/Typography.stories.tsx +1 -1
  287. package/typography/types.d.ts +1 -1
  288. package/useTheme.d.ts +1147 -1
  289. package/useTheme.js +2 -9
  290. package/useTranslatedLabels.d.ts +84 -1
  291. package/useTranslatedLabels.js +1 -7
  292. package/utils/BaseTypography.d.ts +21 -0
  293. package/utils/BaseTypography.js +94 -0
  294. package/utils/FocusLock.d.ts +13 -0
  295. package/utils/FocusLock.js +124 -0
  296. package/wizard/Wizard.js +16 -51
  297. package/wizard/Wizard.stories.tsx +20 -0
  298. package/wizard/Wizard.test.js +54 -81
  299. package/wizard/types.d.ts +9 -10
  300. package/card/ice-cream.jpg +0 -0
  301. package/common/OpenSans.css +0 -81
  302. package/common/fonts/OpenSans-Bold.ttf +0 -0
  303. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  304. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  305. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  306. package/common/fonts/OpenSans-Italic.ttf +0 -0
  307. package/common/fonts/OpenSans-Light.ttf +0 -0
  308. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  309. package/common/fonts/OpenSans-Regular.ttf +0 -0
  310. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  311. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  312. package/number-input/numberInputContextTypes.d.ts +0 -19
  313. package/resultsetTable/Icons.d.ts +0 -7
  314. package/resultsetTable/ResultsetTable.d.ts +0 -4
  315. package/slider/Slider.stories.tsx +0 -183
  316. package/table/Table.stories.jsx +0 -277
  317. package/tabs-nav/NavTabs.d.ts +0 -8
  318. package/tabs-nav/Tab.js +0 -130
  319. package/textarea/Textarea.stories.jsx +0 -157
  320. /package/{resultsetTable → action-icon}/types.js +0 -0
  321. /package/{tabs-nav → container}/types.js +0 -0
  322. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  323. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NavTabsContext = void 0;
7
+ var _react = require("react");
8
+ var NavTabsContext = exports.NavTabsContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1,118 @@
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 _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
17
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
18
+ var _NavTabsContext = require("./NavTabsContext");
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)(_NavTabsContext.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 && !disabled && /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
90
+ mode: "notification",
91
+ size: "small",
92
+ label: typeof notificationNumber === "number" && notificationNumber
93
+ }))));
94
+ });
95
+ var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n align-items: stretch;\n border-bottom: 2px solid ", ";\n padding: 0.5rem;\n z-index: 1;\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) {
96
+ return props.active ? props.theme.selectedUnderlineColor : 'transparent';
97
+ }, function (props) {
98
+ return props.theme.unselectedIconColor;
99
+ }, function (props) {
100
+ return props.theme.selectedIconColor;
101
+ }, function (props) {
102
+ return props.theme.disabledIconColor;
103
+ });
104
+ 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) {
105
+ return props.hasIcon && props.iconPosition === "top" ? "column" : "row";
106
+ }, function (props) {
107
+ return props.hasIcon && props.iconPosition === "top" ? "0.375rem" : "0.625rem";
108
+ }, function (props) {
109
+ return props.hasIcon && props.iconPosition === "top" ? "78px" : "100%";
110
+ }, function (props) {
111
+ return props.active ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
112
+ }, function (props) {
113
+ return props.disabled ? "not-allowed" : "pointer";
114
+ }, function (props) {
115
+ 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 ");
116
+ });
117
+ 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"])));
118
+ 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,54 +1,66 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
-
10
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
10
+ var _react = _interopRequireWildcard(require("react"));
14
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
12
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
17
-
18
- var _NumberInputContext = _interopRequireDefault(require("./NumberInputContext"));
19
-
13
+ var _NumberInputContext = require("./NumberInputContext");
20
14
  var _templateObject;
21
-
15
+ 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); }
16
+ 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; }
22
17
  var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
23
18
  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, {
19
+ name = _ref.name,
20
+ defaultValue = _ref.defaultValue,
21
+ value = _ref.value,
22
+ helperText = _ref.helperText,
23
+ placeholder = _ref.placeholder,
24
+ disabled = _ref.disabled,
25
+ optional = _ref.optional,
26
+ readOnly = _ref.readOnly,
27
+ prefix = _ref.prefix,
28
+ suffix = _ref.suffix,
29
+ min = _ref.min,
30
+ max = _ref.max,
31
+ _ref$step = _ref.step,
32
+ step = _ref$step === void 0 ? 1 : _ref$step,
33
+ onChange = _ref.onChange,
34
+ onBlur = _ref.onBlur,
35
+ error = _ref.error,
36
+ autocomplete = _ref.autocomplete,
37
+ margin = _ref.margin,
38
+ size = _ref.size,
39
+ tabIndex = _ref.tabIndex;
40
+ var numberInputRef = _react["default"].useRef(null);
41
+ (0, _react.useEffect)(function () {
42
+ var _numberInputRef$curre;
43
+ var input = (_numberInputRef$curre = numberInputRef.current) === null || _numberInputRef$curre === void 0 ? void 0 : _numberInputRef$curre.getElementsByTagName("input")[0];
44
+ var preventDefault = function preventDefault(event) {
45
+ event.preventDefault();
46
+ };
47
+ input === null || input === void 0 ? void 0 : input.addEventListener("wheel", preventDefault, {
48
+ passive: false
49
+ });
50
+ return function () {
51
+ input === null || input === void 0 ? void 0 : input.removeEventListener("wheel", preventDefault);
52
+ };
53
+ }, []);
54
+ return /*#__PURE__*/_react["default"].createElement(_NumberInputContext.NumberInputContext.Provider, {
45
55
  value: {
46
56
  typeNumber: "number",
47
57
  minNumber: min,
48
58
  maxNumber: max,
49
59
  stepNumber: step
50
60
  }
51
- }, /*#__PURE__*/_react["default"].createElement(NumberInputContainer, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
61
+ }, /*#__PURE__*/_react["default"].createElement(NumberInputContainer, {
62
+ ref: numberInputRef
63
+ }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
52
64
  label: label,
53
65
  name: name,
54
66
  defaultValue: defaultValue,
@@ -57,6 +69,7 @@ var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, r
57
69
  placeholder: placeholder,
58
70
  disabled: disabled,
59
71
  optional: optional,
72
+ readOnly: readOnly,
60
73
  prefix: prefix,
61
74
  suffix: suffix,
62
75
  error: error,
@@ -69,8 +82,5 @@ var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, r
69
82
  ref: ref
70
83
  })));
71
84
  });
72
-
73
85
  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;
86
+ 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} />