@carbon/ibm-products 2.0.0-rc.7 → 2.0.0-rc.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. package/README.md +2 -2
  2. package/css/index-full-carbon.css +135 -27
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +4 -2
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +0 -6
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +1 -1
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +135 -27
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +4 -2
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +135 -27
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +4 -2
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
  19. package/es/components/AddSelect/AddSelect.js +6 -3
  20. package/es/components/AddSelect/AddSelectBody.js +50 -26
  21. package/es/components/AddSelect/AddSelectBreadcrumbs.js +1 -1
  22. package/es/components/AddSelect/AddSelectColumn.js +3 -3
  23. package/es/components/AddSelect/AddSelectFilter.js +5 -3
  24. package/es/components/AddSelect/AddSelectList.js +6 -5
  25. package/es/components/AddSelect/AddSelectMetaPanel.js +6 -0
  26. package/es/components/AddSelect/AddSelectSidebar.js +5 -2
  27. package/es/components/AddSelect/AddSelectSort.js +1 -1
  28. package/es/components/AddSelect/add-select-utils.js +7 -0
  29. package/es/components/AddSelect/hooks/useItemSort.js +6 -0
  30. package/es/components/AddSelect/hooks/useParentSelect.js +6 -0
  31. package/es/components/AddSelect/hooks/usePath.js +15 -1
  32. package/es/components/AddSelect/index.js +1 -1
  33. package/es/components/CreateFullPage/CreateFullPage.js +4 -1
  34. package/es/components/DataSpreadsheet/DataSpreadsheet.js +2 -1
  35. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +10 -1
  36. package/es/components/Datagrid/Datagrid/DatagridRow.js +41 -2
  37. package/es/components/Datagrid/useNestedRows.js +14 -2
  38. package/es/components/Datagrid/utils/DatagridActions.js +130 -46
  39. package/es/components/InlineEdit/InlineEdit.js +27 -427
  40. package/es/components/InlineEditV1/InlineEditV1.js +447 -0
  41. package/es/components/InlineEditV1/index.js +7 -0
  42. package/es/components/InlineEditV2/InlineEditV2.js +289 -0
  43. package/es/components/InlineEditV2/index.js +7 -0
  44. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
  45. package/es/components/MultiAddSelect/index.js +6 -0
  46. package/es/components/PageHeader/PageHeaderTitle.js +2 -4
  47. package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
  48. package/es/components/SingleAddSelect/index.js +6 -0
  49. package/es/global/js/package-settings.js +3 -1
  50. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  51. package/lib/components/AddSelect/AddSelect.js +5 -2
  52. package/lib/components/AddSelect/AddSelectBody.js +45 -25
  53. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +1 -1
  54. package/lib/components/AddSelect/AddSelectColumn.js +2 -2
  55. package/lib/components/AddSelect/AddSelectFilter.js +4 -2
  56. package/lib/components/AddSelect/AddSelectList.js +5 -4
  57. package/lib/components/AddSelect/AddSelectMetaPanel.js +6 -0
  58. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  59. package/lib/components/AddSelect/AddSelectSort.js +1 -1
  60. package/lib/components/AddSelect/add-select-utils.js +7 -0
  61. package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
  62. package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
  63. package/lib/components/AddSelect/hooks/usePath.js +9 -1
  64. package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
  65. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +2 -1
  66. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +10 -1
  67. package/lib/components/Datagrid/Datagrid/DatagridRow.js +42 -2
  68. package/lib/components/Datagrid/useNestedRows.js +15 -2
  69. package/lib/components/Datagrid/utils/DatagridActions.js +134 -44
  70. package/lib/components/InlineEdit/InlineEdit.js +27 -428
  71. package/lib/components/InlineEditV1/InlineEditV1.js +464 -0
  72. package/lib/components/InlineEditV1/index.js +13 -0
  73. package/lib/components/InlineEditV2/InlineEditV2.js +309 -0
  74. package/lib/components/InlineEditV2/index.js +13 -0
  75. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
  76. package/lib/components/PageHeader/PageHeaderTitle.js +2 -4
  77. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
  78. package/lib/global/js/package-settings.js +3 -1
  79. package/package.json +2 -2
  80. package/scss/components/AddSelect/_add-select.scss +24 -25
  81. package/scss/components/AddSelect/_index.scss +1 -1
  82. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  83. package/scss/components/Datagrid/_storybook-styles.scss +5 -0
  84. package/scss/components/Datagrid/styles/_datagrid.scss +49 -4
  85. package/scss/components/{InlineEdit → InlineEditV1}/_carbon-imports.scss +0 -0
  86. package/scss/components/{InlineEdit → InlineEditV1}/_index-with-carbon.scss +1 -1
  87. package/scss/components/{InlineEdit → InlineEditV1}/_index.scss +1 -1
  88. package/scss/components/{InlineEdit/_inline-edit.scss → InlineEditV1/_inline-edit-v1.scss} +0 -0
  89. package/scss/components/{InlineEdit → InlineEditV1}/_storybook-styles.scss +0 -0
  90. package/scss/components/InlineEditV2/_carbon-imports.scss +9 -0
  91. package/scss/components/InlineEditV2/_index-with-carbon.scss +9 -0
  92. package/scss/components/InlineEditV2/_index.scss +10 -0
  93. package/scss/components/InlineEditV2/_inline-edit-v2.scss +83 -0
  94. package/scss/components/InlineEditV2/_storybook-styles.scss +9 -0
  95. package/scss/components/MultiAddSelect/_multi-add-select.scss +7 -0
  96. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  97. package/scss/components/PageHeader/_page-header.scss +0 -4
  98. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  99. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  100. package/scss/components/SingleAddSelect/_index.scss +7 -0
  101. package/scss/components/SingleAddSelect/_single-add-select.scss +7 -0
  102. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  103. package/scss/components/_index-released-only-with-carbon.scss +1 -1
  104. package/scss/components/_index-released-only.scss +1 -1
  105. package/scss/components/_index-with-carbon.scss +2 -1
  106. package/scss/components/_index.scss +2 -1
@@ -1,4 +1,4 @@
1
- import _extends from "@babel/runtime/helpers/extends";
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
 
3
3
  /**
4
4
  * Copyright IBM Corp. 2020, 2022
@@ -6,9 +6,9 @@ import _extends from "@babel/runtime/helpers/extends";
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import React from 'react';
10
- import { DataTable, Button } from '@carbon/react';
11
- import { Download, Filter, Add, Restart } from '@carbon/react/icons';
9
+ import React, { useLayoutEffect, useState } from 'react';
10
+ import { DataTable, Button, OverflowMenu, OverflowMenuItem, ComposedModal, ModalBody, ModalHeader, ModalFooter, Dropdown } from '@carbon/react';
11
+ import { Download, Filter, Add, Restart, ChevronDown } from '@carbon/react/icons';
12
12
  import { action } from '@storybook/addon-actions';
13
13
  import { pkg } from '../../../settings';
14
14
  import { ButtonMenu, ButtonMenuItem } from '../../ButtonMenu';
@@ -39,23 +39,42 @@ export var DatagridActions = function DatagridActions(datagridState) {
39
39
  var searchForAColumn = 'Search';
40
40
  var isNothingSelected = selectedFlatRows.length === 0;
41
41
  var style = {
42
- 'button:nth-child(1) > span:nth-child(1)': {
42
+ 'button:nthChild(1) > span:nthChild(1)': {
43
43
  bottom: '-37px'
44
44
  }
45
45
  };
46
+
47
+ var _useState = useState(false),
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ modalOpen = _useState2[0],
50
+ setModalOpen = _useState2[1];
51
+
52
+ var _useState3 = useState(window.innerWidth),
53
+ _useState4 = _slicedToArray(_useState3, 2),
54
+ size = _useState4[0],
55
+ setSize = _useState4[1];
56
+
57
+ useLayoutEffect(function () {
58
+ function updateSize() {
59
+ setSize(window.innerWidth);
60
+ }
61
+
62
+ window.addEventListener('resize', updateSize);
63
+ return function () {
64
+ return window.removeEventListener('resize', updateSize);
65
+ };
66
+ }, []);
67
+ var mobileToolbar = size < 672 ? true : false;
68
+ var items = ['Option 1', 'Option 2', 'Option 3'];
46
69
  return isNothingSelected && (useDenseHeader && useDenseHeader ? /*#__PURE__*/React.createElement(TableToolbarContent, {
47
70
  size: "sm"
48
- }, /*#__PURE__*/React.createElement("div", {
71
+ }, !mobileToolbar ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
49
72
  style: style
50
73
  }, /*#__PURE__*/React.createElement(Button, {
51
74
  kind: "ghost",
52
75
  hasIconOnly: true,
53
76
  tooltipPosition: "bottom",
54
- renderIcon: function renderIcon(props) {
55
- return /*#__PURE__*/React.createElement(Download, _extends({
56
- size: 16
57
- }, props));
58
- },
77
+ renderIcon: Download,
59
78
  iconDescription: 'Download CSV',
60
79
  onClick: downloadCsv
61
80
  })), /*#__PURE__*/React.createElement("div", {
@@ -64,11 +83,7 @@ export var DatagridActions = function DatagridActions(datagridState) {
64
83
  kind: "ghost",
65
84
  hasIconOnly: true,
66
85
  tooltipPosition: "bottom",
67
- renderIcon: function renderIcon(props) {
68
- return /*#__PURE__*/React.createElement(Filter, _extends({
69
- size: 16
70
- }, props));
71
- },
86
+ renderIcon: Filter,
72
87
  iconDescription: 'Left panel',
73
88
  onClick: leftPanelClick
74
89
  })), /*#__PURE__*/React.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/React.createElement("div", {
@@ -76,30 +91,49 @@ export var DatagridActions = function DatagridActions(datagridState) {
76
91
  className: "".concat(blockClass, "__toolbar-divider")
77
92
  }, /*#__PURE__*/React.createElement(Button, {
78
93
  kind: "ghost",
79
- renderIcon: function renderIcon(props) {
80
- return /*#__PURE__*/React.createElement(Add, _extends({
81
- size: 16
82
- }, props));
83
- },
94
+ renderIcon: Add,
84
95
  iconDescription: 'Action'
85
96
  }, "Ghost button")), CustomizeColumnsButton && /*#__PURE__*/React.createElement("div", {
86
97
  style: style
87
- }, /*#__PURE__*/React.createElement(CustomizeColumnsButton, null))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
98
+ }, /*#__PURE__*/React.createElement(CustomizeColumnsButton, null))) : /*#__PURE__*/React.createElement(OverflowMenu, {
99
+ ariaLabel: "Tools",
100
+ size: "md",
101
+ flipped: true
102
+ }, /*#__PURE__*/React.createElement(OverflowMenuItem, {
103
+ itemText: "Filter",
104
+ hasDivider: true,
105
+ requireTitle: true,
106
+ onClick: function onClick() {
107
+ return setModalOpen(true);
108
+ }
109
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
110
+ itemText: "Export",
111
+ hasDivider: true,
112
+ requireTitle: true
113
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
114
+ itemText: "Settings",
115
+ hasDivider: true,
116
+ requireTitle: true
117
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
118
+ itemText: "Import items",
119
+ hasDivider: true,
120
+ requireTitle: true
121
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
122
+ itemText: "Create",
123
+ hasDivider: true,
124
+ requireTitle: true
125
+ }))) : !mobileToolbar ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
88
126
  kind: "ghost",
89
127
  hasIconOnly: true,
90
128
  tooltipPosition: "bottom",
91
- renderIcon: function renderIcon(props) {
92
- return /*#__PURE__*/React.createElement(Filter, _extends({
93
- size: 16
94
- }, props));
95
- },
129
+ renderIcon: Filter,
96
130
  iconDescription: 'Left panel',
97
131
  onClick: leftPanelClick
98
132
  }), /*#__PURE__*/React.createElement(TableToolbarContent, null, /*#__PURE__*/React.createElement(TableToolbarSearch, {
99
- size: "lg",
133
+ size: "xl",
100
134
  id: "columnSearch",
101
135
  persistent: true,
102
- placeholder: searchForAColumn,
136
+ placeHolderText: searchForAColumn,
103
137
  onChange: function onChange(e) {
104
138
  return setGlobalFilter(e.target.value);
105
139
  }
@@ -109,11 +143,7 @@ export var DatagridActions = function DatagridActions(datagridState) {
109
143
  kind: "ghost",
110
144
  hasIconOnly: true,
111
145
  tooltipPosition: "bottom",
112
- renderIcon: function renderIcon(props) {
113
- return /*#__PURE__*/React.createElement(Restart, _extends({
114
- size: 16
115
- }, props));
116
- },
146
+ renderIcon: Restart,
117
147
  iconDescription: 'Refresh',
118
148
  onClick: refreshColumns
119
149
  })), /*#__PURE__*/React.createElement("div", {
@@ -122,23 +152,14 @@ export var DatagridActions = function DatagridActions(datagridState) {
122
152
  kind: "ghost",
123
153
  hasIconOnly: true,
124
154
  tooltipPosition: "bottom",
125
- renderIcon: function renderIcon(props) {
126
- return /*#__PURE__*/React.createElement(Download, _extends({
127
- size: 16
128
- }, props));
129
- },
155
+ renderIcon: Download,
130
156
  iconDescription: 'Download CSV',
131
157
  onClick: downloadCsv
132
158
  })), CustomizeColumnsButton && /*#__PURE__*/React.createElement("div", {
133
159
  style: style
134
160
  }, /*#__PURE__*/React.createElement(CustomizeColumnsButton, null)), /*#__PURE__*/React.createElement(ButtonMenu, {
135
- menuAriaLabel: "Primary action button menu",
136
161
  label: "Primary button",
137
- renderIcon: function renderIcon(props) {
138
- return /*#__PURE__*/React.createElement(Add, _extends({
139
- size: 16
140
- }, props));
141
- }
162
+ renderIcon: Add
142
163
  }, /*#__PURE__*/React.createElement(ButtonMenuItem, {
143
164
  itemText: "Option 1",
144
165
  onClick: action("Click on ButtonMenu Option 1")
@@ -148,5 +169,68 @@ export var DatagridActions = function DatagridActions(datagridState) {
148
169
  }), /*#__PURE__*/React.createElement(ButtonMenuItem, {
149
170
  itemText: "Option 3",
150
171
  onClick: action("Click on ButtonMenu Option 3")
151
- })))));
172
+ })))) : /*#__PURE__*/React.createElement(TableToolbarContent, null, /*#__PURE__*/React.createElement(TableToolbarSearch, {
173
+ size: "xl",
174
+ id: "columnSearch",
175
+ persistent: true,
176
+ placeHolderText: searchForAColumn,
177
+ onChange: function onChange(e) {
178
+ return setGlobalFilter(e.target.value);
179
+ }
180
+ }), /*#__PURE__*/React.createElement(OverflowMenu, {
181
+ ariaLabel: "Tools",
182
+ size: "lg",
183
+ flipped: true,
184
+ renderIcon: ChevronDown,
185
+ className: "".concat(blockClass, "__toolbar-menu__trigger"),
186
+ menuOptionsClass: "".concat(blockClass, "__toolbar-options")
187
+ }, /*#__PURE__*/React.createElement(OverflowMenuItem, {
188
+ itemText: "Filter",
189
+ hasDivider: true,
190
+ requireTitle: true,
191
+ onClick: function onClick() {
192
+ return setModalOpen(true);
193
+ }
194
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
195
+ itemText: "Export",
196
+ hasDivider: true,
197
+ requireTitle: true
198
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
199
+ itemText: "Settings",
200
+ hasDivider: true,
201
+ requireTitle: true
202
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
203
+ itemText: "Import items",
204
+ hasDivider: true,
205
+ requireTitle: true
206
+ }), /*#__PURE__*/React.createElement(OverflowMenuItem, {
207
+ itemText: "Create",
208
+ hasDivider: true,
209
+ requireTitle: true
210
+ })), modalOpen && /*#__PURE__*/React.createElement(ComposedModal, {
211
+ size: "lg",
212
+ open: modalOpen && modalOpen,
213
+ onClose: function onClose() {
214
+ return setModalOpen(false);
215
+ },
216
+ className: "".concat(blockClass, "__mobile-toolbar-modal")
217
+ }, /*#__PURE__*/React.createElement(ModalHeader, null, /*#__PURE__*/React.createElement("h4", null, "Filters")), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(Dropdown, {
218
+ initialSelectedItem: items[2],
219
+ items: items,
220
+ titleText: "Label",
221
+ id: "filter1"
222
+ }), /*#__PURE__*/React.createElement(Dropdown, {
223
+ initialSelectedItem: items[2],
224
+ items: items,
225
+ titleText: "Label",
226
+ id: "filter2"
227
+ }), /*#__PURE__*/React.createElement(Dropdown, {
228
+ initialSelectedItem: items[2],
229
+ items: items,
230
+ titleText: "Label",
231
+ id: "filter3"
232
+ })), /*#__PURE__*/React.createElement(ModalFooter, {
233
+ primaryButtonText: "Apply",
234
+ secondaryButtonText: "Cancel"
235
+ }))));
152
236
  };