@carbon/ibm-products 1.37.0 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. package/css/index-full-carbon.css +11138 -10785
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +4 -2
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +59 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +271 -26
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +3780 -1833
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
  18. package/es/components/AddSelect/AddSelect.js +5 -2
  19. package/es/components/AddSelect/AddSelectBody.js +41 -22
  20. package/es/components/AddSelect/AddSelectColumn.js +2 -2
  21. package/es/components/AddSelect/AddSelectFilter.js +4 -2
  22. package/es/components/AddSelect/AddSelectList.js +7 -5
  23. package/es/components/AddSelect/AddSelectMetaPanel.js +7 -0
  24. package/es/components/AddSelect/AddSelectSidebar.js +4 -1
  25. package/es/components/AddSelect/add-select-utils.js +7 -0
  26. package/es/components/AddSelect/hooks/useItemSort.js +7 -0
  27. package/es/components/AddSelect/hooks/useParentSelect.js +7 -0
  28. package/es/components/AddSelect/hooks/usePath.js +15 -1
  29. package/es/components/AddSelect/index.js +1 -1
  30. package/es/components/CreateFullPage/CreateFullPage.js +4 -1
  31. package/es/components/Datagrid/Datagrid/Datagrid.js +7 -3
  32. package/es/components/Datagrid/Datagrid/DatagridRow.js +35 -2
  33. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +19 -3
  34. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +384 -0
  35. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +35 -46
  36. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +19 -0
  37. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +18 -0
  38. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +7 -0
  39. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +38 -0
  40. package/es/components/Datagrid/index.js +2 -1
  41. package/es/components/Datagrid/useFiltering.js +83 -0
  42. package/es/components/Datagrid/useNestedRows.js +11 -2
  43. package/es/components/Datagrid/utils/DatagridActions.js +134 -33
  44. package/es/components/Datagrid/utils/makeData.js +23 -16
  45. package/es/components/InlineEditV1/InlineEditV1.js +0 -3
  46. package/es/components/InlineEditV2/InlineEditV2.js +0 -1
  47. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -6
  48. package/es/components/MultiAddSelect/index.js +7 -0
  49. package/es/components/SingleAddSelect/SingleAddSelect.js +13 -2
  50. package/es/components/SingleAddSelect/index.js +7 -0
  51. package/es/components/index.js +1 -2
  52. package/es/global/js/package-settings.js +1 -3
  53. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  54. package/lib/components/AddSelect/AddSelect.js +5 -2
  55. package/lib/components/AddSelect/AddSelectBody.js +40 -21
  56. package/lib/components/AddSelect/AddSelectColumn.js +2 -2
  57. package/lib/components/AddSelect/AddSelectFilter.js +4 -2
  58. package/lib/components/AddSelect/AddSelectList.js +6 -4
  59. package/lib/components/AddSelect/AddSelectMetaPanel.js +7 -0
  60. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  61. package/lib/components/AddSelect/add-select-utils.js +7 -0
  62. package/lib/components/AddSelect/hooks/useItemSort.js +7 -0
  63. package/lib/components/AddSelect/hooks/useParentSelect.js +7 -0
  64. package/lib/components/AddSelect/hooks/usePath.js +8 -1
  65. package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
  66. package/lib/components/Datagrid/Datagrid/Datagrid.js +7 -3
  67. package/lib/components/Datagrid/Datagrid/DatagridRow.js +35 -2
  68. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +18 -3
  69. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +385 -0
  70. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +35 -46
  71. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +33 -0
  72. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +27 -0
  73. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +13 -0
  74. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +45 -0
  75. package/lib/components/Datagrid/index.js +8 -1
  76. package/lib/components/Datagrid/useFiltering.js +83 -0
  77. package/lib/components/Datagrid/useNestedRows.js +11 -2
  78. package/lib/components/Datagrid/utils/DatagridActions.js +135 -31
  79. package/lib/components/Datagrid/utils/makeData.js +24 -17
  80. package/lib/components/InlineEditV1/InlineEditV1.js +1 -4
  81. package/lib/components/InlineEditV2/InlineEditV2.js +0 -1
  82. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -6
  83. package/lib/components/SingleAddSelect/SingleAddSelect.js +13 -2
  84. package/lib/components/index.js +1 -8
  85. package/lib/global/js/package-settings.js +1 -3
  86. package/package.json +2 -2
  87. package/scss/components/ActionSet/_action-set.scss +3 -1
  88. package/scss/components/AddSelect/_add-select.scss +39 -29
  89. package/scss/components/AddSelect/_index.scss +1 -1
  90. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  91. package/scss/components/Datagrid/_datagrid.scss +0 -1
  92. package/scss/components/Datagrid/_storybook-styles.scss +4 -0
  93. package/scss/components/Datagrid/styles/_datagrid.scss +47 -4
  94. package/scss/components/Datagrid/styles/_index.scss +1 -0
  95. package/scss/components/Datagrid/styles/_useInlineEdit.scss +9 -3
  96. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +80 -0
  97. package/scss/components/InlineEditV1/_inline-edit-v1.scss +3 -1
  98. package/scss/components/MultiAddSelect/_index.scss +7 -0
  99. package/scss/components/MultiAddSelect/_multi-add-select.scss +7 -0
  100. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  101. package/scss/components/PageHeader/_page-header.scss +6 -2
  102. package/scss/components/SingleAddSelect/_index.scss +7 -0
  103. package/scss/components/SingleAddSelect/_single-add-select.scss +7 -0
  104. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  105. package/scss/components/_index-released-only.scss +1 -0
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
+ var useFiltering = function useFiltering(hooks) {
14
+ var filterTypes = (0, _react.useMemo)(function () {
15
+ return {
16
+ date: function date(rows, id, _ref) {
17
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
18
+ startDate = _ref2[0],
19
+ endDate = _ref2[1];
20
+ return rows.filter(function (row) {
21
+ var rowValue = row.values[id];
22
+ if (rowValue.getTime() <= endDate.getTime() && rowValue.getTime() >= startDate.getTime()) {
23
+ // In date range
24
+ return true;
25
+ } else {
26
+ // Not in date range
27
+ return false;
28
+ }
29
+ });
30
+ },
31
+ number: function number(rows, id, value) {
32
+ if (value === '') {
33
+ return rows;
34
+ }
35
+ var parsedValue = parseInt(value);
36
+ return rows.filter(function (row) {
37
+ var rowValue = row.values[id];
38
+ return rowValue === parsedValue;
39
+ });
40
+ },
41
+ checkbox: function checkbox(rows, id, value) {
42
+ // gets all the items that are selected and returns their value
43
+ var selectedItems = value.filter(function (item) {
44
+ return item.selected;
45
+ }).map(function (item) {
46
+ return item.value;
47
+ });
48
+
49
+ // if the user removed all checkboxes then display all rows
50
+ if (selectedItems.length === 0) {
51
+ return rows;
52
+ }
53
+ return rows.filter(function (row) {
54
+ var rowValue = row.values[id];
55
+ return selectedItems.includes(rowValue);
56
+ });
57
+ }
58
+ };
59
+ }, []);
60
+ hooks.useInstance.push(function (instance) {
61
+ var filterProps = instance.filterProps,
62
+ setAllFilters = instance.setAllFilters,
63
+ setFilter = instance.setFilter,
64
+ headers = instance.headers;
65
+ var defaultProps = {
66
+ variation: 'flyout'
67
+ };
68
+ var getFilterFlyoutProps = function getFilterFlyoutProps() {
69
+ return _objectSpread(_objectSpread(_objectSpread({}, defaultProps), filterProps), {}, {
70
+ setAllFilters: setAllFilters,
71
+ setFilter: setFilter,
72
+ headers: headers
73
+ });
74
+ };
75
+ Object.assign(instance, {
76
+ filterProps: _objectSpread(_objectSpread({}, defaultProps), instance.filterProps),
77
+ filterTypes: filterTypes,
78
+ getFilterFlyoutProps: getFilterFlyoutProps
79
+ });
80
+ });
81
+ };
82
+ var _default = useFiltering;
83
+ exports.default = _default;
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
9
  var _settings = require("../../settings");
10
+ var _classnames = _interopRequireDefault(require("classnames"));
9
11
  var _useNestedRowExpander = _interopRequireDefault(require("./useNestedRowExpander"));
10
12
  /*
11
13
  * Licensed Materials - Property of IBM
@@ -20,9 +22,10 @@ var useNestedRows = function useNestedRows(hooks) {
20
22
  (0, _useNestedRowExpander.default)(hooks);
21
23
  var marginLeft = 24;
22
24
  var getRowProps = function getRowProps(props, _ref) {
25
+ var _cx;
23
26
  var row = _ref.row;
24
27
  return [props, {
25
- className: row.depth > 0 ? "".concat(blockClass, "__carbon-nested-row") : ''
28
+ className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), _cx))
26
29
  }];
27
30
  };
28
31
  var getRowStyles = function getRowStyles(props, _ref2) {
@@ -30,7 +33,7 @@ var useNestedRows = function useNestedRows(hooks) {
30
33
  return [props, {
31
34
  style: {
32
35
  marginLeft: "".concat(row.depth > 0 ? marginLeft : 0, "px"),
33
- paddingLeft: "".concat(row.depth > 1 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft : 0, "px"),
36
+ paddingLeft: "".concat(row.depth === 2 ? marginLeft * (row.depth - 1) + marginLeft - 8 : row.depth > 2 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft - 16 : 0, "px"),
34
37
  maxWidth: "calc(100% - ".concat(marginLeft * row.depth, "px)")
35
38
  }
36
39
  }];
@@ -48,9 +51,15 @@ var useNestedRows = function useNestedRows(hooks) {
48
51
  }
49
52
  }];
50
53
  };
54
+ var useInstance = function useInstance(instance) {
55
+ Object.assign(instance, {
56
+ withNestedRows: true
57
+ });
58
+ };
51
59
  hooks.getRowProps.push(getRowProps);
52
60
  hooks.getRowProps.push(getRowStyles);
53
61
  hooks.getCellProps.push(getCellProps);
62
+ hooks.useInstance.push(useInstance);
54
63
  };
55
64
  var _default = useNestedRows;
56
65
  exports.default = _default;
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.DatagridActions = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
  var _carbonComponentsReact = require("carbon-components-react");
10
12
  var _iconsReact = require("@carbon/icons-react");
11
13
  var _addonActions = require("@storybook/addon-actions");
12
14
  var _settings = require("../../../settings");
13
15
  var _ButtonMenu = require("../../ButtonMenu");
16
+ var _Filtering = require("../Datagrid/addons/Filtering");
17
+ 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); }
18
+ 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; }
14
19
  /**
15
20
  * Copyright IBM Corp. 2020, 2022
16
21
  *
@@ -25,7 +30,9 @@ var DatagridActions = function DatagridActions(datagridState) {
25
30
  CustomizeColumnsButton = datagridState.CustomizeColumnsButton,
26
31
  RowSizeDropdown = datagridState.RowSizeDropdown,
27
32
  rowSizeDropdownProps = datagridState.rowSizeDropdownProps,
28
- useDenseHeader = datagridState.useDenseHeader;
33
+ useDenseHeader = datagridState.useDenseHeader,
34
+ filterProps = datagridState.filterProps,
35
+ getFilterFlyoutProps = datagridState.getFilterFlyoutProps;
29
36
  var downloadCsv = function downloadCsv() {
30
37
  alert('Downloading...');
31
38
  };
@@ -34,19 +41,42 @@ var DatagridActions = function DatagridActions(datagridState) {
34
41
  var refreshColumns = function refreshColumns() {
35
42
  alert('refreshing...');
36
43
  };
37
- var leftPanelClick = function leftPanelClick() {
38
- alert('open/close left panel...');
39
- };
40
44
  var searchForAColumn = 'Search';
41
- var isNothingSelected = selectedFlatRows.length === 0;
42
- var style = {
43
- 'button:nth-child(1) > span:nth-child(1)': {
44
- bottom: '-37px'
45
- }
45
+ var isNothingSelected = (0, _react.useMemo)(function () {
46
+ return selectedFlatRows.length === 0;
47
+ }, [selectedFlatRows]);
48
+ var style = (0, _react.useMemo)(function () {
49
+ return {
50
+ 'button:nthChild(1) > span:nthChild(1)': {
51
+ bottom: '-37px'
52
+ }
53
+ };
54
+ }, []);
55
+ var renderFilterFlyout = function renderFilterFlyout() {
56
+ return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'flyout' && /*#__PURE__*/_react.default.createElement(_Filtering.FilterFlyout, getFilterFlyoutProps());
46
57
  };
58
+ var _useState = (0, _react.useState)(false),
59
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
60
+ modalOpen = _useState2[0],
61
+ setModalOpen = _useState2[1];
62
+ var _useState3 = (0, _react.useState)(window.innerWidth),
63
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
64
+ size = _useState4[0],
65
+ setSize = _useState4[1];
66
+ (0, _react.useLayoutEffect)(function () {
67
+ function updateSize() {
68
+ setSize(window.innerWidth);
69
+ }
70
+ window.addEventListener('resize', updateSize);
71
+ return function () {
72
+ return window.removeEventListener('resize', updateSize);
73
+ };
74
+ }, []);
75
+ var mobileToolbar = size < 672 ? true : false;
76
+ var items = ['Option 1', 'Option 2', 'Option 3'];
47
77
  return isNothingSelected && (useDenseHeader && useDenseHeader ? /*#__PURE__*/_react.default.createElement(TableToolbarContent, {
48
78
  size: "sm"
49
- }, /*#__PURE__*/_react.default.createElement("div", {
79
+ }, !mobileToolbar ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
50
80
  style: style
51
81
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
52
82
  kind: "ghost",
@@ -55,16 +85,7 @@ var DatagridActions = function DatagridActions(datagridState) {
55
85
  renderIcon: _iconsReact.Download16,
56
86
  iconDescription: 'Download CSV',
57
87
  onClick: downloadCsv
58
- })), /*#__PURE__*/_react.default.createElement("div", {
59
- style: style
60
- }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
61
- kind: "ghost",
62
- hasIconOnly: true,
63
- tooltipPosition: "bottom",
64
- renderIcon: _iconsReact.Filter16,
65
- iconDescription: 'Left panel',
66
- onClick: leftPanelClick
67
- })), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
88
+ })), renderFilterFlyout(), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
68
89
  style: style,
69
90
  className: "".concat(blockClass, "__toolbar-divider")
70
91
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
@@ -73,14 +94,34 @@ var DatagridActions = function DatagridActions(datagridState) {
73
94
  iconDescription: 'Action'
74
95
  }, "Ghost button")), CustomizeColumnsButton && /*#__PURE__*/_react.default.createElement("div", {
75
96
  style: style
76
- }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
77
- kind: "ghost",
78
- hasIconOnly: true,
79
- tooltipPosition: "bottom",
80
- renderIcon: _iconsReact.Filter16,
81
- iconDescription: 'Left panel',
82
- onClick: leftPanelClick
83
- }), /*#__PURE__*/_react.default.createElement(TableToolbarContent, null, /*#__PURE__*/_react.default.createElement(TableToolbarSearch, {
97
+ }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null))) : /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenu, {
98
+ ariaLabel: "Tools",
99
+ size: "md",
100
+ flipped: true
101
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
102
+ itemText: "Filter",
103
+ hasDivider: true,
104
+ requireTitle: true,
105
+ onClick: function onClick() {
106
+ return setModalOpen(true);
107
+ }
108
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
109
+ itemText: "Export",
110
+ hasDivider: true,
111
+ requireTitle: true
112
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
113
+ itemText: "Settings",
114
+ hasDivider: true,
115
+ requireTitle: true
116
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
117
+ itemText: "Import items",
118
+ hasDivider: true,
119
+ requireTitle: true
120
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
121
+ itemText: "Create",
122
+ hasDivider: true,
123
+ requireTitle: true
124
+ }))) : !mobileToolbar ? /*#__PURE__*/_react.default.createElement(TableToolbarContent, null, /*#__PURE__*/_react.default.createElement(TableToolbarSearch, {
84
125
  size: "xl",
85
126
  id: "columnSearch",
86
127
  persistent: true,
@@ -88,7 +129,7 @@ var DatagridActions = function DatagridActions(datagridState) {
88
129
  onChange: function onChange(e) {
89
130
  return setGlobalFilter(e.target.value);
90
131
  }
91
- }), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
132
+ }), renderFilterFlyout(), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
92
133
  style: style
93
134
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
94
135
  kind: "ghost",
@@ -120,6 +161,69 @@ var DatagridActions = function DatagridActions(datagridState) {
120
161
  }), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
121
162
  itemText: "Option 3",
122
163
  onClick: (0, _addonActions.action)("Click on ButtonMenu Option 3")
123
- })))));
164
+ }))) : /*#__PURE__*/_react.default.createElement(TableToolbarContent, null, /*#__PURE__*/_react.default.createElement(TableToolbarSearch, {
165
+ size: "xl",
166
+ id: "columnSearch",
167
+ persistent: true,
168
+ placeHolderText: searchForAColumn,
169
+ onChange: function onChange(e) {
170
+ return setGlobalFilter(e.target.value);
171
+ }
172
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenu, {
173
+ ariaLabel: "Tools",
174
+ size: "lg",
175
+ flipped: true,
176
+ renderIcon: _iconsReact.ChevronDown16,
177
+ className: "".concat(blockClass, "__toolbar-menu__trigger"),
178
+ menuOptionsClass: "".concat(blockClass, "__toolbar-options")
179
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
180
+ itemText: "Filter",
181
+ hasDivider: true,
182
+ requireTitle: true,
183
+ onClick: function onClick() {
184
+ return setModalOpen(true);
185
+ }
186
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
187
+ itemText: "Export",
188
+ hasDivider: true,
189
+ requireTitle: true
190
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
191
+ itemText: "Settings",
192
+ hasDivider: true,
193
+ requireTitle: true
194
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
195
+ itemText: "Import items",
196
+ hasDivider: true,
197
+ requireTitle: true
198
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
199
+ itemText: "Create",
200
+ hasDivider: true,
201
+ requireTitle: true
202
+ })), modalOpen && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ComposedModal, {
203
+ size: "lg",
204
+ open: modalOpen && modalOpen,
205
+ onClose: function onClose() {
206
+ return setModalOpen(false);
207
+ },
208
+ className: "".concat(blockClass, "__mobile-toolbar-modal")
209
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalHeader, null, /*#__PURE__*/_react.default.createElement("h4", null, "Filters")), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalBody, null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Dropdown, {
210
+ initialSelectedItem: items[2],
211
+ items: items,
212
+ titleText: "Label",
213
+ id: "filter1"
214
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Dropdown, {
215
+ initialSelectedItem: items[2],
216
+ items: items,
217
+ titleText: "Label",
218
+ id: "filter2"
219
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Dropdown, {
220
+ initialSelectedItem: items[2],
221
+ items: items,
222
+ titleText: "Label",
223
+ id: "filter3"
224
+ })), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalFooter, {
225
+ primaryButtonText: "Apply",
226
+ secondaryButtonText: "Cancel"
227
+ }))));
124
228
  };
125
229
  exports.DatagridActions = DatagridActions;
@@ -8,7 +8,6 @@ exports.range = exports.newPersonWithTwoLines = exports.makeData = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _namor = _interopRequireDefault(require("namor"));
11
- var _StatusIcon = require("../../StatusIcon");
12
11
  var _getInlineEditColumns = require("./getInlineEditColumns");
13
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
13
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -45,25 +44,28 @@ var range = function range(len) {
45
44
  }
46
45
  return arr;
47
46
  };
47
+
48
+ /** This function is only to create a random data point when the person joined */
48
49
  exports.range = range;
49
- var renderStatusIcon = function renderStatusIcon(statusChance) {
50
- var iconProps = {
51
- size: 'sm',
52
- theme: 'light',
53
- kind: statusChance > 0.66 ? 'critical' : statusChance > 0.33 ? 'minor-warning' : 'normal',
54
- iconDescription: statusChance > 0.66 ? 'Critical' : statusChance > 0.33 ? 'Minor warning' : 'Normal'
55
- };
56
- return /*#__PURE__*/_react.default.createElement(_StatusIcon.StatusIcon, iconProps);
50
+ var getRandomDateJoined = function getRandomDateJoined() {
51
+ return randomDate(new Date(2022, 0, 1), new Date());
52
+ };
53
+ var getPasswordStrength = function getPasswordStrength() {
54
+ var chance = Math.random();
55
+ return chance > 0.66 ? 'critical' : chance > 0.33 ? 'minor-warning' : 'normal';
57
56
  };
58
- var renderDocLink = function renderDocLink(statusChance) {
57
+ var renderDocLink = function renderDocLink() {
58
+ var chance = Math.random();
59
59
  var docLinkObj = {
60
- href: statusChance > 0.66 ? 'http://carbondesignsystem.com/' : statusChance > 0.33 ? 'https://pages.github.ibm.com/cdai-design/pal/' : 'http://carbon-for-ibm-products.netlify.app/',
61
- text: statusChance > 0.66 ? 'Carbon Design System' : statusChance > 0.33 ? 'Carbon for IBM Products PAL' : 'Carbon for IBM Products storybook'
60
+ href: chance > 0.66 ? 'http://carbondesignsystem.com/' : chance > 0.33 ? 'https://pages.github.ibm.com/cdai-design/pal/' : 'http://carbon-for-ibm-products.netlify.app/',
61
+ text: chance > 0.66 ? 'Carbon Design System' : chance > 0.33 ? 'Carbon for IBM Products PAL' : 'Carbon for IBM Products storybook'
62
62
  };
63
63
  return docLinkObj;
64
64
  };
65
65
  var newPerson = function newPerson() {
66
66
  var statusChance = Math.random();
67
+ var roleChance = Math.random();
68
+ var activeChance = Math.random();
67
69
  var initialChartTypeIndex = getRandomInteger(0, 2);
68
70
  var activeSinceDate = new Date();
69
71
  var yesterdayDate = new Date();
@@ -82,6 +84,9 @@ var newPerson = function newPerson() {
82
84
  age: Math.floor(Math.random() * 30),
83
85
  visits: Math.floor(Math.random() * 100),
84
86
  progress: Math.floor(Math.random() * 100),
87
+ status: statusChance > 0.66 ? 'relationship' : statusChance > 0.33 ? 'complicated' : 'single',
88
+ role: roleChance > 0.66 ? 'developer' : roleChance > 0.33 ? 'designer' : 'researcher',
89
+ joined: getRandomDateJoined(),
85
90
  someone1: _namor.default.generate({
86
91
  words: 1,
87
92
  numbers: 0
@@ -162,12 +167,11 @@ var newPerson = function newPerson() {
162
167
  words: 1,
163
168
  numbers: 0
164
169
  }),
165
- status: statusChance > 0.66 ? 'relationship' : statusChance > 0.33 ? 'complicated' : 'single',
166
170
  chartType: initialChartTypeIndex === 0 ? _getInlineEditColumns.inlineEditSelectItems[0] : initialChartTypeIndex === 1 ? _getInlineEditColumns.inlineEditSelectItems[1] : _getInlineEditColumns.inlineEditSelectItems[2],
167
- activeSince: statusChance > 0.66 ? activeSinceDate : statusChance > 0.33 ? yesterdayDate : twoDaysAgoDate,
171
+ activeSince: activeChance > 0.66 ? activeSinceDate : activeChance > 0.33 ? yesterdayDate : twoDaysAgoDate,
168
172
  bonus: "$\r".concat(getRandomInteger(100, 500, 2)),
169
- status_icon: renderStatusIcon(statusChance),
170
- doc_link: renderDocLink(statusChance)
173
+ passwordStrength: getPasswordStrength(),
174
+ doc_link: renderDocLink()
171
175
  };
172
176
  };
173
177
  var newPersonWithTwoLines = function newPersonWithTwoLines() {
@@ -186,4 +190,7 @@ var newPersonWithTwoLines = function newPersonWithTwoLines() {
186
190
  age: Math.floor(Math.random() * 30)
187
191
  };
188
192
  };
189
- exports.newPersonWithTwoLines = newPersonWithTwoLines;
193
+ exports.newPersonWithTwoLines = newPersonWithTwoLines;
194
+ var randomDate = function randomDate(start, end) {
195
+ return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
196
+ };
@@ -296,12 +296,9 @@ var InlineEditV1 = /*#__PURE__*/_react.default.forwardRef(function (_ref, refIn)
296
296
  );
297
297
  });
298
298
 
299
- // Return a placeholder if not released and not enabled by feature flag
300
- exports.InlineEditV1 = InlineEditV1;
301
- exports.InlineEditV1 = InlineEditV1 = _settings.pkg.checkComponentEnabled(InlineEditV1, componentName);
302
-
303
299
  // The display name of the component, used by React. Note that displayName
304
300
  // is used in preference to relying on function.name.
301
+ exports.InlineEditV1 = InlineEditV1;
305
302
  InlineEditV1.displayName = componentName;
306
303
 
307
304
  // The types and DocGen commentary for the component props,
@@ -187,7 +187,6 @@ var InlineEditV2 = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
187
187
  }, invalidLabel));
188
188
  });
189
189
  exports.InlineEditV2 = InlineEditV2;
190
- exports.InlineEditV2 = InlineEditV2 = _settings.pkg.checkComponentEnabled(InlineEditV2, componentName);
191
190
  InlineEditV2.displayName = componentName;
192
191
  InlineEditV2.propTypes = {
193
192
  /**
@@ -14,6 +14,13 @@ var _devtools = require("../../global/js/utils/devtools");
14
14
  var _settings = require("../../settings");
15
15
  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); }
16
16
  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; }
17
+ //
18
+ // Copyright IBM Corp. 2022
19
+ //
20
+ // This source code is licensed under the Apache-2.0 license found in the
21
+ // LICENSE file in the root directory of this source tree.
22
+ //
23
+
17
24
  var componentName = 'MultiAddSelect';
18
25
  var MultiAddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
19
26
  return /*#__PURE__*/_react.default.createElement(_AddSelect.AddSelect, (0, _extends2.default)({}, props, {
@@ -66,6 +73,10 @@ MultiAddSelect.propTypes = {
66
73
  * placeholder for global search input
67
74
  */
68
75
  globalSearchPlaceholder: _propTypes.default.string,
76
+ /**
77
+ * the theme for the empty state illustration
78
+ */
79
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
69
80
  /**
70
81
  * title that displays in the sidebar / influencer
71
82
  */
@@ -85,7 +96,8 @@ MultiAddSelect.propTypes = {
85
96
  avatar: _propTypes.default.shape({
86
97
  alt: _propTypes.default.string,
87
98
  icon: _propTypes.default.object,
88
- src: _propTypes.default.string
99
+ src: _propTypes.default.string,
100
+ theme: _propTypes.default.oneOf(['light', 'dark'])
89
101
  }),
90
102
  children: _propTypes.default.object,
91
103
  icon: _propTypes.default.object,
@@ -135,14 +147,10 @@ MultiAddSelect.propTypes = {
135
147
  * specifies if the component is open or not
136
148
  */
137
149
  open: _propTypes.default.bool,
138
- /**
139
- * description for the remove item icon
140
- */
141
- removeIconDescription: _propTypes.default.string,
142
150
  /**
143
151
  * text that displays when displaying filtered items
144
152
  */
145
- searchResultsLabel: _propTypes.default.string,
153
+ searchResultsTitle: _propTypes.default.string,
146
154
  /**
147
155
  * header text
148
156
  */
@@ -15,10 +15,17 @@ var _settings = require("../../settings");
15
15
  var _propsHelper = require("../../global/js/utils/props-helper");
16
16
  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); }
17
17
  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; }
18
+ //
19
+ // Copyright IBM Corp. 2022
20
+ //
21
+ // This source code is licensed under the Apache-2.0 license found in the
22
+ // LICENSE file in the root directory of this source tree.
23
+ //
24
+
18
25
  var componentName = 'SingleAddSelect';
19
26
  var SingleAddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
20
27
  // remove multi add select specific props
21
- var validProps = (0, _propsHelper.prepareProps)(props, ['columnInputPlaceholder', 'globalFilters', 'globalFiltersIconDescription', 'globalFiltersPlaceholderText', 'globalFiltersPrimaryButtonText', 'globalFiltersSecondaryButtonText', 'influencerTitle', 'multi', 'noSelectionDescription', 'noSelectionTitle', 'removeIconDescription']);
28
+ var validProps = (0, _propsHelper.prepareProps)(props, ['columnInputPlaceholder', 'globalFilters', 'globalFiltersIconDescription', 'globalFiltersPlaceholderText', 'globalFiltersPrimaryButtonText', 'globalFiltersSecondaryButtonText', 'influencerTitle', 'multi', 'noSelectionDescription', 'noSelectionTitle']);
22
29
  return /*#__PURE__*/_react.default.createElement(_AddSelect.AddSelect, (0, _extends2.default)({}, validProps, {
23
30
  ref: ref
24
31
  }, (0, _devtools.getDevtoolsProps)(componentName)));
@@ -42,6 +49,10 @@ SingleAddSelect.propTypes = {
42
49
  * placeholder for global search input
43
50
  */
44
51
  globalSearchPlaceholder: _propTypes.default.string,
52
+ /**
53
+ * the theme for the empty state illustration
54
+ */
55
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
45
56
  /**
46
57
  * object that contains the item data. for more information reference the
47
58
  * "Structuring items" section in the docs tab
@@ -89,7 +100,7 @@ SingleAddSelect.propTypes = {
89
100
  /**
90
101
  * text that displays when displaying filtered items
91
102
  */
92
- searchResultsLabel: _propTypes.default.string,
103
+ searchResultsTitle: _propTypes.default.string,
93
104
  /**
94
105
  * header text
95
106
  */
@@ -177,12 +177,6 @@ Object.defineProperty(exports, "InlineEdit", {
177
177
  return _InlineEdit.InlineEdit;
178
178
  }
179
179
  });
180
- Object.defineProperty(exports, "InlineEditV2", {
181
- enumerable: true,
182
- get: function get() {
183
- return _InlineEditV.InlineEditV2;
184
- }
185
- });
186
180
  Object.defineProperty(exports, "ModifiedTabs", {
187
181
  enumerable: true,
188
182
  get: function get() {
@@ -478,5 +472,4 @@ var _EditTearsheet = require("./EditTearsheet");
478
472
  var _EditTearsheetNarrow = require("./EditTearsheetNarrow");
479
473
  var _EditFullPage = require("./EditFullPage");
480
474
  var _EditUpdateCards = require("./EditUpdateCards");
481
- var _InlineEdit = require("./InlineEdit");
482
- var _InlineEditV = require("./InlineEditV2");
475
+ var _InlineEdit = require("./InlineEdit");
@@ -34,7 +34,6 @@ var defaults = {
34
34
  HTTPErrorOther: true,
35
35
  ImportModal: true,
36
36
  InlineEdit: true,
37
- InlineEditV1: true,
38
37
  NotificationsPanel: true,
39
38
  NoDataEmptyState: true,
40
39
  NoTagsEmptyState: true,
@@ -69,8 +68,7 @@ var defaults = {
69
68
  EditTearsheet: false,
70
69
  EditTearsheetNarrow: false,
71
70
  EditFullPage: false,
72
- EditUpdateCards: false,
73
- InlineEditV2: false
71
+ EditUpdateCards: false
74
72
  /* new component flags here - comment used by generate CLI */
75
73
  },
76
74
 
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.37.0",
4
+ "version": "1.39.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": "ca62a989688c857c323564d91b01d6828eb369fa"
98
+ "gitHead": "aa6bc71d9dc7286e586479f681a0de13ea58404b"
99
99
  }
@@ -96,7 +96,9 @@
96
96
  .#{$block-class}.#{$carbon-prefix}--btn-set.#{$block-class}--max
97
97
  .#{$block-class}__action-button:not(.#{$block-class}__action-button--ghost),
98
98
  .#{$block-class}.#{$carbon-prefix}--btn-set.#{$block-class}--row-quadruple
99
- .#{$block-class}__action-button:not(.#{$block-class}__action-button--ghost) {
99
+ .#{$block-class}__action-button:not(
100
+ .#{$block-class}__action-button--ghost
101
+ ) {
100
102
  max-width: rem(232px);
101
103
  flex: 0 1 25%;
102
104
  }