@dxc-technology/halstack-react 0.0.0-3a698b0 → 0.0.0-3ac400c

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 (248) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +25 -129
  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.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +27 -75
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +43 -71
  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/alert/Alert.js +16 -53
  19. package/alert/Alert.test.js +28 -45
  20. package/alert/types.d.ts +5 -5
  21. package/badge/Badge.js +4 -17
  22. package/badge/types.d.ts +1 -1
  23. package/bleed/Bleed.js +13 -21
  24. package/bleed/types.d.ts +2 -2
  25. package/box/Box.d.ts +1 -1
  26. package/box/Box.js +16 -55
  27. package/box/Box.stories.tsx +25 -53
  28. package/box/Box.test.js +1 -6
  29. package/box/types.d.ts +3 -15
  30. package/bulleted-list/BulletedList.js +19 -53
  31. package/bulleted-list/BulletedList.stories.tsx +8 -93
  32. package/bulleted-list/types.d.ts +32 -5
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +66 -99
  35. package/button/Button.stories.tsx +8 -89
  36. package/button/Button.test.js +17 -16
  37. package/button/types.d.ts +8 -4
  38. package/card/Card.d.ts +1 -1
  39. package/card/Card.js +39 -79
  40. package/card/Card.stories.tsx +0 -29
  41. package/card/Card.test.js +10 -21
  42. package/card/types.d.ts +6 -12
  43. package/checkbox/Checkbox.js +85 -120
  44. package/checkbox/Checkbox.stories.tsx +16 -54
  45. package/checkbox/Checkbox.test.js +107 -63
  46. package/checkbox/types.d.ts +8 -4
  47. package/chip/Chip.js +34 -66
  48. package/chip/Chip.stories.tsx +25 -17
  49. package/chip/Chip.test.js +15 -28
  50. package/chip/types.d.ts +4 -4
  51. package/common/OpenSans.css +68 -80
  52. package/common/coreTokens.d.ts +237 -0
  53. package/common/coreTokens.js +184 -0
  54. package/common/utils.js +2 -8
  55. package/common/variables.d.ts +24 -268
  56. package/common/variables.js +860 -1111
  57. package/container/Container.d.ts +4 -0
  58. package/container/Container.js +194 -0
  59. package/container/Container.stories.tsx +214 -0
  60. package/container/types.d.ts +74 -0
  61. package/date-input/Calendar.js +15 -59
  62. package/date-input/DateInput.js +50 -96
  63. package/date-input/DateInput.stories.tsx +11 -30
  64. package/date-input/DateInput.test.js +674 -701
  65. package/date-input/DatePicker.js +11 -42
  66. package/date-input/Icons.d.ts +6 -6
  67. package/date-input/Icons.js +6 -23
  68. package/date-input/YearPicker.js +8 -34
  69. package/date-input/types.d.ts +27 -21
  70. package/dialog/Dialog.d.ts +1 -1
  71. package/dialog/Dialog.js +15 -60
  72. package/dialog/Dialog.stories.tsx +215 -169
  73. package/dialog/Dialog.test.js +125 -187
  74. package/dialog/types.d.ts +18 -26
  75. package/dropdown/Dropdown.js +39 -93
  76. package/dropdown/Dropdown.test.js +391 -378
  77. package/dropdown/DropdownMenu.js +13 -20
  78. package/dropdown/DropdownMenuItem.js +5 -17
  79. package/dropdown/types.d.ts +17 -19
  80. package/file-input/FileInput.js +180 -248
  81. package/file-input/FileInput.stories.tsx +1 -1
  82. package/file-input/FileInput.test.js +356 -354
  83. package/file-input/FileItem.js +14 -41
  84. package/file-input/types.d.ts +10 -10
  85. package/flex/Flex.js +27 -39
  86. package/flex/Flex.stories.tsx +24 -10
  87. package/flex/types.d.ts +74 -9
  88. package/footer/Footer.d.ts +1 -1
  89. package/footer/Footer.js +54 -112
  90. package/footer/Footer.stories.tsx +19 -95
  91. package/footer/Footer.test.js +21 -33
  92. package/footer/Icons.d.ts +2 -2
  93. package/footer/Icons.js +2 -7
  94. package/footer/types.d.ts +21 -29
  95. package/grid/Grid.d.ts +1 -1
  96. package/grid/Grid.js +2 -17
  97. package/grid/Grid.stories.tsx +38 -38
  98. package/grid/types.d.ts +10 -10
  99. package/header/Header.d.ts +2 -2
  100. package/header/Header.js +31 -114
  101. package/header/Header.stories.tsx +7 -71
  102. package/header/Header.test.js +12 -25
  103. package/header/Icons.d.ts +2 -2
  104. package/header/Icons.js +2 -7
  105. package/header/types.d.ts +5 -20
  106. package/heading/Heading.js +9 -31
  107. package/heading/Heading.test.js +70 -87
  108. package/heading/types.d.ts +7 -7
  109. package/image/Image.d.ts +4 -0
  110. package/image/Image.js +70 -0
  111. package/image/Image.stories.tsx +127 -0
  112. package/image/types.d.ts +72 -0
  113. package/inset/Inset.js +13 -21
  114. package/inset/Inset.stories.tsx +1 -1
  115. package/inset/types.d.ts +2 -2
  116. package/layout/ApplicationLayout.d.ts +5 -5
  117. package/layout/ApplicationLayout.js +28 -65
  118. package/layout/ApplicationLayout.stories.tsx +1 -1
  119. package/layout/Icons.d.ts +8 -5
  120. package/layout/Icons.js +51 -59
  121. package/layout/SidenavContext.d.ts +1 -1
  122. package/layout/SidenavContext.js +3 -9
  123. package/layout/types.d.ts +5 -6
  124. package/link/Link.js +22 -43
  125. package/link/Link.test.js +23 -41
  126. package/link/types.d.ts +14 -14
  127. package/main.d.ts +4 -3
  128. package/main.js +17 -58
  129. package/nav-tabs/NavTabs.d.ts +2 -2
  130. package/nav-tabs/NavTabs.js +16 -51
  131. package/nav-tabs/NavTabs.stories.tsx +15 -1
  132. package/nav-tabs/NavTabs.test.js +36 -43
  133. package/nav-tabs/Tab.js +36 -69
  134. package/nav-tabs/types.d.ts +14 -15
  135. package/number-input/NumberInput.d.ts +7 -0
  136. package/number-input/NumberInput.js +26 -35
  137. package/number-input/NumberInput.stories.tsx +42 -26
  138. package/number-input/NumberInput.test.js +700 -412
  139. package/number-input/types.d.ts +11 -5
  140. package/package.json +30 -28
  141. package/paginator/Icons.d.ts +5 -5
  142. package/paginator/Icons.js +5 -19
  143. package/paginator/Paginator.js +16 -44
  144. package/paginator/Paginator.test.js +229 -199
  145. package/paginator/types.d.ts +3 -3
  146. package/paragraph/Paragraph.js +3 -19
  147. package/paragraph/Paragraph.stories.tsx +0 -17
  148. package/password-input/Icons.d.ts +6 -0
  149. package/password-input/Icons.js +35 -0
  150. package/password-input/PasswordInput.js +57 -126
  151. package/password-input/PasswordInput.stories.tsx +1 -33
  152. package/password-input/PasswordInput.test.js +157 -140
  153. package/password-input/types.d.ts +8 -7
  154. package/progress-bar/ProgressBar.js +21 -53
  155. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  156. package/progress-bar/ProgressBar.test.js +35 -52
  157. package/progress-bar/types.d.ts +3 -3
  158. package/quick-nav/QuickNav.js +4 -27
  159. package/quick-nav/QuickNav.stories.tsx +1 -1
  160. package/quick-nav/types.d.ts +10 -10
  161. package/radio-group/Radio.d.ts +1 -1
  162. package/radio-group/Radio.js +31 -63
  163. package/radio-group/RadioGroup.js +45 -93
  164. package/radio-group/RadioGroup.stories.tsx +10 -10
  165. package/radio-group/RadioGroup.test.js +504 -470
  166. package/radio-group/types.d.ts +8 -8
  167. package/resultset-table/Icons.d.ts +7 -0
  168. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  169. package/{resultsetTable → resultset-table}/ResultsetTable.js +23 -59
  170. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  171. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  172. package/resultset-table/types.js +5 -0
  173. package/select/Icons.d.ts +7 -7
  174. package/select/Icons.js +1 -5
  175. package/select/Listbox.js +13 -39
  176. package/select/Option.js +9 -26
  177. package/select/Select.js +70 -155
  178. package/select/Select.stories.tsx +3 -3
  179. package/select/Select.test.js +1946 -1804
  180. package/select/types.d.ts +14 -15
  181. package/sidenav/Icons.d.ts +7 -0
  182. package/sidenav/Icons.js +47 -0
  183. package/sidenav/Sidenav.d.ts +2 -2
  184. package/sidenav/Sidenav.js +80 -150
  185. package/sidenav/Sidenav.stories.tsx +60 -60
  186. package/sidenav/Sidenav.test.js +3 -10
  187. package/sidenav/types.d.ts +31 -28
  188. package/slider/Slider.js +68 -125
  189. package/slider/Slider.test.js +107 -103
  190. package/slider/types.d.ts +4 -4
  191. package/spinner/Spinner.js +16 -54
  192. package/spinner/Spinner.test.js +25 -34
  193. package/spinner/types.d.ts +3 -3
  194. package/switch/Switch.js +49 -97
  195. package/switch/Switch.stories.tsx +0 -34
  196. package/switch/Switch.test.js +51 -96
  197. package/switch/types.d.ts +4 -4
  198. package/table/Table.js +5 -27
  199. package/table/Table.test.js +1 -6
  200. package/table/types.d.ts +8 -8
  201. package/tabs/Tab.js +10 -29
  202. package/tabs/Tabs.js +52 -129
  203. package/tabs/Tabs.test.js +62 -118
  204. package/tabs/types.d.ts +19 -19
  205. package/tag/Tag.js +21 -51
  206. package/tag/Tag.test.js +19 -30
  207. package/tag/types.d.ts +7 -7
  208. package/text-input/Icons.d.ts +5 -5
  209. package/text-input/Icons.js +1 -5
  210. package/text-input/Suggestion.js +9 -26
  211. package/text-input/Suggestions.d.ts +1 -1
  212. package/text-input/Suggestions.js +15 -65
  213. package/text-input/TextInput.js +189 -284
  214. package/text-input/TextInput.stories.tsx +48 -152
  215. package/text-input/TextInput.test.js +1210 -1194
  216. package/text-input/types.d.ts +25 -17
  217. package/textarea/Textarea.js +67 -109
  218. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  219. package/textarea/Textarea.test.js +150 -179
  220. package/textarea/types.d.ts +9 -5
  221. package/toggle-group/ToggleGroup.d.ts +2 -2
  222. package/toggle-group/ToggleGroup.js +90 -107
  223. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  224. package/toggle-group/ToggleGroup.test.js +68 -87
  225. package/toggle-group/types.d.ts +26 -17
  226. package/typography/Typography.js +4 -13
  227. package/typography/types.d.ts +1 -1
  228. package/useTheme.d.ts +21 -122
  229. package/useTheme.js +1 -8
  230. package/useTranslatedLabels.js +1 -7
  231. package/utils/BaseTypography.d.ts +2 -2
  232. package/utils/BaseTypography.js +16 -30
  233. package/utils/FocusLock.js +24 -42
  234. package/wizard/Wizard.js +14 -49
  235. package/wizard/Wizard.test.js +53 -80
  236. package/wizard/types.d.ts +6 -6
  237. package/card/ice-cream.jpg +0 -0
  238. package/number-input/NumberInputContext.d.ts +0 -4
  239. package/number-input/NumberInputContext.js +0 -19
  240. package/number-input/numberInputContextTypes.d.ts +0 -19
  241. package/resultsetTable/Icons.d.ts +0 -7
  242. package/slider/Slider.stories.tsx +0 -240
  243. /package/{resultsetTable → container}/types.js +0 -0
  244. /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
  245. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  246. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  247. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  248. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
@@ -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;
@@ -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} />