diff --git a/packages/accordions/src/elements/accordion/Accordion.tsx b/packages/accordions/src/elements/accordion/Accordion.tsx index 7d3df38e923..2b7e950afae 100644 --- a/packages/accordions/src/elements/accordion/Accordion.tsx +++ b/packages/accordions/src/elements/accordion/Accordion.tsx @@ -21,9 +21,9 @@ const AccordionComponent = forwardRef( children, isBare, isCompact, - isAnimated, + isAnimated = true, isExpandable, - isCollapsible, + isCollapsible = true, level, onChange, defaultExpandedSections, @@ -103,11 +103,6 @@ const AccordionComponent = forwardRef( AccordionComponent.displayName = 'Accordion'; -AccordionComponent.defaultProps = { - isAnimated: true, - isCollapsible: true -}; - /** * @extends HTMLAttributes */ diff --git a/packages/accordions/src/elements/stepper/Stepper.tsx b/packages/accordions/src/elements/stepper/Stepper.tsx index c26943b7011..2c9cb5805bc 100644 --- a/packages/accordions/src/elements/stepper/Stepper.tsx +++ b/packages/accordions/src/elements/stepper/Stepper.tsx @@ -57,10 +57,6 @@ const StepperComponent = forwardRef( StepperComponent.displayName = 'Stepper'; -StepperComponent.defaultProps = { - activeIndex: DEFAULT_ACTIVE_INDEX -}; - /** * @extends OlHTMLAttributes */ diff --git a/packages/accordions/src/styled/accordion/StyledPanel.ts b/packages/accordions/src/styled/accordion/StyledPanel.ts index 23e46dc098d..74124ebc058 100644 --- a/packages/accordions/src/styled/accordion/StyledPanel.ts +++ b/packages/accordions/src/styled/accordion/StyledPanel.ts @@ -6,12 +6,7 @@ */ import styled, { css, ThemeProps, DefaultTheme } from 'styled-components'; -import { - getLineHeight, - componentStyles, - DEFAULT_THEME, - getColor -} from '@zendeskgarden/react-theming'; +import { getLineHeight, componentStyles, getColor } from '@zendeskgarden/react-theming'; interface IStyledPanel { inert?: string; @@ -58,10 +53,11 @@ const sizeStyles = (props: IStyledPanel & ThemeProps) => { `; }; -export const StyledPanel = styled.section.attrs({ +export const StyledPanel = styled.section.attrs(({ $isAnimated = true }) => ({ + $isAnimated, 'data-garden-id': COMPONENT_ID, 'data-garden-version': PACKAGE_VERSION -})` +}))` display: grid; transition: ${props => props.$isAnimated && 'padding 0.25s ease-in-out, grid-template-rows 0.25s ease-in-out'}; @@ -72,8 +68,3 @@ export const StyledPanel = styled.section.attrs({ ${componentStyles}; `; - -StyledPanel.defaultProps = { - $isAnimated: true, - theme: DEFAULT_THEME -}; diff --git a/packages/avatars/src/elements/Avatar.tsx b/packages/avatars/src/elements/Avatar.tsx index 1fee83884ed..f02010b741a 100644 --- a/packages/avatars/src/elements/Avatar.tsx +++ b/packages/avatars/src/elements/Avatar.tsx @@ -26,7 +26,7 @@ const AvatarComponent = forwardRef( children, foregroundColor, isSystem, - size, + size = 'medium', status, statusLabel, surfaceColor, @@ -119,10 +119,6 @@ AvatarComponent.propTypes = { statusLabel: PropTypes.string }; -AvatarComponent.defaultProps = { - size: 'medium' -}; - /** * @extends HTMLAttributes */ diff --git a/packages/avatars/src/elements/StatusIndicator.tsx b/packages/avatars/src/elements/StatusIndicator.tsx index 20260f5ac69..f6d88938faa 100644 --- a/packages/avatars/src/elements/StatusIndicator.tsx +++ b/packages/avatars/src/elements/StatusIndicator.tsx @@ -31,7 +31,7 @@ import { * @extends HTMLAttributes */ export const StatusIndicator = forwardRef( - ({ children, type, isCompact, 'aria-label': label, ...props }, ref) => { + ({ children, type = 'offline', isCompact, 'aria-label': label, ...props }, ref) => { let ClockIcon = ClockIcon16; let ArrowLeftIcon = ArrowLeftIcon16; @@ -72,7 +72,3 @@ StatusIndicator.propTypes = { type: PropTypes.oneOf(STATUS), isCompact: PropTypes.bool }; - -StatusIndicator.defaultProps = { - type: 'offline' -}; diff --git a/packages/avatars/src/styled/StyledAvatar.ts b/packages/avatars/src/styled/StyledAvatar.ts index 861a81f56a8..1349cd96b70 100644 --- a/packages/avatars/src/styled/StyledAvatar.ts +++ b/packages/avatars/src/styled/StyledAvatar.ts @@ -6,7 +6,7 @@ */ import styled, { css, ThemeProps, keyframes, DefaultTheme } from 'styled-components'; -import { componentStyles, DEFAULT_THEME, getColor } from '@zendeskgarden/react-theming'; +import { componentStyles, getColor } from '@zendeskgarden/react-theming'; import { math } from 'polished'; import { IAvatarProps, SIZE } from '../types'; @@ -180,10 +180,11 @@ export interface IStyledAvatarProps { /** * Accepts all `
` props */ -export const StyledAvatar = styled.figure.attrs({ +export const StyledAvatar = styled.figure.attrs(({ $size = 'medium' }) => ({ + $size, 'data-garden-id': COMPONENT_ID, 'data-garden-version': PACKAGE_VERSION -})` +}))` display: inline-flex; position: relative; align-items: center; @@ -231,8 +232,3 @@ export const StyledAvatar = styled.figure.attrs({ ${componentStyles}; `; - -StyledAvatar.defaultProps = { - $size: 'medium', - theme: DEFAULT_THEME -}; diff --git a/packages/avatars/src/styled/StyledStandaloneStatusIndicator.ts b/packages/avatars/src/styled/StyledStandaloneStatusIndicator.ts index a9e62d22d63..f1f1e6a4ab5 100644 --- a/packages/avatars/src/styled/StyledStandaloneStatusIndicator.ts +++ b/packages/avatars/src/styled/StyledStandaloneStatusIndicator.ts @@ -6,17 +6,20 @@ */ import styled from 'styled-components'; -import { componentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming'; +import { componentStyles } from '@zendeskgarden/react-theming'; import { getStatusSize, IStyledStatusIndicatorProps } from './utility'; import { StyledStatusIndicatorBase } from './StyledStatusIndicatorBase'; const COMPONENT_ID = 'avatars.status-indicator.indicator'; -export const StyledStandaloneStatusIndicator = styled(StyledStatusIndicatorBase).attrs({ +export const StyledStandaloneStatusIndicator = styled( + StyledStatusIndicatorBase +).attrs(({ $type = 'offline' }) => ({ 'data-garden-id': COMPONENT_ID, - 'data-garden-version': PACKAGE_VERSION -})` + 'data-garden-version': PACKAGE_VERSION, + $type +}))` position: relative; box-sizing: content-box; margin-top: ${props => @@ -24,8 +27,3 @@ export const StyledStandaloneStatusIndicator = styled(StyledStatusIndicatorBase) ${componentStyles}; `; - -StyledStandaloneStatusIndicator.defaultProps = { - $type: 'offline', - theme: DEFAULT_THEME -}; diff --git a/packages/avatars/src/styled/StyledStatusIndicator.ts b/packages/avatars/src/styled/StyledStatusIndicator.ts index fde7e336c90..7bcd9fea6a9 100644 --- a/packages/avatars/src/styled/StyledStatusIndicator.ts +++ b/packages/avatars/src/styled/StyledStatusIndicator.ts @@ -6,7 +6,7 @@ */ import styled, { css, ThemeProps, DefaultTheme } from 'styled-components'; -import { componentStyles, DEFAULT_THEME, getColor } from '@zendeskgarden/react-theming'; +import { componentStyles, getColor } from '@zendeskgarden/react-theming'; import { math } from 'polished'; import { IAvatarProps, SIZE } from '../types'; @@ -90,17 +90,15 @@ const colorStyles = ({ `; }; -export const StyledStatusIndicator = styled(StyledStatusIndicatorBase).attrs({ - 'data-garden-id': COMPONENT_ID, - 'data-garden-version': PACKAGE_VERSION -})` +export const StyledStatusIndicator = styled(StyledStatusIndicatorBase).attrs( + ({ $size = 'medium' }) => ({ + $size, + 'data-garden-id': COMPONENT_ID, + 'data-garden-version': PACKAGE_VERSION + }) +)` ${sizeStyles} ${colorStyles} ${componentStyles}; `; - -StyledStatusIndicator.defaultProps = { - $size: 'medium', - theme: DEFAULT_THEME -}; diff --git a/packages/avatars/src/styled/StyledStatusIndicatorBase.ts b/packages/avatars/src/styled/StyledStatusIndicatorBase.ts index 98d2e8833f3..e91c3e479d7 100644 --- a/packages/avatars/src/styled/StyledStatusIndicatorBase.ts +++ b/packages/avatars/src/styled/StyledStatusIndicatorBase.ts @@ -6,7 +6,7 @@ */ import styled, { css, keyframes } from 'styled-components'; -import { componentStyles, DEFAULT_THEME, getColor } from '@zendeskgarden/react-theming'; +import { componentStyles, getColor } from '@zendeskgarden/react-theming'; import { TRANSITION_DURATION, @@ -86,10 +86,10 @@ const colorStyles = ({ theme, $type }: IStyledStatusIndicatorProps) => { `; }; -export const StyledStatusIndicatorBase = styled.div.attrs({ +export const StyledStatusIndicatorBase = styled.div.attrs({ 'data-garden-id': COMPONENT_ID, 'data-garden-version': PACKAGE_VERSION -})` +})` transition: inherit; ${sizeStyles} @@ -97,8 +97,3 @@ export const StyledStatusIndicatorBase = styled.div.attrs({ ${componentStyles}; `; - -StyledStatusIndicatorBase.defaultProps = { - theme: DEFAULT_THEME, - $size: 'small' -}; diff --git a/packages/buttons/src/elements/Button.tsx b/packages/buttons/src/elements/Button.tsx index a5b69b6cd0f..93f80f0d83d 100644 --- a/packages/buttons/src/elements/Button.tsx +++ b/packages/buttons/src/elements/Button.tsx @@ -24,7 +24,7 @@ const ButtonComponent = forwardRef( isPill, isPrimary, isStretched, - size, + size = 'medium', ...other }, ref @@ -64,10 +64,6 @@ ButtonComponent.propTypes = { size: PropTypes.oneOf(SIZE) }; -ButtonComponent.defaultProps = { - size: 'medium' -}; - /** * @extends ButtonHTMLAttributes */ diff --git a/packages/buttons/src/elements/ChevronButton.tsx b/packages/buttons/src/elements/ChevronButton.tsx index 4f7047e7436..f484b7b2f47 100644 --- a/packages/buttons/src/elements/ChevronButton.tsx +++ b/packages/buttons/src/elements/ChevronButton.tsx @@ -13,18 +13,14 @@ import { IIconButtonProps } from '../types'; /** * @extends ButtonHTMLAttributes */ -export const ChevronButton = forwardRef((props, ref) => ( - - - -)); +export const ChevronButton = forwardRef( + ({ isBasic = false, isPill = false, size = 'medium', ...props }, ref) => ( + + + + ) +); ChevronButton.displayName = 'ChevronButton'; ChevronButton.propTypes = IconButton.propTypes; - -ChevronButton.defaultProps = { - isBasic: false, - isPill: false, - size: 'medium' -}; diff --git a/packages/buttons/src/elements/IconButton.tsx b/packages/buttons/src/elements/IconButton.tsx index 737fd070efe..c0ad4bccd4c 100644 --- a/packages/buttons/src/elements/IconButton.tsx +++ b/packages/buttons/src/elements/IconButton.tsx @@ -19,13 +19,13 @@ export const IconButton = forwardRef( { children, focusInset, - isBasic, + isBasic = true, isDanger, isNeutral, - isPill, + isPill = true, isPrimary, isRotated, - size, + size = 'medium', ...other }, ref @@ -62,9 +62,3 @@ IconButton.propTypes = { isRotated: PropTypes.bool, size: PropTypes.oneOf(SIZE) }; - -IconButton.defaultProps = { - isPill: true, - isBasic: true, - size: 'medium' -}; diff --git a/packages/buttons/src/elements/ToggleButton.tsx b/packages/buttons/src/elements/ToggleButton.tsx index 3bc1ef5b3f8..616566c1925 100644 --- a/packages/buttons/src/elements/ToggleButton.tsx +++ b/packages/buttons/src/elements/ToggleButton.tsx @@ -14,8 +14,8 @@ import { Button } from './Button'; * @extends ButtonHTMLAttributes */ export const ToggleButton = forwardRef( - ({ isPressed, ...otherProps }, ref) => ( -