@dxc-technology/halstack-react 8.0.0 → 9.0.0
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.js +94 -45
- package/accordion/Accordion.js +7 -13
- package/accordion/Accordion.stories.tsx +102 -13
- package/alert/Alert.stories.tsx +28 -0
- package/box/Box.js +1 -3
- package/box/Box.stories.tsx +15 -0
- package/button/Button.js +11 -13
- package/button/Button.stories.tsx +150 -8
- package/checkbox/Checkbox.stories.tsx +52 -0
- package/chip/Chip.js +16 -22
- package/chip/Chip.stories.tsx +96 -9
- package/common/variables.js +280 -288
- package/date-input/Calendar.d.ts +1 -1
- package/date-input/Calendar.js +43 -43
- package/date-input/DateInput.js +74 -32
- package/date-input/DateInput.stories.tsx +183 -30
- package/date-input/DateInput.test.js +120 -37
- package/date-input/DatePicker.js +38 -52
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +1 -1
- package/date-input/YearPicker.js +23 -12
- package/date-input/types.d.ts +6 -8
- package/dialog/Dialog.js +60 -73
- package/dialog/Dialog.stories.tsx +211 -159
- package/dialog/Dialog.test.js +301 -2
- package/dropdown/Dropdown.js +3 -6
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/DropdownMenu.js +8 -18
- package/dropdown/DropdownMenuItem.js +4 -15
- package/file-input/FileInput.js +3 -6
- package/file-input/FileInput.stories.tsx +85 -2
- package/file-input/FileInput.test.js +0 -41
- package/file-input/FileItem.js +1 -0
- package/footer/Footer.stories.tsx +91 -0
- package/header/Header.js +18 -20
- package/header/Header.stories.tsx +149 -6
- package/link/Link.stories.tsx +60 -0
- package/main.d.ts +1 -1
- package/main.js +1 -1
- package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/Tab.js +35 -15
- package/package.json +1 -1
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +5 -11
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +17 -10
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/quick-nav/QuickNav.stories.tsx +14 -0
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/resultsetTable/ResultsetTable.test.js +17 -22
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +43 -24
- package/select/Select.stories.tsx +492 -145
- package/select/Select.test.js +17 -22
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.js +8 -10
- package/sidenav/Sidenav.stories.tsx +148 -46
- package/slider/Slider.js +4 -4
- package/slider/Slider.stories.tsx +57 -0
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +27 -1
- package/switch/Switch.js +1 -1
- package/switch/Switch.stories.tsx +33 -0
- package/table/Table.stories.jsx +80 -1
- package/tabs/Tab.js +3 -5
- package/tabs/Tabs.js +3 -3
- package/tabs/Tabs.stories.tsx +45 -5
- package/tag/Tag.stories.tsx +14 -1
- package/text-input/Suggestion.js +32 -5
- package/text-input/TextInput.js +7 -11
- package/text-input/TextInput.stories.tsx +92 -4
- package/text-input/TextInput.test.js +125 -25
- package/textarea/Textarea.stories.jsx +60 -1
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.stories.tsx +20 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.test.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
package/select/Select.test.js
CHANGED
|
@@ -16,42 +16,37 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
|
16
16
|
|
|
17
17
|
// Mocking DOMRect for Radix Primitive Popover
|
|
18
18
|
global.globalThis = global;
|
|
19
|
+
global.DOMRect = {
|
|
20
|
+
fromRect: function fromRect() {
|
|
21
|
+
return {
|
|
22
|
+
top: 0,
|
|
23
|
+
left: 0,
|
|
24
|
+
bottom: 0,
|
|
25
|
+
right: 0,
|
|
26
|
+
width: 0,
|
|
27
|
+
height: 0
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
19
31
|
|
|
20
32
|
global.ResizeObserver = /*#__PURE__*/function () {
|
|
21
|
-
function ResizeObserver(
|
|
33
|
+
function ResizeObserver() {
|
|
22
34
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
23
|
-
this.cb = cb;
|
|
24
35
|
}
|
|
25
36
|
|
|
26
37
|
(0, _createClass2["default"])(ResizeObserver, [{
|
|
27
38
|
key: "observe",
|
|
28
|
-
value: function observe() {
|
|
29
|
-
this.cb([{
|
|
30
|
-
borderBoxSize: {
|
|
31
|
-
inlineSize: 0,
|
|
32
|
-
blockSize: 0
|
|
33
|
-
}
|
|
34
|
-
}]);
|
|
35
|
-
}
|
|
39
|
+
value: function observe() {}
|
|
36
40
|
}, {
|
|
37
41
|
key: "unobserve",
|
|
38
42
|
value: function unobserve() {}
|
|
43
|
+
}, {
|
|
44
|
+
key: "disconnect",
|
|
45
|
+
value: function disconnect() {}
|
|
39
46
|
}]);
|
|
40
47
|
return ResizeObserver;
|
|
41
48
|
}();
|
|
42
49
|
|
|
43
|
-
global.DOMRect = {
|
|
44
|
-
fromRect: function fromRect() {
|
|
45
|
-
return {
|
|
46
|
-
top: 0,
|
|
47
|
-
left: 0,
|
|
48
|
-
bottom: 0,
|
|
49
|
-
right: 0,
|
|
50
|
-
width: 0,
|
|
51
|
-
height: 0
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
50
|
var single_options = [{
|
|
56
51
|
label: "Option 01",
|
|
57
52
|
value: "1"
|
package/select/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
3
|
declare type Margin = {
|
|
4
4
|
top?: Space;
|
|
@@ -201,7 +201,7 @@ export declare type ListboxProps = {
|
|
|
201
201
|
optionalItem: Option;
|
|
202
202
|
searchable: boolean;
|
|
203
203
|
handleOptionOnClick: (option: Option) => void;
|
|
204
|
-
|
|
204
|
+
styles: React.CSSProperties;
|
|
205
205
|
};
|
|
206
206
|
/**
|
|
207
207
|
* Reference to the select component.
|
package/sidenav/Sidenav.js
CHANGED
|
@@ -33,7 +33,7 @@ var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
|
33
33
|
|
|
34
34
|
var _Bleed = _interopRequireDefault(require("../bleed/Bleed"));
|
|
35
35
|
|
|
36
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8
|
|
36
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
37
37
|
|
|
38
38
|
var _excluded = ["href", "children", "newWindow", "selected", "icon", "tabIndex", "onClick"];
|
|
39
39
|
|
|
@@ -138,9 +138,9 @@ var Group = function Group(_ref4) {
|
|
|
138
138
|
return setCollapsed(!collapsed);
|
|
139
139
|
},
|
|
140
140
|
selectedGroup: selectedGroup
|
|
141
|
-
}, /*#__PURE__*/_react["default"].createElement(SidenavContent, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
141
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavContent, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
142
142
|
src: icon
|
|
143
|
-
}) : icon, title), collapsed ? collapsedIcon : collapsableIcon) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
143
|
+
}) : icon, title), collapsed ? collapsedIcon : collapsableIcon) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
144
144
|
src: icon
|
|
145
145
|
}) : icon, title), !collapsed && children);
|
|
146
146
|
};
|
|
@@ -171,7 +171,7 @@ var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
|
|
|
171
171
|
ref: ref,
|
|
172
172
|
tabIndex: tabIndex,
|
|
173
173
|
onClick: handleClick
|
|
174
|
-
}, otherProps), /*#__PURE__*/_react["default"].createElement(SidenavContent, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
174
|
+
}, otherProps), /*#__PURE__*/_react["default"].createElement(SidenavContent, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
175
175
|
src: icon
|
|
176
176
|
}) : icon, children), newWindow && externalLinkIcon);
|
|
177
177
|
});
|
|
@@ -204,7 +204,7 @@ var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObj
|
|
|
204
204
|
|
|
205
205
|
var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
|
|
206
206
|
|
|
207
|
-
var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
207
|
+
var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: 18px;\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
208
208
|
return props.theme.groupTitleFontFamily;
|
|
209
209
|
}, function (props) {
|
|
210
210
|
return props.theme.groupTitleFontStyle;
|
|
@@ -214,7 +214,7 @@ var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_
|
|
|
214
214
|
return props.theme.groupTitleFontSize;
|
|
215
215
|
});
|
|
216
216
|
|
|
217
|
-
var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n
|
|
217
|
+
var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 0.5rem 1.2rem;\n\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: 19px;\n\n cursor: pointer;\n\n &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n ", "\n\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
218
218
|
return props.theme.groupTitleFontFamily;
|
|
219
219
|
}, function (props) {
|
|
220
220
|
return props.theme.groupTitleFontStyle;
|
|
@@ -234,7 +234,7 @@ var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObjec
|
|
|
234
234
|
return props.selectedGroup ? "color: ".concat(props.theme.groupTitleSelectedFontColor, "; background: ").concat(props.theme.groupTitleSelectedBackgroundColor, ";") : "color: ".concat(props.theme.groupTitleFontColor, "; background: transparent;");
|
|
235
235
|
});
|
|
236
236
|
|
|
237
|
-
var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n letter-spacing: ", ";\n
|
|
237
|
+
var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n box-shadow: 0 0 0 2px transparent;\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: 19px;\n\n ", "\n\n cursor: pointer;\n\n &:hover {\n ", "\n }\n &:focus {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:active {\n color: #ffffff;\n background: #4d4d4d;\n outline: 2px solid #0095ff;\n outline-offset: -2px;\n }\n\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
238
238
|
return props.theme.linkFontLetterSpacing;
|
|
239
239
|
}, function (props) {
|
|
240
240
|
return props.theme.linkFontTextTransform;
|
|
@@ -256,9 +256,7 @@ var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateO
|
|
|
256
256
|
return props.theme.linkFocusColor;
|
|
257
257
|
});
|
|
258
258
|
|
|
259
|
-
var SidenavContent = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n\n svg {\n
|
|
260
|
-
|
|
261
|
-
var SidenavIcon = _styledComponents["default"].img(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n margin-right: 0.5rem;\n"])));
|
|
259
|
+
var SidenavContent = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])));
|
|
262
260
|
|
|
263
261
|
DxcSidenav.Section = Section;
|
|
264
262
|
DxcSidenav.Group = Group;
|
|
@@ -3,6 +3,7 @@ import DxcSidenav from "./Sidenav";
|
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import { userEvent, within } from "@storybook/testing-library";
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
title: "Sidenav",
|
|
@@ -10,9 +11,26 @@ export default {
|
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
const iconSVG = (
|
|
13
|
-
<svg
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
<svg
|
|
15
|
+
version="1.1"
|
|
16
|
+
id="Capa_1"
|
|
17
|
+
x="0px"
|
|
18
|
+
y="0px"
|
|
19
|
+
width="438.536px"
|
|
20
|
+
height="438.536px"
|
|
21
|
+
viewBox="0 0 438.536 438.536"
|
|
22
|
+
fill="currentColor"
|
|
23
|
+
>
|
|
24
|
+
<g>
|
|
25
|
+
<path
|
|
26
|
+
d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
|
|
27
|
+
C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
|
|
28
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
29
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
|
|
30
|
+
c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
|
|
31
|
+
c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
32
|
+
/>
|
|
33
|
+
</g>
|
|
16
34
|
</svg>
|
|
17
35
|
);
|
|
18
36
|
|
|
@@ -20,11 +38,17 @@ const TitleComponent = () => {
|
|
|
20
38
|
return <DxcSidenav.Title>Dxc technology</DxcSidenav.Title>;
|
|
21
39
|
};
|
|
22
40
|
|
|
41
|
+
const opinionatedTheme = {
|
|
42
|
+
sidenav: {
|
|
43
|
+
baseColor: "#f2f2f2",
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
|
|
23
47
|
export const Chromatic = () => (
|
|
24
48
|
<>
|
|
25
49
|
<ExampleContainer>
|
|
26
50
|
<Title title="Default sidenav" theme="light" level={4} />
|
|
27
|
-
<DxcSidenav title={<
|
|
51
|
+
<DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
|
|
28
52
|
<DxcSidenav.Section>
|
|
29
53
|
<p>
|
|
30
54
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse
|
|
@@ -41,12 +65,18 @@ export const Chromatic = () => (
|
|
|
41
65
|
</DxcSidenav.Group>
|
|
42
66
|
</DxcSidenav.Section>
|
|
43
67
|
<DxcSidenav.Section>
|
|
44
|
-
<DxcSidenav.Group
|
|
68
|
+
<DxcSidenav.Group
|
|
69
|
+
collapsable={true}
|
|
70
|
+
title="Section Group"
|
|
71
|
+
icon="https://cdn-icons-png.flaticon.com/512/5039/5039041.png"
|
|
72
|
+
>
|
|
45
73
|
<DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
|
|
46
74
|
<DxcSidenav.Link icon={iconSVG}>Group Link</DxcSidenav.Link>
|
|
47
75
|
</DxcSidenav.Group>
|
|
48
|
-
<DxcSidenav.Link icon=
|
|
49
|
-
|
|
76
|
+
<DxcSidenav.Link icon="https://upload.wikimedia.org/wikipedia/commons/7/73/Flat_tick_icon.svg" newWindow>
|
|
77
|
+
Single Link
|
|
78
|
+
</DxcSidenav.Link>
|
|
79
|
+
<DxcSidenav.Link newWindow>Single Link</DxcSidenav.Link>
|
|
50
80
|
<DxcSidenav.Group collapsable={false} title="Section Group">
|
|
51
81
|
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
52
82
|
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
@@ -55,51 +85,76 @@ export const Chromatic = () => (
|
|
|
55
85
|
</DxcSidenav.Section>
|
|
56
86
|
</DxcSidenav>
|
|
57
87
|
</ExampleContainer>
|
|
88
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
89
|
+
<Title title="Focused options sidenav" theme="light" level={4} />
|
|
90
|
+
<DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
|
|
91
|
+
<DxcSidenav.Section>
|
|
92
|
+
<p>
|
|
93
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse
|
|
94
|
+
vitae lacinia libero.
|
|
95
|
+
</p>
|
|
96
|
+
</DxcSidenav.Section>
|
|
97
|
+
<DxcSidenav.Section>
|
|
98
|
+
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
99
|
+
<DxcSidenav.Group collapsable={true} title="Collapsable Group">
|
|
100
|
+
<DxcSidenav.Link icon="https://cdn-icons-png.flaticon.com/512/5039/5039041.png">Group Link</DxcSidenav.Link>
|
|
101
|
+
</DxcSidenav.Group>
|
|
102
|
+
</DxcSidenav.Section>
|
|
103
|
+
<DxcSidenav.Section>
|
|
104
|
+
<DxcSidenav.Group collapsable={true} title="Collapsable Group">
|
|
105
|
+
<DxcSidenav.Link selected icon={iconSVG}>
|
|
106
|
+
Group Link
|
|
107
|
+
</DxcSidenav.Link>
|
|
108
|
+
</DxcSidenav.Group>
|
|
109
|
+
<DxcSidenav.Group collapsable={false} title="Section Group">
|
|
110
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
111
|
+
</DxcSidenav.Group>
|
|
112
|
+
</DxcSidenav.Section>
|
|
113
|
+
</DxcSidenav>
|
|
114
|
+
</ExampleContainer>
|
|
115
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
116
|
+
<ExampleContainer>
|
|
117
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
118
|
+
<DxcSidenav title={<TitleComponent />}>
|
|
119
|
+
<DxcSidenav.Section>
|
|
120
|
+
<p>
|
|
121
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse
|
|
122
|
+
vitae lacinia libero.
|
|
123
|
+
</p>
|
|
124
|
+
</DxcSidenav.Section>
|
|
125
|
+
<DxcSidenav.Section>
|
|
126
|
+
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
127
|
+
<DxcSidenav.Group collapsable={false} title="Single Group" icon={iconSVG}>
|
|
128
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
129
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
130
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
131
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
132
|
+
</DxcSidenav.Group>
|
|
133
|
+
</DxcSidenav.Section>
|
|
134
|
+
<DxcSidenav.Section>
|
|
135
|
+
<DxcSidenav.Group collapsable={true} title="Section Group" icon={iconSVG}>
|
|
136
|
+
<DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
|
|
137
|
+
<DxcSidenav.Link icon={iconSVG}>Group Link</DxcSidenav.Link>
|
|
138
|
+
</DxcSidenav.Group>
|
|
139
|
+
<DxcSidenav.Link icon={iconSVG}>Single Link</DxcSidenav.Link>
|
|
140
|
+
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
141
|
+
<DxcSidenav.Group collapsable={false} title="Section Group">
|
|
142
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
143
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
144
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
145
|
+
</DxcSidenav.Group>
|
|
146
|
+
</DxcSidenav.Section>
|
|
147
|
+
</DxcSidenav>
|
|
148
|
+
</HalstackProvider>
|
|
149
|
+
</ExampleContainer>
|
|
58
150
|
</>
|
|
59
151
|
);
|
|
60
152
|
|
|
61
|
-
export const FocusedSidenav = () => (
|
|
62
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
63
|
-
<Title title="Default sidenav" theme="light" level={4} />
|
|
64
|
-
<DxcSidenav title={<TitleComponent />}>
|
|
65
|
-
<DxcSidenav.Section>
|
|
66
|
-
<p>
|
|
67
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse vitae
|
|
68
|
-
lacinia libero.
|
|
69
|
-
</p>
|
|
70
|
-
</DxcSidenav.Section>
|
|
71
|
-
<DxcSidenav.Section>
|
|
72
|
-
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
73
|
-
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
74
|
-
<DxcSidenav.Group collapsable={true} title="Collapsable Group">
|
|
75
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
76
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
77
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
78
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
79
|
-
</DxcSidenav.Group>
|
|
80
|
-
</DxcSidenav.Section>
|
|
81
|
-
<DxcSidenav.Section>
|
|
82
|
-
<DxcSidenav.Group collapsable={true} title="Collapsable Group">
|
|
83
|
-
<DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
|
|
84
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
85
|
-
</DxcSidenav.Group>
|
|
86
|
-
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
87
|
-
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
88
|
-
<DxcSidenav.Group collapsable={false} title="Section Group">
|
|
89
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
90
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
91
|
-
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
92
|
-
</DxcSidenav.Group>
|
|
93
|
-
</DxcSidenav.Section>
|
|
94
|
-
</DxcSidenav>
|
|
95
|
-
</ExampleContainer>
|
|
96
|
-
);
|
|
97
|
-
|
|
98
153
|
const CollapsedGroup = () => (
|
|
99
154
|
<>
|
|
100
155
|
<ExampleContainer>
|
|
101
156
|
<Title title="Default sidenav" theme="light" level={4} />
|
|
102
|
-
<DxcSidenav title={<
|
|
157
|
+
<DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
|
|
103
158
|
<DxcSidenav.Section>
|
|
104
159
|
<DxcSidenav.Group collapsable={true} title="Collapsable Group" icon={iconSVG}>
|
|
105
160
|
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
@@ -127,7 +182,7 @@ const CollapsedGroup = () => (
|
|
|
127
182
|
const HoverSidenav = () => (
|
|
128
183
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
129
184
|
<Title title="Default sidenav" theme="light" level={4} />
|
|
130
|
-
<DxcSidenav title={<
|
|
185
|
+
<DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
|
|
131
186
|
<DxcSidenav.Section>
|
|
132
187
|
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
133
188
|
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
@@ -161,6 +216,44 @@ const HoverSidenav = () => (
|
|
|
161
216
|
</ExampleContainer>
|
|
162
217
|
);
|
|
163
218
|
|
|
219
|
+
const HoverSidenavOpinionated = () => (
|
|
220
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
221
|
+
<Title title="Default sidenav" theme="light" level={4} />
|
|
222
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
223
|
+
<DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
|
|
224
|
+
<DxcSidenav.Section>
|
|
225
|
+
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
226
|
+
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
227
|
+
<DxcSidenav.Group collapsable={true} title="Collapsable Group">
|
|
228
|
+
<DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
|
|
229
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
230
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
231
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
232
|
+
</DxcSidenav.Group>
|
|
233
|
+
</DxcSidenav.Section>
|
|
234
|
+
<DxcSidenav.Section>
|
|
235
|
+
<DxcSidenav.Group collapsable={true} title="Not Collapsed Group">
|
|
236
|
+
<DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
|
|
237
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
238
|
+
</DxcSidenav.Group>
|
|
239
|
+
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
240
|
+
<DxcSidenav.Link>Single Link</DxcSidenav.Link>
|
|
241
|
+
<DxcSidenav.Group collapsable={true} title="Collapsable Group">
|
|
242
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
243
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
244
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
245
|
+
</DxcSidenav.Group>
|
|
246
|
+
<DxcSidenav.Group collapsable={true} title="Collapsable Group">
|
|
247
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
248
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
249
|
+
<DxcSidenav.Link>Group Link</DxcSidenav.Link>
|
|
250
|
+
</DxcSidenav.Group>
|
|
251
|
+
</DxcSidenav.Section>
|
|
252
|
+
</DxcSidenav>
|
|
253
|
+
</HalstackProvider>
|
|
254
|
+
</ExampleContainer>
|
|
255
|
+
);
|
|
256
|
+
|
|
164
257
|
export const CollapseGroup = CollapsedGroup.bind({});
|
|
165
258
|
CollapseGroup.play = async ({ canvasElement }) => {
|
|
166
259
|
const canvas = within(canvasElement);
|
|
@@ -178,3 +271,12 @@ CollapseHoverGroup.play = async ({ canvasElement }) => {
|
|
|
178
271
|
userEvent.click(group);
|
|
179
272
|
});
|
|
180
273
|
};
|
|
274
|
+
|
|
275
|
+
export const CollapseHoverGroupOpinionated = HoverSidenavOpinionated.bind({});
|
|
276
|
+
CollapseHoverGroupOpinionated.play = async ({ canvasElement }) => {
|
|
277
|
+
const canvas = within(canvasElement);
|
|
278
|
+
const collapsableGroups = canvas.getAllByText("Collapsable Group");
|
|
279
|
+
collapsableGroups.forEach((group) => {
|
|
280
|
+
userEvent.click(group);
|
|
281
|
+
});
|
|
282
|
+
};
|
package/slider/Slider.js
CHANGED
|
@@ -252,7 +252,7 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
252
252
|
return props.theme.helperTextLineHeight;
|
|
253
253
|
});
|
|
254
254
|
|
|
255
|
-
var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n
|
|
255
|
+
var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
|
|
256
256
|
return props.theme.trackLineThickness;
|
|
257
257
|
}, function (props) {
|
|
258
258
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark + "61" : props.theme.disabledTotalLineColor + "61" : props.backgroundType === "dark" ? props.theme.totalLineColorOnDark + "61" : props.theme.totalLineColor;
|
|
@@ -317,13 +317,13 @@ var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_
|
|
|
317
317
|
return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
|
|
318
318
|
});
|
|
319
319
|
|
|
320
|
-
var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n"])));
|
|
320
|
+
var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n z-index: 0;\n"])));
|
|
321
321
|
|
|
322
322
|
var MarksContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n position: absolute;\n pointer-events: none;\n height: 100%;\n display: flex;\n align-items: center;\n"])), function (props) {
|
|
323
323
|
return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
|
|
324
324
|
});
|
|
325
325
|
|
|
326
|
-
var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n ", ";\n"])), function (props) {
|
|
326
|
+
var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n z-index: ", ";\n"])), function (props) {
|
|
327
327
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
328
328
|
}, function (props) {
|
|
329
329
|
return props.theme.tickHeight;
|
|
@@ -332,7 +332,7 @@ var TickMark = _styledComponents["default"].span(_templateObject11 || (_template
|
|
|
332
332
|
}, function (props) {
|
|
333
333
|
return "calc(".concat(props.stepPosition, " * 100%)");
|
|
334
334
|
}, function (props) {
|
|
335
|
-
return
|
|
335
|
+
return "".concat(props.stepPosition <= props.stepValue ? "-1" : "0");
|
|
336
336
|
});
|
|
337
337
|
|
|
338
338
|
var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
|
|
@@ -4,6 +4,7 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
6
|
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
7
8
|
|
|
8
9
|
export default {
|
|
9
10
|
title: "Slider",
|
|
@@ -12,6 +13,14 @@ export default {
|
|
|
12
13
|
|
|
13
14
|
const labelFormat = (value) => `${value}E100000000000000000000000`;
|
|
14
15
|
|
|
16
|
+
const opinionatedTheme = {
|
|
17
|
+
slider: {
|
|
18
|
+
baseColor: "#0067b3",
|
|
19
|
+
fontColor: "#000000",
|
|
20
|
+
totalLineColor: "#e6e6e6",
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
|
|
15
24
|
export const Chromatic = () => (
|
|
16
25
|
<>
|
|
17
26
|
<Title title="States" theme="light" level={2} />
|
|
@@ -179,5 +188,53 @@ export const Chromatic = () => (
|
|
|
179
188
|
size="large"
|
|
180
189
|
/>
|
|
181
190
|
</ExampleContainer>
|
|
191
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
192
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
193
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
194
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
195
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
196
|
+
</HalstackProvider>
|
|
197
|
+
</ExampleContainer>
|
|
198
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
199
|
+
<Title title="Active" theme="light" level={4} />
|
|
200
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
201
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
202
|
+
</HalstackProvider>
|
|
203
|
+
</ExampleContainer>
|
|
204
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
205
|
+
<Title title="Focused" theme="light" level={4} />
|
|
206
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
207
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
208
|
+
</HalstackProvider>
|
|
209
|
+
</ExampleContainer>
|
|
210
|
+
<ExampleContainer>
|
|
211
|
+
<Title title="Disabled discrete slider with input" theme="light" level={4} />{" "}
|
|
212
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
213
|
+
<DxcSlider
|
|
214
|
+
label="Slider"
|
|
215
|
+
helperText="Help message"
|
|
216
|
+
disabled
|
|
217
|
+
defaultValue={40}
|
|
218
|
+
minValue={0}
|
|
219
|
+
maxValue={50}
|
|
220
|
+
showLimitsValues
|
|
221
|
+
showInput
|
|
222
|
+
marks
|
|
223
|
+
step={10}
|
|
224
|
+
/>
|
|
225
|
+
</HalstackProvider>
|
|
226
|
+
</ExampleContainer>
|
|
227
|
+
<ExampleContainer>
|
|
228
|
+
<Title title="Continuous slider" theme="light" level={4} />
|
|
229
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
230
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
231
|
+
</HalstackProvider>
|
|
232
|
+
</ExampleContainer>
|
|
233
|
+
<ExampleContainer>
|
|
234
|
+
<Title title="Discrete slider" theme="light" level={4} />
|
|
235
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
236
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
237
|
+
</HalstackProvider>
|
|
238
|
+
</ExampleContainer>
|
|
182
239
|
</>
|
|
183
240
|
);
|
package/spinner/Spinner.js
CHANGED
|
@@ -178,7 +178,7 @@ var BackOverlay = _styledComponents["default"].div(_templateObject3 || (_templat
|
|
|
178
178
|
return "".concat(props.theme.overlayOpacity);
|
|
179
179
|
});
|
|
180
180
|
|
|
181
|
-
var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n
|
|
181
|
+
var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n"])));
|
|
182
182
|
|
|
183
183
|
var SVGBackground = _styledComponents["default"].svg(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n"])));
|
|
184
184
|
|
|
@@ -190,7 +190,7 @@ var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (
|
|
|
190
190
|
return props.mode !== "small" ? "8.5px" : "2px";
|
|
191
191
|
});
|
|
192
192
|
|
|
193
|
-
var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n
|
|
193
|
+
var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n"])));
|
|
194
194
|
|
|
195
195
|
var SVGSpinner = _styledComponents["default"].svg(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n transform: rotate(-90deg);\n top: 0;\n left: 0;\n transform-origin: center;\n overflow: visible;\n animation: ", ";\n"])), function (props) {
|
|
196
196
|
return !props.isDeterminated ? "1.4s linear infinite both spinner-svg" : "";
|
|
@@ -2,12 +2,23 @@ import React from "react";
|
|
|
2
2
|
import DxcSpinner from "./Spinner";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
5
6
|
|
|
6
7
|
export default {
|
|
7
8
|
title: "Spinner",
|
|
8
9
|
component: DxcSpinner,
|
|
9
10
|
};
|
|
10
11
|
|
|
12
|
+
const opinionatedTheme = {
|
|
13
|
+
spinner: {
|
|
14
|
+
accentColor: "#5f249f",
|
|
15
|
+
baseColor: "#ffffff",
|
|
16
|
+
fontColor: "#000000",
|
|
17
|
+
overlayColor: "#a46ede",
|
|
18
|
+
overlayFontColor: "#ffffff",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
11
22
|
export const Chromatic = () => (
|
|
12
23
|
<>
|
|
13
24
|
<ExampleContainer>
|
|
@@ -62,7 +73,13 @@ export const Chromatic = () => (
|
|
|
62
73
|
<DxcSpinner margin="xlarge" mode="small" value="75"></DxcSpinner>
|
|
63
74
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
64
75
|
<DxcSpinner margin="xxlarge" mode="small" value="75"></DxcSpinner>
|
|
65
|
-
|
|
76
|
+
</ExampleContainer>
|
|
77
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
78
|
+
<ExampleContainer>
|
|
79
|
+
<Title title="With label and value label" theme="light" level={4} />
|
|
80
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
81
|
+
<DxcSpinner label="Label" value="50" showValue></DxcSpinner>
|
|
82
|
+
</HalstackProvider>
|
|
66
83
|
</ExampleContainer>
|
|
67
84
|
</>
|
|
68
85
|
);
|
|
@@ -101,3 +118,12 @@ export const SpinnerOverlayWithValueAndLabel = () => (
|
|
|
101
118
|
<DxcSpinner mode="overlay" label="Label" value="50" showValue></DxcSpinner>
|
|
102
119
|
</ExampleContainer>
|
|
103
120
|
);
|
|
121
|
+
|
|
122
|
+
export const SpinnerOverlayWithValueAndLabelOpinionated = () => (
|
|
123
|
+
<ExampleContainer>
|
|
124
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
125
|
+
<Title title="Mode overlay" theme="light" level={4} />
|
|
126
|
+
<DxcSpinner mode="overlay" label="Label" value="50" showValue></DxcSpinner>
|
|
127
|
+
</HalstackProvider>
|
|
128
|
+
</ExampleContainer>
|
|
129
|
+
);
|
package/switch/Switch.js
CHANGED
|
@@ -234,7 +234,7 @@ var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templa
|
|
|
234
234
|
|
|
235
235
|
var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
236
236
|
|
|
237
|
-
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n
|
|
237
|
+
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[aria-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
238
238
|
return props.theme.trackWidth;
|
|
239
239
|
}, function (props) {
|
|
240
240
|
return props.theme.trackHeight;
|