@dxc-technology/halstack-react 0.0.0-301f60b → 0.0.0-335f028
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 +10 -0
- package/{ThemeContext.js → HalstackContext.js} +6 -6
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +7 -28
- package/accordion/Accordion.stories.tsx +11 -11
- package/accordion/Accordion.test.js +19 -4
- package/accordion/types.d.ts +4 -0
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +4 -0
- package/bleed/types.d.ts +24 -0
- package/button/Button.js +14 -11
- package/card/Card.js +27 -28
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +40 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +13 -0
- package/checkbox/types.d.ts +7 -3
- package/common/variables.js +6 -7
- package/date-input/DateInput.js +50 -39
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +69 -59
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +4 -32
- package/dropdown/Dropdown.js +13 -17
- package/footer/Footer.js +10 -85
- package/header/Header.js +20 -44
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/inset/types.d.ts +24 -0
- package/layout/ApplicationLayout.js +5 -18
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -56
- package/link/Link.stories.tsx +87 -52
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +8 -23
- package/main.d.ts +3 -2
- package/main.js +13 -5
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +16 -9
- package/package.json +6 -5
- package/password-input/PasswordInput.test.js +2 -4
- package/password-input/types.d.ts +13 -10
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +64 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.js +10 -11
- package/row/types.d.ts +18 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +148 -0
- package/select/Option.js +1 -1
- package/select/Select.js +71 -156
- package/select/Select.stories.tsx +19 -19
- package/select/Select.test.js +405 -248
- package/select/types.d.ts +42 -12
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +31 -10
- package/slider/types.d.ts +4 -0
- package/stack/types.d.ts +15 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +32 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +25 -0
- package/switch/types.d.ts +6 -2
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +26 -9
- package/tabs/types.d.ts +4 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/text-input/TextInput.js +2 -4
- package/text-input/TextInput.test.js +21 -34
- package/text-input/types.d.ts +13 -10
- package/textarea/Textarea.js +2 -4
- package/textarea/Textarea.test.js +10 -20
- package/textarea/types.d.ts +13 -10
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +8 -0
- package/useTheme.js +2 -2
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +28 -19
- package/wizard/Wizard.stories.tsx +13 -23
- package/wizard/Wizard.test.js +36 -23
- package/wizard/types.d.ts +6 -2
- package/ThemeContext.d.ts +0 -10
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const HalstackContext: React.Context<object>;
|
|
3
|
+
declare type HalstackProviderPropsType = {
|
|
4
|
+
theme?: object;
|
|
5
|
+
advancedTheme?: object;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
};
|
|
8
|
+
declare const HalstackProvider: ({ theme, advancedTheme, children }: HalstackProviderPropsType) => JSX.Element;
|
|
9
|
+
export default HalstackContext;
|
|
10
|
+
export { HalstackProvider };
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports["default"] = exports.
|
|
10
|
+
exports["default"] = exports.HalstackProvider = void 0;
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
@@ -27,7 +27,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
27
|
|
|
28
28
|
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; }
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var HalstackContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
31
31
|
|
|
32
32
|
var addLightness = function addLightness(hexColor, newLightness) {
|
|
33
33
|
try {
|
|
@@ -223,21 +223,21 @@ var parseTheme = function parseTheme(theme) {
|
|
|
223
223
|
return componentTokensCopy;
|
|
224
224
|
};
|
|
225
225
|
|
|
226
|
-
var
|
|
226
|
+
var HalstackProvider = function HalstackProvider(_ref) {
|
|
227
227
|
var theme = _ref.theme,
|
|
228
228
|
advancedTheme = _ref.advancedTheme,
|
|
229
229
|
children = _ref.children;
|
|
230
230
|
var parsedTheme = (0, _react.useMemo)(function () {
|
|
231
231
|
return theme && parseTheme(theme) || advancedTheme && parseAdvancedTheme(advancedTheme);
|
|
232
232
|
}, [theme, advancedTheme]);
|
|
233
|
-
return /*#__PURE__*/_react["default"].createElement(Halstack, null, /*#__PURE__*/_react["default"].createElement(
|
|
233
|
+
return /*#__PURE__*/_react["default"].createElement(Halstack, null, /*#__PURE__*/_react["default"].createElement(HalstackContext.Provider, {
|
|
234
234
|
value: parsedTheme
|
|
235
235
|
}, children));
|
|
236
236
|
};
|
|
237
237
|
|
|
238
|
-
exports.
|
|
238
|
+
exports.HalstackProvider = HalstackProvider;
|
|
239
239
|
|
|
240
240
|
var Halstack = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n @import url(\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\");\n"])));
|
|
241
241
|
|
|
242
|
-
var _default =
|
|
242
|
+
var _default = HalstackContext;
|
|
243
243
|
exports["default"] = _default;
|
package/accordion/Accordion.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import AccordionPropsType from "./types";
|
|
3
|
-
declare const DxcAccordion: ({ label, isExpanded, icon, assistiveText, disabled, onChange, children, margin, padding, tabIndex, }: AccordionPropsType) => JSX.Element;
|
|
3
|
+
declare const DxcAccordion: ({ label, defaultIsExpanded, isExpanded, icon, assistiveText, disabled, onChange, children, margin, padding, tabIndex, }: AccordionPropsType) => JSX.Element;
|
|
4
4
|
export default DxcAccordion;
|
package/accordion/Accordion.js
CHANGED
|
@@ -44,6 +44,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
44
44
|
var DxcAccordion = function DxcAccordion(_ref) {
|
|
45
45
|
var _ref$label = _ref.label,
|
|
46
46
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
47
|
+
defaultIsExpanded = _ref.defaultIsExpanded,
|
|
47
48
|
isExpanded = _ref.isExpanded,
|
|
48
49
|
icon = _ref.icon,
|
|
49
50
|
_ref$assistiveText = _ref.assistiveText,
|
|
@@ -57,34 +58,13 @@ var DxcAccordion = function DxcAccordion(_ref) {
|
|
|
57
58
|
_ref$tabIndex = _ref.tabIndex,
|
|
58
59
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
59
60
|
|
|
60
|
-
var _useState = (0, _react.useState)(false),
|
|
61
|
+
var _useState = (0, _react.useState)(defaultIsExpanded !== null && defaultIsExpanded !== void 0 ? defaultIsExpanded : false),
|
|
61
62
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
62
63
|
innerIsExpanded = _useState2[0],
|
|
63
64
|
setInnerIsExpanded = _useState2[1];
|
|
64
65
|
|
|
65
|
-
var _useState3 = (0, _react.useState)(false),
|
|
66
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
67
|
-
isResponsive = _useState4[0],
|
|
68
|
-
setIsResponsive = _useState4[1];
|
|
69
|
-
|
|
70
66
|
var colorsTheme = (0, _useTheme["default"])();
|
|
71
67
|
|
|
72
|
-
var handleResize = function handleResize(width) {
|
|
73
|
-
width && width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
var handleEventListener = function handleEventListener() {
|
|
77
|
-
handleResize(window.innerWidth);
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
(0, _react.useEffect)(function () {
|
|
81
|
-
window.addEventListener("resize", handleEventListener);
|
|
82
|
-
handleResize(window.innerWidth);
|
|
83
|
-
return function () {
|
|
84
|
-
window.removeEventListener("resize", handleEventListener);
|
|
85
|
-
};
|
|
86
|
-
}, []);
|
|
87
|
-
|
|
88
68
|
var handlerAccordion = function handlerAccordion() {
|
|
89
69
|
if (isExpanded == null) {
|
|
90
70
|
setInnerIsExpanded(!innerIsExpanded);
|
|
@@ -101,8 +81,7 @@ var DxcAccordion = function DxcAccordion(_ref) {
|
|
|
101
81
|
padding: padding,
|
|
102
82
|
margin: margin,
|
|
103
83
|
disabled: disabled,
|
|
104
|
-
icon: icon
|
|
105
|
-
isResponsive: isResponsive
|
|
84
|
+
icon: icon
|
|
106
85
|
}, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], {
|
|
107
86
|
disabled: disabled,
|
|
108
87
|
onChange: handlerAccordion,
|
|
@@ -112,11 +91,11 @@ var DxcAccordion = function DxcAccordion(_ref) {
|
|
|
112
91
|
tabIndex: disabled ? -1 : tabIndex
|
|
113
92
|
}, /*#__PURE__*/_react["default"].createElement(AccordionInfo, {
|
|
114
93
|
disabled: disabled
|
|
115
|
-
},
|
|
94
|
+
}, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
116
95
|
disabled: disabled
|
|
117
96
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(AccordionIcon, {
|
|
118
97
|
src: icon
|
|
119
|
-
}) : icon)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
|
|
98
|
+
}) : icon), /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, label)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
|
|
120
99
|
disabled: disabled
|
|
121
100
|
}, assistiveText)), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement(AccordionContent, {
|
|
122
101
|
disabled: disabled
|
|
@@ -129,7 +108,7 @@ var calculateWidth = function calculateWidth(margin) {
|
|
|
129
108
|
return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
130
109
|
};
|
|
131
110
|
|
|
132
|
-
var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-width: 280px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n cursor: ", ";\n\n .MuiPaper-root {\n min-width: 0;\n display: flex;\n left: 85px;\n background-color: ", " !important;\n box-shadow: ", ";\n position: static;\n width: 100%;\n border-radius: ", ";\n\n &.Mui-expanded {\n border-radius: ", ";\n }\n &.MuiExpansionPanel-root {\n display: flex;\n flex-direction: column;\n min-height: 48px;\n }\n &.MuiExpansionPanel-rounded {\n border-radius: ", ";\n }\n .MuiButtonBase-root.MuiExpansionPanelSummary-root {\n min-height: 48px;\n height: 48px;\n\n :focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n }\n :active {\n background-color: ", ";\n }\n &.Mui-disabled {\n opacity: 1;\n }\n }\n .MuiButtonBase-root {\n border-radius: ", ";\n\n &.Mui-expanded {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .MuiSvgIcon-root {\n opacity: 1;\n }\n }\n &.MuiIconButton-root {\n height: auto;\n }\n .MuiExpansionPanelSummary-content {\n padding-top: ", ";\n padding-bottom: ", ";\n padding-right: ", ";\n padding-left: ", ";\n min-width: 0;\n
|
|
111
|
+
var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-width: 280px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n cursor: ", ";\n\n .MuiPaper-root {\n min-width: 0;\n display: flex;\n left: 85px;\n background-color: ", " !important;\n box-shadow: ", ";\n position: static;\n width: 100%;\n border-radius: ", ";\n\n &.Mui-expanded {\n border-radius: ", ";\n }\n &.MuiExpansionPanel-root {\n display: flex;\n flex-direction: column;\n min-height: 48px;\n }\n &.MuiExpansionPanel-rounded {\n border-radius: ", ";\n }\n .MuiButtonBase-root.MuiExpansionPanelSummary-root {\n min-height: 48px;\n height: 48px;\n\n :focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n }\n :active {\n background-color: ", ";\n }\n &.Mui-disabled {\n opacity: 1;\n }\n }\n .MuiButtonBase-root {\n border-radius: ", ";\n\n &.Mui-expanded {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .MuiSvgIcon-root {\n opacity: 1;\n }\n }\n &.MuiIconButton-root {\n height: auto;\n }\n .MuiExpansionPanelSummary-content {\n padding-top: ", ";\n padding-bottom: ", ";\n padding-right: ", ";\n padding-left: ", ";\n min-width: 0;\n &.Mui-expanded {\n div:nth-child(2) {\n opacity: 1;\n }\n }\n :hover {\n div {\n opacity: 1;\n }\n }\n }\n }\n .MuiTouchRipple-root {\n display: none;\n }\n }\n .MuiCollapse-hidden {\n display: none;\n }\n .MuiCollapse-container {\n border-radius: 0px 0px 4px 4px;\n cursor: default;\n width: 100%;\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n .MuiExpansionPanelDetails-root {\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"])), function (props) {
|
|
133
112
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
134
113
|
}, function (props) {
|
|
135
114
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -189,7 +168,7 @@ var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templat
|
|
|
189
168
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
190
169
|
});
|
|
191
170
|
|
|
192
|
-
var AccordionInfo = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n
|
|
171
|
+
var AccordionInfo = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding-left: ", ";\n padding-right: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
|
|
193
172
|
return props.theme.titlePaddingLeft;
|
|
194
173
|
}, function (props) {
|
|
195
174
|
return props.theme.titlePaddingRight;
|
|
@@ -5,7 +5,7 @@ import DxcTextInput from "../text-input/TextInput";
|
|
|
5
5
|
import DxcButton from "../button/Button";
|
|
6
6
|
import Title from "../../.storybook/components/Title";
|
|
7
7
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
8
|
-
import {
|
|
8
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
9
9
|
|
|
10
10
|
export default {
|
|
11
11
|
title: "Accordion",
|
|
@@ -125,10 +125,10 @@ export const Chromatic = () => (
|
|
|
125
125
|
</ExampleContainer>
|
|
126
126
|
<ExampleContainer>
|
|
127
127
|
<Title title="Background color provider over accordion content" theme="light" level={4} />
|
|
128
|
-
<
|
|
128
|
+
<HalstackProvider advancedTheme={advancedTheme}>
|
|
129
129
|
<DxcAccordion
|
|
130
130
|
label="Dark Accordion"
|
|
131
|
-
|
|
131
|
+
defaultIsExpanded
|
|
132
132
|
assistiveText="Assistive text"
|
|
133
133
|
icon={folderIcon}
|
|
134
134
|
padding="medium"
|
|
@@ -144,12 +144,12 @@ export const Chromatic = () => (
|
|
|
144
144
|
<DxcButton label="Submit" size="medium" />
|
|
145
145
|
</div>
|
|
146
146
|
</DxcAccordion>
|
|
147
|
-
</
|
|
147
|
+
</HalstackProvider>
|
|
148
148
|
</ExampleContainer>
|
|
149
149
|
<Title title="Paddings" theme="light" level={2} />
|
|
150
150
|
<ExampleContainer>
|
|
151
151
|
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
152
|
-
<DxcAccordion label="Xxsmall padding"
|
|
152
|
+
<DxcAccordion label="Xxsmall padding" defaultIsExpanded padding="xxsmall">
|
|
153
153
|
<div>
|
|
154
154
|
<DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
|
|
155
155
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
@@ -162,7 +162,7 @@ export const Chromatic = () => (
|
|
|
162
162
|
</ExampleContainer>
|
|
163
163
|
<ExampleContainer>
|
|
164
164
|
<Title title="Xsmall padding" theme="light" level={4} />
|
|
165
|
-
<DxcAccordion label="Xsmall padding"
|
|
165
|
+
<DxcAccordion label="Xsmall padding" defaultIsExpanded padding="xsmall">
|
|
166
166
|
<div>
|
|
167
167
|
<DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
|
|
168
168
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
@@ -175,7 +175,7 @@ export const Chromatic = () => (
|
|
|
175
175
|
</ExampleContainer>
|
|
176
176
|
<ExampleContainer>
|
|
177
177
|
<Title title="Small padding" theme="light" level={4} />
|
|
178
|
-
<DxcAccordion label="Small padding"
|
|
178
|
+
<DxcAccordion label="Small padding" defaultIsExpanded padding="small">
|
|
179
179
|
<div>
|
|
180
180
|
<DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
|
|
181
181
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
@@ -188,7 +188,7 @@ export const Chromatic = () => (
|
|
|
188
188
|
</ExampleContainer>
|
|
189
189
|
<ExampleContainer>
|
|
190
190
|
<Title title="Medium padding" theme="light" level={4} />
|
|
191
|
-
<DxcAccordion label="Medium padding"
|
|
191
|
+
<DxcAccordion label="Medium padding" defaultIsExpanded padding="medium">
|
|
192
192
|
<div>
|
|
193
193
|
<DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
|
|
194
194
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
@@ -201,7 +201,7 @@ export const Chromatic = () => (
|
|
|
201
201
|
</ExampleContainer>
|
|
202
202
|
<ExampleContainer>
|
|
203
203
|
<Title title="Large padding" theme="light" level={4} />
|
|
204
|
-
<DxcAccordion label="Large padding"
|
|
204
|
+
<DxcAccordion label="Large padding" defaultIsExpanded padding="large">
|
|
205
205
|
<div>
|
|
206
206
|
<DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
|
|
207
207
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
@@ -214,7 +214,7 @@ export const Chromatic = () => (
|
|
|
214
214
|
</ExampleContainer>
|
|
215
215
|
<ExampleContainer>
|
|
216
216
|
<Title title="Xlarge padding" theme="light" level={4} />
|
|
217
|
-
<DxcAccordion label="Xlarge padding"
|
|
217
|
+
<DxcAccordion label="Xlarge padding" defaultIsExpanded padding="xlarge">
|
|
218
218
|
<div>
|
|
219
219
|
<DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
|
|
220
220
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
@@ -227,7 +227,7 @@ export const Chromatic = () => (
|
|
|
227
227
|
</ExampleContainer>
|
|
228
228
|
<ExampleContainer>
|
|
229
229
|
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
230
|
-
<DxcAccordion label="Xxlarge padding"
|
|
230
|
+
<DxcAccordion label="Xxlarge padding" defaultIsExpanded padding="xxlarge">
|
|
231
231
|
<div>
|
|
232
232
|
<DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
|
|
233
233
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
@@ -14,20 +14,32 @@ describe("Accordion component tests", function () {
|
|
|
14
14
|
|
|
15
15
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
|
|
16
16
|
label: "Accordion",
|
|
17
|
+
assistiveText: "Assistive text",
|
|
17
18
|
onChange: onChange
|
|
18
19
|
})),
|
|
19
20
|
getByText = _render.getByText;
|
|
20
21
|
|
|
21
22
|
expect(getByText("Accordion")).toBeTruthy();
|
|
23
|
+
expect(getByText("Assistive text")).toBeTruthy();
|
|
24
|
+
});
|
|
25
|
+
test("Accordion renders expanded by default when it is uncontrolled", function () {
|
|
26
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
|
|
27
|
+
label: "Accordion",
|
|
28
|
+
defaultIsExpanded: true
|
|
29
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))),
|
|
30
|
+
getByRole = _render2.getByRole;
|
|
31
|
+
|
|
32
|
+
var accordion = getByRole("button");
|
|
33
|
+
expect(accordion.getAttribute("aria-expanded")).toBe("true");
|
|
22
34
|
});
|
|
23
35
|
test("Calls correct function on click", function () {
|
|
24
36
|
var onChange = jest.fn();
|
|
25
37
|
|
|
26
|
-
var
|
|
38
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
|
|
27
39
|
label: "Accordion",
|
|
28
40
|
onChange: onChange
|
|
29
41
|
})),
|
|
30
|
-
getByText =
|
|
42
|
+
getByText = _render3.getByText;
|
|
31
43
|
|
|
32
44
|
_react2.fireEvent.click(getByText("Accordion"));
|
|
33
45
|
|
|
@@ -36,12 +48,15 @@ describe("Accordion component tests", function () {
|
|
|
36
48
|
test("Controlled accordion", function () {
|
|
37
49
|
var onChange = jest.fn();
|
|
38
50
|
|
|
39
|
-
var
|
|
51
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
|
|
40
52
|
label: "Accordion",
|
|
41
53
|
onChange: onChange,
|
|
42
54
|
isExpanded: true
|
|
43
55
|
})),
|
|
44
|
-
getByText =
|
|
56
|
+
getByText = _render4.getByText,
|
|
57
|
+
getByRole = _render4.getByRole;
|
|
58
|
+
|
|
59
|
+
expect(getByRole("button").getAttribute("aria-expanded")).toBe("true");
|
|
45
60
|
|
|
46
61
|
_react2.fireEvent.click(getByText("Accordion"));
|
|
47
62
|
|
package/accordion/types.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ declare type Props = {
|
|
|
18
18
|
* The panel label.
|
|
19
19
|
*/
|
|
20
20
|
label: string;
|
|
21
|
+
/**
|
|
22
|
+
* Initial state of the panel, only when it is uncontrolled.
|
|
23
|
+
*/
|
|
24
|
+
defaultIsExpanded?: boolean;
|
|
21
25
|
/**
|
|
22
26
|
* Represents the state of the panel. When true, the component will be
|
|
23
27
|
* expanded. If undefined, the component will be uncontrolled and its
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import AccordionGroupPropsType, { AccordionPropsType } from "./types";
|
|
3
3
|
declare const DxcAccordionGroup: {
|
|
4
|
-
({ indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
|
|
4
|
+
({ defaultIndexActive, indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
|
|
5
5
|
Accordion: ({ ...childProps }: AccordionPropsType) => JSX.Element;
|
|
6
6
|
};
|
|
7
7
|
export default DxcAccordionGroup;
|
|
@@ -47,13 +47,13 @@ var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
|
|
|
47
47
|
var childProps = (0, _extends2["default"])({}, _ref);
|
|
48
48
|
|
|
49
49
|
var _useContext = (0, _react.useContext)(AccordionGroupAccordionContext),
|
|
50
|
-
|
|
50
|
+
activeIndex = _useContext.activeIndex,
|
|
51
51
|
handlerActiveChange = _useContext.handlerActiveChange,
|
|
52
52
|
disabled = _useContext.disabled,
|
|
53
53
|
index = _useContext.index;
|
|
54
54
|
|
|
55
55
|
return /*#__PURE__*/_react["default"].createElement(_Accordion["default"], (0, _extends2["default"])({
|
|
56
|
-
isExpanded:
|
|
56
|
+
isExpanded: activeIndex === index,
|
|
57
57
|
onChange: function onChange() {
|
|
58
58
|
handlerActiveChange(index);
|
|
59
59
|
},
|
|
@@ -62,7 +62,8 @@ var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
|
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
|
|
65
|
-
var
|
|
65
|
+
var defaultIndexActive = _ref2.defaultIndexActive,
|
|
66
|
+
indexActive = _ref2.indexActive,
|
|
66
67
|
_ref2$disabled = _ref2.disabled,
|
|
67
68
|
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
68
69
|
onActiveChange = _ref2.onActiveChange,
|
|
@@ -70,27 +71,24 @@ var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
|
|
|
70
71
|
children = _ref2.children;
|
|
71
72
|
var colorsTheme = (0, _useTheme["default"])();
|
|
72
73
|
|
|
73
|
-
var _useState = (0, _react.useState)(0),
|
|
74
|
+
var _useState = (0, _react.useState)(defaultIndexActive !== null && defaultIndexActive !== void 0 ? defaultIndexActive : -1),
|
|
74
75
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
innerIndexActive = _useState2[0],
|
|
77
|
+
setInnerIndexActive = _useState2[1];
|
|
77
78
|
|
|
78
79
|
var handlerActiveChange = (0, _react.useCallback)(function (index) {
|
|
79
|
-
indexActive
|
|
80
|
+
indexActive !== null && indexActive !== void 0 ? indexActive : setInnerIndexActive(function (prev) {
|
|
80
81
|
return index === prev ? -1 : index;
|
|
81
|
-
})
|
|
82
|
+
});
|
|
82
83
|
!disabled && (onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(index));
|
|
83
84
|
}, [disabled, indexActive, onActiveChange]);
|
|
84
|
-
var
|
|
85
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
85
86
|
return {
|
|
86
|
-
|
|
87
|
+
activeIndex: indexActive !== null && indexActive !== void 0 ? indexActive : innerIndexActive,
|
|
87
88
|
handlerActiveChange: handlerActiveChange,
|
|
88
89
|
disabled: disabled
|
|
89
90
|
};
|
|
90
|
-
}, [
|
|
91
|
-
(0, _react.useEffect)(function () {
|
|
92
|
-
setInnerIsExpanded(indexActive);
|
|
93
|
-
}, [indexActive]);
|
|
91
|
+
}, [indexActive, innerIndexActive, handlerActiveChange, disabled]);
|
|
94
92
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
95
93
|
theme: colorsTheme.accordion
|
|
96
94
|
}, /*#__PURE__*/_react["default"].createElement(AccordionGroupContainer, {
|
|
@@ -102,7 +100,7 @@ var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
|
|
|
102
100
|
return /*#__PURE__*/_react["default"].createElement(AccordionGroupAccordionContext.Provider, {
|
|
103
101
|
value: _objectSpread({
|
|
104
102
|
index: index
|
|
105
|
-
},
|
|
103
|
+
}, contextValue)
|
|
106
104
|
}, accordion);
|
|
107
105
|
})));
|
|
108
106
|
};
|
|
@@ -36,7 +36,7 @@ export const Chromatic = () => (
|
|
|
36
36
|
</ExampleContainer>
|
|
37
37
|
<ExampleContainer>
|
|
38
38
|
<Title title="Expanded" theme="light" level={4} />
|
|
39
|
-
<DxcAccordionGroup
|
|
39
|
+
<DxcAccordionGroup defaultIndexActive={1}>
|
|
40
40
|
<DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
|
|
41
41
|
<div>
|
|
42
42
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
@@ -62,10 +62,28 @@ describe("Accordion component tests", function () {
|
|
|
62
62
|
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
|
|
63
63
|
expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
|
|
64
64
|
});
|
|
65
|
+
test("Uncontrolled accordion group renders initially with an accordion expanded", function () {
|
|
66
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
|
|
67
|
+
defaultIndexActive: 1
|
|
68
|
+
}, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
|
|
69
|
+
label: "Accordion1",
|
|
70
|
+
padding: "medium"
|
|
71
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
|
|
72
|
+
label: "Accordion2",
|
|
73
|
+
padding: "medium"
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
|
|
75
|
+
getByText = _render4.getByText,
|
|
76
|
+
getAllByRole = _render4.getAllByRole;
|
|
77
|
+
|
|
78
|
+
expect(getByText("Accordion1")).toBeTruthy();
|
|
79
|
+
expect(getByText("Accordion2")).toBeTruthy();
|
|
80
|
+
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
|
|
81
|
+
expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
|
|
82
|
+
});
|
|
65
83
|
test("Controlled accordion with indexActive change", function () {
|
|
66
84
|
var onActiveChange = jest.fn();
|
|
67
85
|
|
|
68
|
-
var
|
|
86
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
|
|
69
87
|
margin: "large",
|
|
70
88
|
indexActive: 1,
|
|
71
89
|
onActiveChange: onActiveChange
|
|
@@ -77,9 +95,9 @@ describe("Accordion component tests", function () {
|
|
|
77
95
|
label: "Accordion2",
|
|
78
96
|
padding: "medium"
|
|
79
97
|
}, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
|
|
80
|
-
getByText =
|
|
81
|
-
getAllByRole =
|
|
82
|
-
rerender =
|
|
98
|
+
getByText = _render5.getByText,
|
|
99
|
+
getAllByRole = _render5.getAllByRole,
|
|
100
|
+
rerender = _render5.rerender;
|
|
83
101
|
|
|
84
102
|
expect(getByText("Text1")).toBeTruthy();
|
|
85
103
|
expect(getByText("Text2")).toBeTruthy();
|
|
@@ -110,7 +128,7 @@ describe("Accordion component tests", function () {
|
|
|
110
128
|
test("Disabled uncontrolled accordion group", function () {
|
|
111
129
|
var onActiveChange = jest.fn();
|
|
112
130
|
|
|
113
|
-
var
|
|
131
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
|
|
114
132
|
margin: "large",
|
|
115
133
|
onActiveChange: onActiveChange,
|
|
116
134
|
disabled: true
|
|
@@ -122,7 +140,7 @@ describe("Accordion component tests", function () {
|
|
|
122
140
|
label: "Accordion2",
|
|
123
141
|
padding: "medium"
|
|
124
142
|
}, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
|
|
125
|
-
getByText =
|
|
143
|
+
getByText = _render6.getByText;
|
|
126
144
|
|
|
127
145
|
_react2.fireEvent.click(getByText("Accordion1"));
|
|
128
146
|
|
|
@@ -42,6 +42,10 @@ export declare type AccordionPropsType = {
|
|
|
42
42
|
children: React.ReactNode;
|
|
43
43
|
};
|
|
44
44
|
declare type Props = {
|
|
45
|
+
/**
|
|
46
|
+
* Initially active accordion, only when it is uncontrolled.
|
|
47
|
+
*/
|
|
48
|
+
defaultIndexActive?: number;
|
|
45
49
|
/**
|
|
46
50
|
* The index of the active accordion. If undefined, the component will be uncontrolled and the active accordion will be managed internally by the component.
|
|
47
51
|
* If null, the component will be controlled and all accordions will be closed.
|
package/bleed/types.d.ts
CHANGED
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
declare type Spacing = "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
|
|
3
3
|
declare type Props = {
|
|
4
|
+
/**
|
|
5
|
+
* Applies the spacing scale to all sides.
|
|
6
|
+
*/
|
|
4
7
|
space?: Spacing;
|
|
8
|
+
/**
|
|
9
|
+
* Applies the spacing scale to the left and right sides.
|
|
10
|
+
*/
|
|
5
11
|
horizontal?: Spacing;
|
|
12
|
+
/**
|
|
13
|
+
* Applies the spacing scale to the top and bottom sides.
|
|
14
|
+
*/
|
|
6
15
|
vertical?: Spacing;
|
|
16
|
+
/**
|
|
17
|
+
* Applies the spacing scale to the top side.
|
|
18
|
+
*/
|
|
7
19
|
top?: Spacing;
|
|
20
|
+
/**
|
|
21
|
+
* Applies the spacing scale to the right side.
|
|
22
|
+
*/
|
|
8
23
|
right?: Spacing;
|
|
24
|
+
/**
|
|
25
|
+
* Applies the spacing scale to the bottom side.
|
|
26
|
+
*/
|
|
9
27
|
bottom?: Spacing;
|
|
28
|
+
/**
|
|
29
|
+
* Applies the spacing scale to the left side.
|
|
30
|
+
*/
|
|
10
31
|
left?: Spacing;
|
|
32
|
+
/**
|
|
33
|
+
* Custom content inside the bleed.
|
|
34
|
+
*/
|
|
11
35
|
children: React.ReactNode;
|
|
12
36
|
};
|
|
13
37
|
export default Props;
|
package/button/Button.js
CHANGED
|
@@ -45,14 +45,22 @@ var DxcButton = function DxcButton(_ref) {
|
|
|
45
45
|
_ref$type = _ref.type,
|
|
46
46
|
type = _ref$type === void 0 ? "button" : _ref$type,
|
|
47
47
|
icon = _ref.icon,
|
|
48
|
-
|
|
48
|
+
_ref$onClick = _ref.onClick,
|
|
49
|
+
_onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
|
|
49
50
|
margin = _ref.margin,
|
|
50
51
|
_ref$size = _ref.size,
|
|
51
52
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
52
53
|
_ref$tabIndex = _ref.tabIndex,
|
|
53
54
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
55
|
+
|
|
54
56
|
var colorsTheme = (0, _useTheme["default"])();
|
|
55
57
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
58
|
+
|
|
59
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
60
|
+
icon: icon,
|
|
61
|
+
iconPosition: iconPosition
|
|
62
|
+
}, label);
|
|
63
|
+
|
|
56
64
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
57
65
|
theme: colorsTheme.button
|
|
58
66
|
}, /*#__PURE__*/_react["default"].createElement(DxCButton, {
|
|
@@ -73,15 +81,12 @@ var DxcButton = function DxcButton(_ref) {
|
|
|
73
81
|
onClick: function onClick() {
|
|
74
82
|
_onClick();
|
|
75
83
|
}
|
|
76
|
-
}, label && /*#__PURE__*/_react["default"].createElement(
|
|
77
|
-
icon: icon,
|
|
78
|
-
iconPosition: iconPosition
|
|
79
|
-
}, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
84
|
+
}, label && iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
80
85
|
label: label,
|
|
81
86
|
iconPosition: iconPosition
|
|
82
87
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
|
|
83
88
|
src: icon
|
|
84
|
-
}) : icon))));
|
|
89
|
+
}) : icon), label && iconPosition === "before" && labelComponent)));
|
|
85
90
|
};
|
|
86
91
|
|
|
87
92
|
var sizes = {
|
|
@@ -118,7 +123,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
118
123
|
|
|
119
124
|
var ButtonIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
120
125
|
|
|
121
|
-
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
|
|
126
|
+
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) {
|
|
122
127
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
123
128
|
}, function (props) {
|
|
124
129
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -140,8 +145,6 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
|
|
|
140
145
|
return props.theme.paddingTop;
|
|
141
146
|
}, function (props) {
|
|
142
147
|
return props.theme.paddingBottom;
|
|
143
|
-
}, function (props) {
|
|
144
|
-
return props.iconPosition === "after" && "row" || "row-reverse";
|
|
145
148
|
}, function (props) {
|
|
146
149
|
return props.theme.fontFamily;
|
|
147
150
|
}, function (props) {
|
|
@@ -159,9 +162,9 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
|
|
|
159
162
|
backgroundType = props.backgroundType;
|
|
160
163
|
|
|
161
164
|
if (mode === "primary") {
|
|
162
|
-
return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType && backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled { \n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor, "!important; \n }\n
|
|
165
|
+
return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType && backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled { \n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor, " !important; \n }\n ");
|
|
163
166
|
} else if (mode === "secondary") {
|
|
164
|
-
return "\n border-radius: ".concat(props.theme.secondaryBorderRadius, ";\n border-width: ").concat(props.theme.secondaryBorderThickness, ";\n border-style: ").concat(props.theme.secondaryBorderStyle, ";\n font-family: ").concat(props.theme.secondaryFontFamily, ";\n font-size: ").concat(props.theme.secondaryFontSize, ";\n font-weight: ").concat(props.theme.secondaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor, ";\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor, ";\n }\n
|
|
167
|
+
return "\n border-radius: ".concat(props.theme.secondaryBorderRadius, ";\n border-width: ").concat(props.theme.secondaryBorderThickness, ";\n border-style: ").concat(props.theme.secondaryBorderStyle, ";\n font-family: ").concat(props.theme.secondaryFontFamily, ";\n font-size: ").concat(props.theme.secondaryFontSize, ";\n font-weight: ").concat(props.theme.secondaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor, ";\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor, ";\n }\n ");
|
|
165
168
|
} else if (mode === "text") {
|
|
166
169
|
return "\n border-radius: ".concat(props.theme.textBorderRadius, ";\n border-width: ").concat(props.theme.textBorderThickness, ";\n border-style: ").concat(props.theme.textBorderStyle, ";\n font-family: ").concat(props.theme.textFontFamily, ";\n font-size: ").concat(props.theme.textFontSize, ";\n font-weight: ").concat(props.theme.textFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor:not-allowed;\n color: ").concat(backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, " !important;\n background-color: ").concat(backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n }\n ");
|
|
167
170
|
}
|