@dxc-technology/halstack-react 0.0.0-7c194f8 → 0.0.0-7c2b794
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 +29 -15
- package/HalstackContext.js +1 -1
- package/accordion/Accordion.js +1 -1
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +3 -3
- package/accordion-group/AccordionGroupAccordion.js +2 -2
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +47 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/action-icon/types.js +5 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +140 -29
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/button/Button.js +3 -2
- package/button/Button.stories.tsx +32 -50
- package/button/Button.test.js +3 -1
- package/button/types.d.ts +1 -1
- package/common/coreTokens.js +2 -2
- package/common/variables.d.ts +29 -15
- package/common/variables.js +36 -22
- package/container/Container.js +1 -1
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/types.d.ts +2 -2
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +19 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +9 -7
- package/dropdown/types.d.ts +1 -1
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +25 -12
- package/footer/Footer.stories.tsx +19 -0
- package/footer/Icons.d.ts +1 -0
- package/footer/Icons.js +65 -1
- package/footer/types.d.ts +6 -0
- package/header/types.d.ts +2 -2
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +26 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.stories.tsx +3 -1
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +1 -1
- package/main.d.ts +5 -2
- package/main.js +22 -1
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +9 -6
- package/nav-tabs/NavTabs.stories.tsx +6 -4
- package/nav-tabs/NavTabs.test.js +3 -2
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +8 -7
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +24 -5
- package/number-input/NumberInput.test.js +165 -6
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +6 -0
- package/package.json +2 -2
- package/radio-group/RadioGroup.js +1 -1
- package/resultset-table/ResultsetTable.d.ts +4 -1
- package/resultset-table/ResultsetTable.js +13 -6
- package/resultset-table/ResultsetTable.stories.tsx +102 -5
- package/resultset-table/ResultsetTable.test.js +66 -0
- package/resultset-table/types.d.ts +6 -0
- package/select/Option.js +8 -1
- package/select/Select.js +33 -23
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.js +3 -2
- package/slider/Slider.js +5 -6
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +82 -8
- package/table/Table.stories.tsx +304 -2
- package/table/Table.test.js +92 -0
- package/table/types.d.ts +42 -0
- package/tabs/Tab.js +7 -4
- package/tabs/Tabs.js +4 -5
- package/tabs/Tabs.stories.tsx +1 -1
- package/text-input/TextInput.js +58 -71
- package/text-input/TextInput.test.js +96 -79
- package/useTheme.d.ts +29 -15
- package/utils/FocusLock.js +3 -0
- package/wizard/types.d.ts +1 -1
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
- /package/{layout → sidenav}/SidenavContext.js +0 -0
package/number-input/types.d.ts
CHANGED
|
@@ -123,6 +123,12 @@ type Props = {
|
|
|
123
123
|
*/
|
|
124
124
|
tabIndex?: number;
|
|
125
125
|
};
|
|
126
|
+
export type NumberInputContextProps = {
|
|
127
|
+
typeNumber?: string;
|
|
128
|
+
minNumber?: number;
|
|
129
|
+
maxNumber?: number;
|
|
130
|
+
stepNumber?: number;
|
|
131
|
+
};
|
|
126
132
|
/**
|
|
127
133
|
* Reference to the component.
|
|
128
134
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-7c2b794",
|
|
4
4
|
"description": "DXC Halstack React components library",
|
|
5
5
|
"repository": "dxc-technology/halstack-react",
|
|
6
6
|
"homepage": "https://developer.dxc.com/halstack",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@babel/cli": "^7.16.8",
|
|
37
|
-
"@babel/core": "^7.
|
|
37
|
+
"@babel/core": "^7.24.0",
|
|
38
38
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
|
|
39
39
|
"@babel/plugin-proposal-optional-chaining": "^7.13.8",
|
|
40
40
|
"@babel/plugin-transform-runtime": "^7.16.8",
|
|
@@ -158,7 +158,7 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
158
158
|
"aria-invalid": error ? true : false,
|
|
159
159
|
"aria-errormessage": error ? errorId : undefined,
|
|
160
160
|
"aria-required": !disabled && !readOnly && !optional,
|
|
161
|
-
"aria-
|
|
161
|
+
"aria-readonly": readOnly,
|
|
162
162
|
"aria-orientation": stacking === "column" ? "vertical" : "horizontal"
|
|
163
163
|
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
164
164
|
name: name,
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import ResultsetTablePropsType from "./types";
|
|
3
|
-
declare const DxcResultsetTable:
|
|
3
|
+
declare const DxcResultsetTable: {
|
|
4
|
+
({ columns, rows, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, mode, }: ResultsetTablePropsType): JSX.Element;
|
|
5
|
+
ActionsCell: ({ actions }: import("../table/types").ActionCellsPropsType) => JSX.Element;
|
|
6
|
+
};
|
|
4
7
|
export default DxcResultsetTable;
|
|
@@ -12,11 +12,12 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
14
14
|
var _variables = require("../common/variables");
|
|
15
|
-
var _Table = _interopRequireDefault(require("../table/Table"));
|
|
16
15
|
var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
|
|
16
|
+
var _Table = _interopRequireWildcard(require("../table/Table"));
|
|
17
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
18
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
19
19
|
var _utils = require("../common/utils");
|
|
20
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
20
21
|
var _templateObject, _templateObject2, _templateObject3;
|
|
21
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -57,7 +58,9 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
57
58
|
itemsPerPageFunction = _ref.itemsPerPageFunction,
|
|
58
59
|
margin = _ref.margin,
|
|
59
60
|
_ref$tabIndex = _ref.tabIndex,
|
|
60
|
-
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex
|
|
61
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
62
|
+
_ref$mode = _ref.mode,
|
|
63
|
+
mode = _ref$mode === void 0 ? "default" : _ref$mode;
|
|
61
64
|
var colorsTheme = (0, _useTheme["default"])();
|
|
62
65
|
var _useState = (0, _react.useState)(1),
|
|
63
66
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -98,7 +101,9 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
98
101
|
theme: colorsTheme.table
|
|
99
102
|
}, /*#__PURE__*/_react["default"].createElement(DxcResultsetTableContainer, {
|
|
100
103
|
margin: margin
|
|
101
|
-
}, /*#__PURE__*/_react["default"].createElement(_Table["default"],
|
|
104
|
+
}, /*#__PURE__*/_react["default"].createElement(_Table["default"], {
|
|
105
|
+
mode: mode
|
|
106
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, index) {
|
|
102
107
|
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
103
108
|
key: "tableHeader_".concat(index),
|
|
104
109
|
"aria-sort": column.isSortable ? sortColumnIndex === index ? sortOrder : "none" : undefined
|
|
@@ -109,7 +114,8 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
109
114
|
column.isSortable && changeSorting(index);
|
|
110
115
|
},
|
|
111
116
|
tabIndex: column.isSortable ? tabIndex : -1,
|
|
112
|
-
isSortable: column.isSortable
|
|
117
|
+
isSortable: column.isSortable,
|
|
118
|
+
mode: mode
|
|
113
119
|
}, /*#__PURE__*/_react["default"].createElement("span", null, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, sortColumnIndex === index ? sortOrder === "ascending" ? _Icons["default"].arrowUp : _Icons["default"].arrowDown : _Icons["default"].bothArrows)));
|
|
114
120
|
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, filteredResultset.map(function (cells, index) {
|
|
115
121
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
@@ -146,9 +152,9 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
|
|
|
146
152
|
}, function (props) {
|
|
147
153
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
148
154
|
});
|
|
149
|
-
var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap:
|
|
155
|
+
var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: ", ";\n width: fit-content;\n border: 1px solid transparent;\n border-radius: 2px;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
150
156
|
return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
|
|
151
|
-
}, function (props) {
|
|
157
|
+
}, _coreTokens["default"].spacing_8, function (props) {
|
|
152
158
|
return props.isSortable ? "pointer" : "default";
|
|
153
159
|
}, function (props) {
|
|
154
160
|
return props.isSortable && "&:focus {\n outline: #0095ff solid 2px;\n }";
|
|
@@ -156,4 +162,5 @@ var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_te
|
|
|
156
162
|
var SortIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 14px;\n width: 14px;\n color: ", ";\n\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
157
163
|
return props.theme.sortIconColor;
|
|
158
164
|
});
|
|
165
|
+
DxcResultsetTable.ActionsCell = _Table.DxcActionsCell;
|
|
159
166
|
var _default = exports["default"] = DxcResultsetTable;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcResultsetTable from "./ResultsetTable";
|
|
3
|
-
import DxcButton from "../button/Button";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
5
|
import { userEvent, within } from "@storybook/testing-library";
|
|
7
6
|
import styled from "styled-components";
|
|
7
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
8
8
|
|
|
9
9
|
export default {
|
|
10
10
|
title: "Resultset Table",
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
|
|
14
14
|
const deleteIcon = (
|
|
15
15
|
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
|
|
16
|
-
<path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z" />
|
|
16
|
+
<path fill="currentColor" d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z" />
|
|
17
17
|
<path d="M0 0h24v24H0z" fill="none" />
|
|
18
18
|
</svg>
|
|
19
19
|
);
|
|
@@ -29,17 +29,77 @@ const rows = [
|
|
|
29
29
|
[{ displayValue: "006" }, { displayValue: "Cris" }, { displayValue: "Paris" }],
|
|
30
30
|
];
|
|
31
31
|
|
|
32
|
+
const advancedTheme = {
|
|
33
|
+
table: {
|
|
34
|
+
actionIconColor: "#1B75BB",
|
|
35
|
+
hoverActionIconColor: "#1B75BB",
|
|
36
|
+
activeActionIconColor: "#1B75BB",
|
|
37
|
+
focusActionIconColor: "#1B75BB",
|
|
38
|
+
disabledActionIconColor: "#666666",
|
|
39
|
+
hoverButtonBackgroundColor: "#cccccc",
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const actions = [
|
|
44
|
+
{
|
|
45
|
+
title: "icon",
|
|
46
|
+
onClick: (value?) => {
|
|
47
|
+
console.log(value);
|
|
48
|
+
},
|
|
49
|
+
options: [
|
|
50
|
+
{
|
|
51
|
+
value: "1",
|
|
52
|
+
label: "Amazon with a very long text",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
value: "2",
|
|
56
|
+
label: "Ebay",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
value: "3",
|
|
60
|
+
label: "Apple",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
icon: "https://www.freepnglogos.com/uploads/facebook-logo-design-1.png",
|
|
66
|
+
title: "icon",
|
|
67
|
+
onClick: () => {},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
icon: deleteIcon,
|
|
71
|
+
title: "icon",
|
|
72
|
+
onClick: () => {},
|
|
73
|
+
disabled: true,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
icon: deleteIcon,
|
|
77
|
+
title: "icon",
|
|
78
|
+
onClick: () => {},
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
32
82
|
const rowsIcon = [
|
|
33
83
|
[
|
|
34
84
|
{ displayValue: "001", sortValue: "001" },
|
|
35
85
|
{ displayValue: "Peter" },
|
|
36
|
-
{
|
|
86
|
+
{
|
|
87
|
+
displayValue: <DxcResultsetTable.ActionsCell actions={actions} />,
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
{ displayValue: "002", sortValue: "002" },
|
|
92
|
+
{ displayValue: "Louis" },
|
|
93
|
+
{
|
|
94
|
+
displayValue: <DxcResultsetTable.ActionsCell actions={actions} />,
|
|
95
|
+
},
|
|
37
96
|
],
|
|
38
|
-
[{ displayValue: "002", sortValue: "002" }, { displayValue: "Louis" }, { displayValue: "" }],
|
|
39
97
|
[
|
|
40
98
|
{ displayValue: "003", sortValue: "003" },
|
|
41
99
|
{ displayValue: "Mark" },
|
|
42
|
-
{
|
|
100
|
+
{
|
|
101
|
+
displayValue: <DxcResultsetTable.ActionsCell actions={actions} />,
|
|
102
|
+
},
|
|
43
103
|
],
|
|
44
104
|
];
|
|
45
105
|
|
|
@@ -206,6 +266,25 @@ export const Chromatic = () => (
|
|
|
206
266
|
<DxcResultsetTable columns={columnsSortable} rows={longValues} />
|
|
207
267
|
</SmallContainer>
|
|
208
268
|
</ExampleContainer>
|
|
269
|
+
<ExampleContainer>
|
|
270
|
+
<Title title="Reduced sortable table" theme="light" level={4} />
|
|
271
|
+
<DxcResultsetTable columns={columnsSortable} rows={rowsSortable} mode="reduced" />
|
|
272
|
+
</ExampleContainer>
|
|
273
|
+
{/* PENDING SMALL ICON VERSION */}
|
|
274
|
+
<ExampleContainer>
|
|
275
|
+
<Title title="Reduced with items per page option" theme="light" level={4} />
|
|
276
|
+
<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={2} itemsPerPageOptions={[2, 3]} mode="reduced" />
|
|
277
|
+
</ExampleContainer>
|
|
278
|
+
<ExampleContainer>
|
|
279
|
+
<Title title="Reduced scroll resultset table" theme="light" level={4} />
|
|
280
|
+
<DxcResultsetTable columns={longColumns} rows={longRows} mode="reduced" />
|
|
281
|
+
</ExampleContainer>
|
|
282
|
+
<ExampleContainer>
|
|
283
|
+
<SmallContainer>
|
|
284
|
+
<Title title="Reduced small container and text overflow" theme="light" level={4} />
|
|
285
|
+
<DxcResultsetTable columns={columnsSortable} rows={longValues} mode="reduced" />
|
|
286
|
+
</SmallContainer>
|
|
287
|
+
</ExampleContainer>
|
|
209
288
|
<Title title="Margins" theme="light" level={2} />
|
|
210
289
|
<ExampleContainer>
|
|
211
290
|
<Title title="Xxsmall" theme="light" level={4} />
|
|
@@ -298,3 +377,21 @@ LastPage.play = async ({ canvasElement }) => {
|
|
|
298
377
|
const nextButton = canvas.getAllByRole("button")[3];
|
|
299
378
|
await userEvent.click(nextButton);
|
|
300
379
|
};
|
|
380
|
+
|
|
381
|
+
const ResultsetActionsCellDropdown = () => (
|
|
382
|
+
<ExampleContainer>
|
|
383
|
+
<Title title="Dropdown Action" theme="light" level={4} />
|
|
384
|
+
<DxcResultsetTable columns={columns} rows={rowsIcon} itemsPerPage={2} />
|
|
385
|
+
<Title title="Custom theme actions cell" theme="light" level={4} />
|
|
386
|
+
<HalstackProvider advancedTheme={advancedTheme}>
|
|
387
|
+
<DxcResultsetTable columns={columns} rows={rowsIcon} itemsPerPage={2} />
|
|
388
|
+
</HalstackProvider>
|
|
389
|
+
</ExampleContainer>
|
|
390
|
+
);
|
|
391
|
+
|
|
392
|
+
export const DropdownAction = ResultsetActionsCellDropdown.bind({});
|
|
393
|
+
DropdownAction.play = async ({ canvasElement }) => {
|
|
394
|
+
const canvas = within(canvasElement);
|
|
395
|
+
const dropdown = canvas.getAllByRole("button")[5];
|
|
396
|
+
await userEvent.click(dropdown);
|
|
397
|
+
};
|
|
@@ -39,6 +39,18 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
39
39
|
}]);
|
|
40
40
|
return ResizeObserver;
|
|
41
41
|
}();
|
|
42
|
+
var icon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
43
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
44
|
+
height: "24px",
|
|
45
|
+
viewBox: "0 0 24 24",
|
|
46
|
+
width: "24px",
|
|
47
|
+
fill: "currentColor"
|
|
48
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
49
|
+
d: "M0 0h24v24H0V0zm0 0h24v24H0V0z",
|
|
50
|
+
fill: "none"
|
|
51
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
52
|
+
d: "M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z"
|
|
53
|
+
}));
|
|
42
54
|
var columns = [{
|
|
43
55
|
displayValue: "Id",
|
|
44
56
|
isSortable: false
|
|
@@ -302,4 +314,58 @@ describe("Resultset table component tests", function () {
|
|
|
302
314
|
_react2.fireEvent.click(lastButton);
|
|
303
315
|
expect(getAllByRole("row").length - 1).toEqual(1);
|
|
304
316
|
});
|
|
317
|
+
test("Resultset table with ActionsCell", function () {
|
|
318
|
+
var onSelectOption = jest.fn();
|
|
319
|
+
var onClick = jest.fn();
|
|
320
|
+
var actions = [{
|
|
321
|
+
icon: icon,
|
|
322
|
+
title: "icon1",
|
|
323
|
+
onClick: onSelectOption,
|
|
324
|
+
options: [{
|
|
325
|
+
value: "1",
|
|
326
|
+
label: "Amazon"
|
|
327
|
+
}, {
|
|
328
|
+
value: "2",
|
|
329
|
+
label: "Ebay"
|
|
330
|
+
}, {
|
|
331
|
+
value: "3",
|
|
332
|
+
label: "Aliexpress"
|
|
333
|
+
}]
|
|
334
|
+
}, {
|
|
335
|
+
icon: icon,
|
|
336
|
+
title: "icon2",
|
|
337
|
+
onClick: onClick
|
|
338
|
+
}];
|
|
339
|
+
var actionRows = [[{
|
|
340
|
+
displayValue: "001",
|
|
341
|
+
sortValue: "001"
|
|
342
|
+
}, {
|
|
343
|
+
displayValue: "Peter",
|
|
344
|
+
sortValue: "Peter"
|
|
345
|
+
}, {
|
|
346
|
+
displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
|
|
347
|
+
actions: actions
|
|
348
|
+
}),
|
|
349
|
+
sortValue: "Actions"
|
|
350
|
+
}]];
|
|
351
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
352
|
+
columns: columns,
|
|
353
|
+
rows: actionRows,
|
|
354
|
+
itemsPerPage: 3
|
|
355
|
+
})),
|
|
356
|
+
getAllByRole = _render8.getAllByRole,
|
|
357
|
+
getByRole = _render8.getByRole,
|
|
358
|
+
getByText = _render8.getByText;
|
|
359
|
+
var dropdown = getAllByRole("button")[2];
|
|
360
|
+
(0, _react2.act)(function () {
|
|
361
|
+
_userEvent["default"].click(dropdown);
|
|
362
|
+
});
|
|
363
|
+
expect(getByRole("menu")).toBeTruthy();
|
|
364
|
+
var option = getByText("Aliexpress");
|
|
365
|
+
_userEvent["default"].click(option);
|
|
366
|
+
expect(onSelectOption).toHaveBeenCalledWith("3");
|
|
367
|
+
var action = getAllByRole("button")[1];
|
|
368
|
+
_userEvent["default"].click(action);
|
|
369
|
+
expect(onClick).toHaveBeenCalled();
|
|
370
|
+
});
|
|
305
371
|
});
|
|
@@ -63,5 +63,11 @@ type Props = {
|
|
|
63
63
|
* Value of the tabindex attribute applied to the sortable icon.
|
|
64
64
|
*/
|
|
65
65
|
tabIndex?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Determines the visual style and layout
|
|
68
|
+
* - "default": The default mode with big spacing
|
|
69
|
+
* - "reduced": A reduced mode with minimal spacing for dense tables
|
|
70
|
+
*/
|
|
71
|
+
mode?: "default" | "reduced";
|
|
66
72
|
};
|
|
67
73
|
export default Props;
|
package/select/Option.js
CHANGED
|
@@ -21,6 +21,11 @@ var Option = function Option(_ref) {
|
|
|
21
21
|
isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
|
|
22
22
|
isLastOption = _ref.isLastOption,
|
|
23
23
|
isSelected = _ref.isSelected;
|
|
24
|
+
var handleOnMouseEnter = function handleOnMouseEnter(event) {
|
|
25
|
+
var label = event.currentTarget;
|
|
26
|
+
var optionElement = document.getElementById(id);
|
|
27
|
+
if (optionElement.title === "" && label.scrollWidth > label.clientWidth) optionElement.title = option.label;
|
|
28
|
+
};
|
|
24
29
|
return /*#__PURE__*/_react["default"].createElement(OptionItem, {
|
|
25
30
|
id: id,
|
|
26
31
|
onClick: function onClick() {
|
|
@@ -49,7 +54,9 @@ var Option = function Option(_ref) {
|
|
|
49
54
|
grouped: isGroupedOption,
|
|
50
55
|
hasIcon: option.icon ? true : false,
|
|
51
56
|
multiple: multiple
|
|
52
|
-
}, /*#__PURE__*/_react["default"].createElement(OptionLabel,
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement(OptionLabel, {
|
|
58
|
+
onMouseEnter: handleOnMouseEnter
|
|
59
|
+
}, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected))));
|
|
53
60
|
};
|
|
54
61
|
var OptionItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
|
|
55
62
|
return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
|
package/select/Select.js
CHANGED
|
@@ -20,16 +20,17 @@ var _utils = require("../common/utils");
|
|
|
20
20
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
21
21
|
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
22
22
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
23
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
23
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
24
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
25
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
26
|
-
var
|
|
27
|
-
return
|
|
28
|
-
return groupOption.options.length > 0;
|
|
29
|
-
}) : false : true;
|
|
26
|
+
var isOptionGroup = function isOptionGroup(option) {
|
|
27
|
+
return "options" in option && option.options != null;
|
|
30
28
|
};
|
|
31
|
-
var
|
|
32
|
-
return
|
|
29
|
+
var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
|
|
30
|
+
return isOptionGroup(options[0]);
|
|
31
|
+
};
|
|
32
|
+
var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
|
|
33
|
+
return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
|
|
33
34
|
var _groupOption$options;
|
|
34
35
|
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
35
36
|
}) : true;
|
|
@@ -39,7 +40,7 @@ var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
|
39
40
|
};
|
|
40
41
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
41
42
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
42
|
-
if (options
|
|
43
|
+
if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
|
|
43
44
|
var group = {
|
|
44
45
|
label: optionGroup.label,
|
|
45
46
|
options: optionGroup.options.filter(function (option) {
|
|
@@ -58,7 +59,7 @@ var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, s
|
|
|
58
59
|
var _current$options;
|
|
59
60
|
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
60
61
|
};
|
|
61
|
-
if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) filteredOptions
|
|
62
|
+
if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) isArrayOfOptionGroups(filteredOptions) ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) isArrayOfOptionGroups(options) ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
|
|
62
63
|
return optional && !multiple ? last + 1 : last;
|
|
63
64
|
};
|
|
64
65
|
var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
@@ -67,7 +68,7 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
67
68
|
if (multiple) {
|
|
68
69
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
69
70
|
options.forEach(function (option) {
|
|
70
|
-
if (option
|
|
71
|
+
if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
|
|
71
72
|
if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
|
|
72
73
|
});else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
|
|
73
74
|
});
|
|
@@ -79,7 +80,7 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
79
80
|
} else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
80
81
|
var group_index = 0;
|
|
81
82
|
options.some(function (option, index) {
|
|
82
|
-
if (option
|
|
83
|
+
if (isOptionGroup(option)) {
|
|
83
84
|
option.options.some(function (singleOption) {
|
|
84
85
|
if (singleOption.value === value) {
|
|
85
86
|
selectedOption = singleOption;
|
|
@@ -101,6 +102,12 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
101
102
|
singleSelectionIndex: singleSelectionIndex
|
|
102
103
|
};
|
|
103
104
|
};
|
|
105
|
+
var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
|
|
106
|
+
var _selectedOption$label;
|
|
107
|
+
if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
|
|
108
|
+
return option.label;
|
|
109
|
+
}).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
|
|
110
|
+
};
|
|
104
111
|
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
105
112
|
return !optional && (multiple ? value.length === 0 : value === "");
|
|
106
113
|
};
|
|
@@ -125,7 +132,7 @@ var useWidth = function useWidth(target) {
|
|
|
125
132
|
return width;
|
|
126
133
|
};
|
|
127
134
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
128
|
-
var _ref4
|
|
135
|
+
var _ref4;
|
|
129
136
|
var label = _ref.label,
|
|
130
137
|
_ref$name = _ref.name,
|
|
131
138
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
@@ -175,6 +182,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
175
182
|
changeIsOpen = _useState12[1];
|
|
176
183
|
var selectRef = (0, _react.useRef)(null);
|
|
177
184
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
185
|
+
var selectedOptionLabelRef = (0, _react.useRef)(null);
|
|
178
186
|
var width = useWidth(selectRef.current);
|
|
179
187
|
var colorsTheme = (0, _useTheme["default"])();
|
|
180
188
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
@@ -229,7 +237,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
229
237
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
230
238
|
};
|
|
231
239
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
232
|
-
// focus leaves container (outside, not to child)
|
|
240
|
+
// focus leaves container (outside, not to a child)
|
|
233
241
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
234
242
|
closeOptions();
|
|
235
243
|
setSearchValue("");
|
|
@@ -271,7 +279,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
271
279
|
var accLength = optional && !multiple ? 1 : 0;
|
|
272
280
|
if (searchable) {
|
|
273
281
|
if (filteredOptions.length > 0) {
|
|
274
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
282
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
275
283
|
var groupLength = accLength + groupOption.options.length;
|
|
276
284
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
277
285
|
accLength = groupLength;
|
|
@@ -279,7 +287,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
279
287
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
280
288
|
}
|
|
281
289
|
} else {
|
|
282
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
290
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
283
291
|
var groupLength = accLength + groupOption.options.length;
|
|
284
292
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
285
293
|
accLength = groupLength;
|
|
@@ -316,6 +324,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
316
324
|
!multiple && closeOptions();
|
|
317
325
|
setSearchValue("");
|
|
318
326
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
327
|
+
(0, _react.useEffect)(function () {
|
|
328
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
|
|
329
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
|
|
330
|
+
}
|
|
331
|
+
}, [placeholder, selectedOption]);
|
|
319
332
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
320
333
|
theme: colorsTheme.select
|
|
321
334
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -382,15 +395,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
382
395
|
autoComplete: "nope",
|
|
383
396
|
autoCorrect: "nope",
|
|
384
397
|
size: 1
|
|
385
|
-
}), (!searchable || searchValue === "") &&
|
|
386
|
-
disabled: disabled,
|
|
387
|
-
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
388
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
|
|
389
|
-
return option.label;
|
|
390
|
-
}).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
398
|
+
}), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
391
399
|
disabled: disabled,
|
|
392
|
-
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
393
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel,
|
|
400
|
+
atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
|
|
401
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
|
|
402
|
+
ref: selectedOptionLabelRef
|
|
403
|
+
}, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
394
404
|
onMouseDown: function onMouseDown(event) {
|
|
395
405
|
// Avoid input to lose focus
|
|
396
406
|
event.preventDefault();
|
package/select/types.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ type Margin = {
|
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
9
|
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
-
type OptionGroup = {
|
|
10
|
+
export type OptionGroup = {
|
|
11
11
|
/**
|
|
12
12
|
* Label of the group to be shown in the select's listbox.
|
|
13
13
|
*/
|
|
@@ -17,7 +17,7 @@ type OptionGroup = {
|
|
|
17
17
|
*/
|
|
18
18
|
options: Option[];
|
|
19
19
|
};
|
|
20
|
-
type Option = {
|
|
20
|
+
export type Option = {
|
|
21
21
|
/**
|
|
22
22
|
* Element used as the icon that will be placed before the option label.
|
|
23
23
|
* It can be a url of an image or an inline SVG. If the url option
|
package/sidenav/Sidenav.js
CHANGED
|
@@ -13,11 +13,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
15
15
|
var _variables = require("../common/variables");
|
|
16
|
-
var _SidenavContext = require("
|
|
16
|
+
var _SidenavContext = require("./SidenavContext");
|
|
17
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
18
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
19
19
|
var _Bleed = _interopRequireDefault(require("../bleed/Bleed"));
|
|
20
20
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
21
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
21
22
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
22
23
|
var _excluded = ["href", "newWindow", "selected", "icon", "onClick", "tabIndex", "children"];
|
|
23
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -138,7 +139,7 @@ var SidenavTitle = _styledComponents["default"].div(_templateObject2 || (_templa
|
|
|
138
139
|
}, function (props) {
|
|
139
140
|
return props.theme.titleFontTextTransform;
|
|
140
141
|
});
|
|
141
|
-
var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color:
|
|
142
|
+
var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: ", ";\n\n &:last-child {\n display: none;\n }\n"])), _coreTokens["default"].color_grey_400);
|
|
142
143
|
var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
|
|
143
144
|
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 padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
144
145
|
return props.theme.groupTitleFontFamily;
|
package/slider/Slider.js
CHANGED
|
@@ -19,8 +19,8 @@ var _uuid = require("uuid");
|
|
|
19
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
20
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
-
var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
|
|
23
22
|
var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
23
|
+
var _navigator;
|
|
24
24
|
var _ref$label = _ref.label,
|
|
25
25
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
26
26
|
_ref$name = _ref.name,
|
|
@@ -61,6 +61,7 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
61
61
|
dragging = _useState6[0],
|
|
62
62
|
setDragging = _useState6[1];
|
|
63
63
|
var colorsTheme = (0, _useTheme["default"])();
|
|
64
|
+
var isFirefox = ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.userAgent.indexOf("Firefox")) !== -1;
|
|
64
65
|
var minLabel = (0, _react.useMemo)(function () {
|
|
65
66
|
return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
|
|
66
67
|
}, [labelFormatCallback, minValue]);
|
|
@@ -68,10 +69,10 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
68
69
|
return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
|
|
69
70
|
}, [labelFormatCallback, maxValue]);
|
|
70
71
|
var tickMarks = (0, _react.useMemo)(function () {
|
|
71
|
-
var ticks = [];
|
|
72
72
|
var numberOfMarks = Math.floor(maxValue / step - minValue / step);
|
|
73
|
-
var index = 0;
|
|
74
73
|
var range = maxValue - minValue;
|
|
74
|
+
var ticks = [];
|
|
75
|
+
var index = 0;
|
|
75
76
|
if (marks) {
|
|
76
77
|
while (index <= numberOfMarks) {
|
|
77
78
|
ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
|
|
@@ -82,9 +83,7 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
82
83
|
index++;
|
|
83
84
|
}
|
|
84
85
|
return ticks;
|
|
85
|
-
} else
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
86
|
+
} else return null;
|
|
88
87
|
}, [minValue, maxValue, step, value, innerValue]);
|
|
89
88
|
var handleSliderChange = function handleSliderChange(event) {
|
|
90
89
|
var valueToCheck = event.target.value;
|