@dxc-technology/halstack-react 0.0.0-bd89f9e → 0.0.0-bdaadec

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 (208) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +2 -7
  3. package/HalstackContext.d.ts +29 -133
  4. package/HalstackContext.js +1 -1
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +10 -26
  7. package/accordion/Accordion.stories.tsx +4 -36
  8. package/accordion/types.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  10. package/accordion-group/AccordionGroup.d.ts +2 -3
  11. package/accordion-group/AccordionGroup.js +3 -3
  12. package/accordion-group/AccordionGroupAccordion.js +2 -2
  13. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  14. package/accordion-group/AccordionGroupContext.js +8 -0
  15. package/accordion-group/types.d.ts +1 -1
  16. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  17. package/action-icon/ActionIcon.d.ts +4 -0
  18. package/action-icon/ActionIcon.js +48 -0
  19. package/action-icon/ActionIcon.stories.tsx +41 -0
  20. package/action-icon/ActionIcon.test.js +64 -0
  21. package/action-icon/types.d.ts +26 -0
  22. package/action-icon/types.js +5 -0
  23. package/alert/Alert.accessibility.test.js +95 -0
  24. package/alert/Alert.js +15 -72
  25. package/badge/Badge.accessibility.test.js +129 -0
  26. package/badge/Badge.d.ts +1 -1
  27. package/badge/Badge.js +140 -29
  28. package/badge/Badge.stories.tsx +210 -0
  29. package/badge/Badge.test.js +30 -0
  30. package/badge/types.d.ts +52 -3
  31. package/box/Box.accessibility.test.js +33 -0
  32. package/box/Box.js +1 -4
  33. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  34. package/bulleted-list/BulletedList.js +15 -22
  35. package/bulleted-list/BulletedList.stories.tsx +1 -2
  36. package/button/Button.accessibility.test.js +127 -0
  37. package/button/Button.js +15 -15
  38. package/button/Button.stories.tsx +32 -51
  39. package/button/Button.test.js +3 -1
  40. package/button/types.d.ts +1 -1
  41. package/card/Card.accessibility.test.js +36 -0
  42. package/checkbox/Checkbox.accessibility.test.js +87 -0
  43. package/checkbox/Checkbox.js +26 -31
  44. package/chip/Chip.accessibility.test.js +67 -0
  45. package/chip/Chip.js +8 -5
  46. package/chip/Chip.stories.tsx +5 -24
  47. package/chip/Chip.test.js +4 -4
  48. package/common/coreTokens.js +2 -2
  49. package/common/variables.d.ts +29 -133
  50. package/common/variables.js +38 -142
  51. package/container/Container.js +3 -7
  52. package/container/Container.stories.tsx +10 -25
  53. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  54. package/contextual-menu/ContextualMenu.d.ts +7 -0
  55. package/contextual-menu/ContextualMenu.js +71 -0
  56. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  57. package/contextual-menu/ContextualMenu.test.js +71 -0
  58. package/contextual-menu/MenuItemAction.d.ts +4 -0
  59. package/contextual-menu/MenuItemAction.js +46 -0
  60. package/contextual-menu/types.d.ts +22 -0
  61. package/contextual-menu/types.js +5 -0
  62. package/date-input/DateInput.accessibility.test.js +216 -0
  63. package/date-input/types.d.ts +2 -2
  64. package/dialog/Dialog.accessibility.test.js +69 -0
  65. package/dialog/Dialog.js +2 -5
  66. package/dialog/Dialog.stories.tsx +170 -0
  67. package/dialog/Dialog.test.js +1 -1
  68. package/divider/Divider.accessibility.test.js +33 -0
  69. package/divider/Divider.d.ts +4 -0
  70. package/divider/Divider.js +36 -0
  71. package/divider/Divider.stories.tsx +223 -0
  72. package/divider/Divider.test.js +38 -0
  73. package/divider/types.d.ts +21 -0
  74. package/divider/types.js +5 -0
  75. package/dropdown/Dropdown.accessibility.test.js +180 -0
  76. package/dropdown/Dropdown.js +21 -36
  77. package/dropdown/Dropdown.stories.tsx +5 -16
  78. package/dropdown/DropdownMenuItem.js +6 -3
  79. package/dropdown/types.d.ts +3 -5
  80. package/file-input/FileInput.accessibility.test.js +160 -0
  81. package/file-input/FileInput.js +3 -39
  82. package/file-input/FileInput.test.js +7 -84
  83. package/file-input/FileItem.js +13 -27
  84. package/footer/Footer.accessibility.test.js +117 -0
  85. package/footer/Footer.d.ts +1 -1
  86. package/footer/Footer.js +36 -31
  87. package/footer/Footer.stories.tsx +46 -2
  88. package/footer/Icons.d.ts +1 -0
  89. package/footer/Icons.js +65 -1
  90. package/footer/types.d.ts +8 -8
  91. package/header/Header.accessibility.test.js +84 -0
  92. package/header/Header.js +10 -21
  93. package/header/types.d.ts +4 -3
  94. package/heading/Heading.accessibility.test.js +33 -0
  95. package/icon/Icon.accessibility.test.js +30 -0
  96. package/icon/Icon.d.ts +4 -0
  97. package/icon/Icon.js +33 -0
  98. package/icon/Icon.stories.tsx +28 -0
  99. package/icon/types.d.ts +4 -0
  100. package/icon/types.js +5 -0
  101. package/image/Image.accessibility.test.js +56 -0
  102. package/image/Image.stories.tsx +3 -1
  103. package/layout/ApplicationLayout.d.ts +1 -1
  104. package/layout/ApplicationLayout.js +1 -1
  105. package/layout/Icons.js +0 -2
  106. package/link/Link.accessibility.test.js +112 -0
  107. package/link/Link.js +7 -5
  108. package/link/Link.stories.tsx +2 -2
  109. package/link/types.d.ts +1 -1
  110. package/main.d.ts +5 -3
  111. package/main.js +22 -8
  112. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  113. package/nav-tabs/NavTabs.d.ts +1 -2
  114. package/nav-tabs/NavTabs.js +9 -6
  115. package/nav-tabs/NavTabs.stories.tsx +6 -4
  116. package/nav-tabs/NavTabs.test.js +3 -2
  117. package/nav-tabs/NavTabsContext.d.ts +3 -0
  118. package/nav-tabs/NavTabsContext.js +8 -0
  119. package/nav-tabs/Tab.js +8 -7
  120. package/number-input/NumberInput.accessibility.test.js +228 -0
  121. package/number-input/NumberInput.d.ts +0 -7
  122. package/number-input/NumberInput.js +24 -5
  123. package/number-input/NumberInput.test.js +165 -6
  124. package/number-input/NumberInputContext.d.ts +3 -0
  125. package/number-input/NumberInputContext.js +8 -0
  126. package/number-input/types.d.ts +6 -0
  127. package/package.json +12 -12
  128. package/paginator/Paginator.accessibility.test.js +79 -0
  129. package/paginator/Paginator.js +1 -4
  130. package/paragraph/Paragraph.accessibility.test.js +28 -0
  131. package/paragraph/Paragraph.js +2 -7
  132. package/password-input/PasswordInput.accessibility.test.js +153 -0
  133. package/password-input/PasswordInput.stories.tsx +0 -1
  134. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  135. package/progress-bar/ProgressBar.js +5 -11
  136. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  137. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  138. package/radio-group/RadioGroup.js +1 -1
  139. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  140. package/resultset-table/ResultsetTable.d.ts +4 -1
  141. package/resultset-table/ResultsetTable.js +23 -12
  142. package/resultset-table/ResultsetTable.stories.tsx +106 -5
  143. package/resultset-table/ResultsetTable.test.js +76 -0
  144. package/resultset-table/types.d.ts +40 -7
  145. package/select/Option.js +8 -1
  146. package/select/Select.accessibility.test.js +217 -0
  147. package/select/Select.js +35 -27
  148. package/select/Select.stories.tsx +0 -1
  149. package/select/Select.test.js +498 -462
  150. package/select/types.d.ts +2 -2
  151. package/sidenav/Sidenav.accessibility.test.js +59 -0
  152. package/sidenav/Sidenav.js +5 -7
  153. package/sidenav/Sidenav.stories.tsx +0 -1
  154. package/slider/Slider.accessibility.test.js +104 -0
  155. package/slider/Slider.js +37 -46
  156. package/spinner/Spinner.accessibility.test.js +96 -0
  157. package/spinner/Spinner.js +6 -14
  158. package/status-light/StatusLight.accessibility.test.js +157 -0
  159. package/status-light/StatusLight.d.ts +4 -0
  160. package/status-light/StatusLight.js +51 -0
  161. package/status-light/StatusLight.stories.tsx +74 -0
  162. package/status-light/StatusLight.test.js +25 -0
  163. package/status-light/types.d.ts +17 -0
  164. package/status-light/types.js +5 -0
  165. package/switch/Switch.accessibility.test.js +89 -0
  166. package/switch/Switch.js +23 -28
  167. package/table/DropdownTheme.js +62 -0
  168. package/table/Table.accessibility.test.js +82 -0
  169. package/table/Table.d.ts +6 -2
  170. package/table/Table.js +73 -11
  171. package/table/Table.stories.tsx +297 -2
  172. package/table/Table.test.js +92 -0
  173. package/table/types.d.ts +28 -0
  174. package/tabs/Tab.js +7 -4
  175. package/tabs/Tabs.accessibility.test.js +56 -0
  176. package/tabs/Tabs.js +4 -5
  177. package/tabs/Tabs.stories.tsx +1 -1
  178. package/tag/Tag.accessibility.test.js +69 -0
  179. package/text-input/Suggestions.js +7 -10
  180. package/text-input/TextInput.accessibility.test.js +321 -0
  181. package/text-input/TextInput.js +77 -102
  182. package/text-input/TextInput.stories.tsx +1 -1
  183. package/text-input/TextInput.test.js +96 -79
  184. package/textarea/Textarea.accessibility.test.js +155 -0
  185. package/textarea/Textarea.js +10 -16
  186. package/textarea/Textarea.stories.tsx +0 -1
  187. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  188. package/toggle-group/ToggleGroup.js +1 -4
  189. package/typography/Typography.accessibility.test.js +339 -0
  190. package/useTheme.d.ts +29 -133
  191. package/utils/FocusLock.js +15 -5
  192. package/wizard/Wizard.accessibility.test.js +55 -0
  193. package/wizard/types.d.ts +1 -1
  194. package/common/OpenSans.css +0 -69
  195. package/common/fonts/OpenSans-Bold.ttf +0 -0
  196. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  197. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  198. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  199. package/common/fonts/OpenSans-Italic.ttf +0 -0
  200. package/common/fonts/OpenSans-Light.ttf +0 -0
  201. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  202. package/common/fonts/OpenSans-Regular.ttf +0 -0
  203. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  204. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  205. package/text-input/Icons.d.ts +0 -8
  206. package/text-input/Icons.js +0 -56
  207. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  208. /package/{layout → sidenav}/SidenavContext.js +0 -0
package/header/Header.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
12
11
  var _react = _interopRequireWildcard(require("react"));
@@ -16,10 +15,9 @@ var _Icons = require("./Icons");
16
15
  var _variables = require("../common/variables");
17
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
18
17
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
19
- var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
20
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
21
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
21
  var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
24
22
  xmlns: "http://www.w3.org/2000/svg",
25
23
  viewBox: "0 0 24 24",
@@ -51,12 +49,7 @@ var Content = function Content(_ref) {
51
49
  responsiveContent = _ref.responsiveContent,
52
50
  handleMenu = _ref.handleMenu,
53
51
  content = _ref.content;
54
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
55
- return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
56
- backgroundType: backgroundType
57
- }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
58
- backgroundType: backgroundType
59
- }, content);
52
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, null, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, null, content);
60
53
  };
61
54
  var DxcHeader = function DxcHeader(_ref2) {
62
55
  var _ref2$underlined = _ref2.underlined,
@@ -124,30 +117,26 @@ var DxcHeader = function DxcHeader(_ref2) {
124
117
  onClick: handleMenu,
125
118
  "aria-label": translatedLabels.header.closeIcon,
126
119
  title: translatedLabels.header.closeIcon
127
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
128
- color: colorsTheme.header.menuBackgroundColor
129
- }, /*#__PURE__*/_react["default"].createElement(Content, {
120
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Content, {
130
121
  isResponsive: isResponsive,
131
122
  responsiveContent: responsiveContent,
132
123
  handleMenu: handleMenu,
133
124
  content: content
134
- }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
125
+ })), /*#__PURE__*/_react["default"].createElement(Overlay, {
135
126
  onClick: handleMenu,
136
127
  hasVisibility: isMenuVisible
137
- })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
138
- color: colorsTheme.header.backgroundColor
139
- }, /*#__PURE__*/_react["default"].createElement(Content, {
128
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
140
129
  isResponsive: isResponsive,
141
130
  responsiveContent: responsiveContent,
142
131
  handleMenu: handleMenu,
143
132
  content: content
144
- }))));
133
+ })));
145
134
  };
146
135
  DxcHeader.Dropdown = Dropdown;
147
136
  var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
148
137
  return props.theme.minHeight;
149
138
  }, function (props) {
150
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
139
+ return props.margin ? _variables.spaces[props.margin] : "0px";
151
140
  }, function (props) {
152
141
  return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
153
142
  }, function (props) {
@@ -170,7 +159,7 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
170
159
  });
171
160
  var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n"])));
172
161
  var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
173
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
162
+ return props.theme.contentColor;
174
163
  });
175
164
  var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
176
165
  return props.theme.hamburguerHoverColor;
@@ -215,7 +204,7 @@ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_tem
215
204
  return props.theme.hamburguerFocusColor;
216
205
  });
217
206
  var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
218
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
207
+ return props.theme.contentColor;
219
208
  });
220
209
  var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
221
210
  return props.theme.overlayColor;
package/header/types.d.ts CHANGED
@@ -1,17 +1,18 @@
1
1
  /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
3
  type Props = {
3
4
  /**
4
5
  * Whether a contrast line should appear at the bottom of the header.
5
6
  */
6
7
  underlined?: boolean;
7
8
  /**
8
- * Content showed in the header. Take into account that the component applies styles
9
+ * Content shown in the header. Take into account that the component applies styles
9
10
  * for the first child in the content, so we recommend the use of React.Fragment
10
11
  * to be applied correctly. Otherwise, the styles can be modified.
11
12
  */
12
13
  content?: React.ReactNode;
13
14
  /**
14
- * Content showed in responsive version. It receives the close menu handler that can
15
+ * Content shown in responsive version. It receives the close menu handler that can
15
16
  * be used to add that functionality when a element is clicked.
16
17
  */
17
18
  responsiveContent?: (closeHandler: () => void) => React.ReactNode;
@@ -22,7 +23,7 @@ type Props = {
22
23
  /**
23
24
  * Size of the bottom margin to be applied to the header.
24
25
  */
25
- margin?: "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
26
+ margin?: Space;
26
27
  /**
27
28
  * Value of the tabindex for all interactive elements, except those inside the
28
29
  * custom area.
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Heading = _interopRequireDefault(require("./Heading.tsx"));
10
+ describe("Heading component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
17
+ text: "my-heading-test",
18
+ level: 1,
19
+ margin: "medium",
20
+ weight: "bold"
21
+ })), container = _render.container;
22
+ _context.next = 3;
23
+ return (0, _jestAxe.axe)(container);
24
+ case 3:
25
+ results = _context.sent;
26
+ expect(results).toHaveNoViolations();
27
+ case 5:
28
+ case "end":
29
+ return _context.stop();
30
+ }
31
+ }, _callee);
32
+ })));
33
+ });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Icon = _interopRequireDefault(require("./Icon"));
10
+ describe("Icon component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
17
+ icon: "home"
18
+ })), container = _render.container;
19
+ _context.next = 3;
20
+ return (0, _jestAxe.axe)(container);
21
+ case 3:
22
+ results = _context.sent;
23
+ expect(results).toHaveNoViolations();
24
+ case 5:
25
+ case "end":
26
+ return _context.stop();
27
+ }
28
+ }, _callee);
29
+ })));
30
+ });
package/icon/Icon.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import IconPropsType from "./types";
3
+ declare const DxcIcon: ({ icon }: IconPropsType) => JSX.Element;
4
+ export default DxcIcon;
package/icon/Icon.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _templateObject;
12
+ var DxcIcon = function DxcIcon(_ref) {
13
+ var icon = _ref.icon;
14
+ var filled = false;
15
+ var iconName = icon;
16
+ if (icon.startsWith("filled_")) {
17
+ filled = true;
18
+ iconName = icon.replace(/filled_/g, "");
19
+ }
20
+ return /*#__PURE__*/_react["default"].createElement(IconContainer, {
21
+ role: "img",
22
+ "aria-label": icon,
23
+ filled: filled,
24
+ icon: iconName,
25
+ "aria-hidden": "true"
26
+ });
27
+ };
28
+ var IconContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Material Symbols Outlined\";\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n font-variation-settings: ", ";\n ::before {\n content: \"", "\";\n }\n"])), function (props) {
29
+ return props.filled ? "'FILL' 1" : "'FILL' 0";
30
+ }, function (props) {
31
+ return props.icon;
32
+ });
33
+ var _default = exports["default"] = DxcIcon;
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import DxcIcon from "./Icon";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { DxcTypography } from "../main";
6
+
7
+ export default {
8
+ title: "Icon",
9
+ component: DxcIcon,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Icon component" theme="light" level={2} />
15
+ <ExampleContainer>
16
+ <DxcTypography as="p" fontSize="1.5rem">
17
+ <DxcIcon icon="home" />
18
+ <DxcIcon icon="filled_home" />
19
+ </DxcTypography>
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <DxcTypography as="p" fontSize="1.5rem" color="#b182e3">
23
+ <DxcIcon icon="home" />
24
+ <DxcIcon icon="filled_home" />
25
+ </DxcTypography>
26
+ </ExampleContainer>
27
+ </>
28
+ );
@@ -0,0 +1,4 @@
1
+ type Props = {
2
+ icon: string;
3
+ };
4
+ export default Props;
package/icon/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Image = _interopRequireDefault(require("./Image"));
10
+ describe("Image component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Image["default"], {
17
+ alt: "Example image",
18
+ width: "100%",
19
+ src: "https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg",
20
+ caption: "Caption"
21
+ })), container = _render.container;
22
+ _context.next = 3;
23
+ return (0, _jestAxe.axe)(container);
24
+ case 3:
25
+ results = _context.sent;
26
+ expect(results).toHaveNoViolations();
27
+ case 5:
28
+ case "end":
29
+ return _context.stop();
30
+ }
31
+ }, _callee);
32
+ })));
33
+ it("Should not have basic accessibility issues for lazy-loading mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
34
+ var _render2, container, results;
35
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
36
+ while (1) switch (_context2.prev = _context2.next) {
37
+ case 0:
38
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Image["default"], {
39
+ alt: "Example image",
40
+ width: "100%",
41
+ src: "https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg",
42
+ caption: "Caption",
43
+ lazyLoading: true
44
+ })), container = _render2.container;
45
+ _context2.next = 3;
46
+ return (0, _jestAxe.axe)(container);
47
+ case 3:
48
+ results = _context2.sent;
49
+ expect(results).toHaveNoViolations();
50
+ case 5:
51
+ case "end":
52
+ return _context2.stop();
53
+ }
54
+ }, _callee2);
55
+ })));
56
+ });
@@ -2,7 +2,9 @@ import React from "react";
2
2
  import DxcImage from "./Image";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
- import { DxcFlex, DxcInset, DxcParagraph } from "../main";
5
+ import DxcFlex from "../flex/Flex";
6
+ import DxcInset from "../inset/Inset";
7
+ import DxcParagraph from "../paragraph/Paragraph";
6
8
 
7
9
  export default {
8
10
  title: "Image",
@@ -7,7 +7,7 @@ declare const DxcApplicationLayout: {
7
7
  Dropdown: (props: import("../dropdown/types").default) => React.JSX.Element;
8
8
  };
9
9
  Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
10
- Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
10
+ Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, mode, }: import("../footer/types").default) => JSX.Element;
11
11
  SideNav: {
12
12
  ({ title, children }: import("../sidenav/types").default): JSX.Element;
13
13
  Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;
@@ -15,7 +15,7 @@ var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
15
15
  var _styledComponents = _interopRequireDefault(require("styled-components"));
16
16
  var _variables = require("../common/variables");
17
17
  var _Icons = _interopRequireDefault(require("./Icons"));
18
- var _SidenavContext = require("./SidenavContext");
18
+ var _SidenavContext = require("../sidenav/SidenavContext");
19
19
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
20
20
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
21
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
package/layout/Icons.js CHANGED
@@ -9,7 +9,6 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var layoutIcons = {
10
10
  facebookLogo: /*#__PURE__*/_react["default"].createElement("svg", {
11
11
  version: "1.1",
12
- id: "Capa_1",
13
12
  x: "0px",
14
13
  y: "0px",
15
14
  width: "438.536px",
@@ -36,7 +35,6 @@ var layoutIcons = {
36
35
  })),
37
36
  linkedinLogo: /*#__PURE__*/_react["default"].createElement("svg", {
38
37
  version: "1.1",
39
- id: "Capa_1",
40
38
  x: "0px",
41
39
  y: "0px",
42
40
  width: "438.536px",
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Link = _interopRequireDefault(require("./Link.tsx"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
11
+ var icon = /*#__PURE__*/_react["default"].createElement("svg", {
12
+ viewBox: "0 0 24 24",
13
+ enableBackground: "new 0 0 24 24",
14
+ fill: "currentColor"
15
+ }, /*#__PURE__*/_react["default"].createElement("g", {
16
+ id: "Bounding_Box"
17
+ }, /*#__PURE__*/_react["default"].createElement("rect", {
18
+ fill: "none",
19
+ width: "24",
20
+ height: "24"
21
+ })), /*#__PURE__*/_react["default"].createElement("g", {
22
+ id: "Master"
23
+ }, /*#__PURE__*/_react["default"].createElement("path", {
24
+ d: "M19,9.3V4h-3v2.6L12,3L2,12h3v8h5v-6h4v6h5v-8h3L19,9.3z M10,10c0-1.1,0.9-2,2-2s2,0.9,2,2H10z"
25
+ })));
26
+ describe("Link component accessibility tests", function () {
27
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
28
+ var _render, container, results;
29
+ return _regenerator["default"].wrap(function _callee$(_context) {
30
+ while (1) switch (_context.prev = _context.next) {
31
+ case 0:
32
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
33
+ href: "https://www.google.com",
34
+ icon: icon,
35
+ iconPosition: "before",
36
+ margin: "medium"
37
+ }, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
38
+ href: "https://www.google.com",
39
+ icon: icon,
40
+ iconPosition: "after",
41
+ margin: "medium"
42
+ }, "Link"))), container = _render.container;
43
+ _context.next = 3;
44
+ return (0, _jestAxe.axe)(container);
45
+ case 3:
46
+ results = _context.sent;
47
+ expect(results).toHaveNoViolations();
48
+ case 5:
49
+ case "end":
50
+ return _context.stop();
51
+ }
52
+ }, _callee);
53
+ })));
54
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
55
+ var _render2, container, results;
56
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
57
+ while (1) switch (_context2.prev = _context2.next) {
58
+ case 0:
59
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
60
+ href: "https://www.google.com",
61
+ icon: icon,
62
+ iconPosition: "before",
63
+ margin: "medium",
64
+ disabled: true
65
+ }, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
66
+ href: "https://www.google.com",
67
+ icon: icon,
68
+ iconPosition: "after",
69
+ margin: "medium",
70
+ disabled: true
71
+ }, "Link"))), container = _render2.container;
72
+ _context2.next = 3;
73
+ return (0, _jestAxe.axe)(container);
74
+ case 3:
75
+ results = _context2.sent;
76
+ expect(results).toHaveNoViolations();
77
+ case 5:
78
+ case "end":
79
+ return _context2.stop();
80
+ }
81
+ }, _callee2);
82
+ })));
83
+ it("Should not have basic accessibility issues for new-window mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
84
+ var _render3, container, results;
85
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
86
+ while (1) switch (_context3.prev = _context3.next) {
87
+ case 0:
88
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
89
+ href: "https://www.google.com",
90
+ icon: icon,
91
+ iconPosition: "before",
92
+ margin: "medium",
93
+ newWindow: true
94
+ }, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
95
+ href: "https://www.google.com",
96
+ icon: icon,
97
+ iconPosition: "after",
98
+ margin: "medium",
99
+ newWindow: true
100
+ }, "Link"))), container = _render3.container;
101
+ _context3.next = 3;
102
+ return (0, _jestAxe.axe)(container);
103
+ case 3:
104
+ results = _context3.sent;
105
+ expect(results).toHaveNoViolations();
106
+ case 5:
107
+ case "end":
108
+ return _context3.stop();
109
+ }
110
+ }, _callee3);
111
+ })));
112
+ });
package/link/Link.js CHANGED
@@ -14,7 +14,8 @@ var _react = _interopRequireWildcard(require("react"));
14
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
15
  var _variables = require("../common/variables");
16
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
17
- var _templateObject, _templateObject2, _templateObject3;
17
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
18
+ var _templateObject, _templateObject2;
18
19
  var _excluded = ["inheritColor", "disabled", "icon", "iconPosition", "href", "newWindow", "onClick", "margin", "tabIndex", "children"];
19
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -24,8 +25,8 @@ var LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
24
25
  children = _ref.children;
25
26
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
26
27
  iconPosition: iconPosition
27
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(LinkIcon, {
28
- src: icon
28
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
29
+ icon: icon
29
30
  }) : icon), iconPosition === "before" && children);
30
31
  });
31
32
  var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
@@ -104,12 +105,13 @@ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateO
104
105
  }, function (props) {
105
106
  return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
106
107
  });
107
- var LinkIcon = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
108
- var LinkIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
108
+ var LinkIconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n font-size: ", ";\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
109
109
  return props.theme.iconSize;
110
110
  }, function (props) {
111
111
  return props.theme.iconSize;
112
112
  }, function (props) {
113
113
  return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
114
+ }, function (props) {
115
+ return props.theme.iconSize;
114
116
  });
115
117
  var _default = exports["default"] = DxcLink;
@@ -33,7 +33,7 @@ export const Chromatic = () => (
33
33
  <Title title="Disabled" theme="light" level={4} />
34
34
  <DxcLink disabled>Test</DxcLink>
35
35
  <Title title="Icon before" theme="light" level={4} />
36
- <DxcLink href="https://www.google.com" icon={icon} iconPosition="before">
36
+ <DxcLink href="https://www.google.com" icon="lock" iconPosition="before">
37
37
  Test
38
38
  </DxcLink>
39
39
  <Title title="Icon after" theme="light" level={4} />
@@ -76,7 +76,7 @@ export const Chromatic = () => (
76
76
  <ExampleContainer pseudoState="pseudo-hover">
77
77
  <Title title="Long text with hover" theme="light" level={4} />
78
78
  Lorem{" "}
79
- <DxcLink href="https://www.google.com" icon={icon}>
79
+ <DxcLink href="https://www.google.com" icon="filled_home">
80
80
  Test
81
81
  </DxcLink>{" "}
82
82
  ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
package/link/types.d.ts CHANGED
@@ -17,7 +17,7 @@ export type LinkProps = {
17
17
  */
18
18
  inheritColor?: boolean;
19
19
  /**
20
- * Element or path used as the icon that will be placed next to the link text.
20
+ * Material Symbol name or SVG element as the icon that will be placed next to the link text.
21
21
  */
22
22
  icon?: string | SVG;
23
23
  /**
package/main.d.ts CHANGED
@@ -22,7 +22,6 @@ import DxcChip from "./chip/Chip";
22
22
  import DxcApplicationLayout from "./layout/ApplicationLayout";
23
23
  import DxcToggleGroup from "./toggle-group/ToggleGroup";
24
24
  import DxcAccordionGroup from "./accordion-group/AccordionGroup";
25
- import DxcBadge from "./badge/Badge";
26
25
  import DxcTextInput from "./text-input/TextInput";
27
26
  import DxcPasswordInput from "./password-input/PasswordInput";
28
27
  import DxcDateInput from "./date-input/DateInput";
@@ -42,6 +41,9 @@ import DxcBulletedList from "./bulleted-list/BulletedList";
42
41
  import DxcGrid from "./grid/Grid";
43
42
  import DxcImage from "./image/Image";
44
43
  import DxcContainer from "./container/Container";
44
+ import DxcBadge from "./badge/Badge";
45
+ import DxcStatusLight from "./status-light/StatusLight";
46
+ import DxcContextualMenu from "./contextual-menu/ContextualMenu";
47
+ import DxcDivider from "./divider/Divider";
45
48
  import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
46
- import { BackgroundColorProvider } from "./BackgroundColorContext";
47
- export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, BackgroundColorProvider, DxcAccordionGroup, DxcBadge, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, DxcImage, DxcContainer, };
49
+ export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, DxcAccordionGroup, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, DxcImage, DxcContainer, DxcBadge, DxcStatusLight, DxcContextualMenu, DxcDivider, };