@carbon/ibm-products 2.43.2-canary.243 → 2.43.2-canary.246

Sign up to get free protection for your applications and to get access to all the features.
@@ -40,9 +40,20 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
40
40
  getRowId = datagridState.getRowId,
41
41
  batchActionMenuButtonLabel = datagridState.batchActionMenuButtonLabel,
42
42
  translateWithIdBatchActions = datagridState.translateWithIdBatchActions;
43
+ var _useState7 = useState(rows.length),
44
+ _useState8 = _slicedToArray(_useState7, 2),
45
+ availableRowsCount = _useState8[0],
46
+ setAvailableRowsCount = _useState8[1];
43
47
  var batchActionMenuButtonLabelText = batchActionMenuButtonLabel !== null && batchActionMenuButtonLabel !== void 0 ? batchActionMenuButtonLabel : 'More';
44
48
  var selectedKeys = Object.keys(selectedRowIds || {});
45
49
  var totalSelected = selectedKeys.length;
50
+ useEffect(function () {
51
+ var _rows$find, _rows$find$getRowProp;
52
+ var countDisabledRows = ((_rows$find = rows.find(function (row) {
53
+ return row.getRowProps;
54
+ })) === null || _rows$find === void 0 || (_rows$find$getRowProp = _rows$find.getRowProps) === null || _rows$find$getRowProp === void 0 || (_rows$find$getRowProp = _rows$find$getRowProp.call(_rows$find)) === null || _rows$find$getRowProp === void 0 || (_rows$find$getRowProp = _rows$find$getRowProp.nonselectablerows) === null || _rows$find$getRowProp === void 0 ? void 0 : _rows$find$getRowProp.length) || 0;
55
+ rows && setAvailableRowsCount(rows.length - countDisabledRows);
56
+ }, [rows]);
46
57
 
47
58
  // Get initial width of batch actions container,
48
59
  // used to measure when all items are put inside
@@ -145,7 +156,7 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
145
156
  totalSelected: totalSelected,
146
157
  onCancel: onCancelHandler,
147
158
  onSelectAll: onSelectAllHandler,
148
- totalCount: rows && rows.length,
159
+ totalCount: availableRowsCount,
149
160
  translateWithId: translateWithIdBatchActions
150
161
  }, !displayAllInMenu && toolbarBatchActions && (toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
151
162
  if (!toolbarBatchActionsDisplayMin && index < 2 && toolbarBatchActions.length > 3 || index < 3 && toolbarBatchActions.length <= 3 || toolbarBatchActionsDisplayMin !== undefined && index < toolbarBatchActionsDisplayMin) {
@@ -11,6 +11,7 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
11
11
  import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
12
12
  import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
13
13
  import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
14
+ import { TableRowProps } from 'react-table';
14
15
  import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
15
16
  import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableState, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
16
17
  import { CarbonIconType } from '@carbon/react/icons';
@@ -276,4 +277,7 @@ export interface PropGetterMeta {
276
277
  instance?: DataGridTableInstance;
277
278
  row?: Partial<Row<any> & DatagridRow<any>>;
278
279
  }
280
+ export interface DatagridRowProps extends TableRowProps {
281
+ nonselectablerows: Array<number>;
282
+ }
279
283
  export {};
@@ -12,7 +12,7 @@ import React__default, { forwardRef, useState, useEffect, useRef } from 'react';
12
12
  import PropTypes from '../../node_modules/prop-types/index.js';
13
13
  import cx from 'classnames';
14
14
  import { getDevtoolsProps } from '../../global/js/utils/devtools.js';
15
- import { pkg } from '../../settings.js';
15
+ import { pkg, carbon } from '../../settings.js';
16
16
  import { usePortalTarget } from '../../global/js/hooks/usePortalTarget.js';
17
17
  import uuidv4 from '../../global/js/utils/uuidv4.js';
18
18
 
@@ -58,6 +58,7 @@ var ExportModal = /*#__PURE__*/forwardRef(function (_ref, ref) {
58
58
  _ref$validExtensions = _ref.validExtensions,
59
59
  validExtensions = _ref$validExtensions === void 0 ? defaults.validExtensions : _ref$validExtensions,
60
60
  rest = _objectWithoutProperties(_ref, _excluded);
61
+ var blockClass = "".concat(pkg.prefix, "--export-modal");
61
62
  var _useState = useState(''),
62
63
  _useState2 = _slicedToArray(_useState, 2),
63
64
  name = _useState2[0],
@@ -80,6 +81,12 @@ var ExportModal = /*#__PURE__*/forwardRef(function (_ref, ref) {
80
81
  setExtension(preformattedExtensions === null || preformattedExtensions === void 0 || (_preformattedExtensio2 = preformattedExtensions[0]) === null || _preformattedExtensio2 === void 0 ? void 0 : _preformattedExtensio2.extension);
81
82
  }
82
83
  }, [filename, preformattedExtensions, open]);
84
+ useEffect(function () {
85
+ if (successful) {
86
+ var button = document.querySelector(".".concat(blockClass, " .").concat(carbon.prefix, "--modal-close-button button"));
87
+ button === null || button === void 0 || button.focus();
88
+ }
89
+ }, [successful, blockClass]);
83
90
  var onNameChangeHandler = function onNameChangeHandler(evt) {
84
91
  setName(evt.target.value);
85
92
  };
@@ -106,7 +113,6 @@ var ExportModal = /*#__PURE__*/forwardRef(function (_ref, ref) {
106
113
  }
107
114
  return false;
108
115
  };
109
- var blockClass = "".concat(pkg.prefix, "--export-modal");
110
116
  var internalId = useRef(uuidv4());
111
117
  var primaryButtonDisabled = loading || !name || hasInvalidExtension();
112
118
  var submitted = loading || error || successful;
@@ -162,8 +168,11 @@ var ExportModal = /*#__PURE__*/forwardRef(function (_ref, ref) {
162
168
  hidePasswordLabel: hidePasswordLabel,
163
169
  tooltipPosition: "left"
164
170
  })))), /*#__PURE__*/React__default.createElement("div", {
171
+ "aria-live": "polite",
165
172
  className: "".concat(blockClass, "__messaging")
166
173
  }, loading && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _Loading || (_Loading = /*#__PURE__*/React__default.createElement(Loading, {
174
+ "aria-live": "off",
175
+ description: "",
167
176
  small: true,
168
177
  withOverlay: false
169
178
  })), /*#__PURE__*/React__default.createElement("p", null, loadingMessage)), successful && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(CheckmarkFilled, {
@@ -49,9 +49,20 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
49
49
  getRowId = datagridState.getRowId,
50
50
  batchActionMenuButtonLabel = datagridState.batchActionMenuButtonLabel,
51
51
  translateWithIdBatchActions = datagridState.translateWithIdBatchActions;
52
+ var _useState7 = React.useState(rows.length),
53
+ _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
54
+ availableRowsCount = _useState8[0],
55
+ setAvailableRowsCount = _useState8[1];
52
56
  var batchActionMenuButtonLabelText = batchActionMenuButtonLabel !== null && batchActionMenuButtonLabel !== void 0 ? batchActionMenuButtonLabel : 'More';
53
57
  var selectedKeys = Object.keys(selectedRowIds || {});
54
58
  var totalSelected = selectedKeys.length;
59
+ React.useEffect(function () {
60
+ var _rows$find, _rows$find$getRowProp;
61
+ var countDisabledRows = ((_rows$find = rows.find(function (row) {
62
+ return row.getRowProps;
63
+ })) === null || _rows$find === void 0 || (_rows$find$getRowProp = _rows$find.getRowProps) === null || _rows$find$getRowProp === void 0 || (_rows$find$getRowProp = _rows$find$getRowProp.call(_rows$find)) === null || _rows$find$getRowProp === void 0 || (_rows$find$getRowProp = _rows$find$getRowProp.nonselectablerows) === null || _rows$find$getRowProp === void 0 ? void 0 : _rows$find$getRowProp.length) || 0;
64
+ rows && setAvailableRowsCount(rows.length - countDisabledRows);
65
+ }, [rows]);
55
66
 
56
67
  // Get initial width of batch actions container,
57
68
  // used to measure when all items are put inside
@@ -154,7 +165,7 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
154
165
  totalSelected: totalSelected,
155
166
  onCancel: onCancelHandler,
156
167
  onSelectAll: onSelectAllHandler,
157
- totalCount: rows && rows.length,
168
+ totalCount: availableRowsCount,
158
169
  translateWithId: translateWithIdBatchActions
159
170
  }, !displayAllInMenu && toolbarBatchActions && (toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
160
171
  if (!toolbarBatchActionsDisplayMin && index < 2 && toolbarBatchActions.length > 3 || index < 3 && toolbarBatchActions.length <= 3 || toolbarBatchActionsDisplayMin !== undefined && index < toolbarBatchActionsDisplayMin) {
@@ -11,6 +11,7 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
11
11
  import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
12
12
  import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
13
13
  import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
14
+ import { TableRowProps } from 'react-table';
14
15
  import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
15
16
  import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableState, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
16
17
  import { CarbonIconType } from '@carbon/react/icons';
@@ -276,4 +277,7 @@ export interface PropGetterMeta {
276
277
  instance?: DataGridTableInstance;
277
278
  row?: Partial<Row<any> & DatagridRow<any>>;
278
279
  }
280
+ export interface DatagridRowProps extends TableRowProps {
281
+ nonselectablerows: Array<number>;
282
+ }
279
283
  export {};
@@ -67,6 +67,7 @@ exports.ExportModal = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
67
67
  _ref$validExtensions = _ref.validExtensions,
68
68
  validExtensions = _ref$validExtensions === void 0 ? defaults.validExtensions : _ref$validExtensions,
69
69
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
70
+ var blockClass = "".concat(settings.pkg.prefix, "--export-modal");
70
71
  var _useState = React.useState(''),
71
72
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
72
73
  name = _useState2[0],
@@ -89,6 +90,12 @@ exports.ExportModal = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
89
90
  setExtension(preformattedExtensions === null || preformattedExtensions === void 0 || (_preformattedExtensio2 = preformattedExtensions[0]) === null || _preformattedExtensio2 === void 0 ? void 0 : _preformattedExtensio2.extension);
90
91
  }
91
92
  }, [filename, preformattedExtensions, open]);
93
+ React.useEffect(function () {
94
+ if (successful) {
95
+ var button = document.querySelector(".".concat(blockClass, " .").concat(settings.carbon.prefix, "--modal-close-button button"));
96
+ button === null || button === void 0 || button.focus();
97
+ }
98
+ }, [successful, blockClass]);
92
99
  var onNameChangeHandler = function onNameChangeHandler(evt) {
93
100
  setName(evt.target.value);
94
101
  };
@@ -115,7 +122,6 @@ exports.ExportModal = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
115
122
  }
116
123
  return false;
117
124
  };
118
- var blockClass = "".concat(settings.pkg.prefix, "--export-modal");
119
125
  var internalId = React.useRef(uuidv4["default"]());
120
126
  var primaryButtonDisabled = loading || !name || hasInvalidExtension();
121
127
  var submitted = loading || error || successful;
@@ -171,8 +177,11 @@ exports.ExportModal = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
171
177
  hidePasswordLabel: hidePasswordLabel,
172
178
  tooltipPosition: "left"
173
179
  })))), /*#__PURE__*/React__default["default"].createElement("div", {
180
+ "aria-live": "polite",
174
181
  className: "".concat(blockClass, "__messaging")
175
182
  }, loading && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, _Loading || (_Loading = /*#__PURE__*/React__default["default"].createElement(react.Loading, {
183
+ "aria-live": "off",
184
+ description: "",
176
185
  small: true,
177
186
  withOverlay: false
178
187
  })), /*#__PURE__*/React__default["default"].createElement("p", null, loadingMessage)), successful && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(icons.CheckmarkFilled, {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.43.2-canary.243+dd7564d02",
4
+ "version": "2.43.2-canary.246+ec3dead1b",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -120,5 +120,5 @@
120
120
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
121
121
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
122
122
  },
123
- "gitHead": "dd7564d02dcad68052555eb5b2bf543b4a901992"
123
+ "gitHead": "ec3dead1b2dd6c727e09bcd0356d567721d5209f"
124
124
  }