@carbon/ibm-products 2.43.2-canary.191 → 2.43.2-canary.195
Sign up to get free protection for your applications and to get access to all the features.
- package/es/components/AboutModal/AboutModal.js +23 -6
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -3
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +4 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +3 -1
- package/lib/components/AboutModal/AboutModal.js +22 -5
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +4 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +3 -1
- package/package.json +4 -4
@@ -6,11 +6,12 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import { ComposedModal, ModalHeader, ModalBody, Theme, ModalFooter } from '@carbon/react';
|
9
|
+
import { unstable_FeatureFlags, ComposedModal, ModalHeader, ModalBody, Theme, ModalFooter } from '@carbon/react';
|
10
10
|
import React__default, { useRef, useEffect } from 'react';
|
11
11
|
import PropTypes from '../../node_modules/prop-types/index.js';
|
12
12
|
import cx from 'classnames';
|
13
13
|
import { getDevtoolsProps } from '../../global/js/utils/devtools.js';
|
14
|
+
import { useFocus } from '../../global/js/hooks/useFocus.js';
|
14
15
|
import { pkg } from '../../settings.js';
|
15
16
|
import { usePortalTarget } from '../../global/js/hooks/usePortalTarget.js';
|
16
17
|
import uuidv4 from '../../global/js/utils/uuidv4.js';
|
@@ -45,9 +46,13 @@ var AboutModal = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
45
46
|
version = _ref.version,
|
46
47
|
rest = _objectWithoutProperties(_ref, _excluded);
|
47
48
|
var bodyRef = useRef(null);
|
49
|
+
var localRef = useRef();
|
50
|
+
var modalRef = ref || localRef;
|
48
51
|
var contentRef = useRef(null);
|
49
52
|
var contentId = uuidv4();
|
50
53
|
var renderPortalUse = usePortalTarget(portalTargetIn);
|
54
|
+
var _useFocus = useFocus(modalRef),
|
55
|
+
firstElement = _useFocus.firstElement;
|
51
56
|
|
52
57
|
// We can't add a ref directly to the ModalBody, so track it in a ref
|
53
58
|
// as the parent of the current bodyRef element
|
@@ -55,16 +60,28 @@ var AboutModal = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
55
60
|
var _contentRef$current;
|
56
61
|
bodyRef.current = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.parentElement;
|
57
62
|
}, [bodyRef]);
|
58
|
-
|
63
|
+
useEffect(function () {
|
64
|
+
if (open) {
|
65
|
+
setTimeout(function () {
|
66
|
+
return firstElement === null || firstElement === void 0 ? void 0 : firstElement.focus();
|
67
|
+
}, 0);
|
68
|
+
}
|
69
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
70
|
+
}, [open]);
|
71
|
+
return renderPortalUse( /*#__PURE__*/React__default.createElement(unstable_FeatureFlags, {
|
72
|
+
flags: {
|
73
|
+
'enable-experimental-focus-wrap-without-sentinels': true
|
74
|
+
}
|
75
|
+
}, /*#__PURE__*/React__default.createElement(ComposedModal, _extends({}, rest, {
|
59
76
|
className: cx(blockClass,
|
60
77
|
// Apply the block class to the main HTML element
|
61
78
|
className // Apply any supplied class names to the main HTML element.
|
62
79
|
),
|
63
|
-
"aria-label": modalAriaLabel
|
80
|
+
"aria-label": modalAriaLabel,
|
81
|
+
ref: modalRef
|
64
82
|
}, _objectSpread2({
|
65
83
|
onClose: onClose,
|
66
|
-
open: open
|
67
|
-
ref: ref
|
84
|
+
open: open
|
68
85
|
}, getDevtoolsProps(componentName))), /*#__PURE__*/React__default.createElement("div", {
|
69
86
|
className: "".concat(blockClass, "__logo")
|
70
87
|
}, logo), /*#__PURE__*/React__default.createElement(ModalHeader, {
|
@@ -95,7 +112,7 @@ var AboutModal = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
95
112
|
theme: "g100"
|
96
113
|
}, /*#__PURE__*/React__default.createElement(ModalFooter, {
|
97
114
|
className: "".concat(blockClass, "__footer")
|
98
|
-
}, additionalInfo))));
|
115
|
+
}, additionalInfo)))));
|
99
116
|
});
|
100
117
|
|
101
118
|
// Return a placeholder if not released and not enabled by feature flag
|
@@ -31,6 +31,9 @@ var defaults = {
|
|
31
31
|
secondaryActionLabel: 'Cancel',
|
32
32
|
align: 'bottom'
|
33
33
|
};
|
34
|
+
|
35
|
+
// Use same empty array every time, for benefit of useEffect() etc. dependency checking.
|
36
|
+
var emptyArray = [];
|
34
37
|
var FilterFlyout = function FilterFlyout(_ref) {
|
35
38
|
var updateMethod = _ref.updateMethod,
|
36
39
|
_ref$flyoutIconDescri = _ref.flyoutIconDescription,
|
@@ -38,7 +41,7 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
38
41
|
_ref$align = _ref.align,
|
39
42
|
align = _ref$align === void 0 ? defaults.align : _ref$align,
|
40
43
|
_ref$filters = _ref.filters,
|
41
|
-
filters = _ref$filters === void 0 ?
|
44
|
+
filters = _ref$filters === void 0 ? emptyArray : _ref$filters,
|
42
45
|
_ref$title = _ref.title,
|
43
46
|
title = _ref$title === void 0 ? defaults.title : _ref$title,
|
44
47
|
_ref$primaryActionLab = _ref.primaryActionLabel,
|
@@ -55,9 +58,9 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
55
58
|
secondaryActionLabel = _ref$secondaryActionL === void 0 ? defaults.secondaryActionLabel : _ref$secondaryActionL,
|
56
59
|
setAllFilters = _ref.setAllFilters,
|
57
60
|
_ref$data = _ref.data,
|
58
|
-
data = _ref$data === void 0 ?
|
61
|
+
data = _ref$data === void 0 ? emptyArray : _ref$data,
|
59
62
|
_ref$reactTableFilter = _ref.reactTableFiltersState,
|
60
|
-
reactTableFiltersState = _ref$reactTableFilter === void 0 ?
|
63
|
+
reactTableFiltersState = _ref$reactTableFilter === void 0 ? emptyArray : _ref$reactTableFilter;
|
61
64
|
/** State */
|
62
65
|
var _useState = useState(false),
|
63
66
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -34,6 +34,9 @@ var defaults = {
|
|
34
34
|
searchLabelText: 'Filter search',
|
35
35
|
searchPlaceholder: 'Find filters'
|
36
36
|
};
|
37
|
+
|
38
|
+
// Use same empty array every time, for benefit of useEffect() etc. dependency checking.
|
39
|
+
var emptyArray = [];
|
37
40
|
var FilterPanel = function FilterPanel(_ref) {
|
38
41
|
var _ref$title = _ref.title,
|
39
42
|
title = _ref$title === void 0 ? defaults.title : _ref$title,
|
@@ -63,7 +66,7 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
63
66
|
_ref$searchPlaceholde = _ref.searchPlaceholder,
|
64
67
|
searchPlaceholder = _ref$searchPlaceholde === void 0 ? defaults.searchPlaceholder : _ref$searchPlaceholde,
|
65
68
|
_ref$reactTableFilter = _ref.reactTableFiltersState,
|
66
|
-
reactTableFiltersState = _ref$reactTableFilter === void 0 ?
|
69
|
+
reactTableFiltersState = _ref$reactTableFilter === void 0 ? emptyArray : _ref$reactTableFilter,
|
67
70
|
_ref$autoHideFilters = _ref.autoHideFilters,
|
68
71
|
autoHideFilters = _ref$autoHideFilters === void 0 ? false : _ref$autoHideFilters,
|
69
72
|
_ref$isFetching = _ref.isFetching,
|
@@ -16,10 +16,12 @@ import { handleCheckboxChange } from '../handleCheckboxChange.js';
|
|
16
16
|
import uuidv4 from '../../../../../../global/js/utils/uuidv4.js';
|
17
17
|
import { usePreviousValue } from '../../../../../../global/js/hooks/usePreviousValue.js';
|
18
18
|
|
19
|
+
// Use same empty array every time, for benefit of useEffect() etc. dependency checking.
|
20
|
+
var emptyArray = [];
|
19
21
|
var useFilters = function useFilters(_ref) {
|
20
22
|
var updateMethod = _ref.updateMethod,
|
21
23
|
_ref$filters = _ref.filters,
|
22
|
-
filters = _ref$filters === void 0 ?
|
24
|
+
filters = _ref$filters === void 0 ? emptyArray : _ref$filters,
|
23
25
|
setAllFilters = _ref.setAllFilters,
|
24
26
|
variation = _ref.variation,
|
25
27
|
reactTableFiltersState = _ref.reactTableFiltersState,
|
@@ -15,6 +15,7 @@ var React = require('react');
|
|
15
15
|
var index = require('../../node_modules/prop-types/index.js');
|
16
16
|
var cx = require('classnames');
|
17
17
|
var devtools = require('../../global/js/utils/devtools.js');
|
18
|
+
var useFocus = require('../../global/js/hooks/useFocus.js');
|
18
19
|
var settings = require('../../settings.js');
|
19
20
|
var usePortalTarget = require('../../global/js/hooks/usePortalTarget.js');
|
20
21
|
var uuidv4 = require('../../global/js/utils/uuidv4.js');
|
@@ -54,9 +55,13 @@ exports.AboutModal = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
54
55
|
version = _ref.version,
|
55
56
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
56
57
|
var bodyRef = React.useRef(null);
|
58
|
+
var localRef = React.useRef();
|
59
|
+
var modalRef = ref || localRef;
|
57
60
|
var contentRef = React.useRef(null);
|
58
61
|
var contentId = uuidv4["default"]();
|
59
62
|
var renderPortalUse = usePortalTarget.usePortalTarget(portalTargetIn);
|
63
|
+
var _useFocus = useFocus.useFocus(modalRef),
|
64
|
+
firstElement = _useFocus.firstElement;
|
60
65
|
|
61
66
|
// We can't add a ref directly to the ModalBody, so track it in a ref
|
62
67
|
// as the parent of the current bodyRef element
|
@@ -64,16 +69,28 @@ exports.AboutModal = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
64
69
|
var _contentRef$current;
|
65
70
|
bodyRef.current = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.parentElement;
|
66
71
|
}, [bodyRef]);
|
67
|
-
|
72
|
+
React.useEffect(function () {
|
73
|
+
if (open) {
|
74
|
+
setTimeout(function () {
|
75
|
+
return firstElement === null || firstElement === void 0 ? void 0 : firstElement.focus();
|
76
|
+
}, 0);
|
77
|
+
}
|
78
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
79
|
+
}, [open]);
|
80
|
+
return renderPortalUse( /*#__PURE__*/React__default["default"].createElement(react.unstable_FeatureFlags, {
|
81
|
+
flags: {
|
82
|
+
'enable-experimental-focus-wrap-without-sentinels': true
|
83
|
+
}
|
84
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.ComposedModal, _rollupPluginBabelHelpers["extends"]({}, rest, {
|
68
85
|
className: cx__default["default"](blockClass,
|
69
86
|
// Apply the block class to the main HTML element
|
70
87
|
className // Apply any supplied class names to the main HTML element.
|
71
88
|
),
|
72
|
-
"aria-label": modalAriaLabel
|
89
|
+
"aria-label": modalAriaLabel,
|
90
|
+
ref: modalRef
|
73
91
|
}, _rollupPluginBabelHelpers.objectSpread2({
|
74
92
|
onClose: onClose,
|
75
|
-
open: open
|
76
|
-
ref: ref
|
93
|
+
open: open
|
77
94
|
}, devtools.getDevtoolsProps(componentName))), /*#__PURE__*/React__default["default"].createElement("div", {
|
78
95
|
className: "".concat(blockClass, "__logo")
|
79
96
|
}, logo), /*#__PURE__*/React__default["default"].createElement(react.ModalHeader, {
|
@@ -104,7 +121,7 @@ exports.AboutModal = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
104
121
|
theme: "g100"
|
105
122
|
}, /*#__PURE__*/React__default["default"].createElement(react.ModalFooter, {
|
106
123
|
className: "".concat(blockClass, "__footer")
|
107
|
-
}, additionalInfo))));
|
124
|
+
}, additionalInfo)))));
|
108
125
|
});
|
109
126
|
|
110
127
|
// Return a placeholder if not released and not enabled by feature flag
|
@@ -40,6 +40,9 @@ var defaults = {
|
|
40
40
|
secondaryActionLabel: 'Cancel',
|
41
41
|
align: 'bottom'
|
42
42
|
};
|
43
|
+
|
44
|
+
// Use same empty array every time, for benefit of useEffect() etc. dependency checking.
|
45
|
+
var emptyArray = [];
|
43
46
|
var FilterFlyout = function FilterFlyout(_ref) {
|
44
47
|
var updateMethod = _ref.updateMethod,
|
45
48
|
_ref$flyoutIconDescri = _ref.flyoutIconDescription,
|
@@ -47,7 +50,7 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
47
50
|
_ref$align = _ref.align,
|
48
51
|
align = _ref$align === void 0 ? defaults.align : _ref$align,
|
49
52
|
_ref$filters = _ref.filters,
|
50
|
-
filters = _ref$filters === void 0 ?
|
53
|
+
filters = _ref$filters === void 0 ? emptyArray : _ref$filters,
|
51
54
|
_ref$title = _ref.title,
|
52
55
|
title = _ref$title === void 0 ? defaults.title : _ref$title,
|
53
56
|
_ref$primaryActionLab = _ref.primaryActionLabel,
|
@@ -64,9 +67,9 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
64
67
|
secondaryActionLabel = _ref$secondaryActionL === void 0 ? defaults.secondaryActionLabel : _ref$secondaryActionL,
|
65
68
|
setAllFilters = _ref.setAllFilters,
|
66
69
|
_ref$data = _ref.data,
|
67
|
-
data = _ref$data === void 0 ?
|
70
|
+
data = _ref$data === void 0 ? emptyArray : _ref$data,
|
68
71
|
_ref$reactTableFilter = _ref.reactTableFiltersState,
|
69
|
-
reactTableFiltersState = _ref$reactTableFilter === void 0 ?
|
72
|
+
reactTableFiltersState = _ref$reactTableFilter === void 0 ? emptyArray : _ref$reactTableFilter;
|
70
73
|
/** State */
|
71
74
|
var _useState = React.useState(false),
|
72
75
|
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
@@ -43,6 +43,9 @@ var defaults = {
|
|
43
43
|
searchLabelText: 'Filter search',
|
44
44
|
searchPlaceholder: 'Find filters'
|
45
45
|
};
|
46
|
+
|
47
|
+
// Use same empty array every time, for benefit of useEffect() etc. dependency checking.
|
48
|
+
var emptyArray = [];
|
46
49
|
var FilterPanel = function FilterPanel(_ref) {
|
47
50
|
var _ref$title = _ref.title,
|
48
51
|
title = _ref$title === void 0 ? defaults.title : _ref$title,
|
@@ -72,7 +75,7 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
72
75
|
_ref$searchPlaceholde = _ref.searchPlaceholder,
|
73
76
|
searchPlaceholder = _ref$searchPlaceholde === void 0 ? defaults.searchPlaceholder : _ref$searchPlaceholde,
|
74
77
|
_ref$reactTableFilter = _ref.reactTableFiltersState,
|
75
|
-
reactTableFiltersState = _ref$reactTableFilter === void 0 ?
|
78
|
+
reactTableFiltersState = _ref$reactTableFilter === void 0 ? emptyArray : _ref$reactTableFilter,
|
76
79
|
_ref$autoHideFilters = _ref.autoHideFilters,
|
77
80
|
autoHideFilters = _ref$autoHideFilters === void 0 ? false : _ref$autoHideFilters,
|
78
81
|
_ref$isFetching = _ref.isFetching,
|
@@ -24,10 +24,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
24
24
|
|
25
25
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
26
26
|
|
27
|
+
// Use same empty array every time, for benefit of useEffect() etc. dependency checking.
|
28
|
+
var emptyArray = [];
|
27
29
|
var useFilters = function useFilters(_ref) {
|
28
30
|
var updateMethod = _ref.updateMethod,
|
29
31
|
_ref$filters = _ref.filters,
|
30
|
-
filters = _ref$filters === void 0 ?
|
32
|
+
filters = _ref$filters === void 0 ? emptyArray : _ref$filters,
|
31
33
|
setAllFilters = _ref.setAllFilters,
|
32
34
|
variation = _ref.variation,
|
33
35
|
reactTableFiltersState = _ref.reactTableFiltersState,
|
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.
|
4
|
+
"version": "2.43.2-canary.195+e6ce08b23",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -81,7 +81,7 @@
|
|
81
81
|
"fs-extra": "^11.2.0",
|
82
82
|
"glob": "^10.3.10",
|
83
83
|
"jest": "^29.7.0",
|
84
|
-
"jest-config-ibm-cloud-cognitive": "^1.
|
84
|
+
"jest-config-ibm-cloud-cognitive": "^1.8.0-rc.0",
|
85
85
|
"jest-environment-jsdom": "^29.7.0",
|
86
86
|
"namor": "^1.1.2",
|
87
87
|
"npm-check-updates": "^16.14.12",
|
@@ -96,7 +96,7 @@
|
|
96
96
|
"dependencies": {
|
97
97
|
"@babel/runtime": "^7.23.9",
|
98
98
|
"@carbon/feature-flags": "^0.20.0",
|
99
|
-
"@carbon/ibm-products-styles": "^2.
|
99
|
+
"@carbon/ibm-products-styles": "^2.45.0-rc.0",
|
100
100
|
"@carbon/telemetry": "^0.1.0",
|
101
101
|
"@dnd-kit/core": "^6.0.8",
|
102
102
|
"@dnd-kit/modifiers": "^7.0.0",
|
@@ -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": "
|
123
|
+
"gitHead": "e6ce08b236acf9f7360e01b2ebb5e5a8568afc9c"
|
124
124
|
}
|