copyWith method

CollapsibleTheme copyWith({
  1. ValueGetter<double?>? padding,
  2. ValueGetter<IconData?>? iconExpanded,
  3. ValueGetter<IconData?>? iconCollapsed,
  4. ValueGetter<CrossAxisAlignment?>? crossAxisAlignment,
  5. ValueGetter<MainAxisAlignment?>? mainAxisAlignment,
  6. ValueGetter<double?>? iconGap,
})

Creates a copy of this theme with the given fields replaced.

Uses ValueGetter functions to allow conditional updates where null getters preserve the original value.

Example:

final newTheme = originalTheme.copyWith(
  padding: () => 20.0,
  iconGap: () => 12.0,
);

Implementation

CollapsibleTheme copyWith({
  ValueGetter<double?>? padding,
  ValueGetter<IconData?>? iconExpanded,
  ValueGetter<IconData?>? iconCollapsed,
  ValueGetter<CrossAxisAlignment?>? crossAxisAlignment,
  ValueGetter<MainAxisAlignment?>? mainAxisAlignment,
  ValueGetter<double?>? iconGap,
}) {
  return CollapsibleTheme(
    padding: padding == null ? this.padding : padding(),
    iconExpanded: iconExpanded == null ? this.iconExpanded : iconExpanded(),
    iconCollapsed:
        iconCollapsed == null ? this.iconCollapsed : iconCollapsed(),
    crossAxisAlignment: crossAxisAlignment == null
        ? this.crossAxisAlignment
        : crossAxisAlignment(),
    mainAxisAlignment: mainAxisAlignment == null
        ? this.mainAxisAlignment
        : mainAxisAlignment(),
    iconGap: iconGap == null ? this.iconGap : iconGap(),
  );
}