@carbon/react 1.72.0 → 1.73.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +810 -810
- package/es/components/AILabel/index.js +4 -2
- package/es/components/ComposedModal/ComposedModal.js +1 -1
- package/es/components/Copy/Copy.js +1 -1
- package/es/components/DataTable/DataTable.d.ts +8 -2
- package/es/components/DataTable/DataTable.js +6 -1
- package/es/components/DataTable/Table.js +1 -1
- package/es/components/DataTable/TableCell.d.ts +1 -1
- package/es/components/DataTable/TableCell.js +2 -2
- package/es/components/DataTable/TableDecoratorRow.d.ts +33 -0
- package/es/components/DataTable/TableDecoratorRow.js +48 -0
- package/es/components/DataTable/TableExpandRow.js +9 -9
- package/es/components/DataTable/TableHeader.d.ts +6 -1
- package/es/components/DataTable/TableHeader.js +20 -11
- package/es/components/DataTable/TableRow.js +17 -10
- package/es/components/DataTable/TableSlugRow.js +5 -1
- package/es/components/DataTable/index.d.ts +2 -1
- package/es/components/DataTable/index.js +3 -0
- package/es/components/DataTable/tools/normalize.js +3 -2
- package/es/components/Modal/Modal.js +1 -1
- package/es/components/Popover/index.js +6 -2
- package/es/components/Search/Search.js +1 -1
- package/es/components/Slider/Slider.Skeleton.d.ts +17 -1
- package/es/components/Slider/Slider.Skeleton.js +20 -3
- package/es/components/Slider/Slider.d.ts +1 -1
- package/es/components/Slider/Slider.js +20 -4
- package/es/components/Slider/SliderHandles.d.ts +4 -4
- package/es/components/Slider/SliderHandles.js +9 -8
- package/es/components/Stack/Stack.js +3 -1
- package/es/components/Tabs/Tabs.js +1 -1
- package/es/components/Toggletip/index.d.ts +16 -11
- package/es/components/Toggletip/index.js +5 -0
- package/es/index.js +1 -0
- package/es/prop-types/deprecateComponent.js +22 -0
- package/lib/components/AILabel/index.js +4 -2
- package/lib/components/ComposedModal/ComposedModal.js +2 -3
- package/lib/components/Copy/Copy.js +2 -3
- package/lib/components/DataTable/DataTable.d.ts +8 -2
- package/lib/components/DataTable/DataTable.js +6 -1
- package/lib/components/DataTable/Table.js +3 -4
- package/lib/components/DataTable/TableCell.d.ts +1 -1
- package/lib/components/DataTable/TableCell.js +2 -2
- package/lib/components/DataTable/TableDecoratorRow.d.ts +33 -0
- package/lib/components/DataTable/TableDecoratorRow.js +58 -0
- package/lib/components/DataTable/TableExpandRow.js +9 -9
- package/lib/components/DataTable/TableHeader.d.ts +6 -1
- package/lib/components/DataTable/TableHeader.js +20 -11
- package/lib/components/DataTable/TableRow.js +17 -11
- package/lib/components/DataTable/TableSlugRow.js +4 -0
- package/lib/components/DataTable/index.d.ts +2 -1
- package/lib/components/DataTable/index.js +3 -0
- package/lib/components/DataTable/tools/normalize.js +3 -2
- package/lib/components/Modal/Modal.js +2 -3
- package/lib/components/Popover/index.js +6 -2
- package/lib/components/Search/Search.js +1 -1
- package/lib/components/Slider/Slider.Skeleton.d.ts +17 -1
- package/lib/components/Slider/Slider.Skeleton.js +20 -3
- package/lib/components/Slider/Slider.d.ts +1 -1
- package/lib/components/Slider/Slider.js +21 -6
- package/lib/components/Slider/SliderHandles.d.ts +4 -4
- package/lib/components/Slider/SliderHandles.js +9 -8
- package/lib/components/Stack/Stack.js +3 -1
- package/lib/components/Tabs/Tabs.js +3 -4
- package/lib/components/Toggletip/index.d.ts +16 -11
- package/lib/components/Toggletip/index.js +5 -0
- package/lib/index.js +2 -0
- package/lib/prop-types/deprecateComponent.js +26 -0
- package/package.json +6 -8
|
@@ -387,7 +387,7 @@ declare class Slider extends PureComponent<SliderProps> {
|
|
|
387
387
|
* Throttles calls to `this._onDrag` by limiting events to being processed at
|
|
388
388
|
* most once every `EVENT_THROTTLE` milliseconds.
|
|
389
389
|
*/
|
|
390
|
-
onDrag: any
|
|
390
|
+
onDrag: import("es-toolkit/dist/compat/function/debounce").DebouncedFunction<(evt: any, activeHandle?: HandlePosition | null) => void>;
|
|
391
391
|
/**
|
|
392
392
|
* Handles a `keydown` event by recalculating the value/thumb and setting
|
|
393
393
|
* state accordingly.
|
|
@@ -9,7 +9,7 @@ import { defineProperty as _defineProperty, extends as _extends } from '../../_v
|
|
|
9
9
|
import React__default, { PureComponent } from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import cx from 'classnames';
|
|
12
|
-
import throttle from '
|
|
12
|
+
import { throttle } from 'es-toolkit/compat';
|
|
13
13
|
import { ArrowDown, ArrowLeft, ArrowUp, ArrowRight, Enter } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { PrefixContext } from '../../internal/usePrefix.js';
|
|
15
15
|
import deprecate from '../../prop-types/deprecate.js';
|
|
@@ -22,7 +22,6 @@ import { LowerHandle, LowerHandleFocus, UpperHandle, UpperHandleFocus } from './
|
|
|
22
22
|
import { matches } from '../../internal/keyboard/match.js';
|
|
23
23
|
import { Text } from '../Text/Text.js';
|
|
24
24
|
|
|
25
|
-
var _LowerHandle, _LowerHandleFocus, _UpperHandle, _UpperHandleFocus, _UpperHandle2, _UpperHandleFocus2, _LowerHandle2, _LowerHandleFocus2;
|
|
26
25
|
const ThumbWrapper = _ref => {
|
|
27
26
|
let {
|
|
28
27
|
hasTooltip = false,
|
|
@@ -947,6 +946,7 @@ class Slider extends PureComponent {
|
|
|
947
946
|
return Object.entries(derivedState).length > 0 ? derivedState : null;
|
|
948
947
|
}
|
|
949
948
|
render() {
|
|
949
|
+
var _LowerHandle, _LowerHandleFocus, _UpperHandle, _UpperHandleFocus, _UpperHandle2, _UpperHandleFocus2, _LowerHandle2, _LowerHandleFocus2;
|
|
950
950
|
const {
|
|
951
951
|
ariaLabelInput,
|
|
952
952
|
unstable_ariaLabelInputUpper: ariaLabelInputUpper,
|
|
@@ -1114,7 +1114,15 @@ class Slider extends PureComponent {
|
|
|
1114
1114
|
onFocus: () => this.setState({
|
|
1115
1115
|
activeHandle: HandlePosition.LOWER
|
|
1116
1116
|
})
|
|
1117
|
-
}, twoHandles && !isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _LowerHandle || (_LowerHandle = /*#__PURE__*/React__default.createElement(LowerHandle,
|
|
1117
|
+
}, twoHandles && !isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _LowerHandle || (_LowerHandle = /*#__PURE__*/React__default.createElement(LowerHandle, {
|
|
1118
|
+
"aria-label": ariaLabelInput
|
|
1119
|
+
})), _LowerHandleFocus || (_LowerHandleFocus = /*#__PURE__*/React__default.createElement(LowerHandleFocus, {
|
|
1120
|
+
"aria-label": ariaLabelInput
|
|
1121
|
+
}))) : twoHandles && isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _UpperHandle || (_UpperHandle = /*#__PURE__*/React__default.createElement(UpperHandle, {
|
|
1122
|
+
"aria-label": ariaLabelInputUpper
|
|
1123
|
+
})), _UpperHandleFocus || (_UpperHandleFocus = /*#__PURE__*/React__default.createElement(UpperHandleFocus, {
|
|
1124
|
+
"aria-label": ariaLabelInputUpper
|
|
1125
|
+
}))) : undefined)), twoHandles ? /*#__PURE__*/React__default.createElement(ThumbWrapper, _extends({
|
|
1118
1126
|
hasTooltip: hideTextInput,
|
|
1119
1127
|
className: upperThumbWrapperClasses,
|
|
1120
1128
|
label: `${formatLabel(valueUpper || 0, '')}`,
|
|
@@ -1131,7 +1139,15 @@ class Slider extends PureComponent {
|
|
|
1131
1139
|
onFocus: () => this.setState({
|
|
1132
1140
|
activeHandle: HandlePosition.UPPER
|
|
1133
1141
|
})
|
|
1134
|
-
}, twoHandles && !isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _UpperHandle2 || (_UpperHandle2 = /*#__PURE__*/React__default.createElement(UpperHandle,
|
|
1142
|
+
}, twoHandles && !isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _UpperHandle2 || (_UpperHandle2 = /*#__PURE__*/React__default.createElement(UpperHandle, {
|
|
1143
|
+
"aria-label": ariaLabelInputUpper
|
|
1144
|
+
})), _UpperHandleFocus2 || (_UpperHandleFocus2 = /*#__PURE__*/React__default.createElement(UpperHandleFocus, {
|
|
1145
|
+
"aria-label": ariaLabelInputUpper
|
|
1146
|
+
}))) : twoHandles && isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _LowerHandle2 || (_LowerHandle2 = /*#__PURE__*/React__default.createElement(LowerHandle, {
|
|
1147
|
+
"aria-label": ariaLabelInput
|
|
1148
|
+
})), _LowerHandleFocus2 || (_LowerHandleFocus2 = /*#__PURE__*/React__default.createElement(LowerHandleFocus, {
|
|
1149
|
+
"aria-label": ariaLabelInput
|
|
1150
|
+
}))) : undefined)) : null, /*#__PURE__*/React__default.createElement("div", {
|
|
1135
1151
|
className: `${prefix}--slider__track`,
|
|
1136
1152
|
ref: node => {
|
|
1137
1153
|
this.track = node;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LowerHandle: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
-
export declare const LowerHandleFocus: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
export declare const UpperHandle: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
export declare const UpperHandleFocus: () => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare const LowerHandle: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const LowerHandleFocus: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const UpperHandle: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const UpperHandleFocus: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,25 +5,26 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
8
9
|
import { PrefixContext } from '../../internal/usePrefix.js';
|
|
9
10
|
import React__default from 'react';
|
|
10
11
|
|
|
11
12
|
var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14;
|
|
12
|
-
const LowerHandle =
|
|
13
|
+
const LowerHandle = props => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", _extends({
|
|
13
14
|
xmlns: "http://www.w3.org/2000/svg",
|
|
14
15
|
viewBox: "0 0 16 24",
|
|
15
16
|
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower`
|
|
16
|
-
}, _path || (_path = /*#__PURE__*/React__default.createElement("path", {
|
|
17
|
+
}, props), _path || (_path = /*#__PURE__*/React__default.createElement("path", {
|
|
17
18
|
d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
|
|
18
19
|
})), _path2 || (_path2 = /*#__PURE__*/React__default.createElement("path", {
|
|
19
20
|
fill: "none",
|
|
20
21
|
d: "M-4 0h24v24H-4z"
|
|
21
22
|
}))));
|
|
22
|
-
const LowerHandleFocus =
|
|
23
|
+
const LowerHandleFocus = props => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", _extends({
|
|
23
24
|
xmlns: "http://www.w3.org/2000/svg",
|
|
24
25
|
viewBox: "0 0 16 24",
|
|
25
26
|
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower ${prefix}--slider__thumb-icon--focus`
|
|
26
|
-
}, _path3 || (_path3 = /*#__PURE__*/React__default.createElement("path", {
|
|
27
|
+
}, props), _path3 || (_path3 = /*#__PURE__*/React__default.createElement("path", {
|
|
27
28
|
d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
|
|
28
29
|
})), _path4 || (_path4 = /*#__PURE__*/React__default.createElement("path", {
|
|
29
30
|
fill: "none",
|
|
@@ -35,21 +36,21 @@ const LowerHandleFocus = () => /*#__PURE__*/React__default.createElement(PrefixC
|
|
|
35
36
|
})), _path7 || (_path7 = /*#__PURE__*/React__default.createElement("path", {
|
|
36
37
|
d: "M0 .92V0h16v.92zM0 24v-.92h16V24z"
|
|
37
38
|
}))));
|
|
38
|
-
const UpperHandle =
|
|
39
|
+
const UpperHandle = props => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", _extends({
|
|
39
40
|
xmlns: "http://www.w3.org/2000/svg",
|
|
40
41
|
viewBox: "0 0 16 24",
|
|
41
42
|
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper`
|
|
42
|
-
}, _path8 || (_path8 = /*#__PURE__*/React__default.createElement("path", {
|
|
43
|
+
}, props), _path8 || (_path8 = /*#__PURE__*/React__default.createElement("path", {
|
|
43
44
|
d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
|
|
44
45
|
})), _path9 || (_path9 = /*#__PURE__*/React__default.createElement("path", {
|
|
45
46
|
fill: "none",
|
|
46
47
|
d: "M-4 0h24v24H-4z"
|
|
47
48
|
}))));
|
|
48
|
-
const UpperHandleFocus =
|
|
49
|
+
const UpperHandleFocus = props => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", _extends({
|
|
49
50
|
xmlns: "http://www.w3.org/2000/svg",
|
|
50
51
|
viewBox: "0 0 16 24",
|
|
51
52
|
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper ${prefix}--slider__thumb-icon--focus`
|
|
52
|
-
}, _path10 || (_path10 = /*#__PURE__*/React__default.createElement("path", {
|
|
53
|
+
}, props), _path10 || (_path10 = /*#__PURE__*/React__default.createElement("path", {
|
|
53
54
|
d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
|
|
54
55
|
})), _path11 || (_path11 = /*#__PURE__*/React__default.createElement("path", {
|
|
55
56
|
fill: "none",
|
|
@@ -52,7 +52,9 @@ const Stack = /*#__PURE__*/React__default.forwardRef(function Stack(props, ref)
|
|
|
52
52
|
[`${prefix}--stack-${orientation}`]: true,
|
|
53
53
|
[`${prefix}--stack-scale-${gap}`]: typeof gap === 'number'
|
|
54
54
|
});
|
|
55
|
-
const style = {
|
|
55
|
+
const style = {
|
|
56
|
+
...rest.style
|
|
57
|
+
};
|
|
56
58
|
if (typeof gap === 'string') {
|
|
57
59
|
style[`--${prefix}-stack-gap`] = gap;
|
|
58
60
|
}
|
|
@@ -9,7 +9,7 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
|
|
|
9
9
|
import { ChevronLeft, ChevronRight, Close } from '@carbon/icons-react';
|
|
10
10
|
import { breakpoints } from '@carbon/layout';
|
|
11
11
|
import cx from 'classnames';
|
|
12
|
-
import debounce from '
|
|
12
|
+
import { debounce } from 'es-toolkit/compat';
|
|
13
13
|
import PropTypes from 'prop-types';
|
|
14
14
|
import React__default, { useState, useRef, useCallback, useEffect, forwardRef } from 'react';
|
|
15
15
|
import '../Grid/FlexGrid.js';
|
|
@@ -9,9 +9,9 @@ import React, { type ElementType, type ReactNode } from 'react';
|
|
|
9
9
|
import { type PopoverAlignment } from '../Popover';
|
|
10
10
|
import { PolymorphicProps } from '../../types/common';
|
|
11
11
|
type ToggletipLabelProps<E extends ElementType> = {
|
|
12
|
-
as?: E
|
|
12
|
+
as?: E;
|
|
13
13
|
children?: ReactNode;
|
|
14
|
-
className?: string
|
|
14
|
+
className?: string;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
* Used to render the label for a Toggletip
|
|
@@ -36,12 +36,13 @@ export declare namespace ToggletipLabel {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
interface ToggletipProps<E extends ElementType> {
|
|
39
|
-
align?: PopoverAlignment
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
align?: PopoverAlignment;
|
|
40
|
+
alignmentAxisOffset?: number;
|
|
41
|
+
as?: E;
|
|
42
|
+
autoAlign?: boolean;
|
|
43
|
+
className?: string;
|
|
43
44
|
children?: ReactNode;
|
|
44
|
-
defaultOpen?: boolean
|
|
45
|
+
defaultOpen?: boolean;
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
47
48
|
* Used as a container for the button and content of a toggletip. This component
|
|
@@ -55,6 +56,10 @@ export declare namespace Toggletip {
|
|
|
55
56
|
* Specify how the toggletip should align with the button
|
|
56
57
|
*/
|
|
57
58
|
align: PropTypes.Requireable<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Provide an offset value for alignment axis.
|
|
61
|
+
*/
|
|
62
|
+
alignmentAxisOffset: PropTypes.Requireable<number>;
|
|
58
63
|
/**
|
|
59
64
|
* Provide a custom element or component to render the top-level node for the
|
|
60
65
|
* component.
|
|
@@ -81,8 +86,8 @@ export declare namespace Toggletip {
|
|
|
81
86
|
}
|
|
82
87
|
interface ToggletipButtonBaseProps {
|
|
83
88
|
children?: ReactNode;
|
|
84
|
-
className?: string
|
|
85
|
-
label?: string
|
|
89
|
+
className?: string;
|
|
90
|
+
label?: string;
|
|
86
91
|
}
|
|
87
92
|
export type ToggleTipButtonProps<T extends React.ElementType> = PolymorphicProps<T, ToggletipButtonBaseProps>;
|
|
88
93
|
/**
|
|
@@ -92,7 +97,7 @@ export type ToggleTipButtonProps<T extends React.ElementType> = PolymorphicProps
|
|
|
92
97
|
export declare const ToggletipButton: React.ForwardRefExoticComponent<Omit<ToggleTipButtonProps<React.ElementType<any, keyof React.JSX.IntrinsicElements>>, "ref"> & React.RefAttributes<unknown>>;
|
|
93
98
|
interface ToggletipContentProps {
|
|
94
99
|
children?: ReactNode;
|
|
95
|
-
className?: string
|
|
100
|
+
className?: string;
|
|
96
101
|
}
|
|
97
102
|
/**
|
|
98
103
|
* `ToggletipContent` is a wrapper around `PopoverContent`. It places the
|
|
@@ -103,7 +108,7 @@ declare const ToggletipContent: React.ForwardRefExoticComponent<ToggletipContent
|
|
|
103
108
|
export { ToggletipContent };
|
|
104
109
|
interface ToggleTipActionsProps {
|
|
105
110
|
children?: ReactNode;
|
|
106
|
-
className?: string
|
|
111
|
+
className?: string;
|
|
107
112
|
}
|
|
108
113
|
/**
|
|
109
114
|
* `ToggletipActions` is a container for one or two actions present at the base
|
|
@@ -173,6 +173,10 @@ Toggletip.propTypes = {
|
|
|
173
173
|
|
|
174
174
|
// new values to match floating-ui
|
|
175
175
|
'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']),
|
|
176
|
+
/**
|
|
177
|
+
* Provide an offset value for alignment axis.
|
|
178
|
+
*/
|
|
179
|
+
alignmentAxisOffset: PropTypes.number,
|
|
176
180
|
/**
|
|
177
181
|
* Provide a custom element or component to render the top-level node for the
|
|
178
182
|
* component.
|
|
@@ -200,6 +204,7 @@ Toggletip.propTypes = {
|
|
|
200
204
|
* `ToggletipButton` controls the visibility of the Toggletip through mouse
|
|
201
205
|
* clicks and keyboard interactions.
|
|
202
206
|
*/
|
|
207
|
+
|
|
203
208
|
const ToggletipButton = /*#__PURE__*/React__default.forwardRef(function ToggletipButton(_ref3, ref) {
|
|
204
209
|
let {
|
|
205
210
|
children,
|
package/es/index.js
CHANGED
|
@@ -220,6 +220,7 @@ export { default as TableBatchActions } from './components/DataTable/TableBatchA
|
|
|
220
220
|
export { default as TableBody } from './components/DataTable/TableBody.js';
|
|
221
221
|
export { default as TableCell } from './components/DataTable/TableCell.js';
|
|
222
222
|
export { default as TableContainer } from './components/DataTable/TableContainer.js';
|
|
223
|
+
export { default as TableDecoratorRow } from './components/DataTable/TableDecoratorRow.js';
|
|
223
224
|
export { default as TableExpandHeader } from './components/DataTable/TableExpandHeader.js';
|
|
224
225
|
export { default as TableExpandRow } from './components/DataTable/TableExpandRow.js';
|
|
225
226
|
export { default as TableExpandedRow } from './components/DataTable/TableExpandedRow.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { warning } from '../internal/warning.js';
|
|
9
|
+
|
|
10
|
+
const didWarnAboutDeprecation = {};
|
|
11
|
+
function deprecateComponent(componentName, message) {
|
|
12
|
+
if (!componentName) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (!didWarnAboutDeprecation[componentName]) {
|
|
16
|
+
didWarnAboutDeprecation[componentName] = true;
|
|
17
|
+
process.env.NODE_ENV !== "production" ? warning(false, message || `The ${componentName} component has been deprecated and will be removed in the next major release.`) : void 0;
|
|
18
|
+
}
|
|
19
|
+
return componentName;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { deprecateComponent as default };
|
|
@@ -128,7 +128,8 @@ const AILabel = /*#__PURE__*/React__default["default"].forwardRef(function AILab
|
|
|
128
128
|
onRevertClick(evt);
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
|
-
const ariaLabelText = !aiTextLabel && !textLabel ? `${aiText}
|
|
131
|
+
const ariaLabelText = !aiTextLabel && !textLabel ? `${aiText} ${slugLabel || ariaLabel}` : `${aiText} ${aiTextLabel || textLabel}`;
|
|
132
|
+
const isSmallIcon = ['xs', '2xs', 'mini'].includes(size);
|
|
132
133
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
133
134
|
className: aiLabelClasses,
|
|
134
135
|
ref: ref,
|
|
@@ -140,7 +141,8 @@ const AILabel = /*#__PURE__*/React__default["default"].forwardRef(function AILab
|
|
|
140
141
|
label: revertLabel
|
|
141
142
|
}, rest), _Undo || (_Undo = /*#__PURE__*/React__default["default"].createElement(iconsReact.Undo, null))) : /*#__PURE__*/React__default["default"].createElement(index.Toggletip, _rollupPluginBabelHelpers["extends"]({
|
|
142
143
|
align: align,
|
|
143
|
-
autoAlign: autoAlign
|
|
144
|
+
autoAlign: autoAlign,
|
|
145
|
+
alignmentAxisOffset: isSmallIcon ? -24 : 0
|
|
144
146
|
}, rest), /*#__PURE__*/React__default["default"].createElement(index.ToggletipButton, {
|
|
145
147
|
className: aiLabelButtonClasses,
|
|
146
148
|
label: ariaLabelText
|
|
@@ -16,7 +16,7 @@ var PropTypes = require('prop-types');
|
|
|
16
16
|
var index = require('../Layer/index.js');
|
|
17
17
|
var ModalHeader = require('./ModalHeader.js');
|
|
18
18
|
var ModalFooter = require('./ModalFooter.js');
|
|
19
|
-
var
|
|
19
|
+
var compat = require('es-toolkit/compat');
|
|
20
20
|
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
21
21
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
22
22
|
var cx = require('classnames');
|
|
@@ -34,7 +34,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
34
34
|
|
|
35
35
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
36
36
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
37
|
-
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
38
37
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
39
38
|
|
|
40
39
|
const ModalBody = /*#__PURE__*/React__default["default"].forwardRef(function ModalBody(_ref, ref) {
|
|
@@ -62,7 +61,7 @@ const ModalBody = /*#__PURE__*/React__default["default"].forwardRef(function Mod
|
|
|
62
61
|
setIsScrollable(contentRef.current.scrollHeight > contentRef.current.clientHeight);
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
|
-
const debouncedHandler =
|
|
64
|
+
const debouncedHandler = compat.debounce(handler, 200);
|
|
66
65
|
window.addEventListener('resize', debouncedHandler);
|
|
67
66
|
return () => {
|
|
68
67
|
debouncedHandler.cancel();
|
|
@@ -12,7 +12,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
12
12
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
13
13
|
var PropTypes = require('prop-types');
|
|
14
14
|
var React = require('react');
|
|
15
|
-
var
|
|
15
|
+
var compat = require('es-toolkit/compat');
|
|
16
16
|
var cx = require('classnames');
|
|
17
17
|
var events = require('../../tools/events.js');
|
|
18
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
@@ -24,7 +24,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
24
24
|
|
|
25
25
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
26
26
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
27
|
-
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
28
27
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
29
28
|
|
|
30
29
|
const propMappingFunction = deprecatedValue => {
|
|
@@ -59,7 +58,7 @@ function Copy(_ref) {
|
|
|
59
58
|
[`${prefix}--copy-btn--${animation}`]: animation
|
|
60
59
|
});
|
|
61
60
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
|
-
const handleFadeOut = React.useCallback(
|
|
61
|
+
const handleFadeOut = React.useCallback(compat.debounce(() => {
|
|
63
62
|
setAnimation('fade-out');
|
|
64
63
|
}, feedbackTimeout), [feedbackTimeout]);
|
|
65
64
|
const handleClick = React.useCallback(() => {
|
|
@@ -15,6 +15,7 @@ import TableBatchActions from './TableBatchActions';
|
|
|
15
15
|
import TableBody from './TableBody';
|
|
16
16
|
import TableCell from './TableCell';
|
|
17
17
|
import TableContainer from './TableContainer';
|
|
18
|
+
import TableDecoratorRow from './TableDecoratorRow';
|
|
18
19
|
import TableExpandHeader from './TableExpandHeader';
|
|
19
20
|
import TableExpandRow from './TableExpandRow';
|
|
20
21
|
import TableExpandedRow from './TableExpandedRow';
|
|
@@ -70,6 +71,7 @@ export interface DataTableHeader {
|
|
|
70
71
|
key: string;
|
|
71
72
|
header: React.ReactNode;
|
|
72
73
|
slug?: React.ReactElement;
|
|
74
|
+
decorator?: React.ReactElement;
|
|
73
75
|
}
|
|
74
76
|
export interface DataTableRenderProps<RowType, ColTypes extends any[]> {
|
|
75
77
|
headers: Array<DataTableHeader>;
|
|
@@ -174,7 +176,8 @@ export interface DataTableRenderProps<RowType, ColTypes extends any[]> {
|
|
|
174
176
|
cell: DataTableCell<ColTypes>;
|
|
175
177
|
}) => {
|
|
176
178
|
[key: string]: unknown;
|
|
177
|
-
|
|
179
|
+
hasAILabelHeader?: boolean;
|
|
180
|
+
hasDecoratorHeader?: boolean;
|
|
178
181
|
};
|
|
179
182
|
onInputChange: (e: React.ChangeEvent<HTMLInputElement>, defaultValue?: string) => void;
|
|
180
183
|
sortBy: (headerKey: string) => void;
|
|
@@ -318,6 +321,7 @@ declare class DataTable<RowType, ColTypes extends any[]> extends React.Component
|
|
|
318
321
|
static TableBody: typeof TableBody;
|
|
319
322
|
static TableCell: typeof TableCell;
|
|
320
323
|
static TableContainer: typeof TableContainer;
|
|
324
|
+
static TableDecoratorRow: typeof TableDecoratorRow;
|
|
321
325
|
static TableExpandHeader: typeof TableExpandHeader;
|
|
322
326
|
static TableExpandRow: typeof TableExpandRow;
|
|
323
327
|
static TableExpandedRow: typeof TableExpandedRow;
|
|
@@ -358,6 +362,7 @@ declare class DataTable<RowType, ColTypes extends any[]> extends React.Component
|
|
|
358
362
|
isSortable: boolean | undefined;
|
|
359
363
|
isSortHeader: boolean;
|
|
360
364
|
slug: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
|
|
365
|
+
decorator: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
|
|
361
366
|
onClick: (event: any) => void;
|
|
362
367
|
};
|
|
363
368
|
/**
|
|
@@ -505,7 +510,8 @@ declare class DataTable<RowType, ColTypes extends any[]> extends React.Component
|
|
|
505
510
|
[x: string]: any;
|
|
506
511
|
cell: any;
|
|
507
512
|
}) => {
|
|
508
|
-
|
|
513
|
+
hasAILabelHeader: any;
|
|
514
|
+
hasDecoratorHeader: any;
|
|
509
515
|
};
|
|
510
516
|
/**
|
|
511
517
|
* Helper utility to get all the currently selected rows
|
|
@@ -27,6 +27,7 @@ var TableBatchActions = require('./TableBatchActions.js');
|
|
|
27
27
|
var TableBody = require('./TableBody.js');
|
|
28
28
|
var TableCell = require('./TableCell.js');
|
|
29
29
|
var TableContainer = require('./TableContainer.js');
|
|
30
|
+
var TableDecoratorRow = require('./TableDecoratorRow.js');
|
|
30
31
|
var TableExpandHeader = require('./TableExpandHeader.js');
|
|
31
32
|
var TableExpandRow = require('./TableExpandRow.js');
|
|
32
33
|
var TableExpandedRow = require('./TableExpandedRow.js');
|
|
@@ -119,6 +120,7 @@ class DataTable extends React__default["default"].Component {
|
|
|
119
120
|
isSortable,
|
|
120
121
|
isSortHeader: sortHeaderKey === header.key,
|
|
121
122
|
slug: header.slug,
|
|
123
|
+
decorator: header.decorator,
|
|
122
124
|
onClick: event => {
|
|
123
125
|
const nextSortState = sorting.getNextSortState(this.props, this.state, {
|
|
124
126
|
key: header.key
|
|
@@ -373,7 +375,8 @@ class DataTable extends React__default["default"].Component {
|
|
|
373
375
|
} = _ref4;
|
|
374
376
|
return {
|
|
375
377
|
...rest,
|
|
376
|
-
|
|
378
|
+
hasAILabelHeader: cell.hasAILabelHeader,
|
|
379
|
+
hasDecoratorHeader: cell.hasDecoratorHeader
|
|
377
380
|
};
|
|
378
381
|
});
|
|
379
382
|
/**
|
|
@@ -753,6 +756,7 @@ _rollupPluginBabelHelpers.defineProperty(DataTable, "TableBatchActions", void 0)
|
|
|
753
756
|
_rollupPluginBabelHelpers.defineProperty(DataTable, "TableBody", void 0);
|
|
754
757
|
_rollupPluginBabelHelpers.defineProperty(DataTable, "TableCell", void 0);
|
|
755
758
|
_rollupPluginBabelHelpers.defineProperty(DataTable, "TableContainer", void 0);
|
|
759
|
+
_rollupPluginBabelHelpers.defineProperty(DataTable, "TableDecoratorRow", void 0);
|
|
756
760
|
_rollupPluginBabelHelpers.defineProperty(DataTable, "TableExpandHeader", void 0);
|
|
757
761
|
_rollupPluginBabelHelpers.defineProperty(DataTable, "TableExpandRow", void 0);
|
|
758
762
|
_rollupPluginBabelHelpers.defineProperty(DataTable, "TableExpandedRow", void 0);
|
|
@@ -774,6 +778,7 @@ DataTable.TableBatchActions = TableBatchActions["default"];
|
|
|
774
778
|
DataTable.TableBody = TableBody["default"];
|
|
775
779
|
DataTable.TableCell = TableCell["default"];
|
|
776
780
|
DataTable.TableContainer = TableContainer["default"];
|
|
781
|
+
DataTable.TableDecoratorRow = TableDecoratorRow["default"];
|
|
777
782
|
DataTable.TableExpandHeader = TableExpandHeader["default"];
|
|
778
783
|
DataTable.TableExpandRow = TableExpandRow["default"];
|
|
779
784
|
DataTable.TableExpandedRow = TableExpandedRow["default"];
|
|
@@ -13,7 +13,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var React = require('react');
|
|
14
14
|
var PropTypes = require('prop-types');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
var
|
|
16
|
+
var compat = require('es-toolkit/compat');
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
18
|
var TableContext = require('./TableContext.js');
|
|
19
19
|
var useEvent = require('../../internal/useEvent.js');
|
|
@@ -24,7 +24,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
24
24
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
25
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
26
26
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
27
|
-
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
28
27
|
|
|
29
28
|
const isElementWrappingContent = (element, context) => {
|
|
30
29
|
if (element.children.length > 0) {
|
|
@@ -109,7 +108,7 @@ const Table = _ref => {
|
|
|
109
108
|
toggleTableHeaderAlignmentClass(false);
|
|
110
109
|
}
|
|
111
110
|
}, [experimentalAutoAlign, toggleTableBodyAlignmentClass, toggleTableHeaderAlignmentClass, prefix]);
|
|
112
|
-
const debouncedSetTableAlignment =
|
|
111
|
+
const debouncedSetTableAlignment = compat.debounce(setTableAlignment, 100);
|
|
113
112
|
useEvent.useWindowEvent('resize', debouncedSetTableAlignment);
|
|
114
113
|
|
|
115
114
|
// Used to set a tabIndex when the Table is horizontally scrollable
|
|
@@ -122,7 +121,7 @@ const Table = _ref => {
|
|
|
122
121
|
setIsScrollable(false);
|
|
123
122
|
}
|
|
124
123
|
}, []);
|
|
125
|
-
const debouncedSetTabIndex =
|
|
124
|
+
const debouncedSetTabIndex = compat.debounce(setTabIndex, 100);
|
|
126
125
|
useEvent.useWindowEvent('resize', debouncedSetTabIndex);
|
|
127
126
|
useIsomorphicEffect["default"](() => {
|
|
128
127
|
setTabIndex();
|
|
@@ -22,7 +22,7 @@ interface TableCellProps extends ReactAttr<HTMLTableCellElement> {
|
|
|
22
22
|
/**
|
|
23
23
|
* Specify if the table cell is in an AI column
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
hasAILabelHeader?: boolean;
|
|
26
26
|
/**
|
|
27
27
|
* The id of the matching th node in the table head. Addresses a11y concerns outlined here: https://www.ibm.com/able/guidelines/ci162/info_and_relationships.html and https://www.w3.org/TR/WCAG20-TECHS/H43
|
|
28
28
|
*/
|
|
@@ -23,13 +23,13 @@ const TableCell = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref)
|
|
|
23
23
|
let {
|
|
24
24
|
children,
|
|
25
25
|
className,
|
|
26
|
-
|
|
26
|
+
hasAILabelHeader,
|
|
27
27
|
colSpan,
|
|
28
28
|
...rest
|
|
29
29
|
} = _ref;
|
|
30
30
|
const prefix = usePrefix.usePrefix();
|
|
31
31
|
const tableCellClassNames = cx__default["default"](className, {
|
|
32
|
-
[`${prefix}--table-cell--column-slug`]:
|
|
32
|
+
[`${prefix}--table-cell--column-slug`]: hasAILabelHeader
|
|
33
33
|
});
|
|
34
34
|
return /*#__PURE__*/React__default["default"].createElement("td", _rollupPluginBabelHelpers["extends"]({
|
|
35
35
|
className: tableCellClassNames ? tableCellClassNames : undefined,
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import { ReactNode } from 'react';
|
|
9
|
+
export interface TableDecoratorRowProps {
|
|
10
|
+
/**
|
|
11
|
+
* The CSS class names of the cell that wraps the underlying input control
|
|
12
|
+
*/
|
|
13
|
+
className?: string;
|
|
14
|
+
/**
|
|
15
|
+
* **Experimental**: Provide a `decorator` component to be rendered inside the `TableDecoratorRow` component
|
|
16
|
+
*/
|
|
17
|
+
decorator?: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
declare const TableDecoratorRow: {
|
|
20
|
+
({ className, decorator, }: TableDecoratorRowProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
displayName: string;
|
|
22
|
+
propTypes: {
|
|
23
|
+
/**
|
|
24
|
+
* The CSS class names of the cell that wraps the underlying input control
|
|
25
|
+
*/
|
|
26
|
+
className: PropTypes.Requireable<string>;
|
|
27
|
+
/**
|
|
28
|
+
* **Experimental**: Provide a `decorator` component to be rendered inside the `TableDecoratorRow` component
|
|
29
|
+
*/
|
|
30
|
+
decorator: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export default TableDecoratorRow;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
+
|
|
12
|
+
var PropTypes = require('prop-types');
|
|
13
|
+
var React = require('react');
|
|
14
|
+
var cx = require('classnames');
|
|
15
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
16
|
+
|
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
+
|
|
19
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
20
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
22
|
+
|
|
23
|
+
const TableDecoratorRow = _ref => {
|
|
24
|
+
let {
|
|
25
|
+
className,
|
|
26
|
+
decorator
|
|
27
|
+
} = _ref;
|
|
28
|
+
const prefix = usePrefix.usePrefix();
|
|
29
|
+
const TableDecoratorRowClasses = cx__default["default"]({
|
|
30
|
+
...(className && {
|
|
31
|
+
[className]: true
|
|
32
|
+
}),
|
|
33
|
+
[`${prefix}--table-column-decorator`]: true,
|
|
34
|
+
[`${prefix}--table-column-decorator--active`]: decorator
|
|
35
|
+
});
|
|
36
|
+
let normalizedDecorator = /*#__PURE__*/React__default["default"].isValidElement(decorator) ? decorator : null;
|
|
37
|
+
if (normalizedDecorator && normalizedDecorator['type']?.displayName === 'AILabel') {
|
|
38
|
+
normalizedDecorator = /*#__PURE__*/React__default["default"].cloneElement(normalizedDecorator, {
|
|
39
|
+
size: 'mini'
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return /*#__PURE__*/React__default["default"].createElement("td", {
|
|
43
|
+
className: TableDecoratorRowClasses
|
|
44
|
+
}, normalizedDecorator);
|
|
45
|
+
};
|
|
46
|
+
TableDecoratorRow.displayName = 'TableDecoratorRow';
|
|
47
|
+
TableDecoratorRow.propTypes = {
|
|
48
|
+
/**
|
|
49
|
+
* The CSS class names of the cell that wraps the underlying input control
|
|
50
|
+
*/
|
|
51
|
+
className: PropTypes__default["default"].string,
|
|
52
|
+
/**
|
|
53
|
+
* **Experimental**: Provide a `decorator` component to be rendered inside the `TableDecoratorRow` component
|
|
54
|
+
*/
|
|
55
|
+
decorator: PropTypes__default["default"].node
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports["default"] = TableDecoratorRow;
|