@dxc-technology/halstack-react 0.0.0-b03a399 → 0.0.0-b0616f2
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.
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.js +122 -103
- package/accordion/Accordion.stories.tsx +5 -6
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +4 -4
- package/accordion-group/AccordionGroup.js +2 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +9 -3
- package/alert/Alert.js +5 -2
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +23 -33
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +46 -62
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +34 -36
- package/checkbox/Checkbox.js +89 -95
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +2 -2
- package/chip/types.d.ts +1 -1
- package/common/variables.js +232 -96
- package/date-input/DateInput.js +8 -5
- package/dialog/Dialog.js +52 -28
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +243 -247
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +510 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.js +9 -6
- package/file-input/FileItem.js +7 -5
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +7 -5
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +1 -1
- package/header/Header.js +80 -75
- package/header/Header.stories.tsx +4 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +70 -117
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -70
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +7 -10
- package/main.js +43 -61
- package/number-input/types.d.ts +1 -1
- package/package.json +10 -8
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +42 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +1 -2
- package/password-input/types.d.ts +1 -1
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +74 -20
- package/quick-nav/QuickNav.stories.tsx +43 -16
- package/quick-nav/types.d.ts +4 -4
- package/radio-group/Radio.js +1 -1
- package/radio-group/RadioGroup.js +21 -20
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +58 -8
- package/select/Select.js +78 -90
- package/select/Select.stories.tsx +145 -100
- package/select/Select.test.js +362 -244
- package/select/types.d.ts +2 -5
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -156
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.js +114 -93
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +2 -2
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +114 -55
- package/switch/Switch.stories.tsx +8 -30
- package/switch/Switch.test.js +122 -8
- package/switch/types.d.ts +3 -4
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +74 -6
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +15 -5
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{row → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +140 -273
- package/text-input/TextInput.stories.tsx +189 -182
- package/text-input/TextInput.test.js +164 -163
- package/text-input/types.d.ts +28 -2
- package/textarea/Textarea.js +10 -19
- package/textarea/types.d.ts +1 -1
- package/toggle-group/types.d.ts +1 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/{stack → typography}/types.js +0 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +36 -41
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/types.d.ts +5 -4
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -173
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
19
|
+
|
|
20
|
+
var _Typography = _interopRequireDefault(require("../typography/Typography"));
|
|
21
|
+
|
|
22
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
|
+
|
|
24
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
25
|
+
|
|
26
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
27
|
+
|
|
28
|
+
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); }
|
|
29
|
+
|
|
30
|
+
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
|
+
|
|
32
|
+
var BulletedListItem = function BulletedListItem(_ref) {
|
|
33
|
+
var children = _ref.children;
|
|
34
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var DxcBulletedList = function DxcBulletedList(_ref2) {
|
|
38
|
+
var children = _ref2.children,
|
|
39
|
+
_ref2$type = _ref2.type,
|
|
40
|
+
type = _ref2$type === void 0 ? "disc" : _ref2$type,
|
|
41
|
+
_ref2$icon = _ref2.icon,
|
|
42
|
+
icon = _ref2$icon === void 0 ? "" : _ref2$icon;
|
|
43
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
44
|
+
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
45
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
46
|
+
theme: colorsTheme.bulletedList
|
|
47
|
+
}, /*#__PURE__*/_react["default"].createElement(ListContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
48
|
+
direction: "column",
|
|
49
|
+
as: type === "number" ? "ol" : "ul",
|
|
50
|
+
gap: "0.125rem"
|
|
51
|
+
}, _react["default"].Children.map(children, function (child, index) {
|
|
52
|
+
return /*#__PURE__*/_react["default"].createElement(ListItem, null, /*#__PURE__*/_react["default"].createElement(GeneralContent, null, type === "number" ? /*#__PURE__*/_react["default"].createElement(Number, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
53
|
+
color: backgroundType && backgroundType === "dark" ? colorsTheme.bulletedList.fontColorOnDark : colorsTheme.bulletedList.fontColor
|
|
54
|
+
}, index + 1, ".")) : type === "square" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Square, {
|
|
55
|
+
backgroundType: backgroundType
|
|
56
|
+
})) : type === "circle" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Circle, {
|
|
57
|
+
backgroundType: backgroundType
|
|
58
|
+
})) : type === "icon" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
59
|
+
backgroundType: backgroundType
|
|
60
|
+
}, icon)) : /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Disc, {
|
|
61
|
+
backgroundType: backgroundType
|
|
62
|
+
})), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
63
|
+
color: backgroundType && backgroundType === "dark" ? colorsTheme.bulletedList.fontColorOnDark : colorsTheme.bulletedList.fontColor
|
|
64
|
+
}, child)));
|
|
65
|
+
}))));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
DxcBulletedList.Item = BulletedListItem;
|
|
69
|
+
|
|
70
|
+
var ListContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ul,\n ol {\n padding: 0;\n margin: 0;\n }\n"])));
|
|
71
|
+
|
|
72
|
+
var Bullet = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: flex-start;\n align-items: center;\n height: 1.5rem;\n"])));
|
|
73
|
+
|
|
74
|
+
var GeneralContent = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n"])));
|
|
75
|
+
|
|
76
|
+
var Icon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n width: auto;\n margin-right: ", ";\n align-content: center;\n color: ", ";\n & > svg {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
|
|
77
|
+
return props.theme.bulletMarginRight;
|
|
78
|
+
}, function (props) {
|
|
79
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
80
|
+
}, function (props) {
|
|
81
|
+
return props.theme.bulletIconHeight;
|
|
82
|
+
}, function (props) {
|
|
83
|
+
return props.theme.bulletIconWidth;
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
var Number = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n user-select: none;\n margin-right: ", ";\n display: flex;\n box-sizing: border-box;\n align-self: flex-start;\n min-width: 0;\n"])), function (props) {
|
|
87
|
+
return props.theme.bulletMarginRight;
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
var Square = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: ", ";\n width: ", ";\n margin-right: ", ";\n"])), function (props) {
|
|
91
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
92
|
+
}, function (props) {
|
|
93
|
+
return props.theme.bulletHeight;
|
|
94
|
+
}, function (props) {
|
|
95
|
+
return props.theme.bulletWidth;
|
|
96
|
+
}, function (props) {
|
|
97
|
+
return props.theme.bulletMarginRight;
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
var Circle = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n border-radius: 50%;\n border: 1px solid;\n border-color: ", ";\n margin-right: ", ";\n"])), function (props) {
|
|
101
|
+
return props.theme.bulletHeight;
|
|
102
|
+
}, function (props) {
|
|
103
|
+
return props.theme.bulletWidth;
|
|
104
|
+
}, function (props) {
|
|
105
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
106
|
+
}, function (props) {
|
|
107
|
+
return props.theme.bulletMarginRight;
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
var Disc = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 50%;\n margin-right: ", ";\n"])), function (props) {
|
|
111
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
112
|
+
}, function (props) {
|
|
113
|
+
return props.theme.bulletHeight;
|
|
114
|
+
}, function (props) {
|
|
115
|
+
return props.theme.bulletWidth;
|
|
116
|
+
}, function (props) {
|
|
117
|
+
return props.theme.bulletMarginRight;
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
var ListItem = _styledComponents["default"].li(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px;\n padding: 0px;\n list-style: none;\n display: flex;\n font-size: 1em;\n"])));
|
|
121
|
+
|
|
122
|
+
var _default = DxcBulletedList;
|
|
123
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
import DxcBulletedList from "./BulletedList";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "BulletedList",
|
|
10
|
+
component: DxcBulletedList,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const icon = (
|
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
15
|
+
<path d="M0 0h24v24H0V0z" fill="none" />
|
|
16
|
+
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" />
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
export const Chromatic = () => (
|
|
21
|
+
<>
|
|
22
|
+
<ExampleContainer>
|
|
23
|
+
<Title title="Icon list" level={4} />
|
|
24
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
25
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
26
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
27
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
28
|
+
</DxcBulletedList>
|
|
29
|
+
<Title title="Number list" level={4} />
|
|
30
|
+
<DxcBulletedList type="number">
|
|
31
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
32
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
33
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
34
|
+
</DxcBulletedList>
|
|
35
|
+
<Title title="Square" level={4} />
|
|
36
|
+
<DxcBulletedList type="square">
|
|
37
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
38
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
39
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
40
|
+
</DxcBulletedList>
|
|
41
|
+
<Title title="Circle" level={4} />
|
|
42
|
+
<DxcBulletedList type="circle">
|
|
43
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
44
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
45
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
46
|
+
</DxcBulletedList>
|
|
47
|
+
<Title title="Disc" level={4} />
|
|
48
|
+
<DxcBulletedList>
|
|
49
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
50
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
51
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
52
|
+
</DxcBulletedList>
|
|
53
|
+
<Title title="Multiple lines" level={4} />
|
|
54
|
+
<Container>
|
|
55
|
+
<Title title="Number" level={4} />
|
|
56
|
+
<DxcBulletedList type="number">
|
|
57
|
+
<DxcBulletedList.Item>
|
|
58
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
59
|
+
dolore magna aliqua.
|
|
60
|
+
</DxcBulletedList.Item>
|
|
61
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
62
|
+
</DxcBulletedList>
|
|
63
|
+
</Container>
|
|
64
|
+
<Container>
|
|
65
|
+
<Title title="Square" level={4} />
|
|
66
|
+
<DxcBulletedList type="square">
|
|
67
|
+
<DxcBulletedList.Item>
|
|
68
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
69
|
+
dolore magna aliqua.
|
|
70
|
+
</DxcBulletedList.Item>
|
|
71
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
72
|
+
</DxcBulletedList>
|
|
73
|
+
</Container>
|
|
74
|
+
<Container>
|
|
75
|
+
<Title title="Circle" level={4} />
|
|
76
|
+
<DxcBulletedList type="circle">
|
|
77
|
+
<DxcBulletedList.Item>
|
|
78
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
79
|
+
dolore magna aliqua.
|
|
80
|
+
</DxcBulletedList.Item>
|
|
81
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
82
|
+
</DxcBulletedList>
|
|
83
|
+
</Container>
|
|
84
|
+
<Title title="Disc" level={4} />
|
|
85
|
+
<Container>
|
|
86
|
+
<DxcBulletedList>
|
|
87
|
+
<DxcBulletedList.Item>
|
|
88
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
89
|
+
dolore magna aliqua.
|
|
90
|
+
</DxcBulletedList.Item>
|
|
91
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
92
|
+
</DxcBulletedList>
|
|
93
|
+
</Container>
|
|
94
|
+
<Container>
|
|
95
|
+
<Title title="Icon" level={4} />
|
|
96
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
97
|
+
<DxcBulletedList.Item>
|
|
98
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
99
|
+
dolore magna aliqua.
|
|
100
|
+
</DxcBulletedList.Item>
|
|
101
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
102
|
+
</DxcBulletedList>
|
|
103
|
+
</Container>
|
|
104
|
+
</ExampleContainer>
|
|
105
|
+
<BackgroundColorProvider color="#333333">
|
|
106
|
+
<DarkContainerForBulletedList>
|
|
107
|
+
<Title title="Icon list" theme="dark" level={4} />
|
|
108
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
109
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
110
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
111
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
112
|
+
</DxcBulletedList>
|
|
113
|
+
<Title title="Number list" theme="dark" level={4} />
|
|
114
|
+
<DxcBulletedList type="number">
|
|
115
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
116
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
117
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
118
|
+
</DxcBulletedList>
|
|
119
|
+
<Title title="Square" theme="dark" level={4} />
|
|
120
|
+
<DxcBulletedList type="square">
|
|
121
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
122
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
123
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
124
|
+
</DxcBulletedList>
|
|
125
|
+
<Title title="Circle" theme="dark" level={4} />
|
|
126
|
+
<DxcBulletedList type="circle">
|
|
127
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
128
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
129
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
130
|
+
</DxcBulletedList>
|
|
131
|
+
<Title title="Disc" theme="dark" level={4} />
|
|
132
|
+
<DxcBulletedList>
|
|
133
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
134
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
135
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
136
|
+
</DxcBulletedList>
|
|
137
|
+
<Title title="Multiple lines" theme="dark" level={4} />
|
|
138
|
+
<Container>
|
|
139
|
+
<Title title="Number" theme="dark" level={4} />
|
|
140
|
+
<DxcBulletedList type="number">
|
|
141
|
+
<DxcBulletedList.Item>
|
|
142
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
143
|
+
dolore magna aliqua.
|
|
144
|
+
</DxcBulletedList.Item>
|
|
145
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
146
|
+
</DxcBulletedList>
|
|
147
|
+
</Container>
|
|
148
|
+
<Container>
|
|
149
|
+
<Title title="Square" theme="dark" level={4} />
|
|
150
|
+
<DxcBulletedList type="square">
|
|
151
|
+
<DxcBulletedList.Item>
|
|
152
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
153
|
+
dolore magna aliqua.
|
|
154
|
+
</DxcBulletedList.Item>
|
|
155
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
156
|
+
</DxcBulletedList>
|
|
157
|
+
</Container>
|
|
158
|
+
<Container>
|
|
159
|
+
<Title title="Circle" theme="dark" level={4} />
|
|
160
|
+
<DxcBulletedList type="circle">
|
|
161
|
+
<DxcBulletedList.Item>
|
|
162
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
163
|
+
dolore magna aliqua.
|
|
164
|
+
</DxcBulletedList.Item>
|
|
165
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
166
|
+
</DxcBulletedList>
|
|
167
|
+
</Container>
|
|
168
|
+
<Title title="Disc" theme="dark" level={4} />
|
|
169
|
+
<Container>
|
|
170
|
+
<DxcBulletedList>
|
|
171
|
+
<DxcBulletedList.Item>
|
|
172
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
173
|
+
dolore magna aliqua.
|
|
174
|
+
</DxcBulletedList.Item>
|
|
175
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
176
|
+
</DxcBulletedList>
|
|
177
|
+
</Container>
|
|
178
|
+
<Container>
|
|
179
|
+
<Title title="Icon" theme="dark" level={4} />
|
|
180
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
181
|
+
<DxcBulletedList.Item>
|
|
182
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
183
|
+
dolore magna aliqua.
|
|
184
|
+
</DxcBulletedList.Item>
|
|
185
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
186
|
+
</DxcBulletedList>
|
|
187
|
+
</Container>
|
|
188
|
+
</DarkContainerForBulletedList>
|
|
189
|
+
</BackgroundColorProvider>
|
|
190
|
+
</>
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
const Container = styled.div`
|
|
194
|
+
width: 400px;
|
|
195
|
+
`;
|
|
196
|
+
|
|
197
|
+
const DarkContainerForBulletedList = styled.div`
|
|
198
|
+
background-color: #333333;
|
|
199
|
+
padding: 5px;
|
|
200
|
+
`;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type SVG = React.ReactNode & (React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>);
|
|
3
|
+
declare type Props = {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
type?: "disc" | "circle" | "square" | "number" | "icon";
|
|
6
|
+
icon?: string | SVG;
|
|
7
|
+
};
|
|
8
|
+
export default Props;
|
|
9
|
+
export declare type BulletedListItemPropsType = {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
};
|
|
File without changes
|
package/button/Button.js
CHANGED
|
@@ -15,8 +15,6 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
15
15
|
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
18
|
-
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
19
|
-
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
19
|
|
|
22
20
|
var _variables = require("../common/variables.js");
|
|
@@ -33,6 +31,22 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
33
31
|
|
|
34
32
|
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; }
|
|
35
33
|
|
|
34
|
+
var sizes = {
|
|
35
|
+
small: "42px",
|
|
36
|
+
medium: "120px",
|
|
37
|
+
large: "240px",
|
|
38
|
+
fillParent: "100%",
|
|
39
|
+
fitContent: "fit-content"
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var calculateWidth = function calculateWidth(margin, size) {
|
|
43
|
+
if (size === "fillParent") {
|
|
44
|
+
return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return sizes[size];
|
|
48
|
+
};
|
|
49
|
+
|
|
36
50
|
var DxcButton = function DxcButton(_ref) {
|
|
37
51
|
var _ref$label = _ref.label,
|
|
38
52
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -45,12 +59,14 @@ var DxcButton = function DxcButton(_ref) {
|
|
|
45
59
|
_ref$type = _ref.type,
|
|
46
60
|
type = _ref$type === void 0 ? "button" : _ref$type,
|
|
47
61
|
icon = _ref.icon,
|
|
48
|
-
|
|
62
|
+
_ref$onClick = _ref.onClick,
|
|
63
|
+
_onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
|
|
49
64
|
margin = _ref.margin,
|
|
50
65
|
_ref$size = _ref.size,
|
|
51
66
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
52
67
|
_ref$tabIndex = _ref.tabIndex,
|
|
53
68
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
69
|
+
|
|
54
70
|
var colorsTheme = (0, _useTheme["default"])();
|
|
55
71
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
56
72
|
|
|
@@ -61,21 +77,15 @@ var DxcButton = function DxcButton(_ref) {
|
|
|
61
77
|
|
|
62
78
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
63
79
|
theme: colorsTheme.button
|
|
64
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(Button, {
|
|
65
81
|
type: type,
|
|
66
|
-
margin: margin,
|
|
67
82
|
mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
|
|
68
83
|
disabled: disabled,
|
|
69
|
-
iconPosition: iconPosition,
|
|
70
|
-
size: size,
|
|
71
|
-
backgroundType: backgroundType,
|
|
72
|
-
icon: icon
|
|
73
|
-
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
74
|
-
type: type,
|
|
75
|
-
disabled: disabled,
|
|
76
|
-
disableRipple: true,
|
|
77
84
|
"aria-disabled": disabled,
|
|
78
85
|
tabIndex: disabled ? -1 : tabIndex,
|
|
86
|
+
backgroundType: backgroundType,
|
|
87
|
+
size: size,
|
|
88
|
+
margin: margin,
|
|
79
89
|
onClick: function onClick() {
|
|
80
90
|
_onClick();
|
|
81
91
|
}
|
|
@@ -84,44 +94,10 @@ var DxcButton = function DxcButton(_ref) {
|
|
|
84
94
|
iconPosition: iconPosition
|
|
85
95
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
|
|
86
96
|
src: icon
|
|
87
|
-
}) : icon), label && iconPosition === "before" && labelComponent))
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
var sizes = {
|
|
91
|
-
small: "42px",
|
|
92
|
-
medium: "120px",
|
|
93
|
-
large: "240px",
|
|
94
|
-
fillParent: "100%",
|
|
95
|
-
fitContent: "unset"
|
|
97
|
+
}) : icon), label && iconPosition === "before" && labelComponent));
|
|
96
98
|
};
|
|
97
99
|
|
|
98
|
-
var
|
|
99
|
-
if (size === "fillParent") {
|
|
100
|
-
return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
return sizes[size];
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n white-space: nowrap;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
107
|
-
return props.theme.labelFontLineHeight;
|
|
108
|
-
}, function (props) {
|
|
109
|
-
return props.theme.fontSize;
|
|
110
|
-
}, function (props) {
|
|
111
|
-
return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
|
|
112
|
-
}, function (props) {
|
|
113
|
-
return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
117
|
-
return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
|
|
118
|
-
}, function (props) {
|
|
119
|
-
return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
var ButtonIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
123
|
-
|
|
124
|
-
var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"])), function (props) {
|
|
100
|
+
var Button = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-flex;\n width: ", ";\n height: 40px;\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n cursor: pointer;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px\n ", ";\n }\n ", "\n"])), function (props) {
|
|
125
101
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
126
102
|
}, function (props) {
|
|
127
103
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -133,8 +109,6 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
|
|
|
133
109
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
134
110
|
}, function (props) {
|
|
135
111
|
return calculateWidth(props.margin, props.size);
|
|
136
|
-
}, function (props) {
|
|
137
|
-
return props.disabled && "not-allowed" || "pointer";
|
|
138
112
|
}, function (props) {
|
|
139
113
|
return props.theme.paddingLeft;
|
|
140
114
|
}, function (props) {
|
|
@@ -151,22 +125,32 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
|
|
|
151
125
|
return props.theme.fontWeight;
|
|
152
126
|
}, function (props) {
|
|
153
127
|
return props.theme.labelLetterSpacing;
|
|
154
|
-
}, function (props) {
|
|
155
|
-
return props.size === "small" && "calc(100% - 22px)" || "unset";
|
|
156
128
|
}, function (props) {
|
|
157
129
|
return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
|
|
158
130
|
}, function (props) {
|
|
159
131
|
var mode = props.mode,
|
|
160
|
-
backgroundType = props.backgroundType
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
132
|
+
backgroundType = props.backgroundType,
|
|
133
|
+
disabled = props.disabled;
|
|
134
|
+
return "\n border-radius: ".concat(props.mode === "primary" ? props.theme.primaryBorderRadius : props.mode === "secondary" ? props.theme.secondaryBorderRadius : props.theme.textBorderRadius, ";\n border-width: ").concat(props.mode === "primary" ? props.theme.primaryBorderThickness : props.mode === "secondary" ? props.theme.secondaryBorderThickness : props.theme.textBorderThickness, ";\n border-style: ").concat(mode === "primary" ? props.theme.primaryBorderStyle : mode === "secondary" ? props.theme.secondaryBorderStyle : props.theme.textBorderStyle, ";\n font-family: ").concat(mode === "primary" ? props.theme.primaryFontFamily : mode === "secondary" ? props.theme.secondaryFontFamily : props.theme.textFontFamily, ";\n font-size: ").concat(mode === "primary" ? props.theme.primaryFontSize : mode === "secondary" ? props.theme.secondaryFontSize : props.theme.textFontSize, ";\n font-weight: ").concat(mode === "primary" ? props.theme.primaryFontWeight : mode === "secondary" ? props.theme.secondaryFontWeight : props.theme.textFontWeight, ";\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor : backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor : backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, ";\n border-color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor : "", ";\n &:hover {\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor : backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n }\n &:focus {\n border-color: ").concat(mode === "secondary" ? "transparent" : "", ";\n }\n &:active {\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor : backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, ";\n color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n border-color: ").concat(mode === "secondary" ? "transparent" : "", ";\n outline: none;\n box-shadow: ").concat(!disabled ? "0 0 0 2px ".concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor) : "", ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor : backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor : backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, ";\n border-color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor : "", ";\n }\n ");
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n white-space: nowrap;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
138
|
+
return props.theme.labelFontLineHeight;
|
|
139
|
+
}, function (props) {
|
|
140
|
+
return props.theme.fontSize;
|
|
141
|
+
}, function (props) {
|
|
142
|
+
return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
|
|
143
|
+
}, function (props) {
|
|
144
|
+
return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
|
|
169
145
|
});
|
|
170
146
|
|
|
147
|
+
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
148
|
+
return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
|
|
149
|
+
}, function (props) {
|
|
150
|
+
return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
var ButtonIcon = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])));
|
|
154
|
+
|
|
171
155
|
var _default = DxcButton;
|
|
172
156
|
exports["default"] = _default;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcButton from "./Button";
|
|
3
|
+
import DxcFlex from "./../flex/Flex";
|
|
3
4
|
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
4
5
|
import Title from "../../.storybook/components/Title";
|
|
5
6
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
@@ -270,5 +271,13 @@ export const Chromatic = () => (
|
|
|
270
271
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
271
272
|
<DxcButton label="Xxlarge margin" margin="xxlarge" />
|
|
272
273
|
</ExampleContainer>
|
|
274
|
+
<Title title="Inside a flex" theme="light" level={2} />
|
|
275
|
+
<ExampleContainer>
|
|
276
|
+
<DxcFlex direction="column" gap="0.75rem">
|
|
277
|
+
<DxcButton label="Button" />
|
|
278
|
+
<DxcButton label="Button" />
|
|
279
|
+
<DxcButton label="Button" />
|
|
280
|
+
</DxcFlex>
|
|
281
|
+
</ExampleContainer>
|
|
273
282
|
</>
|
|
274
283
|
);
|
package/button/types.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
-
declare type Margin = {
|
|
2
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
export declare type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
9
|
+
export declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
10
|
declare type Props = {
|
|
11
11
|
/**
|
|
12
|
-
* Text to be placed
|
|
12
|
+
* Text to be placed in the button.
|
|
13
13
|
*/
|
|
14
14
|
label?: string;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* The available button modes.
|
|
17
17
|
*/
|
|
18
18
|
mode?: "primary" | "secondary" | "text";
|
|
19
19
|
/**
|
|
@@ -25,11 +25,11 @@ declare type Props = {
|
|
|
25
25
|
*/
|
|
26
26
|
iconPosition?: "before" | "after";
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* 'type' html prop of the button.
|
|
29
29
|
*/
|
|
30
30
|
type?: "button" | "reset" | "submit";
|
|
31
31
|
/**
|
|
32
|
-
* Element or path used as the icon that will be placed next to the
|
|
32
|
+
* Element or path used as the icon that will be placed next to the label.
|
|
33
33
|
*/
|
|
34
34
|
icon?: string | SVG;
|
|
35
35
|
/**
|