@dxc-technology/halstack-react 0.0.0-39dd536 → 0.0.0-3a698b0

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 (205) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1332 -5
  4. package/HalstackContext.js +117 -77
  5. package/accordion/Accordion.js +118 -110
  6. package/accordion/Accordion.stories.tsx +103 -15
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +1 -0
  9. package/accordion-group/AccordionGroup.js +3 -23
  10. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  11. package/accordion-group/AccordionGroup.test.js +21 -46
  12. package/accordion-group/types.d.ts +7 -0
  13. package/alert/Alert.js +4 -6
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.stories.tsx +1 -0
  17. package/box/Box.js +4 -6
  18. package/box/Box.stories.tsx +15 -0
  19. package/box/Box.test.js +1 -1
  20. package/box/types.d.ts +1 -0
  21. package/button/Button.js +13 -16
  22. package/button/Button.stories.tsx +150 -8
  23. package/button/Button.test.js +1 -1
  24. package/button/types.d.ts +3 -3
  25. package/card/Card.js +12 -13
  26. package/card/Card.stories.tsx +12 -13
  27. package/card/Card.test.js +1 -1
  28. package/card/types.d.ts +1 -0
  29. package/checkbox/Checkbox.d.ts +2 -2
  30. package/checkbox/Checkbox.js +94 -101
  31. package/checkbox/Checkbox.stories.tsx +131 -59
  32. package/checkbox/Checkbox.test.js +94 -17
  33. package/checkbox/types.d.ts +4 -0
  34. package/chip/Chip.js +18 -26
  35. package/chip/Chip.stories.tsx +96 -9
  36. package/chip/Chip.test.js +3 -5
  37. package/common/utils.d.ts +1 -0
  38. package/common/utils.js +4 -4
  39. package/common/variables.d.ts +1625 -0
  40. package/common/variables.js +306 -302
  41. package/date-input/Calendar.d.ts +4 -0
  42. package/date-input/Calendar.js +258 -0
  43. package/date-input/DateInput.js +134 -237
  44. package/date-input/DateInput.stories.tsx +199 -33
  45. package/date-input/DateInput.test.js +494 -138
  46. package/date-input/DatePicker.d.ts +4 -0
  47. package/date-input/DatePicker.js +146 -0
  48. package/date-input/Icons.d.ts +6 -0
  49. package/date-input/Icons.js +75 -0
  50. package/date-input/YearPicker.d.ts +4 -0
  51. package/date-input/YearPicker.js +126 -0
  52. package/date-input/types.d.ts +51 -0
  53. package/dialog/Dialog.js +60 -73
  54. package/dialog/Dialog.stories.tsx +229 -121
  55. package/dialog/Dialog.test.js +302 -3
  56. package/dialog/types.d.ts +3 -2
  57. package/dropdown/Dropdown.d.ts +1 -1
  58. package/dropdown/Dropdown.js +246 -249
  59. package/dropdown/Dropdown.stories.tsx +245 -56
  60. package/dropdown/Dropdown.test.js +507 -110
  61. package/dropdown/DropdownMenu.d.ts +4 -0
  62. package/dropdown/DropdownMenu.js +70 -0
  63. package/dropdown/DropdownMenuItem.d.ts +4 -0
  64. package/dropdown/DropdownMenuItem.js +79 -0
  65. package/dropdown/types.d.ts +22 -2
  66. package/file-input/FileInput.d.ts +2 -2
  67. package/file-input/FileInput.js +174 -220
  68. package/file-input/FileInput.stories.tsx +122 -11
  69. package/file-input/FileInput.test.js +14 -14
  70. package/file-input/FileItem.d.ts +4 -14
  71. package/file-input/FileItem.js +39 -63
  72. package/file-input/types.d.ts +17 -0
  73. package/flex/Flex.d.ts +1 -1
  74. package/flex/Flex.js +31 -19
  75. package/flex/Flex.stories.tsx +19 -24
  76. package/flex/types.d.ts +14 -3
  77. package/footer/Footer.js +6 -8
  78. package/footer/Footer.stories.tsx +99 -1
  79. package/footer/Footer.test.js +14 -26
  80. package/footer/types.d.ts +1 -0
  81. package/grid/Grid.d.ts +7 -0
  82. package/grid/Grid.js +91 -0
  83. package/grid/Grid.stories.tsx +219 -0
  84. package/grid/types.d.ts +115 -0
  85. package/header/Header.d.ts +3 -2
  86. package/header/Header.js +89 -89
  87. package/header/Header.stories.tsx +152 -9
  88. package/header/Header.test.js +2 -2
  89. package/header/Icons.js +2 -2
  90. package/header/types.d.ts +1 -0
  91. package/heading/Heading.js +1 -1
  92. package/heading/Heading.test.js +1 -1
  93. package/inset/Inset.stories.tsx +1 -0
  94. package/layout/ApplicationLayout.d.ts +1 -1
  95. package/layout/ApplicationLayout.js +1 -1
  96. package/layout/ApplicationLayout.stories.tsx +1 -0
  97. package/link/Link.js +3 -3
  98. package/link/Link.stories.tsx +60 -0
  99. package/link/Link.test.js +2 -4
  100. package/link/types.d.ts +2 -2
  101. package/main.d.ts +3 -2
  102. package/main.js +9 -1
  103. package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
  104. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  105. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  106. package/{tabs-nav → nav-tabs}/Tab.js +38 -18
  107. package/nav-tabs/types.js +5 -0
  108. package/number-input/NumberInput.test.js +44 -8
  109. package/package.json +15 -20
  110. package/paginator/Icons.d.ts +5 -0
  111. package/paginator/Icons.js +16 -28
  112. package/paginator/Paginator.js +7 -15
  113. package/paginator/Paginator.stories.tsx +24 -0
  114. package/paginator/Paginator.test.js +45 -48
  115. package/paragraph/Paragraph.d.ts +3 -4
  116. package/paragraph/Paragraph.js +5 -5
  117. package/password-input/PasswordInput.test.js +14 -13
  118. package/progress-bar/ProgressBar.d.ts +2 -2
  119. package/progress-bar/ProgressBar.js +5 -5
  120. package/progress-bar/ProgressBar.stories.jsx +35 -2
  121. package/progress-bar/ProgressBar.test.js +1 -1
  122. package/progress-bar/types.d.ts +4 -3
  123. package/quick-nav/QuickNav.js +11 -12
  124. package/quick-nav/QuickNav.stories.tsx +111 -19
  125. package/radio-group/Radio.d.ts +1 -1
  126. package/radio-group/Radio.js +43 -28
  127. package/radio-group/RadioGroup.js +15 -13
  128. package/radio-group/RadioGroup.stories.tsx +132 -18
  129. package/radio-group/RadioGroup.test.js +124 -97
  130. package/radio-group/types.d.ts +2 -2
  131. package/resultsetTable/Icons.d.ts +7 -0
  132. package/resultsetTable/Icons.js +51 -0
  133. package/resultsetTable/ResultsetTable.js +49 -108
  134. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  135. package/resultsetTable/ResultsetTable.test.js +41 -64
  136. package/resultsetTable/types.d.ts +1 -1
  137. package/select/Listbox.d.ts +1 -1
  138. package/select/Listbox.js +5 -35
  139. package/select/Option.js +11 -24
  140. package/select/Select.js +59 -36
  141. package/select/Select.stories.tsx +494 -150
  142. package/select/Select.test.js +341 -288
  143. package/select/types.d.ts +2 -2
  144. package/sidenav/Sidenav.js +9 -11
  145. package/sidenav/Sidenav.stories.tsx +148 -46
  146. package/slider/Slider.d.ts +2 -2
  147. package/slider/Slider.js +121 -97
  148. package/slider/Slider.stories.tsx +64 -1
  149. package/slider/Slider.test.js +122 -22
  150. package/slider/types.d.ts +4 -0
  151. package/spinner/Spinner.js +17 -23
  152. package/spinner/Spinner.stories.jsx +53 -27
  153. package/spinner/Spinner.test.js +1 -1
  154. package/switch/Switch.d.ts +2 -2
  155. package/switch/Switch.js +137 -70
  156. package/switch/Switch.stories.tsx +41 -30
  157. package/switch/Switch.test.js +145 -18
  158. package/switch/types.d.ts +4 -0
  159. package/table/Table.js +3 -3
  160. package/table/Table.stories.jsx +80 -1
  161. package/table/Table.test.js +2 -2
  162. package/tabs/Tab.d.ts +4 -0
  163. package/tabs/Tab.js +132 -0
  164. package/tabs/Tabs.js +358 -108
  165. package/tabs/Tabs.stories.tsx +119 -5
  166. package/tabs/Tabs.test.js +220 -10
  167. package/tabs/types.d.ts +12 -2
  168. package/tag/Tag.js +8 -10
  169. package/tag/Tag.stories.tsx +14 -1
  170. package/tag/Tag.test.js +1 -1
  171. package/text-input/Icons.d.ts +8 -0
  172. package/text-input/Icons.js +60 -0
  173. package/text-input/Suggestion.js +40 -11
  174. package/text-input/Suggestions.d.ts +4 -0
  175. package/text-input/Suggestions.js +134 -0
  176. package/text-input/TextInput.js +188 -276
  177. package/text-input/TextInput.stories.tsx +280 -184
  178. package/text-input/TextInput.test.js +736 -725
  179. package/text-input/types.d.ts +21 -2
  180. package/textarea/Textarea.js +3 -4
  181. package/textarea/Textarea.stories.jsx +60 -1
  182. package/textarea/Textarea.test.js +2 -4
  183. package/toggle-group/ToggleGroup.js +7 -4
  184. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  185. package/toggle-group/ToggleGroup.test.js +1 -1
  186. package/toggle-group/types.d.ts +1 -1
  187. package/typography/Typography.d.ts +2 -2
  188. package/typography/Typography.js +14 -113
  189. package/typography/Typography.stories.tsx +1 -1
  190. package/useTheme.d.ts +1234 -1
  191. package/useTheme.js +1 -1
  192. package/useTranslatedLabels.d.ts +84 -1
  193. package/utils/BaseTypography.d.ts +21 -0
  194. package/utils/BaseTypography.js +108 -0
  195. package/utils/FocusLock.d.ts +13 -0
  196. package/utils/FocusLock.js +139 -0
  197. package/wizard/Wizard.js +2 -2
  198. package/wizard/Wizard.stories.tsx +20 -0
  199. package/wizard/Wizard.test.js +1 -1
  200. package/wizard/types.d.ts +5 -6
  201. package/common/RequiredComponent.js +0 -32
  202. /package/{tabs-nav → grid}/types.js +0 -0
  203. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  204. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  205. /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
@@ -6,40 +6,13 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _AccordionGroup = _interopRequireDefault(require("./AccordionGroup"));
9
+ var _AccordionGroup = _interopRequireDefault(require("./AccordionGroup.tsx"));
10
10
 
11
11
  describe("Accordion component tests", function () {
12
- test("Uncontrolled accordion group renders with children", function () {
13
- var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], null, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
14
- label: "Accordion1",
15
- padding: "medium"
16
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
17
- label: "Accordion2",
18
- padding: "medium"
19
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
20
- getByText = _render.getByText,
21
- getAllByRole = _render.getAllByRole;
22
-
23
- expect(getByText("Accordion1")).toBeTruthy();
24
- expect(getByText("Accordion2")).toBeTruthy();
25
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
26
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
27
- });
28
- test("Uncontrolled accordion group renders with only one children", function () {
29
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], null, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
30
- label: "Accordion1",
31
- padding: "medium"
32
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
33
- getByText = _render2.getByText,
34
- getAllByRole = _render2.getAllByRole;
35
-
36
- expect(getByText("Accordion1")).toBeTruthy();
37
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
38
- });
39
12
  test("Uncontrolled accordion group calls correct function on click", function () {
40
13
  var onActiveChange = jest.fn();
41
14
 
42
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
43
16
  margin: "large",
44
17
  onActiveChange: onActiveChange
45
18
  }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
@@ -50,8 +23,8 @@ describe("Accordion component tests", function () {
50
23
  label: "Accordion2",
51
24
  padding: "medium"
52
25
  }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
53
- getByText = _render3.getByText,
54
- getAllByRole = _render3.getAllByRole;
26
+ getByText = _render.getByText,
27
+ getAllByRole = _render.getAllByRole;
55
28
 
56
29
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
57
30
  expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
@@ -62,28 +35,29 @@ describe("Accordion component tests", function () {
62
35
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
63
36
  expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
64
37
  });
65
- test("Uncontrolled accordion group renders initially with an accordion expanded", function () {
66
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
38
+ test("Uncontrolled accordion group renders initially with an accordion expanded using defaultIndexActive", function () {
39
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
67
40
  defaultIndexActive: 1
68
41
  }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
69
42
  label: "Accordion1",
70
43
  padding: "medium"
71
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
44
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
72
45
  label: "Accordion2",
73
46
  padding: "medium"
74
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
75
- getByText = _render4.getByText,
76
- getAllByRole = _render4.getAllByRole;
47
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))),
48
+ queryByText = _render2.queryByText,
49
+ getByText = _render2.getByText,
50
+ getAllByRole = _render2.getAllByRole;
77
51
 
78
- expect(getByText("Accordion1")).toBeTruthy();
79
- expect(getByText("Accordion2")).toBeTruthy();
80
52
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
81
53
  expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
54
+ expect(getByText("Second accordion")).toBeTruthy();
55
+ expect(queryByText("First accordion")).toBeFalsy();
82
56
  });
83
57
  test("Controlled accordion with indexActive change", function () {
84
58
  var onActiveChange = jest.fn();
85
59
 
86
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
60
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
87
61
  margin: "large",
88
62
  indexActive: 1,
89
63
  onActiveChange: onActiveChange
@@ -95,11 +69,12 @@ describe("Accordion component tests", function () {
95
69
  label: "Accordion2",
96
70
  padding: "medium"
97
71
  }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
98
- getByText = _render5.getByText,
99
- getAllByRole = _render5.getAllByRole,
100
- rerender = _render5.rerender;
72
+ queryByText = _render3.queryByText,
73
+ getByText = _render3.getByText,
74
+ getAllByRole = _render3.getAllByRole,
75
+ rerender = _render3.rerender;
101
76
 
102
- expect(getByText("Text1")).toBeTruthy();
77
+ expect(queryByText("Text1")).toBeFalsy();
103
78
  expect(getByText("Text2")).toBeTruthy();
104
79
 
105
80
  _react2.fireEvent.click(getByText("Accordion1"));
@@ -128,7 +103,7 @@ describe("Accordion component tests", function () {
128
103
  test("Disabled uncontrolled accordion group", function () {
129
104
  var onActiveChange = jest.fn();
130
105
 
131
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
106
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
132
107
  margin: "large",
133
108
  onActiveChange: onActiveChange,
134
109
  disabled: true
@@ -140,7 +115,7 @@ describe("Accordion component tests", function () {
140
115
  label: "Accordion2",
141
116
  padding: "medium"
142
117
  }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
143
- getByText = _render6.getByText;
118
+ getByText = _render4.getByText;
144
119
 
145
120
  _react2.fireEvent.click(getByText("Accordion1"));
146
121
 
@@ -31,6 +31,7 @@ export declare type AccordionPropsType = {
31
31
  */
32
32
  disabled?: boolean;
33
33
  /**
34
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
34
35
  * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
35
36
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
36
37
  */
@@ -69,4 +70,10 @@ declare type Props = {
69
70
  */
70
71
  children: React.ReactElement<AccordionPropsType>[] | React.ReactElement<AccordionPropsType>;
71
72
  };
73
+ export declare type AccordionGroupAccordionContextProps = {
74
+ activeIndex: number;
75
+ handlerActiveChange: (index: number) => void;
76
+ disabled: boolean;
77
+ index: number;
78
+ };
72
79
  export default Props;
package/alert/Alert.js CHANGED
@@ -17,9 +17,9 @@ var _react = _interopRequireDefault(require("react"));
17
17
 
18
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
19
 
20
- var _variables = require("../common/variables.js");
20
+ var _variables = require("../common/variables");
21
21
 
22
- var _utils = require("../common/utils.js");
22
+ var _utils = require("../common/utils");
23
23
 
24
24
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
@@ -131,9 +131,7 @@ var DxcAlert = function DxcAlert(_ref) {
131
131
  size: size
132
132
  }, /*#__PURE__*/_react["default"].createElement(AlertInfo, null, /*#__PURE__*/_react["default"].createElement(AlertIcon, {
133
133
  type: type
134
- }, type === "info" && alertIcons.info || type === "confirm" && alertIcons.success || type === "warning" && alertIcons.warning || type === "error" && alertIcons.error), /*#__PURE__*/_react["default"].createElement(AlertText, null, /*#__PURE__*/_react["default"].createElement(AlertTitle, {
135
- type: type
136
- }, getTypeText()), inlineText && inlineText !== "" && "-", /*#__PURE__*/_react["default"].createElement(AlertInlineText, null, inlineText)), onClose && /*#__PURE__*/_react["default"].createElement(AlertCloseAction, {
134
+ }, type === "info" && alertIcons.info || type === "confirm" && alertIcons.success || type === "warning" && alertIcons.warning || type === "error" && alertIcons.error), /*#__PURE__*/_react["default"].createElement(AlertText, null, /*#__PURE__*/_react["default"].createElement(AlertTitle, null, getTypeText()), inlineText && inlineText !== "" && "-", /*#__PURE__*/_react["default"].createElement(AlertInlineText, null, inlineText)), onClose && /*#__PURE__*/_react["default"].createElement(AlertCloseAction, {
137
135
  onClick: onClose,
138
136
  tabIndex: tabIndex
139
137
  }, alertIcons.close)), children && /*#__PURE__*/_react["default"].createElement(AlertContent, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
@@ -146,7 +144,7 @@ var sizes = {
146
144
  medium: "480px",
147
145
  large: "820px",
148
146
  fillParent: "100%",
149
- fitContent: "auto"
147
+ fitContent: "fit-content"
150
148
  };
151
149
 
152
150
  var calculateWidth = function calculateWidth(margin, size) {
@@ -2,12 +2,21 @@ import React from "react";
2
2
  import DxcAlert from "./Alert";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Alert",
8
9
  component: DxcAlert,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ alert: {
14
+ baseColor: "#e6f4ff",
15
+ accentColor: "#0067b3",
16
+ overlayColor: "#000000b3",
17
+ },
18
+ };
19
+
11
20
  export const Chromatic = () => (
12
21
  <>
13
22
  <ExampleContainer>
@@ -155,6 +164,12 @@ export const Chromatic = () => (
155
164
  </div>
156
165
  </DxcAlert>
157
166
  </ExampleContainer>
167
+ <Title title="Opinionated theme" theme="light" level={2} />
168
+ <ExampleContainer>
169
+ <HalstackProvider theme={opinionatedTheme}>
170
+ <DxcAlert inlineText="Info type alert with inline text." />
171
+ </HalstackProvider>
172
+ </ExampleContainer>
158
173
  </>
159
174
  );
160
175
 
@@ -168,3 +183,16 @@ export const ModalAlert = () => (
168
183
  </DxcAlert>
169
184
  </ExampleContainer>
170
185
  );
186
+
187
+ export const ModalAlertOpinionated = () => (
188
+ <ExampleContainer>
189
+ <HalstackProvider theme={opinionatedTheme}>
190
+ <DxcAlert inlineText="Modal alert." mode="modal" onClose={() => {}}>
191
+ <div>
192
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
193
+ lobortis eget.
194
+ </div>
195
+ </DxcAlert>
196
+ </HalstackProvider>
197
+ </ExampleContainer>
198
+ );
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _Alert = _interopRequireDefault(require("./Alert"));
9
+ var _Alert = _interopRequireDefault(require("./Alert.tsx"));
10
10
 
11
11
  describe("Alert component tests", function () {
12
12
  test("Info alert renders with correct text", function () {
@@ -337,5 +337,6 @@ const Placeholder = styled.div`
337
337
  min-height: 40px;
338
338
  min-width: 120px;
339
339
  border: 1px solid #a46ede;
340
+ border-radius: 0.5rem;
340
341
  background-color: #e5d5f6;
341
342
  `;
package/box/Box.js CHANGED
@@ -17,9 +17,9 @@ var _react = _interopRequireDefault(require("react"));
17
17
 
18
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
19
 
20
- var _variables = require("../common/variables.js");
20
+ var _variables = require("../common/variables");
21
21
 
22
- var _utils = require("../common/utils.js");
22
+ var _utils = require("../common/utils");
23
23
 
24
24
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
@@ -60,7 +60,7 @@ var sizes = {
60
60
  medium: "240px",
61
61
  large: "480px",
62
62
  fillParent: "100%",
63
- fitContent: "unset"
63
+ fitContent: "fit-content"
64
64
  };
65
65
 
66
66
  var calculateWidth = function calculateWidth(margin, size, padding) {
@@ -71,7 +71,7 @@ var calculateWidth = function calculateWidth(margin, size, padding) {
71
71
  return sizes[size];
72
72
  };
73
73
 
74
- var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n letter-spacing: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
74
+ var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
75
75
  return props.display;
76
76
  }, function (props) {
77
77
  return props.theme.borderRadius;
@@ -81,8 +81,6 @@ var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templat
81
81
  return props.theme.borderStyle;
82
82
  }, function (props) {
83
83
  return props.theme.borderColor;
84
- }, function (props) {
85
- return props.theme.letterSpacing;
86
84
  }, function (props) {
87
85
  return calculateWidth(props.margin, props.size, props.padding);
88
86
  }, function (props) {
@@ -2,12 +2,19 @@ import React from "react";
2
2
  import Title from "../../.storybook/components/Title";
3
3
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
4
  import DxcBox from "./Box";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Box ",
8
9
  component: DxcBox,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ box: {
14
+ baseColor: "#ffffff",
15
+ },
16
+ };
17
+
11
18
  export const Chromatic = () => (
12
19
  <>
13
20
  <Title title="Display flex" theme="light" level={2} />
@@ -128,5 +135,13 @@ export const Chromatic = () => (
128
135
  <Title title="FitContent" theme="light" level={4} />
129
136
  <DxcBox size="fitContent">Box</DxcBox>
130
137
  </ExampleContainer>
138
+ <Title title="Opinionated theme" theme="light" level={2} />
139
+ <ExampleContainer>
140
+ <HalstackProvider theme={opinionatedTheme}>
141
+ <DxcBox display="flex" padding="medium">
142
+ Box
143
+ </DxcBox>
144
+ </HalstackProvider>
145
+ </ExampleContainer>
131
146
  </>
132
147
  );
package/box/Box.test.js CHANGED
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _Card = _interopRequireDefault(require("../card/Card"));
9
+ var _Card = _interopRequireDefault(require("../card/Card.tsx"));
10
10
 
11
11
  describe("Box component tests", function () {
12
12
  test("Box renders with correct text", function () {
package/box/types.d.ts CHANGED
@@ -31,6 +31,7 @@ declare type Props = {
31
31
  */
32
32
  margin?: Space | Margin;
33
33
  /**
34
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
34
35
  * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
35
36
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
36
37
  */
package/button/Button.js CHANGED
@@ -17,15 +17,15 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
19
 
20
- var _variables = require("../common/variables.js");
20
+ var _variables = require("../common/variables");
21
21
 
22
- var _utils = require("../common/utils.js");
22
+ var _utils = require("../common/utils");
23
23
 
24
24
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
26
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
27
27
 
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
28
+ var _templateObject, _templateObject2, _templateObject3;
29
29
 
30
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
31
 
@@ -69,19 +69,12 @@ var DxcButton = function DxcButton(_ref) {
69
69
 
70
70
  var colorsTheme = (0, _useTheme["default"])();
71
71
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
72
-
73
- var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
74
- icon: icon,
75
- iconPosition: iconPosition
76
- }, label);
77
-
78
72
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
79
73
  theme: colorsTheme.button
80
74
  }, /*#__PURE__*/_react["default"].createElement(Button, {
81
75
  type: type,
82
76
  mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
83
77
  disabled: disabled,
84
- "aria-disabled": disabled,
85
78
  tabIndex: disabled ? -1 : tabIndex,
86
79
  backgroundType: backgroundType,
87
80
  size: size,
@@ -89,12 +82,18 @@ var DxcButton = function DxcButton(_ref) {
89
82
  onClick: function onClick() {
90
83
  _onClick();
91
84
  }
92
- }, label && iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
85
+ }, label && iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
86
+ icon: icon,
87
+ iconPosition: iconPosition
88
+ }, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
93
89
  label: label,
94
90
  iconPosition: iconPosition
95
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
91
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
96
92
  src: icon
97
- }) : icon), label && iconPosition === "before" && labelComponent));
93
+ }) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
94
+ icon: icon,
95
+ iconPosition: iconPosition
96
+ }, label)));
98
97
  };
99
98
 
100
99
  var Button = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-flex;\n width: ", ";\n height: 40px;\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n cursor: pointer;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px\n ", ";\n }\n ", "\n"])), function (props) {
@@ -144,13 +143,11 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
144
143
  return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
145
144
  });
146
145
 
147
- var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
146
+ var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-left: ", ";\n margin-right: ", ";\n\n img,\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
148
147
  return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
149
148
  }, function (props) {
150
149
  return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
151
150
  });
152
151
 
153
- var ButtonIcon = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])));
154
-
155
152
  var _default = DxcButton;
156
153
  exports["default"] = _default;