@carbon/ibm-products 2.0.0-rc.17 → 2.0.0-rc.18
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/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';
|