@dxc-technology/halstack-react 0.0.0-a5074e7 → 0.0.0-a5b9b2c

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 (97) hide show
  1. package/HalstackContext.js +90 -50
  2. package/accordion/Accordion.js +7 -13
  3. package/accordion/Accordion.stories.tsx +102 -13
  4. package/alert/Alert.stories.tsx +28 -0
  5. package/box/Box.stories.tsx +15 -0
  6. package/button/Button.js +11 -13
  7. package/button/Button.stories.tsx +150 -8
  8. package/checkbox/Checkbox.d.ts +2 -2
  9. package/checkbox/Checkbox.js +4 -3
  10. package/checkbox/Checkbox.stories.tsx +52 -0
  11. package/checkbox/types.d.ts +4 -0
  12. package/chip/Chip.js +16 -22
  13. package/chip/Chip.stories.tsx +96 -9
  14. package/common/variables.js +259 -249
  15. package/date-input/Calendar.d.ts +4 -0
  16. package/date-input/Calendar.js +258 -0
  17. package/date-input/DateInput.js +134 -237
  18. package/date-input/DateInput.stories.tsx +199 -33
  19. package/date-input/DateInput.test.js +494 -138
  20. package/date-input/DatePicker.d.ts +4 -0
  21. package/date-input/DatePicker.js +146 -0
  22. package/date-input/Icons.d.ts +6 -0
  23. package/date-input/Icons.js +75 -0
  24. package/date-input/YearPicker.d.ts +4 -0
  25. package/date-input/YearPicker.js +126 -0
  26. package/date-input/types.d.ts +51 -0
  27. package/dialog/Dialog.js +1 -3
  28. package/dialog/Dialog.stories.tsx +42 -20
  29. package/dropdown/Dropdown.js +35 -35
  30. package/dropdown/Dropdown.stories.tsx +210 -84
  31. package/dropdown/Dropdown.test.js +17 -22
  32. package/dropdown/DropdownMenu.js +8 -18
  33. package/dropdown/DropdownMenuItem.js +4 -15
  34. package/file-input/FileInput.d.ts +2 -2
  35. package/file-input/FileInput.js +25 -45
  36. package/file-input/FileInput.stories.tsx +96 -17
  37. package/file-input/FileInput.test.js +12 -12
  38. package/file-input/FileItem.d.ts +2 -12
  39. package/file-input/FileItem.js +28 -41
  40. package/file-input/types.d.ts +17 -0
  41. package/footer/Footer.stories.tsx +91 -0
  42. package/header/Header.js +18 -20
  43. package/header/Header.stories.tsx +149 -6
  44. package/link/Link.js +1 -1
  45. package/link/Link.stories.tsx +60 -0
  46. package/number-input/NumberInput.test.js +5 -6
  47. package/package.json +7 -12
  48. package/paginator/Icons.d.ts +5 -0
  49. package/paginator/Icons.js +16 -28
  50. package/paginator/Paginator.js +5 -11
  51. package/paginator/Paginator.stories.tsx +24 -0
  52. package/paginator/Paginator.test.js +17 -10
  53. package/progress-bar/ProgressBar.js +4 -4
  54. package/progress-bar/ProgressBar.stories.jsx +35 -2
  55. package/quick-nav/QuickNav.stories.tsx +14 -0
  56. package/radio-group/RadioGroup.stories.tsx +131 -18
  57. package/resultsetTable/Icons.d.ts +7 -0
  58. package/resultsetTable/Icons.js +51 -0
  59. package/resultsetTable/ResultsetTable.js +48 -105
  60. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  61. package/resultsetTable/ResultsetTable.test.js +40 -63
  62. package/resultsetTable/types.d.ts +2 -2
  63. package/select/Listbox.d.ts +1 -1
  64. package/select/Listbox.js +5 -34
  65. package/select/Option.js +11 -24
  66. package/select/Select.js +43 -24
  67. package/select/Select.stories.tsx +494 -150
  68. package/select/Select.test.js +17 -22
  69. package/select/types.d.ts +2 -2
  70. package/sidenav/Sidenav.js +8 -10
  71. package/sidenav/Sidenav.stories.tsx +148 -46
  72. package/slider/Slider.d.ts +2 -2
  73. package/slider/Slider.js +9 -8
  74. package/slider/Slider.stories.tsx +57 -0
  75. package/slider/types.d.ts +4 -0
  76. package/spinner/Spinner.js +2 -2
  77. package/spinner/Spinner.stories.jsx +27 -1
  78. package/switch/Switch.d.ts +3 -3
  79. package/switch/Switch.js +5 -4
  80. package/switch/Switch.stories.tsx +33 -0
  81. package/switch/types.d.ts +6 -1
  82. package/table/Table.stories.jsx +80 -1
  83. package/table/Table.test.js +1 -1
  84. package/tabs/Tab.js +3 -5
  85. package/tabs/Tabs.js +3 -3
  86. package/tabs/Tabs.stories.tsx +45 -5
  87. package/tabs-nav/NavTabs.stories.tsx +8 -6
  88. package/tabs-nav/Tab.js +5 -7
  89. package/tag/Tag.stories.tsx +14 -1
  90. package/text-input/Suggestion.js +32 -5
  91. package/text-input/TextInput.js +7 -11
  92. package/text-input/TextInput.stories.tsx +92 -4
  93. package/text-input/TextInput.test.js +587 -634
  94. package/textarea/Textarea.stories.jsx +60 -1
  95. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  96. package/wizard/Wizard.stories.tsx +20 -0
  97. package/common/RequiredComponent.js +0 -32
@@ -4,12 +4,20 @@ import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
5
  import { BackgroundColorProvider } from "../BackgroundColorContext";
6
6
  import DarkContainer from "../../.storybook/components/DarkSection";
7
+ import { HalstackProvider } from "../HalstackContext";
7
8
 
8
9
  export default {
9
10
  title: "Textarea",
10
11
  component: DxcTextarea,
11
12
  };
12
13
 
14
+ const opinionatedTheme = {
15
+ textarea: {
16
+ fontColor: "#000000",
17
+ hoverBorderColor: "#a46ede",
18
+ },
19
+ };
20
+
13
21
  export const Chromatic = () => (
14
22
  <>
15
23
  <>
@@ -151,7 +159,58 @@ export const Chromatic = () => (
151
159
  <ExampleContainer>
152
160
  <Title title="Xxlarge margin" theme="light" level={4} />
153
161
  <DxcTextarea label="Xxlarge" margin="xxlarge" />
154
- <hr />
162
+ </ExampleContainer>
163
+ <Title title="Opinionated theme" theme="light" level={2} />
164
+ <ExampleContainer pseudoState="pseudo-hover">
165
+ <Title title="Hovered" theme="light" level={4} />
166
+ <HalstackProvider theme={opinionatedTheme}>
167
+ <DxcTextarea label="Hovered" helperText="Sample text" placeholder="Placeholder" />
168
+ </HalstackProvider>
169
+ </ExampleContainer>
170
+ <ExampleContainer pseudoState="pseudo-focus">
171
+ <Title title="Focused" theme="light" level={4} />
172
+ <HalstackProvider theme={opinionatedTheme}>
173
+ <DxcTextarea label="Focused" helperText="Sample text" />
174
+ </HalstackProvider>
175
+ </ExampleContainer>
176
+ <ExampleContainer>
177
+ <Title title="Disabled" theme="light" level={4} />
178
+ <HalstackProvider theme={opinionatedTheme}>
179
+ <DxcTextarea
180
+ label="Disabled"
181
+ optional
182
+ helperText="Sample text"
183
+ placeholder="Enter your text here..."
184
+ disabled
185
+ />
186
+ </HalstackProvider>
187
+ </ExampleContainer>
188
+ <ExampleContainer>
189
+ <Title title="Disabled with value" theme="light" level={4} />
190
+ <HalstackProvider theme={opinionatedTheme}>
191
+ <DxcTextarea label="Disabled" helperText="Sample text" defaultValue="Example text" disabled />
192
+ </HalstackProvider>
193
+ </ExampleContainer>
194
+ <ExampleContainer>
195
+ <Title title="With error" theme="light" level={4} />
196
+ <HalstackProvider theme={opinionatedTheme}>
197
+ <DxcTextarea
198
+ label="Textarea with error"
199
+ helperText="Helper text"
200
+ placeholder="Enter your text here..."
201
+ error="Error message."
202
+ />
203
+ </HalstackProvider>
204
+ </ExampleContainer>
205
+ <ExampleContainer>
206
+ <Title title="Grow manual" theme="light" level={4} />{" "}
207
+ <HalstackProvider theme={opinionatedTheme}>
208
+ <DxcTextarea
209
+ label="Manual vertical grow"
210
+ verticalGrow="manual"
211
+ defaultValue="Long textttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"
212
+ />
213
+ </HalstackProvider>
155
214
  </ExampleContainer>
156
215
  </>
157
216
  );
@@ -3,6 +3,7 @@ import { userEvent, within } from "@storybook/testing-library";
3
3
  import DxcToggleGroup from "./ToggleGroup";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
8
9
  title: "ToggleGroup",
@@ -89,6 +90,16 @@ const twoOptions = [
89
90
  label: "Twitter",
90
91
  },
91
92
  ];
93
+
94
+ const opinionatedTheme = {
95
+ toggleGroup: {
96
+ selectedBaseColor: "#5f249f",
97
+ selectedFontColor: "#ffffff",
98
+ unselectedBaseColor: "#e6e6e6",
99
+ unselectedFontColor: "#000000",
100
+ },
101
+ };
102
+
92
103
  export const Chromatic = () => (
93
104
  <>
94
105
  <ExampleContainer>
@@ -154,6 +165,37 @@ export const Chromatic = () => (
154
165
  <Title title="xxLarge" theme="light" level={4} />
155
166
  <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
156
167
  </ExampleContainer>
168
+ <Title title="Opinionated theme" theme="light" level={2} />
169
+ <ExampleContainer>
170
+ <HalstackProvider theme={opinionatedTheme}>
171
+ <Title title="Selected" theme="light" level={4} />
172
+ <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
173
+ </HalstackProvider>
174
+ </ExampleContainer>
175
+ <ExampleContainer>
176
+ <HalstackProvider theme={opinionatedTheme}>
177
+ <Title title="Icons & label toggle group" theme="light" level={4} />
178
+ <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
179
+ </HalstackProvider>
180
+ </ExampleContainer>
181
+ <ExampleContainer>
182
+ <HalstackProvider theme={opinionatedTheme}>
183
+ <Title title="Disabled" theme="light" level={4} />
184
+ <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
185
+ </HalstackProvider>
186
+ </ExampleContainer>
187
+ <ExampleContainer pseudoState="pseudo-hover">
188
+ <Title title="Hovered" theme="light" level={4} />
189
+ <HalstackProvider theme={opinionatedTheme}>
190
+ <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
191
+ </HalstackProvider>
192
+ </ExampleContainer>
193
+ <ExampleContainer pseudoState="pseudo-active">
194
+ <Title title="Actived" theme="light" level={4} />
195
+ <HalstackProvider theme={opinionatedTheme}>
196
+ <DxcToggleGroup label="Actived" options={twoOptions} defaultValue={2} />
197
+ </HalstackProvider>
198
+ </ExampleContainer>
157
199
  </>
158
200
  );
159
201
  const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
@@ -3,6 +3,7 @@ import DxcWizard from "./Wizard";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
5
  import { userEvent, within } from "@storybook/testing-library";
6
+ import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
8
9
  title: "Wizard",
@@ -36,6 +37,7 @@ const stepWithLabel = [
36
37
  label: "Forth step",
37
38
  },
38
39
  ];
40
+
39
41
  const stepWithLabelDescription = [
40
42
  {
41
43
  label: "First step",
@@ -56,6 +58,7 @@ const stepWithLabelDescription = [
56
58
  valid: false,
57
59
  },
58
60
  ];
61
+
59
62
  const stepWithLongDescription = [
60
63
  {
61
64
  label: "First step",
@@ -73,6 +76,7 @@ const stepWithLongDescription = [
73
76
  "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ",
74
77
  },
75
78
  ];
79
+
76
80
  const stepDisabled = [
77
81
  {
78
82
  label: "First step",
@@ -98,6 +102,7 @@ const stepDisabled = [
98
102
  disabled: true,
99
103
  },
100
104
  ];
105
+
101
106
  const stepIcons = [
102
107
  {
103
108
  label: "First step",
@@ -112,6 +117,7 @@ const stepIcons = [
112
117
  icon: favoriteSVG,
113
118
  },
114
119
  ];
120
+
115
121
  const stepLargeIcons = [
116
122
  {
117
123
  label: "First step",
@@ -127,6 +133,14 @@ const stepLargeIcons = [
127
133
  },
128
134
  ];
129
135
 
136
+ const opinionatedTheme = {
137
+ wizard: {
138
+ baseColor: "#5f249f",
139
+ fontColor: "#000000",
140
+ selectedStepFontColor: "#ffffff",
141
+ },
142
+ };
143
+
130
144
  export const Chromatic = () => (
131
145
  <>
132
146
  <ExampleContainer>
@@ -215,6 +229,12 @@ export const Chromatic = () => (
215
229
  <Title title="Xxlarge margin" theme="light" level={4} />
216
230
  <DxcWizard mode="vertical" margin="xxlarge" steps={stepWithLabel}></DxcWizard>
217
231
  </ExampleContainer>
232
+ <Title title="Opinionated theme" theme="light" level={2} />
233
+ <ExampleContainer>
234
+ <HalstackProvider theme={opinionatedTheme}>
235
+ <DxcWizard defaultCurrentStep={2} steps={stepWithLabelDescription}></DxcWizard>
236
+ </HalstackProvider>
237
+ </ExampleContainer>
218
238
  </>
219
239
  );
220
240
 
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
- var _templateObject;
19
-
20
- var DxcRequired = function DxcRequired(_ref) {
21
- var _ref$theme = _ref.theme,
22
- theme = _ref$theme === void 0 ? "light" : _ref$theme;
23
- return /*#__PURE__*/_react["default"].createElement(RequiredSpan, null, "*");
24
- };
25
-
26
- var RequiredSpan = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: #d0011b;\n margin-right: 1px;\n cursor: default;\n"])));
27
-
28
- DxcRequired.propTypes = {
29
- theme: _propTypes["default"].oneOf(["dark", "light"])
30
- };
31
- var _default = DxcRequired;
32
- exports["default"] = _default;