@dxc-technology/halstack-react 0.0.0-a7970fd → 0.0.0-a799608

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 (181) hide show
  1. package/HalstackContext.d.ts +4 -2
  2. package/HalstackContext.js +110 -58
  3. package/accordion/Accordion.js +122 -103
  4. package/accordion/Accordion.stories.tsx +2 -3
  5. package/accordion/Accordion.test.js +9 -10
  6. package/accordion/types.d.ts +4 -4
  7. package/accordion-group/AccordionGroup.js +2 -21
  8. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  9. package/accordion-group/AccordionGroup.test.js +20 -45
  10. package/accordion-group/types.d.ts +9 -3
  11. package/alert/Alert.js +4 -1
  12. package/badge/Badge.d.ts +1 -1
  13. package/badge/Badge.js +5 -3
  14. package/badge/types.d.ts +1 -0
  15. package/bleed/Bleed.js +1 -34
  16. package/bleed/Bleed.stories.tsx +94 -95
  17. package/bleed/types.d.ts +1 -1
  18. package/box/Box.js +22 -32
  19. package/bulleted-list/BulletedList.d.ts +7 -0
  20. package/bulleted-list/BulletedList.js +123 -0
  21. package/bulleted-list/BulletedList.stories.tsx +200 -0
  22. package/bulleted-list/types.d.ts +11 -0
  23. package/{list → bulleted-list}/types.js +0 -0
  24. package/button/Button.js +43 -61
  25. package/button/Button.stories.tsx +9 -0
  26. package/button/types.d.ts +7 -7
  27. package/card/Card.js +34 -36
  28. package/checkbox/Checkbox.js +4 -1
  29. package/chip/types.d.ts +1 -1
  30. package/common/variables.js +231 -95
  31. package/date-input/DateInput.js +8 -5
  32. package/dialog/Dialog.js +52 -28
  33. package/dialog/Dialog.stories.tsx +1 -2
  34. package/dialog/Dialog.test.js +34 -4
  35. package/dialog/types.d.ts +2 -2
  36. package/dropdown/Dropdown.d.ts +1 -1
  37. package/dropdown/Dropdown.js +242 -246
  38. package/dropdown/Dropdown.stories.tsx +126 -63
  39. package/dropdown/Dropdown.test.js +510 -108
  40. package/dropdown/DropdownMenu.d.ts +4 -0
  41. package/dropdown/DropdownMenu.js +80 -0
  42. package/dropdown/DropdownMenuItem.d.ts +4 -0
  43. package/dropdown/DropdownMenuItem.js +92 -0
  44. package/dropdown/types.d.ts +25 -5
  45. package/file-input/FileInput.js +9 -6
  46. package/file-input/FileItem.js +7 -5
  47. package/flex/Flex.d.ts +4 -0
  48. package/flex/Flex.js +57 -0
  49. package/flex/Flex.stories.tsx +103 -0
  50. package/flex/types.d.ts +21 -0
  51. package/{quick-nav-container → flex}/types.js +0 -0
  52. package/footer/Footer.js +7 -5
  53. package/footer/Footer.stories.tsx +8 -1
  54. package/footer/Icons.js +1 -1
  55. package/footer/types.d.ts +1 -1
  56. package/header/Header.js +80 -75
  57. package/header/Header.stories.tsx +4 -4
  58. package/header/Icons.js +2 -2
  59. package/header/types.d.ts +2 -2
  60. package/inset/Inset.js +1 -34
  61. package/inset/Inset.stories.tsx +36 -36
  62. package/inset/types.d.ts +1 -1
  63. package/layout/ApplicationLayout.d.ts +16 -6
  64. package/layout/ApplicationLayout.js +70 -117
  65. package/layout/ApplicationLayout.stories.tsx +84 -93
  66. package/layout/Icons.d.ts +5 -0
  67. package/layout/Icons.js +13 -2
  68. package/layout/SidenavContext.d.ts +5 -0
  69. package/layout/SidenavContext.js +19 -0
  70. package/layout/types.d.ts +18 -33
  71. package/link/Link.d.ts +3 -2
  72. package/link/Link.js +57 -70
  73. package/link/Link.stories.tsx +95 -53
  74. package/link/Link.test.js +7 -15
  75. package/link/types.d.ts +7 -23
  76. package/main.d.ts +8 -11
  77. package/main.js +40 -58
  78. package/number-input/types.d.ts +1 -1
  79. package/package.json +10 -9
  80. package/paginator/Paginator.js +17 -38
  81. package/paginator/Paginator.test.js +42 -0
  82. package/paragraph/Paragraph.d.ts +6 -0
  83. package/paragraph/Paragraph.js +38 -0
  84. package/paragraph/Paragraph.stories.tsx +44 -0
  85. package/password-input/PasswordInput.js +7 -4
  86. package/password-input/PasswordInput.test.js +1 -2
  87. package/password-input/types.d.ts +1 -1
  88. package/progress-bar/ProgressBar.d.ts +2 -2
  89. package/progress-bar/ProgressBar.js +57 -51
  90. package/progress-bar/ProgressBar.stories.jsx +13 -11
  91. package/progress-bar/ProgressBar.test.js +67 -22
  92. package/progress-bar/types.d.ts +3 -4
  93. package/quick-nav/QuickNav.js +74 -20
  94. package/quick-nav/QuickNav.stories.tsx +43 -16
  95. package/quick-nav/types.d.ts +1 -1
  96. package/radio-group/Radio.js +1 -1
  97. package/radio-group/RadioGroup.js +21 -20
  98. package/resultsetTable/ResultsetTable.test.js +42 -0
  99. package/select/Listbox.d.ts +1 -1
  100. package/select/Listbox.js +59 -8
  101. package/select/Select.js +78 -90
  102. package/select/Select.stories.tsx +145 -100
  103. package/select/Select.test.js +362 -244
  104. package/select/types.d.ts +2 -5
  105. package/sidenav/Sidenav.d.ts +6 -5
  106. package/sidenav/Sidenav.js +184 -52
  107. package/sidenav/Sidenav.stories.tsx +154 -156
  108. package/sidenav/Sidenav.test.js +25 -37
  109. package/sidenav/types.d.ts +50 -27
  110. package/slider/Slider.js +112 -97
  111. package/slider/Slider.stories.tsx +7 -1
  112. package/slider/Slider.test.js +121 -21
  113. package/slider/types.d.ts +2 -2
  114. package/spinner/Spinner.js +1 -1
  115. package/switch/Switch.d.ts +1 -1
  116. package/switch/Switch.js +113 -54
  117. package/switch/Switch.stories.tsx +8 -30
  118. package/switch/Switch.test.js +122 -8
  119. package/switch/types.d.ts +3 -4
  120. package/tabs/Tab.d.ts +4 -0
  121. package/tabs/Tab.js +135 -0
  122. package/tabs/Tabs.js +360 -104
  123. package/tabs/Tabs.stories.tsx +74 -0
  124. package/tabs/Tabs.test.js +217 -6
  125. package/tabs/types.d.ts +15 -5
  126. package/tabs-nav/NavTabs.d.ts +8 -0
  127. package/tabs-nav/NavTabs.js +125 -0
  128. package/tabs-nav/NavTabs.stories.tsx +170 -0
  129. package/tabs-nav/NavTabs.test.js +82 -0
  130. package/tabs-nav/Tab.d.ts +4 -0
  131. package/tabs-nav/Tab.js +130 -0
  132. package/tabs-nav/types.d.ts +53 -0
  133. package/{radio → tabs-nav}/types.js +0 -0
  134. package/tag/types.d.ts +1 -1
  135. package/text-input/Suggestion.d.ts +4 -0
  136. package/text-input/Suggestion.js +55 -0
  137. package/text-input/TextInput.js +58 -93
  138. package/text-input/TextInput.stories.tsx +1 -2
  139. package/text-input/TextInput.test.js +1 -1
  140. package/text-input/types.d.ts +14 -2
  141. package/textarea/Textarea.js +10 -19
  142. package/textarea/types.d.ts +1 -1
  143. package/toggle-group/types.d.ts +1 -1
  144. package/typography/Typography.d.ts +4 -0
  145. package/typography/Typography.js +131 -0
  146. package/typography/Typography.stories.tsx +198 -0
  147. package/typography/types.d.ts +18 -0
  148. package/{row → typography}/types.js +0 -0
  149. package/useTranslatedLabels.d.ts +2 -0
  150. package/useTranslatedLabels.js +20 -0
  151. package/wizard/Wizard.js +36 -41
  152. package/wizard/Wizard.stories.tsx +20 -1
  153. package/wizard/types.d.ts +5 -4
  154. package/list/List.d.ts +0 -4
  155. package/list/List.js +0 -47
  156. package/list/List.stories.tsx +0 -95
  157. package/list/types.d.ts +0 -7
  158. package/quick-nav-container/HeadingLink.d.ts +0 -8
  159. package/quick-nav-container/HeadingLink.js +0 -58
  160. package/quick-nav-container/QuickNavContainer.d.ts +0 -4
  161. package/quick-nav-container/QuickNavContainer.js +0 -69
  162. package/quick-nav-container/Section.d.ts +0 -9
  163. package/quick-nav-container/Section.js +0 -37
  164. package/quick-nav-container/types.d.ts +0 -34
  165. package/radio/Radio.d.ts +0 -4
  166. package/radio/Radio.js +0 -173
  167. package/radio/Radio.stories.tsx +0 -192
  168. package/radio/Radio.test.js +0 -71
  169. package/radio/types.d.ts +0 -54
  170. package/row/Row.d.ts +0 -3
  171. package/row/Row.js +0 -127
  172. package/row/Row.stories.tsx +0 -237
  173. package/row/types.d.ts +0 -28
  174. package/stack/Stack.d.ts +0 -3
  175. package/stack/Stack.js +0 -97
  176. package/stack/Stack.stories.tsx +0 -164
  177. package/stack/types.d.ts +0 -24
  178. package/stack/types.js +0 -5
  179. package/text/Text.d.ts +0 -7
  180. package/text/Text.js +0 -30
  181. package/text/Text.stories.tsx +0 -19
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- declare type HeadingLinkProps = {
3
- children: string;
4
- level?: 1 | 2 | 3 | 4 | 5;
5
- as?: "h1" | "h2" | "h3" | "h4" | "h5";
6
- };
7
- declare function HeadingLink({ children, level, as }: HeadingLinkProps): JSX.Element;
8
- export default HeadingLink;
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
- var _slugify = _interopRequireDefault(require("slugify"));
17
-
18
- var _Heading = _interopRequireDefault(require("../heading/Heading"));
19
-
20
- var _templateObject, _templateObject2;
21
-
22
- function HeadingLink(_ref) {
23
- var children = _ref.children,
24
- level = _ref.level,
25
- as = _ref.as;
26
- var elementId = (0, _slugify["default"])(children, {
27
- lower: true
28
- });
29
- return /*#__PURE__*/_react["default"].createElement(HeadingLinkContainer, {
30
- id: elementId
31
- }, /*#__PURE__*/_react["default"].createElement(HeadingAnchor, {
32
- href: "#".concat(elementId)
33
- }, linkIcon), /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
34
- weight: "bold",
35
- text: children,
36
- level: level,
37
- as: as
38
- }));
39
- }
40
-
41
- var linkIcon = /*#__PURE__*/_react["default"].createElement("svg", {
42
- "aria-hidden": "true",
43
- role: "img",
44
- viewBox: "0 0 16 16",
45
- width: "16",
46
- height: "16",
47
- fill: "currentColor"
48
- }, /*#__PURE__*/_react["default"].createElement("path", {
49
- fillRule: "evenodd",
50
- d: "M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"
51
- }));
52
-
53
- var HeadingLinkContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n scroll-margin-top: 64px;\n &:hover svg {\n opacity: 0.5;\n }\n"])));
54
-
55
- var HeadingAnchor = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: inherit;\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n padding: 8px;\n margin-left: -32px;\n & svg {\n width: 16px;\n height: 16px;\n opacity: 0;\n }\n &:focus {\n outline-color: #0095ff;\n outline-offset: -0.25rem;\n svg {\n opacity: 0.5;\n }\n }\n"])));
56
-
57
- var _default = HeadingLink;
58
- exports["default"] = _default;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import QuickNavContainerTypes from "./types";
3
- declare const DxcQuickNavContainer: ({ title, sections, startHeadingLevel }: QuickNavContainerTypes) => JSX.Element;
4
- export default DxcQuickNavContainer;
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
- var _QuickNav = _interopRequireDefault(require("../quick-nav/QuickNav"));
17
-
18
- var _Stack = _interopRequireDefault(require("../stack/Stack"));
19
-
20
- var _Section = _interopRequireDefault(require("./Section"));
21
-
22
- var _templateObject, _templateObject2, _templateObject3;
23
-
24
- var DxcQuickNavContainer = function DxcQuickNavContainer(_ref) {
25
- var title = _ref.title,
26
- sections = _ref.sections,
27
- _ref$startHeadingLeve = _ref.startHeadingLevel,
28
- startHeadingLevel = _ref$startHeadingLeve === void 0 ? 1 : _ref$startHeadingLeve;
29
-
30
- var getSubSectionsLinks = function getSubSectionsLinks(sections) {
31
- var linksList = [];
32
- sections.map(function (section) {
33
- if (section.subSections) {
34
- linksList.push({
35
- label: section.title,
36
- links: getSubSectionsLinks(section.subSections)
37
- });
38
- } else {
39
- linksList.push({
40
- label: section.title
41
- });
42
- }
43
- });
44
- return linksList;
45
- };
46
-
47
- return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ContentContainer, null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
48
- gutter: "xlarge"
49
- }, sections.map(function (section) {
50
- return /*#__PURE__*/_react["default"].createElement(_Section["default"], {
51
- title: section.title,
52
- subSections: section.subSections,
53
- level: startHeadingLevel,
54
- key: "section-".concat(section.title)
55
- }, section.content);
56
- }))), /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_QuickNav["default"], {
57
- title: title,
58
- links: getSubSectionsLinks(sections)
59
- })));
60
- };
61
-
62
- var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n width: 100%;\n"])));
63
-
64
- var ContentContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
65
-
66
- var QuickNavContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: calc(100vh - 150px);\n position: sticky;\n width: 300px;\n"])));
67
-
68
- var _default = DxcQuickNavContainer;
69
- exports["default"] = _default;
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- declare type SectionType = {
3
- title: string;
4
- level?: 1 | 2 | 3 | 4 | 5;
5
- subSections?: SectionType[];
6
- children?: React.ReactNode;
7
- };
8
- declare const Section: ({ title, subSections, level, children }: SectionType) => JSX.Element;
9
- export default Section;
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _Stack = _interopRequireDefault(require("../stack/Stack"));
13
-
14
- var _HeadingLink = _interopRequireDefault(require("./HeadingLink"));
15
-
16
- // @ts-nocheck
17
- var Section = function Section(_ref) {
18
- var title = _ref.title,
19
- subSections = _ref.subSections,
20
- level = _ref.level,
21
- children = _ref.children;
22
- return /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
23
- gutter: level === 1 ? "xlarge" : level === 2 ? "large" : "medium"
24
- }, /*#__PURE__*/_react["default"].createElement(_HeadingLink["default"], {
25
- level: level
26
- }, title), children, subSections === null || subSections === void 0 ? void 0 : subSections.map(function (subSection) {
27
- return /*#__PURE__*/_react["default"].createElement(Section, {
28
- key: "subSection-".concat(subSection.title),
29
- title: subSection.title,
30
- subSections: subSection.subSections,
31
- level: level + 1 <= 5 ? level + 1 : 5
32
- }, subSection.content);
33
- }));
34
- };
35
-
36
- var _default = Section;
37
- exports["default"] = _default;
@@ -1,34 +0,0 @@
1
- /// <reference types="react" />
2
- declare type Props = {
3
- /**
4
- * Title of the quick nav component.
5
- */
6
- title: string;
7
- /**
8
- * Sections to be shown as the content of the quick nav container.
9
- */
10
- sections: SectionType[];
11
- /**
12
- * The level of the first heading of the content.
13
- */
14
- startHeadingLevel?: 1 | 2 | 3 | 4 | 5;
15
- };
16
- declare type SectionType = {
17
- /**
18
- * Title of each section.
19
- */
20
- title: string;
21
- /**
22
- * Level of each section.
23
- */
24
- level?: 1 | 2 | 3 | 4 | 5;
25
- /**
26
- * Content of each section.
27
- */
28
- content?: React.ReactNode;
29
- /**
30
- * Subsections of each section.
31
- */
32
- subSections?: SectionType[];
33
- };
34
- export default Props;
package/radio/Radio.d.ts DELETED
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import RadioPropsType from "./types";
3
- declare const DxcRadio: ({ checked, value, label, labelPosition, name, disabled, onClick, required, margin, size, }: RadioPropsType) => JSX.Element;
4
- export default DxcRadio;
package/radio/Radio.js DELETED
@@ -1,173 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
23
-
24
- var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _utils = require("../common/utils.js");
29
-
30
- var _useTheme = _interopRequireDefault(require("../useTheme"));
31
-
32
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
-
34
- var _templateObject, _templateObject2;
35
-
36
- 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); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
39
-
40
- var DxcRadio = function DxcRadio(_ref) {
41
- var _ref$checked = _ref.checked,
42
- checked = _ref$checked === void 0 ? false : _ref$checked,
43
- value = _ref.value,
44
- _ref$label = _ref.label,
45
- label = _ref$label === void 0 ? "" : _ref$label,
46
- _ref$labelPosition = _ref.labelPosition,
47
- labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
48
- name = _ref.name,
49
- _ref$disabled = _ref.disabled,
50
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
51
- onClick = _ref.onClick,
52
- _ref$required = _ref.required,
53
- required = _ref$required === void 0 ? false : _ref$required,
54
- margin = _ref.margin,
55
- _ref$size = _ref.size,
56
- size = _ref$size === void 0 ? "fitContent" : _ref$size;
57
-
58
- var _useState = (0, _react.useState)(false),
59
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
60
- innerChecked = _useState2[0],
61
- setInnerChecked = _useState2[1];
62
-
63
- var colorsTheme = (0, _useTheme["default"])();
64
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
65
-
66
- var handlerRadioChange = function handlerRadioChange() {
67
- if (checked == null) {
68
- setInnerChecked(true);
69
- }
70
-
71
- if (typeof onClick === "function") {
72
- onClick(true);
73
- }
74
- };
75
-
76
- var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
77
- checked: checked || innerChecked,
78
- disabled: disabled,
79
- onClick: !disabled && handlerRadioChange || null,
80
- backgroundType: backgroundType
81
- }, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label);
82
-
83
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
84
- theme: colorsTheme.radio
85
- }, /*#__PURE__*/_react["default"].createElement(RadioContainer, {
86
- id: name,
87
- labelPosition: labelPosition,
88
- disabled: disabled,
89
- margin: margin,
90
- size: size,
91
- backgroundType: backgroundType
92
- }, labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
93
- checked: checked != null && checked || innerChecked,
94
- name: name,
95
- onClick: handlerRadioChange,
96
- value: value,
97
- disabled: disabled,
98
- disableRipple: true
99
- }), labelPosition === "after" && labelComponent));
100
- };
101
-
102
- var sizes = {
103
- small: "120px",
104
- medium: "240px",
105
- large: "480px",
106
- fillParent: "100%",
107
- fitContent: "unset"
108
- };
109
-
110
- var calculateWidth = function calculateWidth(margin, size) {
111
- if (size === "fillParent") {
112
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
113
- }
114
-
115
- return sizes[size];
116
- };
117
-
118
- var RadioContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n\n display: inline-flex;\n align-items: center;\n max-height: 42px;\n position: relative;\n vertical-align: top;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n .MuiButtonBase-root {\n width: auto;\n height: auto;\n padding: 10px;\n margin: 2px;\n ", ": ", ";\n padding-left: ", ";\n padding-right: ", ";\n margin-left: ", ";\n margin-right: ", ";\n .MuiIconButton-label {\n .MuiSvgIcon-root {\n height: ", ";\n width: ", ";\n }\n color: ", ";\n\n > div > :nth-child(2) path {\n color: ", ";\n }\n }\n\n &.Mui-focusVisible {\n background-color: transparent;\n .MuiSvgIcon-root {\n outline: ", "\n auto 1px;\n }\n }\n :hover {\n background-color: transparent;\n }\n .MuiTouchRipple-ripple {\n height: 40px !important;\n width: 40px !important;\n top: 0px !important;\n left: 0px !important;\n }\n }\n .MuiRadio-colorSecondary.Mui-checked {\n color: ", ";\n :hover {\n background-color: transparent;\n }\n }\n"])), function (props) {
119
- return calculateWidth(props.margin, props.size);
120
- }, function (props) {
121
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
122
- }, function (props) {
123
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
124
- }, function (props) {
125
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
126
- }, function (props) {
127
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
128
- }, function (props) {
129
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
130
- }, function (props) {
131
- return props.disabled === true ? "not-allowed" : "default";
132
- }, function (props) {
133
- return props.labelPosition === "after" ? "padding-right" : "padding-left";
134
- }, function (props) {
135
- return props.theme.circleLabelSpacing;
136
- }, function (props) {
137
- return props.labelPosition === "after" ? "0px" : "";
138
- }, function (props) {
139
- return props.labelPosition === "before" ? "0px" : "";
140
- }, function (props) {
141
- return props.labelPosition === "after" ? "0px" : "";
142
- }, function (props) {
143
- return props.labelPosition === "before" ? "0px" : "";
144
- }, function (props) {
145
- return props.theme.circleSize;
146
- }, function (props) {
147
- return props.theme.circleSize;
148
- }, function (props) {
149
- return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.colorOnDark : props.disabled && props.theme.disabledColor || props.theme.color;
150
- }, function (props) {
151
- return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.colorOnDark : props.disabled && props.theme.disabledColor || props.theme.color;
152
- }, function (props) {
153
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
154
- }, function (props) {
155
- return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.colorOnDark : props.disabled && props.theme.disabledColor || props.theme.color;
156
- });
157
-
158
- var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n color: ", ";\n cursor: ", ";\n"])), function (props) {
159
- return props.theme.fontFamily;
160
- }, function (props) {
161
- return props.theme.fontSize;
162
- }, function (props) {
163
- return props.theme.fontWeight;
164
- }, function (props) {
165
- return props.theme.fontStyle;
166
- }, function (props) {
167
- return props.backgroundType === "dark" ? props.disabled && props.theme.disabledFontColorOnDark || props.theme.fontColorOnDark : props.disabled && props.theme.disabledFontColor || props.theme.fontColor;
168
- }, function (props) {
169
- return props.disabled === true ? "not-allowed" : "pointer";
170
- });
171
-
172
- var _default = DxcRadio;
173
- exports["default"] = _default;
@@ -1,192 +0,0 @@
1
- import React from "react";
2
- import DxcRadio from "./Radio";
3
- import { BackgroundColorProvider } from "../BackgroundColorContext";
4
- import Title from "../../.storybook/components/Title";
5
- import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import DarkContainer from "../../.storybook/components/DarkSection";
7
- import { userEvent, within } from "@storybook/testing-library";
8
-
9
- export default {
10
- title: "Radio",
11
- component: DxcRadio,
12
- };
13
-
14
- const Radio = () => (
15
- <>
16
- <>
17
- <ExampleContainer>
18
- <Title title="Default" theme="light" level={4} />
19
- <DxcRadio label="Radio" />
20
- </ExampleContainer>
21
- <ExampleContainer>
22
- <Title title="Focused" theme="light" level={4} />
23
- <DxcRadio label="Focused" />
24
- </ExampleContainer>
25
- <ExampleContainer>
26
- <Title title="Checked" theme="light" level={4} />
27
- <DxcRadio label="Radio" checked />
28
- </ExampleContainer>
29
- <ExampleContainer>
30
- <Title title="Required" theme="light" level={4} />
31
- <DxcRadio label="Radio" required />
32
- </ExampleContainer>
33
- <ExampleContainer>
34
- <Title title="Disabled and checked" theme="light" level={4} />
35
- <DxcRadio label="Radio" disabled checked />
36
- </ExampleContainer>
37
- <ExampleContainer>
38
- <Title title="Disabled and required" theme="light" level={4} />
39
- <DxcRadio label="Radio" disabled required />
40
- </ExampleContainer>
41
- <ExampleContainer>
42
- <Title title="Disabled, required and checked" theme="light" level={4} />
43
- <DxcRadio label="Radio" disabled required checked />
44
- </ExampleContainer>
45
- <ExampleContainer>
46
- <Title title="Label after" theme="light" level={4} />
47
- <DxcRadio label="Radio" labelPosition="after" />
48
- </ExampleContainer>
49
- <ExampleContainer>
50
- <Title title="Checked with label after" theme="light" level={4} />
51
- <DxcRadio label="Radio" checked labelPosition="after" />
52
- </ExampleContainer>
53
- <ExampleContainer>
54
- <Title title="Required with label after" theme="light" level={4} />
55
- <DxcRadio label="Radio" required labelPosition="after" />
56
- </ExampleContainer>
57
- <ExampleContainer>
58
- <Title title="Disabled and checked with label after" theme="light" level={4} />
59
- <DxcRadio label="Radio" disabled checked labelPosition="after" />
60
- </ExampleContainer>
61
- <ExampleContainer>
62
- <Title title="Disabled and required with label after" theme="light" level={4} />
63
- <DxcRadio label="Radio" disabled required labelPosition="after" />
64
- </ExampleContainer>
65
- <ExampleContainer>
66
- <Title title="Disabled, required and checked with label after" theme="light" level={4} />
67
- <DxcRadio label="Radio" disabled required checked labelPosition="after" />
68
- </ExampleContainer>
69
- <ExampleContainer pseudoState="pseudo-hover">
70
- <Title title="Hovered" theme="light" level={4} />
71
- <DxcRadio label="Hovered" />
72
- </ExampleContainer>
73
- <ExampleContainer pseudoState="pseudo-hover">
74
- <Title title="Hovered and checked" theme="light" level={4} />
75
- <DxcRadio label="Hovered" checked />
76
- </ExampleContainer>
77
- </>
78
- <BackgroundColorProvider color="#333333">
79
- <DarkContainer>
80
- <>
81
- <ExampleContainer>
82
- <Title title="Default" theme="dark" level={4} />
83
- <DxcRadio label="Radio" />
84
- </ExampleContainer>
85
- <ExampleContainer>
86
- <Title title="Checked" theme="dark" level={4} />
87
- <DxcRadio label="Radio" checked />
88
- </ExampleContainer>
89
- <ExampleContainer>
90
- <Title title="Required" theme="dark" level={4} />
91
- <DxcRadio label="Radio" required />
92
- </ExampleContainer>
93
- <ExampleContainer>
94
- <Title title="Disabled and checked" theme="dark" level={4} />
95
- <DxcRadio label="Radio" disabled checked />
96
- </ExampleContainer>
97
- <ExampleContainer>
98
- <Title title="Disabled and required" theme="dark" level={4} />
99
- <DxcRadio label="Radio" disabled required />
100
- </ExampleContainer>
101
- <ExampleContainer>
102
- <Title title="Disabled, required and checked" theme="dark" level={4} />
103
- <DxcRadio label="Radio" disabled required checked />
104
- </ExampleContainer>
105
- <ExampleContainer>
106
- <Title title="Label after" theme="dark" level={4} />
107
- <DxcRadio label="Radio" labelPosition="after" />
108
- </ExampleContainer>
109
- <ExampleContainer>
110
- <Title title="Checked with label after" theme="dark" level={4} />
111
- <DxcRadio label="Radio" checked labelPosition="after" />
112
- </ExampleContainer>
113
- <ExampleContainer>
114
- <Title title="Required with label after" theme="dark" level={4} />
115
- <DxcRadio label="Radio" required labelPosition="after" />
116
- </ExampleContainer>
117
- <ExampleContainer>
118
- <Title title="Disabled and checked with label after" theme="dark" level={4} />
119
- <DxcRadio label="Radio" disabled checked labelPosition="after" />
120
- </ExampleContainer>
121
- <ExampleContainer>
122
- <Title title="Disabled and required with label after" theme="dark" level={4} />
123
- <DxcRadio label="Radio" disabled required labelPosition="after" />
124
- </ExampleContainer>
125
- <ExampleContainer>
126
- <Title title="Disabled, required and checked with label after" theme="dark" level={4} />
127
- <DxcRadio label="Radio" disabled required checked labelPosition="after" />
128
- </ExampleContainer>
129
- <ExampleContainer pseudoState="pseudo-hover">
130
- <Title title="Hovered" theme="dark" level={4} />
131
- <DxcRadio label="Hovered" />
132
- </ExampleContainer>
133
- <ExampleContainer pseudoState="pseudo-hover">
134
- <Title title="Hovered and checked" theme="dark" level={4} />
135
- <DxcRadio label="Hovered" checked />
136
- </ExampleContainer>
137
- </>
138
- </DarkContainer>
139
- </BackgroundColorProvider>
140
- <Title title="Sizes" theme="light" level={2} />
141
- <ExampleContainer>
142
- <DxcRadio label="Small" size="small" />
143
- </ExampleContainer>
144
- <ExampleContainer>
145
- <DxcRadio label="Medium" size="medium" />
146
- </ExampleContainer>
147
- <ExampleContainer>
148
- <DxcRadio label="Large" size="large" />
149
- </ExampleContainer>
150
- <ExampleContainer>
151
- <DxcRadio label="FitContent" size="fitContent" />
152
- </ExampleContainer>
153
- <ExampleContainer>
154
- <DxcRadio label="FillParent" size="fillParent" />
155
- </ExampleContainer>
156
- <Title title="Margins" theme="light" level={2} />
157
- <ExampleContainer>
158
- <Title title="Xxsmall" theme="light" level={4} />
159
- <DxcRadio label="Xxsmall" margin={"xxsmall"} />
160
- </ExampleContainer>
161
- <ExampleContainer>
162
- <Title title="Xsmall" theme="light" level={4} />
163
- <DxcRadio label="Xsmall" margin={"xsmall"} />
164
- </ExampleContainer>
165
- <ExampleContainer>
166
- <Title title="Small" theme="light" level={4} />
167
- <DxcRadio label="Small" margin={"small"} />
168
- </ExampleContainer>
169
- <ExampleContainer>
170
- <Title title="Medium" theme="light" level={4} />
171
- <DxcRadio label="Medium" margin={"medium"} />
172
- </ExampleContainer>
173
- <ExampleContainer>
174
- <Title title="Large" theme="light" level={4} />
175
- <DxcRadio label="Large" margin={"large"} />
176
- </ExampleContainer>
177
- <ExampleContainer>
178
- <Title title="Xlarge" theme="light" level={4} />
179
- <DxcRadio label="Xlarge" margin={"xlarge"} />
180
- </ExampleContainer>
181
- <ExampleContainer>
182
- <Title title="Xxlarge" theme="light" level={4} />
183
- <DxcRadio label="Xxlarge" margin={"xxlarge"} />
184
- </ExampleContainer>
185
- </>
186
- );
187
-
188
- export const Chromatic = Radio.bind({});
189
- Chromatic.play = async () => {
190
- await userEvent.tab();
191
- await userEvent.tab();
192
- };