@carbon/ibm-products 2.0.0-rc.1 → 2.0.0-rc.3
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +952 -143
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +4 -2
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +783 -19
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +4 -2
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +678 -77
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +4 -2
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +757 -92
- package/css/index.css.map +1 -1
- package/css/index.min.css +4 -2
- package/css/index.min.css.map +1 -1
- package/es/components/APIKeyModal/APIKeyModal.js +1 -1
- package/es/components/AddSelect/AddSelect.js +0 -3
- package/es/components/AddSelect/AddSelectBody.js +20 -3
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +11 -3
- package/es/components/AddSelect/AddSelectColumn.js +5 -5
- package/es/components/AddSelect/AddSelectFilter.js +5 -4
- package/es/components/AddSelect/AddSelectList.js +61 -27
- package/es/components/AddSelect/AddSelectMetaPanel.js +1 -1
- package/es/components/AddSelect/AddSelectSort.js +1 -1
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +4 -6
- package/es/components/Card/Card.js +16 -6
- package/es/components/Card/CardFooter.js +3 -1
- package/es/components/Card/CardHeader.js +20 -1
- package/es/components/ComboButton/ComboButton.js +1 -1
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +63 -11
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
- package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
- package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +31 -0
- package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
- package/es/components/Datagrid/Datagrid/Datagrid.js +10 -38
- package/es/components/Datagrid/Datagrid/DatagridContent.js +149 -0
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
- package/es/components/Datagrid/Datagrid/DatagridRow.js +10 -2
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -3
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +13 -4
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +5 -4
- package/es/components/Datagrid/Datagrid/DraggableElement.js +6 -2
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +5 -45
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +1 -1
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +35 -10
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +61 -24
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +534 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +263 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -14
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -36
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
- package/es/components/Datagrid/index.js +3 -1
- package/es/components/Datagrid/useActionsColumn.js +28 -12
- package/es/components/Datagrid/useColumnOrder.js +8 -0
- package/es/components/Datagrid/useCustomizeColumns.js +5 -0
- package/es/components/Datagrid/useDefaultStringRenderer.js +4 -1
- package/es/components/Datagrid/useDisableSelectRows.js +6 -2
- package/es/components/Datagrid/useExpandedRow.js +0 -1
- package/es/components/Datagrid/useInlineEdit.js +71 -0
- package/es/components/Datagrid/useNestedRowExpander.js +42 -0
- package/es/components/Datagrid/useNestedRows.js +2 -2
- package/es/components/Datagrid/useRowExpander.js +1 -1
- package/es/components/Datagrid/useRowSize.js +17 -6
- package/es/components/Datagrid/useSelectAllToggle.js +17 -4
- package/es/components/Datagrid/useSelectRows.js +12 -2
- package/es/components/Datagrid/useSortableColumns.js +1 -1
- package/es/components/Datagrid/useStickyColumn.js +11 -0
- package/es/components/Datagrid/utils/DatagridActions.js +152 -0
- package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
- package/es/components/Datagrid/utils/Wrapper.js +21 -0
- package/es/components/Datagrid/utils/getArgTypes.js +85 -0
- package/es/components/Datagrid/utils/getInlineEditColumns.js +153 -0
- package/es/components/Datagrid/utils/makeData.js +47 -2
- package/es/components/ExportModal/ExportModal.js +1 -1
- package/es/components/ImportModal/ImportModal.js +3 -3
- package/es/components/InlineEdit/InlineEdit.js +11 -9
- package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
- package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +1 -1
- package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
- package/es/components/OptionsTile/OptionsTile.js +1 -1
- package/es/components/PageHeader/PageHeader.js +1 -1
- package/es/components/ProductiveCard/ProductiveCard.js +5 -0
- package/es/components/Saving/Saving.js +1 -1
- package/es/components/SidePanel/SidePanel.js +1 -1
- package/es/components/StatusIcon/StatusIcon.js +1 -1
- package/es/components/UserProfileImage/UserProfileImage.js +1 -1
- package/es/components/WebTerminal/WebTerminal.js +2 -2
- package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
- package/es/components/WebTerminal/hooks/index.js +6 -0
- package/es/components/WebTerminal/index.js +6 -0
- package/es/components/WebTerminal/preview-components/Navigation.js +7 -1
- package/es/components/WebTerminal/preview-components/documentationLinks.js +6 -0
- package/es/components/WebTerminal/preview-components/index.js +7 -0
- package/es/components/index.js +1 -1
- package/es/global/js/hooks/useClickOutside.js +1 -1
- package/es/global/js/package-settings.js +3 -3
- package/es/global/js/utils/rangeWithCallback.js +13 -0
- package/es/global/js/utils/story-helper.js +5 -1
- package/es/global/js/utils/uuidv4.spec.js +4 -0
- package/lib/components/APIKeyModal/APIKeyModal.js +4 -4
- package/lib/components/AddSelect/AddSelect.js +0 -4
- package/lib/components/AddSelect/AddSelectBody.js +20 -3
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +14 -3
- package/lib/components/AddSelect/AddSelectColumn.js +5 -5
- package/lib/components/AddSelect/AddSelectFilter.js +5 -4
- package/lib/components/AddSelect/AddSelectList.js +62 -28
- package/lib/components/AddSelect/AddSelectMetaPanel.js +2 -2
- package/lib/components/AddSelect/AddSelectSort.js +4 -4
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -6
- package/lib/components/Card/Card.js +16 -6
- package/lib/components/Card/CardFooter.js +3 -1
- package/lib/components/Card/CardHeader.js +21 -1
- package/lib/components/ComboButton/ComboButton.js +3 -3
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +63 -10
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
- package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
- package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
- package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
- package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -45
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +183 -0
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +19 -2
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -3
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +16 -5
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +6 -5
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +7 -3
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +12 -47
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +2 -2
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +47 -25
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +59 -23
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +558 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +272 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +100 -0
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -13
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -35
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
- package/lib/components/Datagrid/index.js +17 -1
- package/lib/components/Datagrid/useActionsColumn.js +28 -13
- package/lib/components/Datagrid/useColumnOrder.js +17 -0
- package/lib/components/Datagrid/useCustomizeColumns.js +5 -0
- package/lib/components/Datagrid/useDefaultStringRenderer.js +5 -1
- package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
- package/lib/components/Datagrid/useExpandedRow.js +0 -1
- package/lib/components/Datagrid/useInlineEdit.js +85 -0
- package/lib/components/Datagrid/useNestedRowExpander.js +57 -0
- package/lib/components/Datagrid/useNestedRows.js +3 -3
- package/lib/components/Datagrid/useRowExpander.js +3 -3
- package/lib/components/Datagrid/useRowSize.js +18 -13
- package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
- package/lib/components/Datagrid/useSelectRows.js +12 -2
- package/lib/components/Datagrid/useSortableColumns.js +5 -5
- package/lib/components/Datagrid/useStickyColumn.js +11 -0
- package/lib/components/Datagrid/utils/DatagridActions.js +170 -0
- package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
- package/lib/components/Datagrid/utils/Wrapper.js +33 -0
- package/lib/components/Datagrid/utils/getArgTypes.js +93 -0
- package/lib/components/Datagrid/utils/getInlineEditColumns.js +168 -0
- package/lib/components/Datagrid/utils/makeData.js +48 -2
- package/lib/components/ExportModal/ExportModal.js +3 -3
- package/lib/components/ImportModal/ImportModal.js +4 -4
- package/lib/components/InlineEdit/InlineEdit.js +16 -14
- package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +2 -2
- package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +3 -3
- package/lib/components/NotificationsPanel/NotificationsPanel.js +8 -8
- package/lib/components/OptionsTile/OptionsTile.js +6 -6
- package/lib/components/PageHeader/PageHeader.js +2 -2
- package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
- package/lib/components/Saving/Saving.js +5 -5
- package/lib/components/SidePanel/SidePanel.js +3 -3
- package/lib/components/StatusIcon/StatusIcon.js +45 -45
- package/lib/components/UserProfileImage/UserProfileImage.js +7 -7
- package/lib/components/WebTerminal/WebTerminal.js +3 -3
- package/lib/components/WebTerminal/hooks/index.js +6 -0
- package/lib/components/WebTerminal/preview-components/Navigation.js +10 -4
- package/lib/components/WebTerminal/preview-components/documentationLinks.js +6 -0
- package/lib/components/index.js +12 -0
- package/lib/global/js/hooks/useClickOutside.js +1 -1
- package/lib/global/js/package-settings.js +3 -3
- package/lib/global/js/utils/rangeWithCallback.js +22 -0
- package/lib/global/js/utils/story-helper.js +5 -1
- package/lib/global/js/utils/uuidv4.spec.js +4 -0
- package/package.json +15 -15
- package/scss/components/AddSelect/_add-select.scss +127 -28
- package/scss/components/Card/_card.scss +1 -0
- package/scss/components/Cascade/_cascade.scss +1 -1
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -0
- package/scss/components/Datagrid/_datagrid.scss +7 -0
- package/scss/components/Datagrid/_storybook-styles.scss +8 -5
- package/scss/components/Datagrid/styles/_datagrid.scss +38 -14
- package/scss/components/Datagrid/styles/_draggableElement.scss +26 -9
- package/scss/components/Datagrid/styles/_index.scss +1 -0
- package/scss/components/Datagrid/styles/_useActionsColumn.scss +14 -0
- package/scss/components/Datagrid/styles/_useExpandedRow.scss +37 -9
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +404 -0
- package/scss/components/Datagrid/styles/_useNestedRows.scss +16 -1
- package/scss/components/Datagrid/styles/_useStickyColumn.scss +31 -2
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +45 -6
- package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +9 -1
- package/scss/components/InlineEdit/_inline-edit.scss +4 -2
- package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -6
- package/scss/components/RemoveModal/_remove-modal.scss +0 -4
- package/scss/components/SidePanel/_side-panel.scss +3 -6
- package/scss/components/Tearsheet/_tearsheet.scss +2 -2
- package/scss/components/WebTerminal/_carbon-imports.scss +6 -0
- package/scss/components/WebTerminal/_index.scss +7 -0
- package/scss/components/WebTerminal/_storybook-styles.scss +7 -0
- package/scss/components/_index-released-only.scss +1 -0
@@ -17,7 +17,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
17
17
|
|
18
18
|
var _react2 = require("@carbon/react");
|
19
19
|
|
20
|
-
var
|
20
|
+
var _icons = require("@carbon/react/icons");
|
21
21
|
|
22
22
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
23
23
|
|
@@ -40,6 +40,7 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
40
40
|
var _modifiers$options;
|
41
41
|
|
42
42
|
var appliedModifiers = _ref.appliedModifiers,
|
43
|
+
displayMetalPanel = _ref.displayMetalPanel,
|
43
44
|
filteredItems = _ref.filteredItems,
|
44
45
|
metaIconDescription = _ref.metaIconDescription,
|
45
46
|
modifiers = _ref.modifiers,
|
@@ -59,7 +60,10 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
59
60
|
setSingleSelection(value);
|
60
61
|
};
|
61
62
|
|
62
|
-
var handleMultiSelection = function handleMultiSelection(
|
63
|
+
var handleMultiSelection = function handleMultiSelection(event, _ref2) {
|
64
|
+
var checked = _ref2.checked,
|
65
|
+
id = _ref2.id;
|
66
|
+
|
63
67
|
if (checked) {
|
64
68
|
var newValues = [].concat((0, _toConsumableArray2.default)(multiSelection), [id]);
|
65
69
|
setMultiSelection(newValues);
|
@@ -72,21 +76,25 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
72
76
|
}
|
73
77
|
};
|
74
78
|
|
75
|
-
var onNavigateItem = function onNavigateItem(
|
76
|
-
var id =
|
77
|
-
title =
|
79
|
+
var onNavigateItem = function onNavigateItem(_ref3) {
|
80
|
+
var id = _ref3.id,
|
81
|
+
title = _ref3.title;
|
78
82
|
setParentSelected(id, title, parentId);
|
79
83
|
};
|
80
84
|
|
81
85
|
var isSelected = function isSelected(id) {
|
82
|
-
|
86
|
+
if (multi) {
|
87
|
+
return multiSelection.includes(id);
|
88
|
+
}
|
89
|
+
|
90
|
+
return id === singleSelection;
|
83
91
|
};
|
84
92
|
|
85
|
-
var getAvatarProps = function getAvatarProps(
|
86
|
-
var src =
|
87
|
-
alt =
|
88
|
-
icon =
|
89
|
-
backgroundColor =
|
93
|
+
var getAvatarProps = function getAvatarProps(_ref4) {
|
94
|
+
var src = _ref4.src,
|
95
|
+
alt = _ref4.alt,
|
96
|
+
icon = _ref4.icon,
|
97
|
+
backgroundColor = _ref4.backgroundColor;
|
90
98
|
return {
|
91
99
|
className: "".concat(blockClass, "-cell-avatar"),
|
92
100
|
size: 'lg',
|
@@ -98,8 +106,8 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
98
106
|
};
|
99
107
|
};
|
100
108
|
|
101
|
-
var getItemIcon = function getItemIcon(
|
102
|
-
var Icon =
|
109
|
+
var getItemIcon = function getItemIcon(_ref5) {
|
110
|
+
var Icon = _ref5.icon;
|
103
111
|
return /*#__PURE__*/_react.default.createElement(Icon, null);
|
104
112
|
};
|
105
113
|
|
@@ -114,31 +122,59 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
114
122
|
setAppliedModifiers(modifiersClone);
|
115
123
|
};
|
116
124
|
|
125
|
+
var metaPanelHandler = function metaPanelHandler(item) {
|
126
|
+
if (item.meta) {
|
127
|
+
setDisplayMetaPanel(item);
|
128
|
+
}
|
129
|
+
};
|
130
|
+
|
131
|
+
var isInMetaPanel = function isInMetaPanel(id) {
|
132
|
+
return id === (displayMetalPanel === null || displayMetalPanel === void 0 ? void 0 : displayMetalPanel.id);
|
133
|
+
};
|
134
|
+
|
117
135
|
return /*#__PURE__*/_react.default.createElement("div", {
|
118
|
-
className: "".concat(blockClass, "-wrapper")
|
136
|
+
className: (0, _classnames.default)("".concat(blockClass, "-wrapper"), (0, _defineProperty2.default)({}, "".concat(blockClass, "-wrapper-multi"), multi))
|
119
137
|
}, /*#__PURE__*/_react.default.createElement(_react2.StructuredListWrapper, {
|
120
138
|
selection: true,
|
121
139
|
className: "".concat(blockClass)
|
122
140
|
}, /*#__PURE__*/_react.default.createElement(_react2.StructuredListBody, null, filteredItems.map(function (item) {
|
141
|
+
var _cx2;
|
142
|
+
|
123
143
|
return /*#__PURE__*/_react.default.createElement(_react2.StructuredListRow, {
|
124
144
|
key: item.id,
|
125
|
-
className: (0, _classnames.default)("".concat(blockClass, "-row"), (0, _defineProperty2.default)(
|
126
|
-
|
127
|
-
|
145
|
+
className: (0, _classnames.default)("".concat(blockClass, "-row"), (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-selected"), isSelected(item.id)), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-meta-selected"), isInMetaPanel(item.id)), _cx2)),
|
146
|
+
onClick: function onClick(evt) {
|
147
|
+
return metaPanelHandler(item, evt);
|
148
|
+
}
|
149
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
150
|
+
className: "".concat(blockClass, "-cell"),
|
151
|
+
onClick: function onClick() {
|
152
|
+
metaPanelHandler(item);
|
153
|
+
},
|
154
|
+
onKeyDown: function onKeyDown() {
|
155
|
+
metaPanelHandler(item);
|
156
|
+
},
|
157
|
+
role: "button",
|
158
|
+
tabIndex: "0"
|
128
159
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
129
160
|
className: "".concat(blockClass, "-cell-wrapper")
|
130
161
|
}, multi ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
131
162
|
className: "".concat(blockClass, "-checkbox")
|
163
|
+
},
|
164
|
+
/*#__PURE__*/
|
165
|
+
// hacky way to prevent checkbox from triggering the meta onclick handler
|
166
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
167
|
+
_react.default.createElement("div", {
|
168
|
+
onClick: function onClick(event) {
|
169
|
+
return event.stopPropagation();
|
170
|
+
}
|
132
171
|
}, /*#__PURE__*/_react.default.createElement(_react2.Checkbox, {
|
133
|
-
onChange:
|
134
|
-
var checked = _ref5.checked;
|
135
|
-
return handleMultiSelection(item.id, checked);
|
136
|
-
},
|
172
|
+
onChange: handleMultiSelection,
|
137
173
|
labelText: item.title,
|
138
174
|
id: item.id,
|
139
175
|
checked: isSelected(item.id),
|
140
176
|
className: "".concat(blockClass, "-checkbox-wrapper")
|
141
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
177
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
142
178
|
className: "".concat(blockClass, "-checkbox-label-wrapper")
|
143
179
|
}, item.avatar && /*#__PURE__*/_react.default.createElement(_UserProfileImage.UserProfileImage, getAvatarProps(item.avatar)), item.icon && /*#__PURE__*/_react.default.createElement("div", {
|
144
180
|
className: "".concat(blockClass, "-cell-icon")
|
@@ -170,11 +206,11 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
170
206
|
onChange: function onChange() {
|
171
207
|
return handleSingleSelection(item.id);
|
172
208
|
},
|
173
|
-
|
209
|
+
checked: isSelected(item.id)
|
174
210
|
}), item.children && /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
175
211
|
className: "".concat(blockClass, "-view-children"),
|
176
212
|
renderIcon: function renderIcon(props) {
|
177
|
-
return /*#__PURE__*/_react.default.createElement(
|
213
|
+
return /*#__PURE__*/_react.default.createElement(_icons.ChevronRight, (0, _extends2.default)({
|
178
214
|
size: 16
|
179
215
|
}, props));
|
180
216
|
},
|
@@ -192,7 +228,7 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
192
228
|
}, /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
193
229
|
className: "".concat(blockClass, "-view-meta"),
|
194
230
|
renderIcon: function renderIcon(props) {
|
195
|
-
return /*#__PURE__*/_react.default.createElement(
|
231
|
+
return /*#__PURE__*/_react.default.createElement(_icons.View, (0, _extends2.default)({
|
196
232
|
size: 16
|
197
233
|
}, props));
|
198
234
|
},
|
@@ -200,9 +236,6 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
200
236
|
tooltipPosition: "left",
|
201
237
|
tooltipAlignment: "center",
|
202
238
|
hasIconOnly: true,
|
203
|
-
onClick: function onClick() {
|
204
|
-
return setDisplayMetaPanel(item);
|
205
|
-
},
|
206
239
|
kind: "ghost",
|
207
240
|
size: "sm"
|
208
241
|
})))));
|
@@ -212,6 +245,7 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
212
245
|
exports.AddSelectList = AddSelectList;
|
213
246
|
AddSelectList.propTypes = {
|
214
247
|
appliedModifiers: _propTypes.default.array,
|
248
|
+
displayMetalPanel: _propTypes.default.object,
|
215
249
|
filteredItems: _propTypes.default.array,
|
216
250
|
metaIconDescription: _propTypes.default.string,
|
217
251
|
modifiers: _propTypes.default.object,
|
@@ -15,7 +15,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
17
17
|
|
18
|
-
var
|
18
|
+
var _icons = require("@carbon/react/icons");
|
19
19
|
|
20
20
|
var _react2 = require("@carbon/react");
|
21
21
|
|
@@ -46,7 +46,7 @@ var AddSelectMetaPanel = function AddSelectMetaPanel(_ref) {
|
|
46
46
|
className: "".concat(blockClass, "-title")
|
47
47
|
}, title), /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
48
48
|
renderIcon: function renderIcon(props) {
|
49
|
-
return /*#__PURE__*/_react.default.createElement(
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_icons.Close, (0, _extends2.default)({
|
50
50
|
size: 16
|
51
51
|
}, props));
|
52
52
|
},
|
@@ -17,7 +17,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
18
18
|
var _react2 = require("@carbon/react");
|
19
19
|
|
20
|
-
var
|
20
|
+
var _icons = require("@carbon/react/icons");
|
21
21
|
|
22
22
|
var _settings = require("../../settings");
|
23
23
|
|
@@ -38,14 +38,14 @@ var AddSelectSort = function AddSelectSort(_ref) {
|
|
38
38
|
var sortByOpts = sortBy ? sortBy.reduce(function (acc, cur) {
|
39
39
|
var opts = [{
|
40
40
|
id: "".concat(cur, "-asc"),
|
41
|
-
itemText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
41
|
+
itemText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_icons.ArrowUp, {
|
42
42
|
size: 16
|
43
43
|
}), cur),
|
44
44
|
direction: 'asc',
|
45
45
|
attribute: cur
|
46
46
|
}, {
|
47
47
|
id: "".concat(cur, "-desc"),
|
48
|
-
itemText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
48
|
+
itemText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_icons.ArrowDown, {
|
49
49
|
size: 16
|
50
50
|
}), cur),
|
51
51
|
direction: 'desc',
|
@@ -65,7 +65,7 @@ var AddSelectSort = function AddSelectSort(_ref) {
|
|
65
65
|
className: blockClass
|
66
66
|
}, sortByOpts.length > 0 && /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
|
67
67
|
renderIcon: function renderIcon(props) {
|
68
|
-
return /*#__PURE__*/_react.default.createElement(
|
68
|
+
return /*#__PURE__*/_react.default.createElement(_icons.ArrowsVertical, (0, _extends2.default)({
|
69
69
|
size: 32
|
70
70
|
}, props));
|
71
71
|
},
|
@@ -23,13 +23,13 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
23
|
|
24
24
|
var _classnames = _interopRequireDefault(require("classnames"));
|
25
25
|
|
26
|
+
var _reactResizeDetector = require("react-resize-detector");
|
27
|
+
|
26
28
|
var _react2 = require("@carbon/react");
|
27
29
|
|
28
30
|
var _settings = require("../../settings");
|
29
31
|
|
30
|
-
var
|
31
|
-
|
32
|
-
var _iconsReact = require("@carbon/icons-react");
|
32
|
+
var _icons = require("@carbon/react/icons");
|
33
33
|
|
34
34
|
var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
|
35
35
|
|
@@ -97,7 +97,7 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
|
|
97
97
|
iconDescription: overflowAriaLabel // also needs setting to avoid a11y "Accessible name does not match or contain the visible label text"
|
98
98
|
,
|
99
99
|
renderIcon: function renderIcon(props) {
|
100
|
-
return /*#__PURE__*/_react.default.createElement(
|
100
|
+
return /*#__PURE__*/_react.default.createElement(_icons.OverflowMenuHorizontal, (0, _extends2.default)({
|
101
101
|
size: 32
|
102
102
|
}, props));
|
103
103
|
},
|
@@ -126,7 +126,7 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
|
|
126
126
|
}, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
|
127
127
|
ariaLabel: overflowAriaLabel,
|
128
128
|
renderIcon: function renderIcon(props) {
|
129
|
-
return /*#__PURE__*/_react.default.createElement(
|
129
|
+
return /*#__PURE__*/_react.default.createElement(_icons.OverflowMenuHorizontal, (0, _extends2.default)({
|
130
130
|
size: 32
|
131
131
|
}, props));
|
132
132
|
}
|
@@ -316,7 +316,7 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
|
|
316
316
|
return /*#__PURE__*/_react.default.createElement(_react2.IconButton, {
|
317
317
|
label: backItem.title || backItem.label,
|
318
318
|
align: "right"
|
319
|
-
}, /*#__PURE__*/_react.default.createElement(
|
319
|
+
}, /*#__PURE__*/_react.default.createElement(_icons.ArrowLeft, {
|
320
320
|
size: 16
|
321
321
|
}));
|
322
322
|
}
|
@@ -29,7 +29,7 @@ var _CardFooter = require("./CardFooter");
|
|
29
29
|
|
30
30
|
var _settings = require("../../settings");
|
31
31
|
|
32
|
-
var _excluded = ["actionIcons", "actionsPlacement", "children", "className", "clickZone", "description", "label", "media", "mediaPosition", "onClick", "onKeyDown", "onPrimaryButtonClick", "overflowActions", "overflowAriaLabel", "onSecondaryButtonClick", "pictogram", "primaryButtonHref", "primaryButtonIcon", "primaryButtonKind", "primaryButtonText", "productive", "secondaryButtonHref", "secondaryButtonIcon", "secondaryButtonKind", "secondaryButtonText", "title", "titleSize"],
|
32
|
+
var _excluded = ["actionIcons", "actionsPlacement", "children", "className", "clickZone", "description", "label", "media", "mediaPosition", "onClick", "onKeyDown", "onPrimaryButtonClick", "overflowActions", "overflowAriaLabel", "onSecondaryButtonClick", "pictogram", "primaryButtonHref", "primaryButtonIcon", "primaryButtonKind", "primaryButtonPlacement", "primaryButtonText", "productive", "secondaryButtonHref", "secondaryButtonIcon", "secondaryButtonKind", "secondaryButtonText", "title", "titleSize"],
|
33
33
|
_excluded2 = ["id"],
|
34
34
|
_excluded3 = ["id", "icon", "onClick", "iconDescription", "href"];
|
35
35
|
|
@@ -50,6 +50,7 @@ var defaults = {
|
|
50
50
|
mediaPosition: 'top',
|
51
51
|
overflowActions: Object.freeze([]),
|
52
52
|
primaryButtonKind: 'primary',
|
53
|
+
primaryButtonPlacement: 'bottom',
|
53
54
|
productive: false,
|
54
55
|
secondaryButtonKind: 'secondary',
|
55
56
|
titleSize: 'default'
|
@@ -80,6 +81,8 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
80
81
|
primaryButtonIcon = _ref.primaryButtonIcon,
|
81
82
|
_ref$primaryButtonKin = _ref.primaryButtonKind,
|
82
83
|
primaryButtonKind = _ref$primaryButtonKin === void 0 ? defaults.primaryButtonKind : _ref$primaryButtonKin,
|
84
|
+
_ref$primaryButtonPla = _ref.primaryButtonPlacement,
|
85
|
+
primaryButtonPlacement = _ref$primaryButtonPla === void 0 ? defaults.primaryButtonPlacement : _ref$primaryButtonPla,
|
83
86
|
primaryButtonText = _ref.primaryButtonText,
|
84
87
|
_ref$productive = _ref.productive,
|
85
88
|
productive = _ref$productive === void 0 ? defaults.productive : _ref$productive,
|
@@ -93,9 +96,9 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
93
96
|
titleSize = _ref$titleSize === void 0 ? defaults.titleSize : _ref$titleSize,
|
94
97
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
95
98
|
var blockClass = "".concat(_settings.pkg.prefix, "--card");
|
96
|
-
var hasActions = actionIcons.length > 0 || overflowActions.length > 0;
|
99
|
+
var hasActions = actionIcons.length > 0 || overflowActions.length > 0 || primaryButtonText && primaryButtonPlacement === 'top';
|
97
100
|
var hasFooterActions = hasActions && actionsPlacement === 'bottom';
|
98
|
-
var hasFooterButton = !!secondaryButtonText || !!primaryButtonText;
|
101
|
+
var hasFooterButton = !!secondaryButtonText || !!primaryButtonText && primaryButtonPlacement === 'bottom';
|
99
102
|
var hasBottomBar = hasFooterActions || hasFooterButton;
|
100
103
|
var hasClickEvent = !!onClick || !!onKeyDown;
|
101
104
|
var clickableProps = {
|
@@ -195,10 +198,15 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
195
198
|
|
196
199
|
var getHeaderProps = function getHeaderProps() {
|
197
200
|
return {
|
198
|
-
actions: getActions(),
|
201
|
+
actions: actionsPlacement === 'top' ? getActions() : '',
|
202
|
+
noActionIcons: actionIcons.length > 0 && actionsPlacement === 'top' ? false : true,
|
199
203
|
actionsPlacement: actionsPlacement,
|
204
|
+
onPrimaryButtonClick: onPrimaryButtonClick,
|
205
|
+
primaryButtonIcon: primaryButtonIcon,
|
206
|
+
primaryButtonPlacement: primaryButtonPlacement,
|
207
|
+
primaryButtonText: primaryButtonText,
|
200
208
|
description: description,
|
201
|
-
hasActions: hasActions
|
209
|
+
hasActions: hasActions,
|
202
210
|
label: label,
|
203
211
|
title: title,
|
204
212
|
titleSize: titleSize
|
@@ -217,7 +225,7 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
217
225
|
|
218
226
|
var getFooterProps = function getFooterProps() {
|
219
227
|
return {
|
220
|
-
actions: getActions(),
|
228
|
+
actions: actionsPlacement === 'bottom' ? getActions() : '',
|
221
229
|
actionsPlacement: actionsPlacement,
|
222
230
|
hasActions: hasFooterActions,
|
223
231
|
hasButton: hasFooterButton,
|
@@ -226,6 +234,7 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
226
234
|
primaryButtonHref: primaryButtonHref,
|
227
235
|
primaryButtonIcon: primaryButtonIcon,
|
228
236
|
primaryButtonKind: primaryButtonKind,
|
237
|
+
primaryButtonPlacement: primaryButtonPlacement,
|
229
238
|
primaryButtonText: primaryButtonText,
|
230
239
|
productive: productive,
|
231
240
|
secondaryButtonHref: secondaryButtonHref,
|
@@ -276,6 +285,7 @@ Card.propTypes = {
|
|
276
285
|
primaryButtonHref: _propTypes.default.string,
|
277
286
|
primaryButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
278
287
|
primaryButtonKind: _propTypes.default.oneOf(['primary', 'ghost']),
|
288
|
+
primaryButtonPlacement: _propTypes.default.oneOf(['top', 'bottom']),
|
279
289
|
primaryButtonText: _propTypes.default.node,
|
280
290
|
productive: _propTypes.default.bool,
|
281
291
|
secondaryButtonHref: _propTypes.default.string,
|
@@ -44,6 +44,7 @@ var CardFooter = function CardFooter(_ref) {
|
|
44
44
|
primaryButtonIcon = _ref.primaryButtonIcon,
|
45
45
|
_ref$primaryButtonKin = _ref.primaryButtonKind,
|
46
46
|
primaryButtonKind = _ref$primaryButtonKin === void 0 ? defaults.primaryButtonKind : _ref$primaryButtonKin,
|
47
|
+
primaryButtonPlacement = _ref.primaryButtonPlacement,
|
47
48
|
primaryButtonText = _ref.primaryButtonText,
|
48
49
|
_ref$productive = _ref.productive,
|
49
50
|
productive = _ref$productive === void 0 ? defaults.productive : _ref$productive,
|
@@ -63,7 +64,7 @@ var CardFooter = function CardFooter(_ref) {
|
|
63
64
|
size: "md",
|
64
65
|
renderIcon: secondaryButtonIcon,
|
65
66
|
href: secondaryButtonHref
|
66
|
-
}, secondaryButtonText), primaryButtonText && /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
67
|
+
}, secondaryButtonText), primaryButtonText && primaryButtonPlacement === 'bottom' && /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
67
68
|
kind: productive ? 'ghost' : primaryButtonKind,
|
68
69
|
onClick: onPrimaryButtonClick,
|
69
70
|
size: "md",
|
@@ -84,6 +85,7 @@ CardFooter.propTypes = {
|
|
84
85
|
primaryButtonHref: _propTypes.default.string,
|
85
86
|
primaryButtonIcon: _propTypes.default.string,
|
86
87
|
primaryButtonKind: _propTypes.default.oneOf(['primary', 'ghost']),
|
88
|
+
primaryButtonPlacement: _propTypes.default.oneOf(['top', 'bottom']),
|
87
89
|
primaryButtonText: _propTypes.default.string,
|
88
90
|
productive: _propTypes.default.bool,
|
89
91
|
secondaryButtonHref: _propTypes.default.string,
|
@@ -17,6 +17,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
18
18
|
var _settings = require("../../settings");
|
19
19
|
|
20
|
+
var _react2 = require("@carbon/react");
|
21
|
+
|
20
22
|
//
|
21
23
|
// Copyright IBM Corp. 2020, 2021
|
22
24
|
//
|
@@ -33,6 +35,11 @@ var CardHeader = function CardHeader(_ref) {
|
|
33
35
|
var _cx;
|
34
36
|
|
35
37
|
var actions = _ref.actions,
|
38
|
+
noActionIcons = _ref.noActionIcons,
|
39
|
+
onPrimaryButtonClick = _ref.onPrimaryButtonClick,
|
40
|
+
primaryButtonIcon = _ref.primaryButtonIcon,
|
41
|
+
primaryButtonPlacement = _ref.primaryButtonPlacement,
|
42
|
+
primaryButtonText = _ref.primaryButtonText,
|
36
43
|
description = _ref.description,
|
37
44
|
_ref$hasActions = _ref.hasActions,
|
38
45
|
hasActions = _ref$hasActions === void 0 ? defaults.hasActions : _ref$hasActions,
|
@@ -43,6 +50,8 @@ var CardHeader = function CardHeader(_ref) {
|
|
43
50
|
var blockClass = "".concat(_settings.pkg.prefix, "--card");
|
44
51
|
var headerClass = "".concat(blockClass, "__header");
|
45
52
|
var headerClasses = (0, _classnames.default)(headerClass, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(headerClass, "-label-only"), label && !title && !description), (0, _defineProperty2.default)(_cx, "".concat(headerClass, "-has-label"), !!label), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__title-lg"), titleSize === 'large'), _cx));
|
53
|
+
var actionGhostButton = "".concat(blockClass, "__actions-header-ghost-button");
|
54
|
+
var actionGhostButtonClass = (0, _classnames.default)(actionGhostButton, (0, _defineProperty2.default)({}, "".concat(actionGhostButton, "--only"), noActionIcons));
|
46
55
|
return /*#__PURE__*/_react.default.createElement("div", {
|
47
56
|
className: headerClasses
|
48
57
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
@@ -57,7 +66,13 @@ var CardHeader = function CardHeader(_ref) {
|
|
57
66
|
className: "".concat(blockClass, "__description")
|
58
67
|
}, description)), hasActions && /*#__PURE__*/_react.default.createElement("div", {
|
59
68
|
className: "".concat(blockClass, "__actions ").concat(blockClass, "__actions-header")
|
60
|
-
}, actions
|
69
|
+
}, actions, primaryButtonText && primaryButtonPlacement === 'top' && /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
70
|
+
kind: "ghost",
|
71
|
+
size: "small",
|
72
|
+
renderIcon: primaryButtonIcon,
|
73
|
+
onClick: onPrimaryButtonClick,
|
74
|
+
className: actionGhostButtonClass
|
75
|
+
}, primaryButtonText))));
|
61
76
|
};
|
62
77
|
|
63
78
|
exports.CardHeader = CardHeader;
|
@@ -66,6 +81,11 @@ CardHeader.propTypes = {
|
|
66
81
|
description: _propTypes.default.string,
|
67
82
|
hasActions: _propTypes.default.bool,
|
68
83
|
label: _propTypes.default.string,
|
84
|
+
noActionIcons: _propTypes.default.bool,
|
85
|
+
onPrimaryButtonClick: _propTypes.default.func,
|
86
|
+
primaryButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
87
|
+
primaryButtonPlacement: _propTypes.default.oneOf(['top', 'bottom']),
|
88
|
+
primaryButtonText: _propTypes.default.string,
|
69
89
|
title: _propTypes.default.string,
|
70
90
|
titleSize: _propTypes.default.oneOf(['default', 'large'])
|
71
91
|
};
|
@@ -19,7 +19,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
19
19
|
|
20
20
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
21
21
|
|
22
|
-
var
|
22
|
+
var _icons = require("@carbon/react/icons");
|
23
23
|
|
24
24
|
var _react = require("@carbon/react");
|
25
25
|
|
@@ -91,11 +91,11 @@ var ComboButton = function ComboButton(_ref) {
|
|
91
91
|
},
|
92
92
|
renderIcon: function renderIcon() {
|
93
93
|
return /*#__PURE__*/(0, _react2.createElement)(isOpen ? function (props) {
|
94
|
-
return /*#__PURE__*/_react2.default.createElement(
|
94
|
+
return /*#__PURE__*/_react2.default.createElement(_icons.ChevronUp, (0, _extends2.default)({
|
95
95
|
size: 16
|
96
96
|
}, props));
|
97
97
|
} : function (props) {
|
98
|
-
return /*#__PURE__*/_react2.default.createElement(
|
98
|
+
return /*#__PURE__*/_react2.default.createElement(_icons.ChevronDown, (0, _extends2.default)({
|
99
99
|
size: 16
|
100
100
|
}, props));
|
101
101
|
}, {
|
@@ -63,7 +63,9 @@ var _handleActiveCellInSelectionEnter = require("./utils/handleActiveCellInSelec
|
|
63
63
|
|
64
64
|
var _handleActiveCellInSelectionTab = require("./utils/handleActiveCellInSelectionTab");
|
65
65
|
|
66
|
-
var
|
66
|
+
var _handleCellDeletion = require("./utils/handleCellDeletion");
|
67
|
+
|
68
|
+
var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "id", "onActiveCellChange", "onSelectionAreaChange", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
|
67
69
|
|
68
70
|
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); }
|
69
71
|
|
@@ -85,13 +87,16 @@ var defaults = {
|
|
85
87
|
defaultEmptyRowCount: 16,
|
86
88
|
onDataUpdate: Object.freeze(function () {}),
|
87
89
|
onActiveCellChange: Object.freeze(function () {}),
|
88
|
-
onSelectionAreaChange: Object.freeze(function () {})
|
90
|
+
onSelectionAreaChange: Object.freeze(function () {}),
|
91
|
+
theme: 'light'
|
89
92
|
};
|
90
93
|
/**
|
91
94
|
* DataSpreadsheet: used to organize and display large amounts of structured data, separated by columns and rows in a grid-like format.
|
92
95
|
*/
|
93
96
|
|
94
97
|
var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
98
|
+
var _cx;
|
99
|
+
|
95
100
|
var _ref$cellSize = _ref.cellSize,
|
96
101
|
cellSize = _ref$cellSize === void 0 ? defaults.cellSize : _ref$cellSize,
|
97
102
|
className = _ref.className,
|
@@ -108,6 +113,9 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
108
113
|
onActiveCellChange = _ref$onActiveCellChan === void 0 ? defaults.onActiveCellChange : _ref$onActiveCellChan,
|
109
114
|
_ref$onSelectionAreaC = _ref.onSelectionAreaChange,
|
110
115
|
onSelectionAreaChange = _ref$onSelectionAreaC === void 0 ? defaults.onSelectionAreaChange : _ref$onSelectionAreaC,
|
116
|
+
selectAllAriaLabel = _ref.selectAllAriaLabel,
|
117
|
+
spreadsheetAriaLabel = _ref.spreadsheetAriaLabel,
|
118
|
+
theme = _ref.theme,
|
111
119
|
totalVisibleColumns = _ref.totalVisibleColumns,
|
112
120
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
113
121
|
var multiKeyTrackingRef = (0, _react.useRef)();
|
@@ -214,11 +222,11 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
214
222
|
visibleColumns = _useTable.visibleColumns; // Update the spreadsheet data after editing a cell
|
215
223
|
|
216
224
|
|
217
|
-
var updateData = (0, _react.useCallback)(function (rowIndex, columnId) {
|
225
|
+
var updateData = (0, _react.useCallback)(function (rowIndex, columnId, newValue) {
|
218
226
|
onDataUpdate(function (prev) {
|
219
227
|
return prev.map(function (row, index) {
|
220
228
|
if (index === rowIndex) {
|
221
|
-
return _objectSpread(_objectSpread({}, prev[rowIndex]), {}, (0, _defineProperty2.default)({}, columnId, cellEditorValue));
|
229
|
+
return _objectSpread(_objectSpread({}, prev[rowIndex]), {}, (0, _defineProperty2.default)({}, columnId, cellEditorValue || newValue));
|
222
230
|
}
|
223
231
|
|
224
232
|
return row;
|
@@ -406,13 +414,34 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
406
414
|
setCurrentMatcher: setCurrentMatcher,
|
407
415
|
usingMac: usingMac
|
408
416
|
});
|
409
|
-
}
|
410
|
-
// if one of the activeCellCoordinates is in a header position
|
417
|
+
}
|
411
418
|
|
419
|
+
var deleteParams = {
|
420
|
+
selectionAreas: selectionAreas,
|
421
|
+
currentMatcher: currentMatcher,
|
422
|
+
rows: rows,
|
423
|
+
setActiveCellContent: setActiveCellContent,
|
424
|
+
updateData: updateData
|
425
|
+
}; // Allow arrow key navigation if there are less than two activeKeys OR
|
426
|
+
// if one of the activeCellCoordinates is in a header position
|
412
427
|
|
413
428
|
if (keysPressedList.length < 2 && !(0, _handleMultipleKeys.includesShift)(keysPressedList) || activeCellCoordinates.row === 'header' || activeCellCoordinates.column === 'header') {
|
414
429
|
switch (key) {
|
430
|
+
// Backspace
|
431
|
+
case 'Backspace':
|
432
|
+
{
|
433
|
+
(0, _handleCellDeletion.handleCellDeletion)(deleteParams);
|
434
|
+
break;
|
435
|
+
}
|
436
|
+
// Delete
|
437
|
+
|
438
|
+
case 'Delete':
|
439
|
+
{
|
440
|
+
(0, _handleCellDeletion.handleCellDeletion)(deleteParams);
|
441
|
+
break;
|
442
|
+
}
|
415
443
|
// Enter
|
444
|
+
|
416
445
|
case 'Enter':
|
417
446
|
{
|
418
447
|
(0, _handleActiveCellInSelectionEnter.handleActiveCellInSelectionEnter)({
|
@@ -610,7 +639,7 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
610
639
|
}
|
611
640
|
}
|
612
641
|
}
|
613
|
-
}, [activeCellInsideSelectionArea, updateActiveCellCoordinates, handleInitialArrowPress, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, isEditing, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac]);
|
642
|
+
}, [activeCellInsideSelectionArea, updateActiveCellCoordinates, handleInitialArrowPress, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, isEditing, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData]);
|
614
643
|
|
615
644
|
var startEditMode = function startEditMode() {
|
616
645
|
setIsEditing(true);
|
@@ -646,6 +675,11 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
646
675
|
}
|
647
676
|
|
648
677
|
return;
|
678
|
+
}; // Mouse up on active cell
|
679
|
+
|
680
|
+
|
681
|
+
var handleActiveCellMouseUp = function handleActiveCellMouseUp() {
|
682
|
+
setClickAndHoldActive(false);
|
649
683
|
}; // Mouse down on active cell
|
650
684
|
|
651
685
|
|
@@ -784,12 +818,13 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
784
818
|
}
|
785
819
|
}, [spreadsheetRef, currentMatcher]);
|
786
820
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, getTableProps(), (0, _devtools.getDevtoolsProps)(componentName), {
|
787
|
-
className: (0, _classnames.default)(blockClass, className, "".concat(blockClass, "--interactive-cell-element"), (0, _defineProperty2.default)(
|
821
|
+
className: (0, _classnames.default)(blockClass, className, "".concat(blockClass, "--interactive-cell-element"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__container-has-focus"), containerHasFocus), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__").concat(theme), theme === 'dark'), _cx)),
|
788
822
|
ref: spreadsheetRef,
|
789
823
|
role: "grid",
|
790
824
|
tabIndex: 0,
|
791
825
|
"aria-rowcount": (rows === null || rows === void 0 ? void 0 : rows.length) || 0,
|
792
826
|
"aria-colcount": (columns === null || columns === void 0 ? void 0 : columns.length) || 0,
|
827
|
+
"aria-label": spreadsheetAriaLabel,
|
793
828
|
onKeyDown: handleKeyPress,
|
794
829
|
onFocus: function onFocus() {
|
795
830
|
return setContainerHasFocus(true);
|
@@ -815,7 +850,8 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
815
850
|
updateActiveCellCoordinates: updateActiveCellCoordinates,
|
816
851
|
setHeaderCellHoldActive: setHeaderCellHoldActive,
|
817
852
|
headerCellHoldActive: headerCellHoldActive,
|
818
|
-
visibleColumns: visibleColumns
|
853
|
+
visibleColumns: visibleColumns,
|
854
|
+
selectAllAriaLabel: selectAllAriaLabel
|
819
855
|
}), /*#__PURE__*/_react.default.createElement(_DataSpreadsheetBody.DataSpreadsheetBody, {
|
820
856
|
activeCellCoordinates: activeCellCoordinates,
|
821
857
|
ref: spreadsheetRef,
|
@@ -850,6 +886,7 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
850
886
|
visibleColumns: visibleColumns
|
851
887
|
}), /*#__PURE__*/_react.default.createElement("button", {
|
852
888
|
onMouseDown: handleActiveCellMouseDown,
|
889
|
+
onMouseUp: handleActiveCellMouseUp,
|
853
890
|
onClick: handleActiveCellClick,
|
854
891
|
onKeyDown: handleActiveCellKeyDown,
|
855
892
|
onDoubleClick: handleActiveCellDoubleClick,
|
@@ -858,6 +895,7 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
858
895
|
className: (0, _classnames.default)("".concat(blockClass, "--interactive-cell-element"), "".concat(blockClass, "__active-cell--highlight"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__active-cell--with-selection"), activeCellInsideSelectionArea)),
|
859
896
|
type: "button"
|
860
897
|
}, activeCellContent), /*#__PURE__*/_react.default.createElement("textarea", {
|
898
|
+
id: "".concat(blockClass, "__cell-editor-text-area"),
|
861
899
|
value: cellEditorValue,
|
862
900
|
onKeyDown: (0, _handleEditSubmit.handleEditSubmit)({
|
863
901
|
activeCellCoordinates: activeCellCoordinates,
|
@@ -877,7 +915,7 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
|
|
877
915
|
cellEditorRulerRef.current.textContent = event.target.value;
|
878
916
|
},
|
879
917
|
ref: cellEditorRef,
|
880
|
-
"aria-labelledby": activeCellCoordinates ? "
|
918
|
+
"aria-labelledby": activeCellCoordinates ? "".concat(blockClass, "__cell--").concat(activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row, "--").concat(activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) : null,
|
881
919
|
className: (0, _classnames.default)("".concat(blockClass, "__cell-editor"), "".concat(blockClass, "--interactive-cell-element"), "".concat(blockClass, "__cell-editor--").concat(cellSize), (0, _defineProperty2.default)({}, "".concat(blockClass, "__cell-editor--active"), isEditing))
|
882
920
|
}), /*#__PURE__*/_react.default.createElement("pre", {
|
883
921
|
"aria-hidden": true,
|
@@ -946,6 +984,21 @@ DataSpreadsheet.propTypes = {
|
|
946
984
|
*/
|
947
985
|
onSelectionAreaChange: _propTypes.default.func,
|
948
986
|
|
987
|
+
/**
|
988
|
+
* The aria label applied to the Select all button
|
989
|
+
*/
|
990
|
+
selectAllAriaLabel: _propTypes.default.string.isRequired,
|
991
|
+
|
992
|
+
/**
|
993
|
+
* The aria label applied to the Data spreadsheet component
|
994
|
+
*/
|
995
|
+
spreadsheetAriaLabel: _propTypes.default.string.isRequired,
|
996
|
+
|
997
|
+
/**
|
998
|
+
* The theme the DataSpreadsheet should use (only used to render active cell/selection area colors on dark theme)
|
999
|
+
*/
|
1000
|
+
theme: _propTypes.default.oneOf(['light', 'dark']),
|
1001
|
+
|
949
1002
|
/**
|
950
1003
|
* The total number of columns to be initially visible, additional columns will be rendered and
|
951
1004
|
* visible via horizontal scrollbar
|
@@ -411,7 +411,8 @@ var DataSpreadsheetBody = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
|
|
411
411
|
}), {
|
412
412
|
className: (0, _classnames.default)("".concat(blockClass, "__tr")),
|
413
413
|
"data-row-index": index,
|
414
|
-
"aria-rowindex": index + 1
|
414
|
+
"aria-rowindex": index + 1,
|
415
|
+
"aria-owns": "".concat(blockClass, "__cell-editor-text-area")
|
415
416
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
416
417
|
role: "rowheader",
|
417
418
|
className: "".concat(blockClass, "__td-th--cell-container")
|