Skip to content

Commit 95a589c

Browse files
authored
refactor: Rename ButtonGroup to SplitButtonGroup (#1997)
Renaming `ButtonGroup` to `SplitButtonGroup` to avoid naming collisions with Spectrum. resolves #2015 BREAKING CHANGE: Renamed @deephaven/components `ButtonGroup` to `SplitButtonGroup`
1 parent 6ff378c commit 95a589c

6 files changed

Lines changed: 18 additions & 10 deletions

File tree

packages/components/src/BasicModal.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useRef, useCallback } from 'react';
22
import PropTypes from 'prop-types';
3-
import ButtonGroup from './ButtonGroup';
3+
import { SplitButtonGroup } from './SplitButtonGroup';
44
import Button from './Button';
55
import { Modal, ModalBody, ModalFooter, ModalHeader } from './modal';
66

@@ -126,7 +126,7 @@ function BasicModal(props: BasicModalProps): JSX.Element {
126126
{cancelButtonText}
127127
</Button>
128128
)}
129-
<ButtonGroup>
129+
<SplitButtonGroup>
130130
<Button
131131
kind={isConfirmDanger ? 'danger' : 'primary'}
132132
onClick={onConfirmClicked}
@@ -138,7 +138,7 @@ function BasicModal(props: BasicModalProps): JSX.Element {
138138
{confirmButtonText}
139139
</Button>
140140
{children}
141-
</ButtonGroup>
141+
</SplitButtonGroup>
142142
</ModalFooter>
143143
</Modal>
144144
);

packages/components/src/ButtonGroup.tsx renamed to packages/components/src/SplitButtonGroup.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ import React from 'react';
22
import classNames from 'classnames';
33
import PropTypes from 'prop-types';
44

5-
interface ButtonGroupProps {
5+
interface SplitButtonGroupProps {
66
children?: React.ReactNode;
77
className?: string;
88
style?: React.CSSProperties;
99
'data-testid'?: string;
1010
}
1111

12-
function ButtonGroup(props: ButtonGroupProps): JSX.Element {
12+
export function SplitButtonGroup(props: SplitButtonGroupProps): JSX.Element {
1313
const { children, className, style, 'data-testid': dataTestId } = props;
1414

1515
return (
@@ -24,19 +24,19 @@ function ButtonGroup(props: ButtonGroupProps): JSX.Element {
2424
);
2525
}
2626

27-
ButtonGroup.displayName = 'ButtonGroup';
27+
SplitButtonGroup.displayName = 'SplitButtonGroup';
2828

29-
ButtonGroup.propTypes = {
29+
SplitButtonGroup.propTypes = {
3030
children: PropTypes.node.isRequired,
3131
className: PropTypes.string,
3232
style: PropTypes.object,
3333
'data-testid': PropTypes.string,
3434
};
3535

36-
ButtonGroup.defaultProps = {
36+
SplitButtonGroup.defaultProps = {
3737
className: null,
3838
style: {},
3939
'data-testid': undefined,
4040
};
4141

42-
export default ButtonGroup;
42+
export default SplitButtonGroup;

packages/components/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ export { default as AutoCompleteInput } from './AutoCompleteInput';
44
export { default as AutoResizeTextarea } from './AutoResizeTextarea';
55
export { default as BasicModal } from './BasicModal';
66
export { default as Button } from './Button';
7-
export { default as ButtonGroup } from './ButtonGroup';
87
export { default as ButtonOld } from './ButtonOld';
98
export * from './BulkActionBar';
109
export { default as CardFlip } from './CardFlip';
@@ -50,6 +49,7 @@ export * from './SelectValueList';
5049
export * from './shortcuts';
5150
export { default as SocketedButton } from './SocketedButton';
5251
export * from './spectrum';
52+
export * from './SplitButtonGroup';
5353
export * from './TableViewEmptyState';
5454
export * from './TextWithTooltip';
5555
export * from './theme';

packages/components/src/spectrum/buttons.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
export {
22
ActionButton,
33
type SpectrumActionButtonProps as ActionButtonProps,
4+
// Button - we want to use our own `Button` component instead of Spectrum's
5+
// ButtonGroup - will re-export once our `Button` is compatible
6+
// FileTrigger - we aren't planning to support this component
47
LogicButton,
58
type SpectrumLogicButtonProps as LogicButtonProps,
69
ToggleButton,
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
export {
22
ActionBar,
33
type SpectrumActionBarProps as ActionBarProps,
4+
// ListBox - we aren't planning to support this component
45
MenuTrigger,
56
type SpectrumMenuTriggerProps as MenuTriggerProps,
7+
// TableView - we aren't planning to support this component
68
TagGroup,
79
type SpectrumTagGroupProps as TagGroupProps,
810
} from '@adobe/react-spectrum';

packages/components/src/spectrum/forms.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
export {
2+
// Checkbox - we want to use our own `Checkbox` component instead of Spectrum's
23
CheckboxGroup,
34
type SpectrumCheckboxGroupProps as CheckboxGroupProps,
45
Form,
56
type SpectrumFormProps as FormProps,
67
NumberField,
78
type SpectrumNumberFieldProps as NumberFieldProps,
9+
// Radio - re-export once we re-export RadioGroup
10+
// RadioGroup - we need to replace references to our DH `RadioGroup` before we can re-export
811
RangeSlider,
912
type SpectrumRangeSliderProps as RangeSliderProps,
1013
Slider,

0 commit comments

Comments
 (0)