@dxc-technology/halstack-react 0.0.0-290c489 → 0.0.0-293a019

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 (225) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -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 +2 -1
  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 +8 -1
  13. package/alert/Alert.js +5 -9
  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/bulleted-list/BulletedList.js +4 -2
  22. package/bulleted-list/BulletedList.stories.tsx +7 -1
  23. package/bulleted-list/types.d.ts +31 -4
  24. package/button/Button.js +52 -73
  25. package/button/Button.stories.tsx +159 -8
  26. package/button/Button.test.js +1 -1
  27. package/button/types.d.ts +5 -5
  28. package/card/Card.js +12 -13
  29. package/card/Card.stories.tsx +12 -13
  30. package/card/Card.test.js +1 -1
  31. package/card/types.d.ts +1 -0
  32. package/checkbox/Checkbox.d.ts +2 -2
  33. package/checkbox/Checkbox.js +94 -101
  34. package/checkbox/Checkbox.stories.tsx +131 -59
  35. package/checkbox/Checkbox.test.js +94 -17
  36. package/checkbox/types.d.ts +4 -0
  37. package/chip/Chip.js +28 -49
  38. package/chip/Chip.stories.tsx +121 -26
  39. package/chip/Chip.test.js +3 -5
  40. package/chip/types.d.ts +1 -1
  41. package/common/OpenSans.css +68 -80
  42. package/common/coreTokens.d.ts +146 -0
  43. package/common/coreTokens.js +167 -0
  44. package/common/utils.d.ts +1 -0
  45. package/common/utils.js +4 -4
  46. package/common/variables.d.ts +1482 -0
  47. package/common/variables.js +1001 -1135
  48. package/date-input/Calendar.d.ts +4 -0
  49. package/date-input/Calendar.js +258 -0
  50. package/date-input/DateInput.js +134 -237
  51. package/date-input/DateInput.stories.tsx +199 -33
  52. package/date-input/DateInput.test.js +494 -138
  53. package/date-input/DatePicker.d.ts +4 -0
  54. package/date-input/DatePicker.js +146 -0
  55. package/date-input/Icons.d.ts +6 -0
  56. package/date-input/Icons.js +75 -0
  57. package/date-input/YearPicker.d.ts +4 -0
  58. package/date-input/YearPicker.js +126 -0
  59. package/date-input/types.d.ts +51 -0
  60. package/dialog/Dialog.js +80 -69
  61. package/dialog/Dialog.stories.tsx +230 -123
  62. package/dialog/Dialog.test.js +334 -5
  63. package/dialog/types.d.ts +1 -0
  64. package/dropdown/Dropdown.d.ts +1 -1
  65. package/dropdown/Dropdown.js +246 -249
  66. package/dropdown/Dropdown.stories.tsx +245 -56
  67. package/dropdown/Dropdown.test.js +507 -110
  68. package/dropdown/DropdownMenu.d.ts +4 -0
  69. package/dropdown/DropdownMenu.js +74 -0
  70. package/dropdown/DropdownMenuItem.d.ts +4 -0
  71. package/dropdown/DropdownMenuItem.js +79 -0
  72. package/dropdown/types.d.ts +23 -3
  73. package/file-input/FileInput.d.ts +2 -2
  74. package/file-input/FileInput.js +174 -220
  75. package/file-input/FileInput.stories.tsx +122 -11
  76. package/file-input/FileInput.test.js +14 -14
  77. package/file-input/FileItem.d.ts +4 -14
  78. package/file-input/FileItem.js +39 -63
  79. package/file-input/types.d.ts +17 -0
  80. package/flex/Flex.d.ts +2 -1
  81. package/flex/Flex.js +39 -42
  82. package/flex/Flex.stories.tsx +35 -26
  83. package/flex/types.d.ts +85 -9
  84. package/footer/Footer.js +6 -8
  85. package/footer/Footer.stories.tsx +99 -1
  86. package/footer/Footer.test.js +14 -26
  87. package/footer/types.d.ts +2 -1
  88. package/grid/Grid.d.ts +7 -0
  89. package/grid/Grid.js +91 -0
  90. package/grid/Grid.stories.tsx +219 -0
  91. package/grid/types.d.ts +115 -0
  92. package/header/Header.d.ts +3 -2
  93. package/header/Header.js +89 -89
  94. package/header/Header.stories.tsx +152 -9
  95. package/header/Header.test.js +2 -2
  96. package/header/Icons.js +2 -2
  97. package/header/types.d.ts +1 -0
  98. package/heading/Heading.js +1 -1
  99. package/heading/Heading.test.js +1 -1
  100. package/inset/Inset.stories.tsx +2 -1
  101. package/layout/ApplicationLayout.d.ts +3 -3
  102. package/layout/ApplicationLayout.js +4 -4
  103. package/layout/ApplicationLayout.stories.tsx +1 -0
  104. package/layout/types.d.ts +2 -3
  105. package/link/Link.js +4 -4
  106. package/link/Link.stories.tsx +72 -5
  107. package/link/Link.test.js +2 -4
  108. package/link/types.d.ts +3 -3
  109. package/main.d.ts +3 -4
  110. package/main.js +9 -17
  111. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  112. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  113. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  114. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  115. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  116. package/number-input/NumberInput.test.js +44 -8
  117. package/package.json +17 -22
  118. package/paginator/Icons.d.ts +5 -0
  119. package/paginator/Icons.js +16 -28
  120. package/paginator/Paginator.js +7 -15
  121. package/paginator/Paginator.stories.tsx +24 -0
  122. package/paginator/Paginator.test.js +45 -48
  123. package/paragraph/Paragraph.d.ts +3 -4
  124. package/paragraph/Paragraph.js +5 -5
  125. package/password-input/PasswordInput.test.js +14 -13
  126. package/progress-bar/ProgressBar.js +60 -54
  127. package/progress-bar/ProgressBar.stories.jsx +38 -3
  128. package/progress-bar/ProgressBar.test.js +68 -23
  129. package/quick-nav/QuickNav.js +11 -12
  130. package/quick-nav/QuickNav.stories.tsx +111 -19
  131. package/radio-group/Radio.d.ts +1 -1
  132. package/radio-group/Radio.js +43 -28
  133. package/radio-group/RadioGroup.js +24 -24
  134. package/radio-group/RadioGroup.stories.tsx +132 -18
  135. package/radio-group/RadioGroup.test.js +124 -97
  136. package/radio-group/types.d.ts +2 -2
  137. package/resultsetTable/Icons.d.ts +7 -0
  138. package/resultsetTable/Icons.js +51 -0
  139. package/resultsetTable/ResultsetTable.js +49 -108
  140. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  141. package/resultsetTable/ResultsetTable.test.js +41 -64
  142. package/resultsetTable/types.d.ts +1 -1
  143. package/select/Listbox.js +4 -10
  144. package/select/Option.js +11 -24
  145. package/select/Select.js +67 -61
  146. package/select/Select.stories.tsx +494 -149
  147. package/select/Select.test.js +393 -327
  148. package/select/types.d.ts +3 -5
  149. package/sidenav/Icons.d.ts +7 -0
  150. package/sidenav/Icons.js +51 -0
  151. package/sidenav/Sidenav.d.ts +2 -2
  152. package/sidenav/Sidenav.js +68 -86
  153. package/sidenav/Sidenav.stories.tsx +165 -63
  154. package/sidenav/types.d.ts +22 -19
  155. package/slider/Slider.d.ts +2 -2
  156. package/slider/Slider.js +121 -97
  157. package/slider/Slider.stories.tsx +64 -1
  158. package/slider/Slider.test.js +122 -22
  159. package/slider/types.d.ts +4 -0
  160. package/spinner/Spinner.js +17 -23
  161. package/spinner/Spinner.stories.jsx +53 -27
  162. package/spinner/Spinner.test.js +1 -1
  163. package/switch/Switch.d.ts +2 -2
  164. package/switch/Switch.js +137 -70
  165. package/switch/Switch.stories.tsx +41 -30
  166. package/switch/Switch.test.js +145 -18
  167. package/switch/types.d.ts +4 -0
  168. package/table/Table.js +3 -3
  169. package/table/Table.stories.jsx +80 -1
  170. package/table/Table.test.js +2 -2
  171. package/tabs/Tab.d.ts +4 -0
  172. package/tabs/Tab.js +132 -0
  173. package/tabs/Tabs.js +358 -108
  174. package/tabs/Tabs.stories.tsx +119 -5
  175. package/tabs/Tabs.test.js +220 -10
  176. package/tabs/types.d.ts +13 -3
  177. package/tag/Tag.js +8 -10
  178. package/tag/Tag.stories.tsx +14 -1
  179. package/tag/Tag.test.js +1 -1
  180. package/tag/types.d.ts +1 -1
  181. package/text-input/Icons.d.ts +8 -0
  182. package/text-input/Icons.js +60 -0
  183. package/text-input/Suggestion.js +40 -11
  184. package/text-input/Suggestions.d.ts +4 -0
  185. package/text-input/Suggestions.js +134 -0
  186. package/text-input/TextInput.js +199 -296
  187. package/text-input/TextInput.stories.tsx +280 -185
  188. package/text-input/TextInput.test.js +736 -725
  189. package/text-input/types.d.ts +22 -3
  190. package/textarea/Textarea.js +3 -4
  191. package/textarea/Textarea.stories.jsx +60 -1
  192. package/textarea/Textarea.test.js +2 -4
  193. package/toggle-group/ToggleGroup.d.ts +2 -2
  194. package/toggle-group/ToggleGroup.js +7 -4
  195. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  196. package/toggle-group/ToggleGroup.test.js +1 -1
  197. package/toggle-group/types.d.ts +2 -2
  198. package/typography/Typography.d.ts +2 -2
  199. package/typography/Typography.js +14 -113
  200. package/typography/Typography.stories.tsx +1 -1
  201. package/useTheme.d.ts +1234 -1
  202. package/useTheme.js +1 -1
  203. package/useTranslatedLabels.d.ts +84 -1
  204. package/utils/BaseTypography.d.ts +21 -0
  205. package/utils/BaseTypography.js +108 -0
  206. package/utils/FocusLock.d.ts +13 -0
  207. package/utils/FocusLock.js +139 -0
  208. package/wizard/Wizard.js +2 -2
  209. package/wizard/Wizard.stories.tsx +20 -0
  210. package/wizard/Wizard.test.js +1 -1
  211. package/wizard/types.d.ts +6 -7
  212. package/common/RequiredComponent.js +0 -32
  213. package/row/Row.d.ts +0 -3
  214. package/row/Row.js +0 -127
  215. package/row/Row.stories.tsx +0 -237
  216. package/row/types.d.ts +0 -28
  217. package/stack/Stack.d.ts +0 -4
  218. package/stack/Stack.js +0 -56
  219. package/stack/Stack.stories.tsx +0 -263
  220. package/stack/types.d.ts +0 -32
  221. package/tabs-nav/types.js +0 -5
  222. /package/{row → grid}/types.js +0 -0
  223. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  224. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  225. /package/{stack → nav-tabs}/types.js +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
 
@@ -12,7 +12,7 @@ declare type Padding = {
12
12
  left?: Space;
13
13
  right?: Space;
14
14
  };
15
- declare type SVG = React.SVGProps<SVGSVGElement>;
15
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
16
16
  export declare type AccordionPropsType = {
17
17
  /**
18
18
  * The panel label.
@@ -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) {
@@ -279,12 +277,10 @@ var AlertContent = _styledComponents["default"].div(_templateObject9 || (_templa
279
277
  return "".concat(props.theme.contentPaddingTop, " ").concat(props.theme.contentPaddingRight, " ").concat(props.theme.contentPaddingBottom, " ").concat(props.theme.contentPaddingLeft);
280
278
  });
281
279
 
282
- var AlertCloseAction = _styledComponents["default"].button(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n border: 1px solid transparent;\n border-radius: 2px;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n margin-left: 12px;\n background-color: transparent;\n color: #000000;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
280
+ var AlertCloseAction = _styledComponents["default"].button(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n border: 1px solid transparent;\n border-radius: 2px;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n margin-left: 12px;\n background-color: transparent;\n color: #000000;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:focus,\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
283
281
  return props.theme.hoverActionBackgroundColor;
284
282
  }, function (props) {
285
283
  return props.theme.focusActionBorderColor;
286
- }, function (props) {
287
- return props.theme.focusActionBorderColor;
288
284
  }, function (props) {
289
285
  return props.theme.activeActionBackgroundColor;
290
286
  });
@@ -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
  */
@@ -57,7 +57,9 @@ var DxcBulletedList = function DxcBulletedList(_ref2) {
57
57
  backgroundType: backgroundType
58
58
  })) : type === "icon" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Icon, {
59
59
  backgroundType: backgroundType
60
- }, icon)) : /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Disc, {
60
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
61
+ src: icon
62
+ }) : icon)) : /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Disc, {
61
63
  backgroundType: backgroundType
62
64
  })), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
63
65
  color: backgroundType && backgroundType === "dark" ? colorsTheme.bulletedList.fontColorOnDark : colorsTheme.bulletedList.fontColor
@@ -73,7 +75,7 @@ var Bullet = _styledComponents["default"].div(_templateObject2 || (_templateObje
73
75
 
74
76
  var GeneralContent = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n"])));
75
77
 
76
- var Icon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n width: auto;\n margin-right: ", ";\n align-content: center;\n color: ", ";\n & > svg {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
78
+ var Icon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n width: auto;\n margin-right: ", ";\n align-content: center;\n color: ", ";\n svg,\n img {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
77
79
  return props.theme.bulletMarginRight;
78
80
  }, function (props) {
79
81
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
@@ -20,12 +20,18 @@ const icon = (
20
20
  export const Chromatic = () => (
21
21
  <>
22
22
  <ExampleContainer>
23
- <Title title="Icon list" level={4} />
23
+ <Title title="Icon list (SVG)" level={4} />
24
24
  <DxcBulletedList type="icon" icon={icon}>
25
25
  <DxcBulletedList.Item>Code</DxcBulletedList.Item>
26
26
  <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
27
27
  <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
28
28
  </DxcBulletedList>
29
+ <Title title="Icon list (path)" level={4} />
30
+ <DxcBulletedList type="icon" icon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg">
31
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
32
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
33
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
34
+ </DxcBulletedList>
29
35
  <Title title="Number list" level={4} />
30
36
  <DxcBulletedList type="number">
31
37
  <DxcBulletedList.Item>Code</DxcBulletedList.Item>
@@ -1,11 +1,38 @@
1
1
  /// <reference types="react" />
2
- declare type SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
3
- declare type Props = {
2
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ declare type IconProps = {
4
+ /**
5
+ * Defines the style of the bullet point in the list.
6
+ */
7
+ type: "icon";
8
+ /**
9
+ * Icon to display as bullet.
10
+ */
11
+ icon: string | SVG;
12
+ /**
13
+ * Text to be shown in the list.
14
+ */
4
15
  children: React.ReactNode;
5
- type?: "disc" | "circle" | "square" | "number" | "icon";
6
- icon?: string | SVG;
7
16
  };
17
+ declare type OtherProps = {
18
+ /**
19
+ * Defines the style of the bullet point in the list.
20
+ */
21
+ type?: "disc" | "circle" | "square" | "number";
22
+ /**
23
+ * Icon to display as bullet.
24
+ */
25
+ icon?: never;
26
+ /**
27
+ * Text to be shown in the list.
28
+ */
29
+ children: React.ReactNode;
30
+ };
31
+ declare type Props = IconProps | OtherProps;
8
32
  export default Props;
9
33
  export declare type BulletedListItemPropsType = {
34
+ /**
35
+ * Text to be shown in the list.
36
+ */
10
37
  children?: React.ReactNode;
11
38
  };