@carbon/ibm-products 1.47.0 → 1.49.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +1424 -29
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +5 -5
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +37 -15
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +2 -2
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +1424 -29
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +5 -5
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +1424 -29
- package/css/index.css.map +1 -1
- package/css/index.min.css +5 -5
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +6 -4
- package/es/components/AddSelect/AddSelectList.js +15 -26
- package/es/components/CreateFullPage/CreateFullPage.js +3 -2
- package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +1 -1
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +14 -5
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +6 -3
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +15 -56
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +5 -8
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +105 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +17 -5
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +11 -0
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +8 -8
- package/es/components/Datagrid/index.js +8 -7
- package/es/components/Datagrid/useOnRowClick.js +3 -3
- package/es/components/Datagrid/useSortableColumns.js +26 -9
- package/es/components/Datagrid/utils/getAutoSizedColumnWidth.js +27 -0
- package/es/components/InlineEditV2/InlineEditV2.js +6 -3
- package/es/components/NonLinearReading/NonLinearReading.js +87 -0
- package/es/components/NonLinearReading/index.js +8 -0
- package/es/components/SidePanel/SidePanel.js +3 -4
- package/es/components/index.js +3 -2
- package/es/global/js/package-settings.js +3 -1
- package/es/global/js/utils/story-helper.js +9 -0
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +6 -4
- package/lib/components/AddSelect/AddSelectList.js +14 -25
- package/lib/components/CreateFullPage/CreateFullPage.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +1 -1
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +13 -4
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +6 -3
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +15 -56
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +5 -8
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +113 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +17 -5
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +11 -0
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +3 -1
- package/lib/components/Datagrid/index.js +8 -1
- package/lib/components/Datagrid/useOnRowClick.js +3 -3
- package/lib/components/Datagrid/useSortableColumns.js +26 -9
- package/lib/components/Datagrid/utils/getAutoSizedColumnWidth.js +35 -0
- package/lib/components/InlineEditV2/InlineEditV2.js +6 -3
- package/lib/components/NonLinearReading/NonLinearReading.js +90 -0
- package/lib/components/NonLinearReading/index.js +12 -0
- package/lib/components/SidePanel/SidePanel.js +2 -3
- package/lib/components/index.js +14 -1
- package/lib/global/js/package-settings.js +3 -1
- package/lib/global/js/utils/story-helper.js +12 -2
- package/package.json +2 -2
- package/scss/components/AddSelect/_add-select.scss +0 -10
- package/scss/components/Datagrid/styles/_datagrid.scss +5 -1
- package/scss/components/Datagrid/styles/_useSortableColumns.scss +8 -4
- package/scss/components/InlineEditV1/_inline-edit-v1.scss +1 -5
- package/scss/components/InlineEditV2/_inline-edit-v2.scss +41 -3
- package/scss/components/NonLinearReading/_index.scss +8 -0
- package/scss/components/NonLinearReading/_non-linear-reading.scss +157 -0
- package/scss/components/NonLinearReading/_storybook-styles.scss +13 -0
- package/scss/components/SidePanel/_side-panel.scss +7 -15
- package/scss/components/_index.scss +1 -0
package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js
CHANGED
@@ -43,7 +43,8 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
43
43
|
_ref$assistiveTextDis = _ref.assistiveTextDisabledInstructionsLabel,
|
44
44
|
assistiveTextDisabledInstructionsLabel = _ref$assistiveTextDis === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$assistiveTextDis,
|
45
45
|
_ref$selectAllLabel = _ref.selectAllLabel,
|
46
|
-
selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel
|
46
|
+
selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel,
|
47
|
+
isTableSortable = _ref.isTableSortable;
|
47
48
|
var _useState = (0, _react.useState)(''),
|
48
49
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
49
50
|
visibleColumnsCount = _useState2[0],
|
@@ -57,12 +58,6 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
57
58
|
searchText = _useState6[0],
|
58
59
|
setSearchText = _useState6[1];
|
59
60
|
var _useState7 = (0, _react.useState)(columnDefinitions
|
60
|
-
// hide the columns without Header, e.g the sticky actions, spacer
|
61
|
-
.filter(function (colDef) {
|
62
|
-
return !!colDef.Header.props && !!colDef.Header.props.title;
|
63
|
-
}).filter(function (colDef) {
|
64
|
-
return !colDef.isAction;
|
65
|
-
})
|
66
61
|
// only sort the hidden column to the end when modal reopen
|
67
62
|
.sort(function (defA, defB) {
|
68
63
|
var isVisibleA = (0, _common.isColumnVisible)(defA);
|
@@ -159,7 +154,8 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
159
154
|
setColumnObjects(cols);
|
160
155
|
setDirty();
|
161
156
|
},
|
162
|
-
selectAllLabel: selectAllLabel
|
157
|
+
selectAllLabel: selectAllLabel,
|
158
|
+
isTableSortable: isTableSortable
|
163
159
|
}));
|
164
160
|
};
|
165
161
|
CustomizeColumnsTearsheet.propTypes = {
|
@@ -170,6 +166,7 @@ CustomizeColumnsTearsheet.propTypes = {
|
|
170
166
|
findColumnPlaceholderLabel: _propTypes.default.string,
|
171
167
|
instructionsLabel: _propTypes.default.string,
|
172
168
|
isOpen: _propTypes.default.bool.isRequired,
|
169
|
+
isTableSortable: _propTypes.default.bool.isRequired,
|
173
170
|
onSaveColumnPrefs: _propTypes.default.func.isRequired,
|
174
171
|
originalColumnDefinitions: _propTypes.default.array.isRequired,
|
175
172
|
primaryButtonTextLabel: _propTypes.default.string,
|
@@ -0,0 +1,113 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.DraggableItemsList = void 0;
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
9
|
+
var _propTypes = require("prop-types");
|
10
|
+
var _carbonComponentsReact = require("carbon-components-react");
|
11
|
+
var _common = require("./common");
|
12
|
+
var _DraggableElement = _interopRequireDefault(require("../../DraggableElement"));
|
13
|
+
var _settings = require("../../../../../settings");
|
14
|
+
/**
|
15
|
+
* Copyright IBM Corp. 2023, 2023
|
16
|
+
*
|
17
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
18
|
+
* LICENSE file in the root directory of this source tree.
|
19
|
+
*/
|
20
|
+
|
21
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
22
|
+
var DraggableItemsList = function DraggableItemsList(_ref) {
|
23
|
+
var columns = _ref.columns,
|
24
|
+
filterString = _ref.filterString,
|
25
|
+
focusIndex = _ref.focusIndex,
|
26
|
+
getNextIndex = _ref.getNextIndex,
|
27
|
+
isTableSortable = _ref.isTableSortable,
|
28
|
+
moveElement = _ref.moveElement,
|
29
|
+
onSelectColumn = _ref.onSelectColumn,
|
30
|
+
setAriaRegionText = _ref.setAriaRegionText,
|
31
|
+
setColumnsObject = _ref.setColumnsObject,
|
32
|
+
setFocusIndex = _ref.setFocusIndex;
|
33
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, columns
|
34
|
+
// hide the columns without Header, e.g the sticky actions, spacer
|
35
|
+
.filter(function (colDef) {
|
36
|
+
var _colDef$Header$props$, _colDef$Header$props;
|
37
|
+
var sortableTitle = isTableSortable && ((_colDef$Header$props$ = colDef.Header().props.children.props) === null || _colDef$Header$props$ === void 0 ? void 0 : _colDef$Header$props$.title);
|
38
|
+
return !!colDef.Header.props && !!((_colDef$Header$props = colDef.Header.props) !== null && _colDef$Header$props !== void 0 && _colDef$Header$props.title) || isTableSortable && !!sortableTitle;
|
39
|
+
}).filter(function (colDef) {
|
40
|
+
return !colDef.isAction;
|
41
|
+
}).filter(function (colDef) {
|
42
|
+
var _colDef$Header$props$2, _colDef$Header$props2, _colDef$Header$props3;
|
43
|
+
var sortableTitle = isTableSortable && ((_colDef$Header$props$2 = colDef.Header().props.children.props) === null || _colDef$Header$props$2 === void 0 ? void 0 : _colDef$Header$props$2.title);
|
44
|
+
return filterString.length === 0 || (isTableSortable ? sortableTitle === null || sortableTitle === void 0 ? void 0 : sortableTitle.toLowerCase().includes(filterString) : (_colDef$Header$props2 = colDef.Header.props) === null || _colDef$Header$props2 === void 0 ? void 0 : (_colDef$Header$props3 = _colDef$Header$props2.title) === null || _colDef$Header$props3 === void 0 ? void 0 : _colDef$Header$props3.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
|
45
|
+
}).map(function (colDef, i) {
|
46
|
+
var _colDef$Header$props$3, _colDef$Header$props4, _colDef$Header$props5, _colDef$Header$props6, _colDef$Header$props7;
|
47
|
+
var isSortableColumn = !!colDef.canSort && !!isTableSortable;
|
48
|
+
var sortableTitle = isTableSortable && ((_colDef$Header$props$3 = colDef.Header().props.children.props) === null || _colDef$Header$props$3 === void 0 ? void 0 : _colDef$Header$props$3.title);
|
49
|
+
var searchString = new RegExp('(' + filterString + ')');
|
50
|
+
var res = filterString.length ? isSortableColumn ? sortableTitle.toLowerCase().split(searchString) : colDef.Header.props.title.toLowerCase().split(searchString) : null;
|
51
|
+
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;
|
52
|
+
var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : isSortableColumn ? sortableTitle : (_colDef$Header$props4 = colDef.Header.props) === null || _colDef$Header$props4 === void 0 ? void 0 : _colDef$Header$props4.title;
|
53
|
+
var isFrozenColumn = !!colDef.sticky;
|
54
|
+
var listContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
|
55
|
+
wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
|
56
|
+
checked: (0, _common.isColumnVisible)(colDef),
|
57
|
+
disabled: isFrozenColumn,
|
58
|
+
onChange: onSelectColumn.bind(null, colDef),
|
59
|
+
id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
|
60
|
+
labelText: isSortableColumn ? sortableTitle : (_colDef$Header$props5 = colDef.Header.props) === null || _colDef$Header$props5 === void 0 ? void 0 : _colDef$Header$props5.title,
|
61
|
+
title: isSortableColumn ? sortableTitle : (_colDef$Header$props6 = colDef.Header.props) === null || _colDef$Header$props6 === void 0 ? void 0 : _colDef$Header$props6.title,
|
62
|
+
className: "".concat(blockClass, "__customize-columns-checkbox"),
|
63
|
+
hideLabel: true
|
64
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
65
|
+
dangerouslySetInnerHTML: {
|
66
|
+
__html: highlightedText
|
67
|
+
}
|
68
|
+
}));
|
69
|
+
return /*#__PURE__*/_react.default.createElement(_DraggableElement.default, {
|
70
|
+
key: colDef.id,
|
71
|
+
index: i,
|
72
|
+
listData: columns,
|
73
|
+
setListData: setColumnsObject,
|
74
|
+
id: "dnd-datagrid-columns-".concat(colDef.id),
|
75
|
+
type: "column-customization",
|
76
|
+
disabled: filterString.length > 0 || isFrozenColumn,
|
77
|
+
ariaLabel: isSortableColumn ? sortableTitle : (_colDef$Header$props7 = colDef.Header.props) === null || _colDef$Header$props7 === void 0 ? void 0 : _colDef$Header$props7.title,
|
78
|
+
onGrab: setAriaRegionText,
|
79
|
+
isFocused: focusIndex === i,
|
80
|
+
moveElement: moveElement,
|
81
|
+
onArrowKeyDown: function onArrowKeyDown(e, isGrabbed, currentIndex) {
|
82
|
+
if (isGrabbed) {
|
83
|
+
var _columns$nextIndex;
|
84
|
+
var nextIndex = getNextIndex(columns, currentIndex, e.key);
|
85
|
+
e.preventDefault();
|
86
|
+
e.stopPropagation();
|
87
|
+
if (nextIndex >= 0 && !((_columns$nextIndex = columns[nextIndex]) !== null && _columns$nextIndex !== void 0 && _columns$nextIndex.sticky)) {
|
88
|
+
setFocusIndex(nextIndex);
|
89
|
+
moveElement(currentIndex, nextIndex);
|
90
|
+
e.target.scrollIntoView({
|
91
|
+
block: 'center'
|
92
|
+
});
|
93
|
+
}
|
94
|
+
}
|
95
|
+
},
|
96
|
+
isSticky: isFrozenColumn,
|
97
|
+
selected: (0, _common.isColumnVisible)(colDef)
|
98
|
+
}, listContents);
|
99
|
+
}));
|
100
|
+
};
|
101
|
+
exports.DraggableItemsList = DraggableItemsList;
|
102
|
+
DraggableItemsList.propTypes = {
|
103
|
+
columns: _propTypes.PropTypes.array.isRequired,
|
104
|
+
filterString: _propTypes.PropTypes.string.isRequired,
|
105
|
+
focusIndex: _propTypes.PropTypes.number.isRequired,
|
106
|
+
getNextIndex: _propTypes.PropTypes.func.isRequired,
|
107
|
+
isTableSortable: _propTypes.PropTypes.bool,
|
108
|
+
moveElement: _propTypes.PropTypes.func.isRequired,
|
109
|
+
onSelectColumn: _propTypes.PropTypes.func.isRequired,
|
110
|
+
setAriaRegionText: _propTypes.PropTypes.func.isRequired,
|
111
|
+
setColumnsObject: _propTypes.PropTypes.func.isRequired,
|
112
|
+
setFocusIndex: _propTypes.PropTypes.func.isRequired
|
113
|
+
};
|
@@ -24,6 +24,7 @@ var TearsheetWrapper = function TearsheetWrapper(_ref) {
|
|
24
24
|
rest = (0, _objectWithoutProperties2.default)(_instance$customizeCo, _excluded);
|
25
25
|
return /*#__PURE__*/React.createElement(_CustomizeColumnsTearsheet.default, (0, _extends2.default)({}, rest, labels, {
|
26
26
|
isOpen: isTearsheetOpen,
|
27
|
+
isTableSortable: instance === null || instance === void 0 ? void 0 : instance.isTableSortable,
|
27
28
|
setIsTearsheetOpen: setIsTearsheetOpen,
|
28
29
|
columnDefinitions: instance.allColumns,
|
29
30
|
originalColumnDefinitions: instance.columns,
|
@@ -55,7 +55,15 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
55
55
|
_ref$showFilterSearch = _ref.showFilterSearch,
|
56
56
|
showFilterSearch = _ref$showFilterSearch === void 0 ? false : _ref$showFilterSearch,
|
57
57
|
_ref$filterPanelMinHe = _ref.filterPanelMinHeight,
|
58
|
-
filterPanelMinHeight = _ref$filterPanelMinHe === void 0 ? 600 : _ref$filterPanelMinHe
|
58
|
+
filterPanelMinHeight = _ref$filterPanelMinHe === void 0 ? 600 : _ref$filterPanelMinHe,
|
59
|
+
_ref$primaryActionLab = _ref.primaryActionLabel,
|
60
|
+
primaryActionLabel = _ref$primaryActionLab === void 0 ? 'Apply' : _ref$primaryActionLab,
|
61
|
+
_ref$secondaryActionL = _ref.secondaryActionLabel,
|
62
|
+
secondaryActionLabel = _ref$secondaryActionL === void 0 ? 'Cancel' : _ref$secondaryActionL,
|
63
|
+
_ref$searchLabelText = _ref.searchLabelText,
|
64
|
+
searchLabelText = _ref$searchLabelText === void 0 ? 'Filter search' : _ref$searchLabelText,
|
65
|
+
_ref$searchPlaceholde = _ref.searchPlaceholder,
|
66
|
+
searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde;
|
59
67
|
/** State */
|
60
68
|
var _useState = (0, _react.useState)(false),
|
61
69
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
@@ -130,13 +138,13 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
130
138
|
actions: [{
|
131
139
|
key: 1,
|
132
140
|
kind: 'primary',
|
133
|
-
label:
|
141
|
+
label: primaryActionLabel,
|
134
142
|
onClick: apply,
|
135
143
|
disabled: shouldDisableButtons
|
136
144
|
}, {
|
137
145
|
key: 2,
|
138
146
|
kind: 'secondary',
|
139
|
-
label:
|
147
|
+
label: secondaryActionLabel,
|
140
148
|
onClick: cancel,
|
141
149
|
disabled: shouldDisableButtons
|
142
150
|
}],
|
@@ -199,8 +207,8 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
199
207
|
ref: filterSearchRef,
|
200
208
|
className: "".concat(componentClass, "__search")
|
201
209
|
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Search, {
|
202
|
-
labelText:
|
203
|
-
placeHolderText:
|
210
|
+
labelText: searchLabelText,
|
211
|
+
placeHolderText: searchPlaceholder,
|
204
212
|
light: true,
|
205
213
|
size: "sm"
|
206
214
|
}))), /*#__PURE__*/_react.default.createElement("div", {
|
@@ -241,6 +249,10 @@ FilterPanel.propTypes = {
|
|
241
249
|
onPanelClose: _propTypes.default.func,
|
242
250
|
onPanelOpen: _propTypes.default.func,
|
243
251
|
open: _propTypes.default.bool,
|
252
|
+
primaryActionLabel: _propTypes.default.string,
|
253
|
+
searchLabelText: _propTypes.default.string,
|
254
|
+
searchPlaceholder: _propTypes.default.string,
|
255
|
+
secondaryActionLabel: _propTypes.default.string,
|
244
256
|
setAllFilters: _propTypes.default.func.isRequired,
|
245
257
|
showFilterSearch: _propTypes.default.bool,
|
246
258
|
title: _propTypes.default.string,
|
@@ -128,6 +128,17 @@ var useFilters = function useFilters(_ref) {
|
|
128
128
|
// Remove it from the filters array
|
129
129
|
filtersObjectArrayCopy.splice(_index2, 1);
|
130
130
|
}
|
131
|
+
} else if (type === _constants.NUMBER) {
|
132
|
+
// If the value is empty remove it from the filtersObjectArray
|
133
|
+
if (value === '') {
|
134
|
+
// Find the column that uses number and displays an empty string
|
135
|
+
var _index3 = filtersObjectArrayCopy.findIndex(function (filter) {
|
136
|
+
return filter.id === column;
|
137
|
+
});
|
138
|
+
|
139
|
+
// Remove it from the filters array
|
140
|
+
filtersObjectArrayCopy.splice(_index3, 1);
|
141
|
+
}
|
131
142
|
}
|
132
143
|
setFiltersObjectArray(filtersObjectArrayCopy);
|
133
144
|
|
@@ -37,7 +37,9 @@ var RowSizeDropdown = function RowSizeDropdown(_ref) {
|
|
37
37
|
tooltipPosition: "bottom",
|
38
38
|
renderIcon: _iconsReact.Settings16,
|
39
39
|
onClick: function onClick() {
|
40
|
-
return setIsOpen(
|
40
|
+
return setIsOpen(function (prevOpen) {
|
41
|
+
return !prevOpen;
|
42
|
+
});
|
41
43
|
},
|
42
44
|
iconDescription: legendText,
|
43
45
|
className: (0, _classnames.default)("".concat(blockClass, "__row-size-button"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__row-size-button--open"), isOpen))
|
@@ -10,6 +10,12 @@ Object.defineProperty(exports, "Datagrid", {
|
|
10
10
|
return _Datagrid.Datagrid;
|
11
11
|
}
|
12
12
|
});
|
13
|
+
Object.defineProperty(exports, "getAutoSizedColumnWidth", {
|
14
|
+
enumerable: true,
|
15
|
+
get: function get() {
|
16
|
+
return _getAutoSizedColumnWidth.getAutoSizedColumnWidth;
|
17
|
+
}
|
18
|
+
});
|
13
19
|
Object.defineProperty(exports, "useActionsColumn", {
|
14
20
|
enumerable: true,
|
15
21
|
get: function get() {
|
@@ -136,4 +142,5 @@ var _useSelectAllToggle = _interopRequireDefault(require("./useSelectAllToggle")
|
|
136
142
|
var _useColumnCenterAlign = _interopRequireDefault(require("./useColumnCenterAlign"));
|
137
143
|
var _useColumnOrder = _interopRequireDefault(require("./useColumnOrder"));
|
138
144
|
var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
|
139
|
-
var _useFiltering = _interopRequireDefault(require("./useFiltering"));
|
145
|
+
var _useFiltering = _interopRequireDefault(require("./useFiltering"));
|
146
|
+
var _getAutoSizedColumnWidth = require("./utils/getAutoSizedColumnWidth");
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
7
7
|
/*
|
8
8
|
* Licensed Materials - Property of IBM
|
9
9
|
* 5724-Q36
|
10
|
-
* (c) Copyright IBM Corp. 2020
|
10
|
+
* (c) Copyright IBM Corp. 2020, 2023
|
11
11
|
* US Government Users Restricted Rights - Use, duplication or disclosure
|
12
12
|
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
13
13
|
*/
|
@@ -21,9 +21,9 @@ var useOnRowClick = function useOnRowClick(hooks) {
|
|
21
21
|
instance = datagridState.instance;
|
22
22
|
var id = row.id,
|
23
23
|
toggleRowSelected = row.toggleRowSelected;
|
24
|
-
var onClick = function onClick() {
|
24
|
+
var onClick = function onClick(event) {
|
25
25
|
if (!isFetching && onRowClick) {
|
26
|
-
onRowClick(row);
|
26
|
+
onRowClick(row, event);
|
27
27
|
instance.selectedFlatRows && instance.selectedFlatRows.map(function (toggleRow) {
|
28
28
|
return toggleRow.toggleRowSelected(false);
|
29
29
|
});
|
@@ -22,6 +22,7 @@ var ordering = {
|
|
22
22
|
};
|
23
23
|
var useSortableColumns = function useSortableColumns(hooks) {
|
24
24
|
var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref) {
|
25
|
+
var _instance$customizeCo;
|
25
26
|
var instance = _ref.instance;
|
26
27
|
var onSort = instance.onSort;
|
27
28
|
var onSortClick = function onSortClick(column) {
|
@@ -37,27 +38,43 @@ var useSortableColumns = function useSortableColumns(hooks) {
|
|
37
38
|
};
|
38
39
|
var sortableColumns = visibleColumns.map(function (column) {
|
39
40
|
var icon = function icon(col) {
|
40
|
-
if (col.isSorted) {
|
41
|
+
if (col !== null && col !== void 0 && col.isSorted) {
|
41
42
|
switch (col.isSortedDesc) {
|
42
43
|
case false:
|
43
|
-
return
|
44
|
+
return function () {
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowUp16, {
|
46
|
+
className: "".concat(blockClass, "__sortable-icon ").concat(_settings.carbon.prefix, "--btn__icon")
|
47
|
+
});
|
48
|
+
};
|
44
49
|
case true:
|
45
|
-
return
|
50
|
+
return function () {
|
51
|
+
return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowUp16, {
|
52
|
+
className: "".concat(blockClass, "__sortable-icon ").concat(_settings.carbon.prefix, "--btn__icon")
|
53
|
+
});
|
54
|
+
};
|
46
55
|
default:
|
47
|
-
return
|
56
|
+
return function () {
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_iconsReact.Arrows16, {
|
58
|
+
className: "".concat(blockClass, "__sortable-icon ").concat(_settings.carbon.prefix, "--btn__icon")
|
59
|
+
});
|
60
|
+
};
|
48
61
|
}
|
49
62
|
}
|
50
|
-
return
|
63
|
+
return function () {
|
64
|
+
return /*#__PURE__*/_react.default.createElement(_iconsReact.Arrows16, {
|
65
|
+
className: "".concat(blockClass, "__sortable-icon ").concat(_settings.carbon.prefix, "--btn__icon")
|
66
|
+
});
|
67
|
+
};
|
51
68
|
};
|
52
69
|
var Header = function Header(headerProp) {
|
53
70
|
var _cx;
|
54
71
|
return column.disableSortBy === true ? column.Header : /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
55
72
|
onClick: function onClick() {
|
56
|
-
return onSortClick(headerProp.column);
|
73
|
+
return onSortClick(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column);
|
57
74
|
},
|
58
75
|
kind: "ghost",
|
59
|
-
renderIcon: icon(headerProp.column),
|
60
|
-
className: (0, _classnames.default)("".concat(_settings.carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--table-sort--desc"), headerProp.column.isSortedDesc), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--table-sort--asc"), headerProp.column.isSortedDesc === false), _cx))
|
76
|
+
renderIcon: icon(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column),
|
77
|
+
className: (0, _classnames.default)("".concat(_settings.carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--table-sort--desc"), headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--table-sort--asc"), (headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc) === false), _cx))
|
61
78
|
}, column.Header);
|
62
79
|
};
|
63
80
|
return _objectSpread(_objectSpread({}, column), {}, {
|
@@ -65,7 +82,7 @@ var useSortableColumns = function useSortableColumns(hooks) {
|
|
65
82
|
minWidth: column.disableSortBy === true ? 0 : 90
|
66
83
|
});
|
67
84
|
});
|
68
|
-
return (0, _toConsumableArray2.default)(sortableColumns);
|
85
|
+
return (_instance$customizeCo = instance.customizeColumnsProps) !== null && _instance$customizeCo !== void 0 && _instance$customizeCo.isTearsheetOpen ? visibleColumns : (0, _toConsumableArray2.default)(sortableColumns);
|
69
86
|
};
|
70
87
|
var sortInstanceProps = function sortInstanceProps(instance) {
|
71
88
|
var onSort = instance.onSort;
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.getAutoSizedColumnWidth = void 0;
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
9
|
+
/**
|
10
|
+
* Copyright IBM Corp. 2023, 2023
|
11
|
+
*
|
12
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
13
|
+
* LICENSE file in the root directory of this source tree.
|
14
|
+
*/
|
15
|
+
|
16
|
+
/**
|
17
|
+
* Calculates the auto sized width of a column
|
18
|
+
* @param {Array<object>} rows - The datagrid rows
|
19
|
+
* @param {string} accessor - The accessor for the column
|
20
|
+
* @param {string} headerText - The header text for the column
|
21
|
+
*/
|
22
|
+
|
23
|
+
var getAutoSizedColumnWidth = function getAutoSizedColumnWidth(rows, accessor, headerText) {
|
24
|
+
var maxWidth = 400;
|
25
|
+
var minWidth = 58;
|
26
|
+
var letterSpacing = 10;
|
27
|
+
var cellLength = Math.max.apply(Math, (0, _toConsumableArray2.default)(rows.map(function (row) {
|
28
|
+
return ("".concat(row[accessor]) || '').length;
|
29
|
+
})).concat([headerText.length]));
|
30
|
+
if (cellLength <= 3) {
|
31
|
+
return minWidth;
|
32
|
+
}
|
33
|
+
return Math.min(maxWidth, cellLength * letterSpacing + 16);
|
34
|
+
};
|
35
|
+
exports.getAutoSizedColumnWidth = getAutoSizedColumnWidth;
|
@@ -23,6 +23,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
23
23
|
var componentName = 'InlineEditV2';
|
24
24
|
var blockClass = "".concat(_settings.pkg.prefix, "--inline-edit-v2");
|
25
25
|
var InlineEditV2 = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
26
|
+
var _cx;
|
26
27
|
var cancelLabel = _ref.cancelLabel,
|
27
28
|
editLabel = _ref.editLabel,
|
28
29
|
id = _ref.id,
|
@@ -129,7 +130,7 @@ var InlineEditV2 = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
129
130
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
130
131
|
ref: ref
|
131
132
|
}, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement("div", {
|
132
|
-
className: (0, _classnames.default)(blockClass, (0, _defineProperty2.default)(
|
133
|
+
className: (0, _classnames.default)(blockClass, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--focused"), focused), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--invalid"), invalid), _cx)),
|
133
134
|
onFocus: onFocusHandler,
|
134
135
|
onBlur: onBlurHandler
|
135
136
|
}, /*#__PURE__*/_react.default.createElement("label", {
|
@@ -145,7 +146,9 @@ var InlineEditV2 = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
145
146
|
// readOnly={readOnly}
|
146
147
|
,
|
147
148
|
onKeyDown: onKeyHandler
|
148
|
-
}),
|
149
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
150
|
+
className: "".concat(blockClass, "__toolbar")
|
151
|
+
}, focused ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, invalid && /*#__PURE__*/_react.default.createElement(_iconsReact.WarningFilled16, {
|
149
152
|
className: "".concat(blockClass, "__warning-icon")
|
150
153
|
}), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
151
154
|
hasIconOnly: true,
|
@@ -182,7 +185,7 @@ var InlineEditV2 = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
182
185
|
kind: "ghost",
|
183
186
|
tabIndex: 0,
|
184
187
|
key: "edit"
|
185
|
-
})), focused && invalid && /*#__PURE__*/_react.default.createElement("p", {
|
188
|
+
}))), focused && invalid && /*#__PURE__*/_react.default.createElement("p", {
|
186
189
|
className: "".concat(blockClass, "__warning-text")
|
187
190
|
}, invalidLabel));
|
188
191
|
});
|
@@ -0,0 +1,90 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.NonLinearReading = void 0;
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
13
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
15
|
+
var _iconsReact = require("@carbon/icons-react");
|
16
|
+
var _devtools = require("../../global/js/utils/devtools");
|
17
|
+
var _settings = require("../../settings");
|
18
|
+
var _excluded = ["children", "className", "definition", "theme"];
|
19
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
21
|
+
// The block part of our conventional BEM class names (blockClass__E--M).
|
22
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--non-linear-reading");
|
23
|
+
var componentName = 'NonLinearReading';
|
24
|
+
|
25
|
+
// Default values for props
|
26
|
+
var defaults = {
|
27
|
+
theme: 'light'
|
28
|
+
};
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Use non-linear reading when space is limited to share a
|
32
|
+
* brief, at-a-glance, summary of a concept that may require
|
33
|
+
* more explanation for some users.
|
34
|
+
*/
|
35
|
+
var NonLinearReading = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
36
|
+
var children = _ref.children,
|
37
|
+
className = _ref.className,
|
38
|
+
definition = _ref.definition,
|
39
|
+
_ref$theme = _ref.theme,
|
40
|
+
theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
|
41
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
42
|
+
var _useState = (0, _react.useState)(false),
|
43
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
44
|
+
isOpen = _useState2[0],
|
45
|
+
setOpen = _useState2[1];
|
46
|
+
var handleToggle = function handleToggle() {
|
47
|
+
setOpen(function (prevState) {
|
48
|
+
return !prevState;
|
49
|
+
});
|
50
|
+
};
|
51
|
+
return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({}, rest, {
|
52
|
+
className: (0, _classnames.default)(blockClass, className),
|
53
|
+
ref: ref,
|
54
|
+
role: "main"
|
55
|
+
}, (0, _devtools.getDevtoolsProps)(componentName)), ' ', /*#__PURE__*/_react.default.createElement("button", {
|
56
|
+
type: "button",
|
57
|
+
"aria-expanded": isOpen,
|
58
|
+
className: (0, _classnames.default)("".concat(blockClass, "__term-").concat(theme), [isOpen ? ["".concat(blockClass, "__term-").concat(theme, "--open")] : ["".concat(blockClass, "__term-").concat(theme, "--closed")]]),
|
59
|
+
onClick: handleToggle
|
60
|
+
}, children, isOpen && /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronUp16, null)), ' ', isOpen && /*#__PURE__*/_react.default.createElement("span", {
|
61
|
+
className: "".concat(blockClass, "--body-").concat(theme)
|
62
|
+
}, definition), ' ');
|
63
|
+
});
|
64
|
+
|
65
|
+
// Return a placeholder if not released and not enabled by feature flag
|
66
|
+
exports.NonLinearReading = NonLinearReading;
|
67
|
+
exports.NonLinearReading = NonLinearReading = _settings.pkg.checkComponentEnabled(NonLinearReading, componentName);
|
68
|
+
NonLinearReading.displayName = componentName;
|
69
|
+
|
70
|
+
// The types and DocGen commentary for the component props,
|
71
|
+
// in alphabetical order (for consistency).
|
72
|
+
// See https://www.npmjs.com/package/prop-types#usage.
|
73
|
+
NonLinearReading.propTypes = {
|
74
|
+
/**
|
75
|
+
* The term of the component appears as a pill.
|
76
|
+
*/
|
77
|
+
children: _propTypes.default.node.isRequired,
|
78
|
+
/**
|
79
|
+
* Provide an optional class to be applied to the containing node.
|
80
|
+
*/
|
81
|
+
className: _propTypes.default.string,
|
82
|
+
/**
|
83
|
+
* The content that appears when the term is toggled open.
|
84
|
+
*/
|
85
|
+
definition: _propTypes.default.node.isRequired,
|
86
|
+
/**
|
87
|
+
* Determines the theme of the component.
|
88
|
+
*/
|
89
|
+
theme: _propTypes.default.oneOf(['light', 'dark'])
|
90
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
Object.defineProperty(exports, "NonLinearReading", {
|
7
|
+
enumerable: true,
|
8
|
+
get: function get() {
|
9
|
+
return _NonLinearReading.NonLinearReading;
|
10
|
+
}
|
11
|
+
});
|
12
|
+
var _NonLinearReading = require("./NonLinearReading");
|
@@ -396,7 +396,6 @@ var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
396
396
|
}, subtitle), actionToolbarButtons && actionToolbarButtons.length && /*#__PURE__*/_react.default.createElement("div", {
|
397
397
|
className: (0, _classnames.default)("".concat(blockClass, "__action-toolbar"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__action-toolbar-no-animation"), !animateTitle))
|
398
398
|
}, actionToolbarButtons.map(function (_ref5) {
|
399
|
-
var _ref6;
|
400
399
|
var label = _ref5.label,
|
401
400
|
kind = _ref5.kind,
|
402
401
|
icon = _ref5.icon,
|
@@ -414,10 +413,10 @@ var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
414
413
|
renderIcon: icon,
|
415
414
|
iconDescription: label,
|
416
415
|
tooltipPosition: tooltipPosition || 'bottom',
|
417
|
-
tooltipAlignment: tooltipAlignment || '
|
416
|
+
tooltipAlignment: tooltipAlignment || 'start',
|
418
417
|
hasIconOnly: !leading,
|
419
418
|
disabled: disabled,
|
420
|
-
className: (0, _classnames.default)(["".concat(blockClass, "__action-toolbar-button"), className, (
|
419
|
+
className: (0, _classnames.default)(["".concat(blockClass, "__action-toolbar-button"), className, (0, _defineProperty2.default)({}, "".concat(blockClass, "__action-toolbar-leading-button"), leading)]),
|
421
420
|
onClick: onClick
|
422
421
|
}), leading && label);
|
423
422
|
})));
|
package/lib/components/index.js
CHANGED
@@ -201,6 +201,12 @@ Object.defineProperty(exports, "NoTagsEmptyState", {
|
|
201
201
|
return _EmptyStates.NoTagsEmptyState;
|
202
202
|
}
|
203
203
|
});
|
204
|
+
Object.defineProperty(exports, "NonLinearReading", {
|
205
|
+
enumerable: true,
|
206
|
+
get: function get() {
|
207
|
+
return _NonLinearReading.NonLinearReading;
|
208
|
+
}
|
209
|
+
});
|
204
210
|
Object.defineProperty(exports, "NotFoundEmptyState", {
|
205
211
|
enumerable: true,
|
206
212
|
get: function get() {
|
@@ -333,6 +339,12 @@ Object.defineProperty(exports, "WebTerminalProvider", {
|
|
333
339
|
return _WebTerminal.WebTerminalProvider;
|
334
340
|
}
|
335
341
|
});
|
342
|
+
Object.defineProperty(exports, "getAutoSizedColumnWidth", {
|
343
|
+
enumerable: true,
|
344
|
+
get: function get() {
|
345
|
+
return _Datagrid.getAutoSizedColumnWidth;
|
346
|
+
}
|
347
|
+
});
|
336
348
|
Object.defineProperty(exports, "useActionsColumn", {
|
337
349
|
enumerable: true,
|
338
350
|
get: function get() {
|
@@ -484,4 +496,5 @@ var _EditTearsheet = require("./EditTearsheet");
|
|
484
496
|
var _EditTearsheetNarrow = require("./EditTearsheetNarrow");
|
485
497
|
var _EditFullPage = require("./EditFullPage");
|
486
498
|
var _EditUpdateCards = require("./EditUpdateCards");
|
487
|
-
var _InlineEdit = require("./InlineEdit");
|
499
|
+
var _InlineEdit = require("./InlineEdit");
|
500
|
+
var _NonLinearReading = require("./NonLinearReading");
|
@@ -69,7 +69,9 @@ var defaults = {
|
|
69
69
|
EditTearsheetNarrow: false,
|
70
70
|
EditFullPage: false,
|
71
71
|
EditUpdateCards: false,
|
72
|
-
ButtonMenu: false
|
72
|
+
ButtonMenu: false,
|
73
|
+
// Novice to pro components not yet reviewed and released:
|
74
|
+
NonLinearReading: false
|
73
75
|
/* new component flags here - comment used by generate CLI */
|
74
76
|
},
|
75
77
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports.prepareStory = exports.getStoryTitle = exports.getStoryId = exports.CodesandboxLink = void 0;
|
7
|
+
exports.prepareStory = exports.getStoryTitle = exports.getStoryId = exports.getSelectedCarbonTheme = exports.CodesandboxLink = void 0;
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
10
10
|
var _csf = require("@storybook/csf");
|
@@ -87,4 +87,14 @@ CodesandboxLink.propTypes = {
|
|
87
87
|
* directory withing examples codesandbox will be found
|
88
88
|
*/
|
89
89
|
exampleDirectory: _propTypes.default.string
|
90
|
-
};
|
90
|
+
};
|
91
|
+
|
92
|
+
/**
|
93
|
+
* A helper function that finds the designated theme on the Storybook canvas.
|
94
|
+
* @returns "dark" or "light"
|
95
|
+
*/
|
96
|
+
var getSelectedCarbonTheme = function getSelectedCarbonTheme() {
|
97
|
+
var themeId = document.querySelector('html').getAttribute('storybook-carbon-theme');
|
98
|
+
return themeId === 'g90' || themeId === 'g100' ? 'dark' : 'light';
|
99
|
+
};
|
100
|
+
exports.getSelectedCarbonTheme = getSelectedCarbonTheme;
|
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": "1.
|
4
|
+
"version": "1.49.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -95,5 +95,5 @@
|
|
95
95
|
"react": "^16.8.6 || ^17.0.1",
|
96
96
|
"react-dom": "^16.8.6 || ^17.0.1"
|
97
97
|
},
|
98
|
-
"gitHead": "
|
98
|
+
"gitHead": "f76c9a9558cd884c3743d03850eac6245a5f7ea8"
|
99
99
|
}
|