@carbon/ibm-products 2.0.0-rc.17 → 2.0.0-rc.18
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +5 -1
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +413 -0
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +5 -1
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +5 -1
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/Datagrid/Datagrid/DraggableElement.js +7 -3
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +7 -2
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +1 -1
- package/es/global/js/package-settings.js +2 -2
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +6 -2
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +7 -2
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +1 -1
- package/lib/global/js/package-settings.js +2 -2
- package/package.json +2 -2
- package/scss/components/Datagrid/styles/_draggableElement.scss +5 -1
- package/scss/components/MultiAddSelect/_multi-add-select.scss +1 -1
- package/scss/components/SingleAddSelect/_single-add-select.scss +1 -1
- package/scss/components/_index-released-only-with-carbon.scss +2 -0
- package/scss/components/_index-released-only.scss +2 -0
@@ -11,7 +11,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
11
11
|
*/
|
12
12
|
import * as React from 'react';
|
13
13
|
import PropTypes from 'prop-types';
|
14
|
-
import { Draggable } from '@carbon/react/icons';
|
14
|
+
import { Draggable, Locked } from '@carbon/react/icons';
|
15
15
|
import { useDrag, useDrop } from 'react-dnd';
|
16
16
|
import cx from 'classnames';
|
17
17
|
import { pkg } from '../../../settings';
|
@@ -34,6 +34,7 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
34
34
|
onGrab = _ref.onGrab,
|
35
35
|
onArrowKeyDown = _ref.onArrowKeyDown,
|
36
36
|
isFocused = _ref.isFocused,
|
37
|
+
isSticky = _ref.isSticky,
|
37
38
|
moveElement = _ref.moveElement,
|
38
39
|
selected = _ref.selected,
|
39
40
|
_ref$positionLabel = _ref.positionLabel,
|
@@ -120,11 +121,13 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
120
121
|
className: cx({
|
121
122
|
disabled: disabled
|
122
123
|
}, "".concat(blockClass, "__draggable-handleStyle"))
|
123
|
-
}, /*#__PURE__*/React.createElement(
|
124
|
+
}, isSticky ? /*#__PURE__*/React.createElement(Locked, {
|
125
|
+
size: 16
|
126
|
+
}) : /*#__PURE__*/React.createElement(Draggable, {
|
124
127
|
size: 16
|
125
128
|
})), children);
|
126
129
|
return /*#__PURE__*/React.createElement("li", {
|
127
|
-
className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
|
130
|
+
className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder--sticky"), isSticky), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
|
128
131
|
ref: ref,
|
129
132
|
"aria-selected": isFocused,
|
130
133
|
role: "option",
|
@@ -173,6 +176,7 @@ DraggableElement.propTypes = {
|
|
173
176
|
id: PropTypes.string.isRequired,
|
174
177
|
index: PropTypes.number.isRequired,
|
175
178
|
isFocused: PropTypes.bool.isRequired,
|
179
|
+
isSticky: PropTypes.bool,
|
176
180
|
listData: PropTypes.array.isRequired,
|
177
181
|
moveElement: PropTypes.func.isRequired,
|
178
182
|
onArrowKeyDown: PropTypes.func.isRequired,
|
@@ -103,9 +103,11 @@ var Columns = function Columns(_ref) {
|
|
103
103
|
var res = filterString.length ? colDef.Header.props.title.toLowerCase().split(searchString) : null;
|
104
104
|
var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
|
105
105
|
var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colDef.Header.props.title;
|
106
|
+
var isFrozenColumn = !!colDef.sticky;
|
106
107
|
var listContents = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, {
|
107
108
|
className: cx("".concat(blockClass, "__customize-columns-checkbox-wrapper"), "".concat(blockClass, "__customize-columns-checkbox")),
|
108
109
|
checked: isColumnVisible(colDef),
|
110
|
+
disabled: isFrozenColumn,
|
109
111
|
onChange: function onChange(_, _ref2) {
|
110
112
|
var checked = _ref2.checked;
|
111
113
|
return onSelectColumn(colDef, checked);
|
@@ -126,18 +128,21 @@ var Columns = function Columns(_ref) {
|
|
126
128
|
setListData: setColumnsObject,
|
127
129
|
id: "dnd-datagrid-columns-".concat(colDef.id),
|
128
130
|
type: "column-customization",
|
129
|
-
disabled: filterString.length > 0,
|
131
|
+
disabled: filterString.length > 0 || isFrozenColumn,
|
130
132
|
ariaLabel: colDef.Header.props.title,
|
131
133
|
onGrab: setAriaRegionText,
|
132
134
|
isFocused: focusIndex === i,
|
135
|
+
isSticky: isFrozenColumn,
|
133
136
|
moveElement: moveElement,
|
134
137
|
onArrowKeyDown: function onArrowKeyDown(e, isGrabbed, currentIndex) {
|
135
138
|
if (isGrabbed) {
|
139
|
+
var _columns$nextIndex;
|
140
|
+
|
136
141
|
var nextIndex = getNextIndex(columns, currentIndex, e.key);
|
137
142
|
e.preventDefault();
|
138
143
|
e.stopPropagation();
|
139
144
|
|
140
|
-
if (nextIndex >= 0) {
|
145
|
+
if (nextIndex >= 0 && !((_columns$nextIndex = columns[nextIndex]) !== null && _columns$nextIndex !== void 0 && _columns$nextIndex.sticky)) {
|
141
146
|
setFocusIndex(nextIndex);
|
142
147
|
moveElement(currentIndex, nextIndex);
|
143
148
|
e.target.scrollIntoView({
|
package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js
CHANGED
@@ -63,7 +63,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
63
63
|
|
64
64
|
var _useState7 = useState(columnDefinitions // hide the columns without Header, e.g the sticky actions, spacer
|
65
65
|
.filter(function (colDef) {
|
66
|
-
return !!colDef.Header.props;
|
66
|
+
return !!colDef.Header.props && !colDef.isAction;
|
67
67
|
}) // only sort the hidden column to the end when modal reopen
|
68
68
|
.sort(function (defA, defB) {
|
69
69
|
var isVisibleA = isColumnVisible(defA);
|
@@ -37,6 +37,7 @@ var defaults = {
|
|
37
37
|
ImportModal: true,
|
38
38
|
InlineEdit: true,
|
39
39
|
InlineEditV1: true,
|
40
|
+
MultiAddSelect: true,
|
40
41
|
NotificationsPanel: true,
|
41
42
|
NoDataEmptyState: true,
|
42
43
|
NoTagsEmptyState: true,
|
@@ -48,6 +49,7 @@ var defaults = {
|
|
48
49
|
RemoveModal: true,
|
49
50
|
Saving: true,
|
50
51
|
SidePanel: true,
|
52
|
+
SingleAddSelect: true,
|
51
53
|
StatusIcon: true,
|
52
54
|
TagSet: true,
|
53
55
|
Tearsheet: true,
|
@@ -58,8 +60,6 @@ var defaults = {
|
|
58
60
|
WebTerminalContentWrapper: true,
|
59
61
|
WebTerminalProvider: true,
|
60
62
|
// other public components not yet reviewed and released:
|
61
|
-
MultiAddSelect: false,
|
62
|
-
SingleAddSelect: false,
|
63
63
|
ModifiedTabs: false,
|
64
64
|
Toolbar: false,
|
65
65
|
ToolbarButton: false,
|
@@ -57,6 +57,7 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
57
57
|
onGrab = _ref.onGrab,
|
58
58
|
onArrowKeyDown = _ref.onArrowKeyDown,
|
59
59
|
isFocused = _ref.isFocused,
|
60
|
+
isSticky = _ref.isSticky,
|
60
61
|
moveElement = _ref.moveElement,
|
61
62
|
selected = _ref.selected,
|
62
63
|
_ref$positionLabel = _ref.positionLabel,
|
@@ -143,11 +144,13 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
143
144
|
className: (0, _classnames.default)({
|
144
145
|
disabled: disabled
|
145
146
|
}, "".concat(blockClass, "__draggable-handleStyle"))
|
146
|
-
}, /*#__PURE__*/React.createElement(_icons.
|
147
|
+
}, isSticky ? /*#__PURE__*/React.createElement(_icons.Locked, {
|
148
|
+
size: 16
|
149
|
+
}) : /*#__PURE__*/React.createElement(_icons.Draggable, {
|
147
150
|
size: 16
|
148
151
|
})), children);
|
149
152
|
return /*#__PURE__*/React.createElement("li", {
|
150
|
-
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
|
153
|
+
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder--sticky"), isSticky), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
|
151
154
|
ref: ref,
|
152
155
|
"aria-selected": isFocused,
|
153
156
|
role: "option",
|
@@ -196,6 +199,7 @@ DraggableElement.propTypes = {
|
|
196
199
|
id: _propTypes.default.string.isRequired,
|
197
200
|
index: _propTypes.default.number.isRequired,
|
198
201
|
isFocused: _propTypes.default.bool.isRequired,
|
202
|
+
isSticky: _propTypes.default.bool,
|
199
203
|
listData: _propTypes.default.array.isRequired,
|
200
204
|
moveElement: _propTypes.default.func.isRequired,
|
201
205
|
onArrowKeyDown: _propTypes.default.func.isRequired,
|
@@ -124,10 +124,12 @@ var Columns = function Columns(_ref) {
|
|
124
124
|
var res = filterString.length ? colDef.Header.props.title.toLowerCase().split(searchString) : null;
|
125
125
|
var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
|
126
126
|
var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colDef.Header.props.title;
|
127
|
+
var isFrozenColumn = !!colDef.sticky;
|
127
128
|
|
128
129
|
var listContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Checkbox, {
|
129
130
|
className: (0, _classnames.default)("".concat(blockClass, "__customize-columns-checkbox-wrapper"), "".concat(blockClass, "__customize-columns-checkbox")),
|
130
131
|
checked: (0, _common.isColumnVisible)(colDef),
|
132
|
+
disabled: isFrozenColumn,
|
131
133
|
onChange: function onChange(_, _ref2) {
|
132
134
|
var checked = _ref2.checked;
|
133
135
|
return onSelectColumn(colDef, checked);
|
@@ -149,18 +151,21 @@ var Columns = function Columns(_ref) {
|
|
149
151
|
setListData: setColumnsObject,
|
150
152
|
id: "dnd-datagrid-columns-".concat(colDef.id),
|
151
153
|
type: "column-customization",
|
152
|
-
disabled: filterString.length > 0,
|
154
|
+
disabled: filterString.length > 0 || isFrozenColumn,
|
153
155
|
ariaLabel: colDef.Header.props.title,
|
154
156
|
onGrab: setAriaRegionText,
|
155
157
|
isFocused: focusIndex === i,
|
158
|
+
isSticky: isFrozenColumn,
|
156
159
|
moveElement: moveElement,
|
157
160
|
onArrowKeyDown: function onArrowKeyDown(e, isGrabbed, currentIndex) {
|
158
161
|
if (isGrabbed) {
|
162
|
+
var _columns$nextIndex;
|
163
|
+
|
159
164
|
var nextIndex = getNextIndex(columns, currentIndex, e.key);
|
160
165
|
e.preventDefault();
|
161
166
|
e.stopPropagation();
|
162
167
|
|
163
|
-
if (nextIndex >= 0) {
|
168
|
+
if (nextIndex >= 0 && !((_columns$nextIndex = columns[nextIndex]) !== null && _columns$nextIndex !== void 0 && _columns$nextIndex.sticky)) {
|
164
169
|
setFocusIndex(nextIndex);
|
165
170
|
moveElement(currentIndex, nextIndex);
|
166
171
|
e.target.scrollIntoView({
|
package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js
CHANGED
@@ -79,7 +79,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
79
79
|
|
80
80
|
var _useState7 = (0, _react.useState)(columnDefinitions // hide the columns without Header, e.g the sticky actions, spacer
|
81
81
|
.filter(function (colDef) {
|
82
|
-
return !!colDef.Header.props;
|
82
|
+
return !!colDef.Header.props && !colDef.isAction;
|
83
83
|
}) // only sort the hidden column to the end when modal reopen
|
84
84
|
.sort(function (defA, defB) {
|
85
85
|
var isVisibleA = (0, _common.isColumnVisible)(defA);
|
@@ -41,6 +41,7 @@ var defaults = {
|
|
41
41
|
ImportModal: true,
|
42
42
|
InlineEdit: true,
|
43
43
|
InlineEditV1: true,
|
44
|
+
MultiAddSelect: true,
|
44
45
|
NotificationsPanel: true,
|
45
46
|
NoDataEmptyState: true,
|
46
47
|
NoTagsEmptyState: true,
|
@@ -52,6 +53,7 @@ var defaults = {
|
|
52
53
|
RemoveModal: true,
|
53
54
|
Saving: true,
|
54
55
|
SidePanel: true,
|
56
|
+
SingleAddSelect: true,
|
55
57
|
StatusIcon: true,
|
56
58
|
TagSet: true,
|
57
59
|
Tearsheet: true,
|
@@ -62,8 +64,6 @@ var defaults = {
|
|
62
64
|
WebTerminalContentWrapper: true,
|
63
65
|
WebTerminalProvider: true,
|
64
66
|
// other public components not yet reviewed and released:
|
65
|
-
MultiAddSelect: false,
|
66
|
-
SingleAddSelect: false,
|
67
67
|
ModifiedTabs: false,
|
68
68
|
Toolbar: false,
|
69
69
|
ToolbarButton: false,
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@carbon/ibm-products",
|
3
3
|
"description": "Carbon for IBM Products",
|
4
|
-
"version": "2.0.0-rc.
|
4
|
+
"version": "2.0.0-rc.18",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -94,5 +94,5 @@
|
|
94
94
|
"react": "^16.8.6 || ^17.0.1",
|
95
95
|
"react-dom": "^16.8.6 || ^17.0.1"
|
96
96
|
},
|
97
|
-
"gitHead": "
|
97
|
+
"gitHead": "2d00db04e59349f364cc19790a25abbe6760aad9"
|
98
98
|
}
|
@@ -23,7 +23,7 @@
|
|
23
23
|
}
|
24
24
|
|
25
25
|
.#{variables.$block-class}__draggable-handleStyle.disabled svg {
|
26
|
-
fill: $icon-disabled;
|
26
|
+
fill: $icon-on-color-disabled;
|
27
27
|
}
|
28
28
|
|
29
29
|
.#{variables.$block-class}__draggable-handleHolder {
|
@@ -74,6 +74,10 @@
|
|
74
74
|
color: $text-primary;
|
75
75
|
}
|
76
76
|
|
77
|
+
.#{variables.$block-class}__draggable-handleHolder--sticky {
|
78
|
+
color: $text-on-color-disabled;
|
79
|
+
}
|
80
|
+
|
77
81
|
.#{variables.$block-class}__shared-ui--assistive-text {
|
78
82
|
// hide the assistive text. can not use display: none which will also hide from ARIA
|
79
83
|
position: absolute;
|
@@ -23,12 +23,14 @@
|
|
23
23
|
@use './HTTPErrors/index-with-carbon' as *;
|
24
24
|
@use './InlineEditV1/index-with-carbon' as *;
|
25
25
|
@use './ImportModal/index-with-carbon' as *;
|
26
|
+
@use './MultiAddSelect/index-with-carbon' as *;
|
26
27
|
@use './NotificationsPanel/index-with-carbon' as *;
|
27
28
|
@use './PageHeader/index-with-carbon' as *;
|
28
29
|
@use './ProductiveCard/index-with-carbon' as *;
|
29
30
|
@use './RemoveModal/index-with-carbon' as *;
|
30
31
|
@use './Saving/index-with-carbon' as *;
|
31
32
|
@use './SidePanel/index-with-carbon' as *;
|
33
|
+
@use './SingleAddSelect/index-with-carbon' as *;
|
32
34
|
@use './StatusIcon/index-with-carbon' as *;
|
33
35
|
@use './TagSet/index-with-carbon' as *;
|
34
36
|
@use './Tearsheet/index-with-carbon' as *;
|
@@ -23,12 +23,14 @@
|
|
23
23
|
@use './HTTPErrors';
|
24
24
|
@use './InlineEditV1';
|
25
25
|
@use './ImportModal';
|
26
|
+
@use './MultiAddSelect';
|
26
27
|
@use './NotificationsPanel';
|
27
28
|
@use './PageHeader';
|
28
29
|
@use './ProductiveCard';
|
29
30
|
@use './RemoveModal';
|
30
31
|
@use './Saving';
|
31
32
|
@use './SidePanel';
|
33
|
+
@use './SingleAddSelect';
|
32
34
|
@use './StatusIcon';
|
33
35
|
@use './TagSet';
|
34
36
|
@use './Tearsheet';
|