@dxc-technology/halstack-react 0.0.0-1c4cbc0 → 0.0.0-1d5e7bf

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 (72) hide show
  1. package/HalstackContext.js +15 -14
  2. package/accordion/Accordion.stories.tsx +1 -1
  3. package/accordion-group/AccordionGroup.js +1 -0
  4. package/badge/Badge.d.ts +1 -1
  5. package/badge/Badge.js +5 -3
  6. package/badge/types.d.ts +1 -0
  7. package/bleed/Bleed.js +1 -34
  8. package/bleed/Bleed.stories.tsx +62 -63
  9. package/bleed/types.d.ts +1 -1
  10. package/box/Box.js +22 -32
  11. package/card/Card.js +34 -36
  12. package/common/variables.js +19 -14
  13. package/dropdown/Dropdown.stories.tsx +1 -1
  14. package/footer/Icons.js +1 -1
  15. package/inline/Inline.d.ts +4 -0
  16. package/inline/Inline.js +60 -0
  17. package/inline/Inline.stories.tsx +319 -0
  18. package/inline/types.d.ts +36 -0
  19. package/{radio → inline}/types.js +0 -0
  20. package/inset/Inset.js +1 -34
  21. package/inset/Inset.stories.tsx +33 -33
  22. package/inset/types.d.ts +1 -1
  23. package/layout/ApplicationLayout.d.ts +4 -3
  24. package/layout/ApplicationLayout.js +83 -102
  25. package/layout/ApplicationLayout.stories.tsx +14 -59
  26. package/layout/Icons.d.ts +5 -0
  27. package/layout/Icons.js +13 -2
  28. package/layout/SidenavContext.d.ts +5 -0
  29. package/layout/SidenavContext.js +19 -0
  30. package/layout/types.d.ts +5 -10
  31. package/link/Link.d.ts +2 -2
  32. package/link/Link.js +23 -49
  33. package/link/Link.stories.tsx +1 -1
  34. package/link/types.d.ts +2 -3
  35. package/list/List.js +1 -1
  36. package/list/List.stories.tsx +16 -22
  37. package/list/types.d.ts +1 -1
  38. package/main.d.ts +3 -2
  39. package/main.js +16 -8
  40. package/package.json +2 -1
  41. package/paginator/Paginator.test.js +42 -0
  42. package/progress-bar/ProgressBar.js +1 -1
  43. package/progress-bar/ProgressBar.stories.jsx +11 -11
  44. package/quick-nav/QuickNav.js +65 -18
  45. package/quick-nav/QuickNav.stories.tsx +30 -3
  46. package/radio-group/RadioGroup.js +2 -1
  47. package/resultsetTable/ResultsetTable.test.js +42 -0
  48. package/select/Listbox.d.ts +1 -1
  49. package/select/Listbox.js +30 -7
  50. package/select/Select.js +73 -67
  51. package/select/Select.stories.tsx +130 -98
  52. package/select/Select.test.js +299 -194
  53. package/select/types.d.ts +3 -4
  54. package/sidenav/Sidenav.d.ts +1 -1
  55. package/sidenav/Sidenav.js +20 -9
  56. package/stack/Stack.d.ts +2 -1
  57. package/stack/Stack.js +29 -70
  58. package/stack/Stack.stories.tsx +189 -90
  59. package/stack/types.d.ts +15 -7
  60. package/tabs-nav/NavTabs.d.ts +8 -0
  61. package/tabs-nav/NavTabs.js +125 -0
  62. package/tabs-nav/NavTabs.stories.tsx +170 -0
  63. package/tabs-nav/NavTabs.test.js +82 -0
  64. package/tabs-nav/Tab.d.ts +4 -0
  65. package/tabs-nav/Tab.js +132 -0
  66. package/tabs-nav/types.d.ts +53 -0
  67. package/tabs-nav/types.js +5 -0
  68. package/radio/Radio.d.ts +0 -4
  69. package/radio/Radio.js +0 -173
  70. package/radio/Radio.stories.tsx +0 -192
  71. package/radio/Radio.test.js +0 -71
  72. package/radio/types.d.ts +0 -54
package/link/types.d.ts CHANGED
@@ -43,10 +43,9 @@ export declare type LinkProps = {
43
43
  */
44
44
  tabIndex?: number;
45
45
  /**
46
- * Content of the link. To use the component with other libraries (such as React Router or Next.js Link) pass the custom link as a child.
47
- * The component will apply the styles to the custom link.
46
+ * Content of the link.
48
47
  */
49
- children?: React.ReactNode;
48
+ children: string;
50
49
  /**
51
50
  * Element or path used as the icon that will be placed next to the link text.
52
51
  */
package/list/List.js CHANGED
@@ -24,7 +24,7 @@ function List(_ref) {
24
24
  _ref$type = _ref.type,
25
25
  type = _ref$type === void 0 ? "disc" : _ref$type,
26
26
  _ref$gutter = _ref.gutter,
27
- gutter = _ref$gutter === void 0 ? "xxsmall" : _ref$gutter;
27
+ gutter = _ref$gutter === void 0 ? "0.25rem" : _ref$gutter;
28
28
  return /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
29
29
  as: type === "number" ? "ol" : "ul",
30
30
  gutter: gutter
@@ -41,52 +41,46 @@ export const Chromatic = () => (
41
41
  <DxcText>Text 2.</DxcText>
42
42
  </DxcList>
43
43
  </Container>
44
- <Title title="gutter = xxxsmall" theme="light" level={4} />
45
- <DxcList gutter="xxsmall">
44
+ <Title title="gutter = 0rem" theme="light" level={4} />
45
+ <DxcList gutter="0rem">
46
46
  <DxcText>Text 1.</DxcText>
47
47
  <DxcText>Text 2.</DxcText>
48
48
  </DxcList>
49
- <Title title="gutter = xxsmall" theme="light" level={4} />
50
- <DxcList gutter="xxsmall">
49
+ <Title title="gutter = 0.125rem" theme="light" level={4} />
50
+ <DxcList gutter="0.125rem">
51
51
  <DxcText>Text 1.</DxcText>
52
52
  <DxcText>Text 2.</DxcText>
53
53
  </DxcList>
54
- <Title title="gutter = xsmall" theme="light" level={4} />
55
- <DxcList gutter="xsmall">
54
+ <Title title="gutter = 0.25rem" theme="light" level={4} />
55
+ <DxcList gutter="0.25rem">
56
56
  <DxcText>Text 1.</DxcText>
57
57
  <DxcText>Text 2.</DxcText>
58
58
  </DxcList>
59
- <Title title="gutter = small" theme="light" level={4} />
60
- <DxcList gutter="small">
59
+ <Title title="gutter = 0.5rem" theme="light" level={4} />
60
+ <DxcList gutter="0.5rem">
61
61
  <DxcText>Text 1.</DxcText>
62
62
  <DxcText>Text 2.</DxcText>
63
63
  </DxcList>
64
- <Title title="gutter = medium" theme="light" level={4} />
65
- <DxcList gutter="medium">
64
+ <Title title="gutter = 0.75rem" theme="light" level={4} />
65
+ <DxcList gutter="0.75rem">
66
66
  <DxcText>Text 1.</DxcText>
67
67
  <DxcText>Text 2.</DxcText>
68
68
  </DxcList>
69
- <Title title="gutter = large" theme="light" level={4} />
70
- <DxcList gutter="large">
69
+ <Title title="gutter = 1rem" theme="light" level={4} />
70
+ <DxcList gutter="1rem">
71
71
  <DxcText>Text 1.</DxcText>
72
72
  <DxcText>Text 2.</DxcText>
73
73
  </DxcList>
74
- <Title title="gutter = xlarge" theme="light" level={4} />
75
- <DxcList gutter="xlarge">
74
+ <Title title="gutter = 1.5rem" theme="light" level={4} />
75
+ <DxcList gutter="1.5rem">
76
76
  <DxcText>Text 1.</DxcText>
77
77
  <DxcText>Text 2.</DxcText>
78
78
  </DxcList>
79
- <Title title="gutter = xxlarge" theme="light" level={4} />
80
- <DxcList gutter="xxlarge">
79
+ <Title title="gutter = 2rem" theme="light" level={4} />
80
+ <DxcList gutter="2rem">
81
81
  <DxcText>Text 1.</DxcText>
82
82
  <DxcText>Text 2.</DxcText>
83
83
  </DxcList>
84
- <Title title="gutter = xxxlarge" theme="light" level={4} />
85
- <DxcList gutter="xxxlarge">
86
- <DxcText>Text 1.</DxcText>
87
- <DxcText>Text 2.</DxcText>
88
- </DxcList>
89
-
90
84
  </>
91
85
  );
92
86
 
package/list/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  declare type Props = {
3
3
  children: React.ReactNode;
4
- gutter?: "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
4
+ gutter?: "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "0.75rem" | "1rem" | "1.5rem" | "2rem";
5
5
  type?: "disc" | "circle" | "square" | "number";
6
6
  };
7
7
  export default Props;
package/main.d.ts CHANGED
@@ -7,7 +7,6 @@ import DxcDialog from "./dialog/Dialog";
7
7
  import DxcDropdown from "./dropdown/Dropdown";
8
8
  import DxcFooter from "./footer/Footer";
9
9
  import DxcHeader from "./header/Header";
10
- import DxcRadio from "./radio/Radio";
11
10
  import DxcSlider from "./slider/Slider";
12
11
  import DxcSwitch from "./switch/Switch";
13
12
  import DxcTabs from "./tabs/Tabs";
@@ -42,6 +41,8 @@ import DxcRadioGroup from "./radio-group/RadioGroup";
42
41
  import DxcBleed from "./bleed/Bleed";
43
42
  import DxcInset from "./inset/Inset";
44
43
  import DxcQuickNav from "./quick-nav/QuickNav";
44
+ import DxcNavTabs from "./tabs-nav/NavTabs";
45
+ import DxcInline from "./inline/Inline";
45
46
  import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
46
47
  import { BackgroundColorProvider } from "./BackgroundColorContext";
47
- export { DxcAlert, DxcButton, DxcFooter, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcRadio, DxcHeader, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcSidenav, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, BackgroundColorProvider, DxcAccordionGroup, DxcBadge, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcStack, DxcRow, DxcText, DxcList, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, };
48
+ export { DxcAlert, DxcButton, DxcFooter, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcHeader, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcSidenav, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, BackgroundColorProvider, DxcAccordionGroup, DxcBadge, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcStack, DxcRow, DxcText, DxcList, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcInline, };
package/main.js CHANGED
@@ -121,6 +121,12 @@ Object.defineProperty(exports, "DxcHeading", {
121
121
  return _Heading["default"];
122
122
  }
123
123
  });
124
+ Object.defineProperty(exports, "DxcInline", {
125
+ enumerable: true,
126
+ get: function get() {
127
+ return _Inline["default"];
128
+ }
129
+ });
124
130
  Object.defineProperty(exports, "DxcInset", {
125
131
  enumerable: true,
126
132
  get: function get() {
@@ -139,6 +145,12 @@ Object.defineProperty(exports, "DxcList", {
139
145
  return _List["default"];
140
146
  }
141
147
  });
148
+ Object.defineProperty(exports, "DxcNavTabs", {
149
+ enumerable: true,
150
+ get: function get() {
151
+ return _NavTabs["default"];
152
+ }
153
+ });
142
154
  Object.defineProperty(exports, "DxcNumberInput", {
143
155
  enumerable: true,
144
156
  get: function get() {
@@ -169,12 +181,6 @@ Object.defineProperty(exports, "DxcQuickNav", {
169
181
  return _QuickNav["default"];
170
182
  }
171
183
  });
172
- Object.defineProperty(exports, "DxcRadio", {
173
- enumerable: true,
174
- get: function get() {
175
- return _Radio["default"];
176
- }
177
- });
178
184
  Object.defineProperty(exports, "DxcRadioGroup", {
179
185
  enumerable: true,
180
186
  get: function get() {
@@ -314,8 +320,6 @@ var _Footer = _interopRequireDefault(require("./footer/Footer"));
314
320
 
315
321
  var _Header = _interopRequireDefault(require("./header/Header"));
316
322
 
317
- var _Radio = _interopRequireDefault(require("./radio/Radio"));
318
-
319
323
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
320
324
 
321
325
  var _Switch = _interopRequireDefault(require("./switch/Switch"));
@@ -384,6 +388,10 @@ var _Inset = _interopRequireDefault(require("./inset/Inset"));
384
388
 
385
389
  var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
386
390
 
391
+ var _NavTabs = _interopRequireDefault(require("./tabs-nav/NavTabs"));
392
+
393
+ var _Inline = _interopRequireDefault(require("./inline/Inline"));
394
+
387
395
  var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
388
396
 
389
397
  var _BackgroundColorContext = require("./BackgroundColorContext");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxc-technology/halstack-react",
3
- "version": "0.0.0-1c4cbc0",
3
+ "version": "0.0.0-1d5e7bf",
4
4
  "description": "DXC Halstack React components library",
5
5
  "repository": "dxc-technology/halstack-react",
6
6
  "homepage": "http://developer.dxc.com/tools/react",
@@ -24,6 +24,7 @@
24
24
  "@material-ui/lab": "4.0.0-alpha.17",
25
25
  "@material-ui/pickers": "3.2.2",
26
26
  "@material-ui/styles": "4.0.2",
27
+ "@radix-ui/react-popover": "^0.1.6",
27
28
  "@types/styled-components": "^5.1.24",
28
29
  "@types/uuid": "^8.3.4",
29
30
  "color": "^3.1.3",
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
+
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+
5
9
  var _react = _interopRequireDefault(require("react"));
6
10
 
7
11
  var _react2 = require("@testing-library/react");
@@ -10,6 +14,44 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
14
 
11
15
  var _Paginator = _interopRequireDefault(require("./Paginator"));
12
16
 
17
+ // Mocking DOMRect for Radix Primitive Popover
18
+ global.globalThis = global;
19
+
20
+ global.ResizeObserver = /*#__PURE__*/function () {
21
+ function ResizeObserver(cb) {
22
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
23
+ this.cb = cb;
24
+ }
25
+
26
+ (0, _createClass2["default"])(ResizeObserver, [{
27
+ key: "observe",
28
+ value: function observe() {
29
+ this.cb([{
30
+ borderBoxSize: {
31
+ inlineSize: 0,
32
+ blockSize: 0
33
+ }
34
+ }]);
35
+ }
36
+ }, {
37
+ key: "unobserve",
38
+ value: function unobserve() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+
43
+ global.DOMRect = {
44
+ fromRect: function fromRect() {
45
+ return {
46
+ top: 0,
47
+ left: 0,
48
+ bottom: 0,
49
+ right: 0,
50
+ width: 0,
51
+ height: 0
52
+ };
53
+ }
54
+ };
13
55
  describe("Paginator component tests", function () {
14
56
  test("Paginator renders with default values", function () {
15
57
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], null)),
@@ -37,7 +37,7 @@ var DxcProgressBar = function DxcProgressBar(_ref) {
37
37
  _ref$helperText = _ref.helperText,
38
38
  helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
39
39
  _ref$overlay = _ref.overlay,
40
- overlay = _ref$overlay === void 0 ? true : _ref$overlay,
40
+ overlay = _ref$overlay === void 0 ? false : _ref$overlay,
41
41
  value = _ref.value,
42
42
  _ref$showValue = _ref.showValue,
43
43
  showValue = _ref$showValue === void 0 ? false : _ref$showValue,
@@ -12,40 +12,40 @@ export const Chromatic = () => (
12
12
  <>
13
13
  <ExampleContainer>
14
14
  <Title title="Without labels" theme="light" level={4} />
15
- <DxcProgressBar overlay={false} value={50} showValue />
15
+ <DxcProgressBar value={50} showValue />
16
16
  <Title title="With helperText" theme="light" level={4} />
17
- <DxcProgressBar helperText="Helper text" value={50} overlay={false} showValue />
17
+ <DxcProgressBar helperText="Helper text" value={50} showValue />
18
18
  <Title title="Without default value" theme="light" level={4} />
19
- <DxcProgressBar label="Loading..." overlay={false} showValue />
19
+ <DxcProgressBar label="Loading..." showValue />
20
20
  </ExampleContainer>
21
21
  <Title title="Margins" theme="light" level={2} />
22
22
  <ExampleContainer>
23
23
  <Title title="Xxsmall margin" theme="light" level={4} />
24
- <DxcProgressBar label="Margin xxsmall" margin="xxsmall" overlay={false} value={50} showValue />
24
+ <DxcProgressBar label="Margin xxsmall" margin="xxsmall" value={50} showValue />
25
25
  </ExampleContainer>
26
26
  <ExampleContainer>
27
27
  <Title title="Xsmall margin" theme="light" level={4} />
28
- <DxcProgressBar label="Margin xsmall" margin="xsmall" overlay={false} value={50} showValue />
28
+ <DxcProgressBar label="Margin xsmall" margin="xsmall" value={50} showValue />
29
29
  </ExampleContainer>
30
30
  <ExampleContainer>
31
31
  <Title title="Small margin" theme="light" level={4} />
32
- <DxcProgressBar label="Margin small" margin="small" overlay={false} value={50} showValue />
32
+ <DxcProgressBar label="Margin small" margin="small" value={50} showValue />
33
33
  </ExampleContainer>
34
34
  <ExampleContainer>
35
35
  <Title title="Medium margin" theme="light" level={4} />
36
- <DxcProgressBar label="Margin medium" margin="medium" overlay={false} value={50} showValue />
36
+ <DxcProgressBar label="Margin medium" margin="medium" value={50} showValue />
37
37
  </ExampleContainer>
38
38
  <ExampleContainer>
39
39
  <Title title="Large margin" theme="light" level={4} />
40
- <DxcProgressBar label="Margin large" margin="large" overlay={false} value={50} showValue />
40
+ <DxcProgressBar label="Margin large" margin="large" value={50} showValue />
41
41
  </ExampleContainer>
42
42
  <ExampleContainer>
43
43
  <Title title="Xlarge margin" theme="light" level={4} />
44
- <DxcProgressBar label="Margin xlarge" margin="xlarge" overlay={false} value={50} showValue />
44
+ <DxcProgressBar label="Margin xlarge" margin="xlarge" value={50} showValue />
45
45
  </ExampleContainer>
46
46
  <ExampleContainer>
47
47
  <Title title="XxLarge margin" theme="light" level={4} />
48
- <DxcProgressBar label="Margin xxlarge" margin="xxlarge" overlay={false} value={50} showValue />
48
+ <DxcProgressBar label="Margin xxlarge" margin="xxlarge" value={50} showValue />
49
49
  </ExampleContainer>
50
50
  </>
51
51
  );
@@ -53,6 +53,6 @@ export const Chromatic = () => (
53
53
  export const ProgressBarOverlay = () => (
54
54
  <ExampleContainer>
55
55
  <Title title="Overlay" theme="dark" level={4} />
56
- <DxcProgressBar label="Overlay" helperText="Helper text" showValue value={50} />
56
+ <DxcProgressBar label="Overlay" helperText="Helper text" overlay={true} showValue value={50} />
57
57
  </ExampleContainer>
58
58
  );
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -11,59 +13,104 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
11
13
 
12
14
  var _react = _interopRequireDefault(require("react"));
13
15
 
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
17
 
16
18
  var _slugify = _interopRequireDefault(require("slugify"));
17
19
 
20
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
21
+
18
22
  var _Heading = _interopRequireDefault(require("../heading/Heading"));
19
23
 
20
24
  var _Stack = _interopRequireDefault(require("../stack/Stack"));
21
25
 
22
26
  var _Inset = _interopRequireDefault(require("../inset/Inset"));
23
27
 
24
- var _List = _interopRequireDefault(require("../list/List"));
25
-
26
28
  var _Text = _interopRequireDefault(require("../text/Text"));
27
29
 
28
30
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
29
31
 
30
- var _templateObject, _templateObject2;
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
33
+
34
+ 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); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
37
 
32
38
  var DxcQuickNav = function DxcQuickNav(_ref) {
33
39
  var title = _ref.title,
34
40
  links = _ref.links;
35
41
  var translatedLabels = (0, _useTranslatedLabels["default"])();
36
- return /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
37
- gutter: "xsmall"
42
+ var colorsTheme = (0, _useTheme["default"])();
43
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
44
+ theme: colorsTheme.quickNav
45
+ }, /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
46
+ gutter: "0.5rem"
38
47
  }, /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
39
48
  level: 4,
40
49
  text: title || translatedLabels.quickNav.contentTitle
41
- }), /*#__PURE__*/_react["default"].createElement(_List["default"], null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
42
- gutter: "xsmall"
50
+ }), /*#__PURE__*/_react["default"].createElement(ListColumn, null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
51
+ gutter: "0.5rem"
43
52
  }, links.map(function (link) {
44
53
  var _link$links;
45
54
 
46
- return /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
47
- space: "xxsmall"
55
+ return /*#__PURE__*/_react["default"].createElement(ListRow, {
56
+ key: link.label
57
+ }, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
58
+ space: "0.25rem"
48
59
  }, /*#__PURE__*/_react["default"].createElement(_Text["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
49
60
  href: "#".concat((0, _slugify["default"])(link === null || link === void 0 ? void 0 : link.label, {
50
61
  lower: true
51
62
  }))
52
- }, link === null || link === void 0 ? void 0 : link.label), (_link$links = link.links) === null || _link$links === void 0 ? void 0 : _link$links.map(function (sublink) {
53
- return /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
54
- horizontal: "xsmall"
63
+ }, link === null || link === void 0 ? void 0 : link.label), /*#__PURE__*/_react["default"].createElement(ListColumn, null, (_link$links = link.links) === null || _link$links === void 0 ? void 0 : _link$links.map(function (sublink) {
64
+ return /*#__PURE__*/_react["default"].createElement(ListRow, {
65
+ key: sublink.label
66
+ }, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
67
+ horizontal: "0.5rem"
55
68
  }, /*#__PURE__*/_react["default"].createElement(_Text["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
56
69
  href: "#".concat((0, _slugify["default"])(sublink === null || sublink === void 0 ? void 0 : sublink.label, {
57
70
  lower: true
58
71
  }))
59
- }, sublink === null || sublink === void 0 ? void 0 : sublink.label)));
60
- })));
61
- })))));
72
+ }, sublink === null || sublink === void 0 ? void 0 : sublink.label))));
73
+ })))));
74
+ }))))));
62
75
  };
63
76
 
64
- var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 5px 15px;\n border-left: 2px solid #bfbfbf;\n li > div:first-child {\n display: none;\n }\n"])));
77
+ var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n border-left: 2px solid ", ";\n"])), function (props) {
78
+ return props.theme.paddingTop;
79
+ }, function (props) {
80
+ return props.theme.paddingBottom;
81
+ }, function (props) {
82
+ return props.theme.paddingLeft;
83
+ }, function (props) {
84
+ return props.theme.paddingRight;
85
+ }, function (props) {
86
+ return props.theme.dividerBorderColor;
87
+ });
65
88
 
66
- var Link = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n font-size: 14px;\n color: #666666;\n &:hover {\n color: #ab63cf;\n }\n &:focus {\n border-radius: 2px;\n border-color: #0095ff;\n }\n"])));
89
+ var ListColumn = _styledComponents["default"].ul(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n width: 100%;\n"])));
90
+
91
+ var ListRow = _styledComponents["default"].li(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n"])));
92
+
93
+ var Link = _styledComponents["default"].a(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n display: block;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n width: fit-content;\n max-width: 100%;\n\n &:hover {\n color: ", ";\n }\n &:focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n border-radius: ", ";\n }\n"])), function (props) {
94
+ return props.theme.fontSize;
95
+ }, function (props) {
96
+ return props.theme.fontFamily;
97
+ }, function (props) {
98
+ return props.theme.fontStyle;
99
+ }, function (props) {
100
+ return props.theme.fontWeight;
101
+ }, function (props) {
102
+ return props.theme.fontColor;
103
+ }, function (props) {
104
+ return props.theme.hoverFontColor;
105
+ }, function (props) {
106
+ return props.theme.focusBorderColor;
107
+ }, function (props) {
108
+ return props.theme.focusBorderStyle;
109
+ }, function (props) {
110
+ return props.theme.focusBorderThickness;
111
+ }, function (props) {
112
+ return props.theme.focusBorderRadius;
113
+ });
67
114
 
68
115
  var _default = DxcQuickNav;
69
116
  exports["default"] = _default;
@@ -23,14 +23,24 @@ const links = [
23
23
  ],
24
24
  },
25
25
  {
26
- label: "Principles",
26
+ label: "Principles very very very very very very very very long",
27
27
  id: "principles",
28
28
  links: [
29
- { label: "Color", id: "color" },
30
- { label: "Spacing", id: "spacing" },
29
+ { label: "Color very very very very very very very very long", id: "color" },
30
+ { label: "Spacingveryveryveryveryveryveryveryverylong", id: "spacing" },
31
31
  { label: "Typography", id: "typography" },
32
32
  ],
33
33
  },
34
+ {
35
+ label: "Componentsveryveryveryveryveryveryveryverylong",
36
+ id: "components",
37
+ links: [
38
+ {
39
+ label: "Accordion",
40
+ id: "accordion",
41
+ },
42
+ ],
43
+ },
34
44
  ];
35
45
 
36
46
  export const Chromatic = () => (
@@ -47,6 +57,12 @@ export const Chromatic = () => (
47
57
  <DxcQuickNav links={links}></DxcQuickNav>
48
58
  </QuickNavContainer>
49
59
  </ExampleContainer>
60
+ <ExampleContainer pseudoState="pseudo-focus">
61
+ <Title title="Link focus" level={4} />
62
+ <QuickNavContainer>
63
+ <DxcQuickNav links={links}></DxcQuickNav>
64
+ </QuickNavContainer>
65
+ </ExampleContainer>
50
66
  <ExampleContainer>
51
67
  <Title title="QuickNav with content" level={4} />
52
68
  <Container>
@@ -204,6 +220,17 @@ export const Chromatic = () => (
204
220
  </DxcText>
205
221
  </Content>
206
222
  </Content>
223
+ <Content id="components">
224
+ <DxcHeading level={1} text="Components" margin={{ top: "small", bottom: "xsmall" }} />
225
+ <Content id="accordion">
226
+ <DxcHeading level={2} text="Accordion" margin={{ top: "xsmall", bottom: "xsmall" }} />
227
+ <DxcText>
228
+ Accordions are used to group similar content and hide or show it depending on user needs or preferences.
229
+ Accordions give users more granular control over the interface and help digest content in stages, rather
230
+ than all at once.
231
+ </DxcText>
232
+ </Content>
233
+ </Content>
207
234
  </ContentContainer>
208
235
  <QuickNavContainer>
209
236
  <DxcQuickNav title="Sections" links={links}></DxcQuickNav>
@@ -216,7 +216,8 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
216
216
  disabled: option.disabled || disabled,
217
217
  focused: currentFocusIndex === index,
218
218
  readonly: readonly,
219
- tabIndex: tabIndex
219
+ tabIndex: tabIndex,
220
+ key: "radio-".concat(index)
220
221
  });
221
222
  })), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
222
223
  id: errorId,
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
+
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+
5
9
  var _react = _interopRequireDefault(require("react"));
6
10
 
7
11
  var _react2 = require("@testing-library/react");
@@ -10,6 +14,44 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
14
 
11
15
  var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable"));
12
16
 
17
+ // Mocking DOMRect for Radix Primitive Popover
18
+ global.globalThis = global;
19
+
20
+ global.ResizeObserver = /*#__PURE__*/function () {
21
+ function ResizeObserver(cb) {
22
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
23
+ this.cb = cb;
24
+ }
25
+
26
+ (0, _createClass2["default"])(ResizeObserver, [{
27
+ key: "observe",
28
+ value: function observe() {
29
+ this.cb([{
30
+ borderBoxSize: {
31
+ inlineSize: 0,
32
+ blockSize: 0
33
+ }
34
+ }]);
35
+ }
36
+ }, {
37
+ key: "unobserve",
38
+ value: function unobserve() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+
43
+ global.DOMRect = {
44
+ fromRect: function fromRect() {
45
+ return {
46
+ top: 0,
47
+ left: 0,
48
+ bottom: 0,
49
+ right: 0,
50
+ width: 0,
51
+ height: 0
52
+ };
53
+ }
54
+ };
13
55
  var columns = [{
14
56
  displayValue: "Id",
15
57
  isSortable: false
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { ListboxProps } from "./types";
3
- declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<ListboxProps & React.RefAttributes<HTMLUListElement>>>;
3
+ declare const _default: React.MemoExoticComponent<({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, styles, }: ListboxProps) => JSX.Element>;
4
4
  export default _default;