buildStandardStateSection method

Widget buildStandardStateSection(
  1. String stateName
)

Build a complete state section for a standard 4-state component using the state's built-in properties

Implementation

Widget buildStandardStateSection(String stateName) {
  switch (stateName.toLowerCase()) {
    case 'rest':
      return buildStateSection(
        stateName: 'Rest',
        overrideEnabled: state.restOverrideEnabled,
        onOverrideChanged: (v) => state.restOverrideEnabled = v,
        baseColor: isDarkMode ? state.restBaseColorDark : state.restBaseColorLight,
        textColor: isDarkMode ? state.restTextColorDark : state.restTextColorLight,
        iconColor: isDarkMode ? state.restIconColorDark : state.restIconColorLight,
        onBaseColorChanged: (c) => isDarkMode
            ? state.restBaseColorDark = c
            : state.restBaseColorLight = c,
        onTextColorChanged: (c) => isDarkMode
            ? state.restTextColorDark = c
            : state.restTextColorLight = c,
        onIconColorChanged: (c) => isDarkMode
            ? state.restIconColorDark = c
            : state.restIconColorLight = c,
        distanceOverride: state.restDistanceOverride,
        blurOverride: state.restBlurOverride,
        lightIntensityOverride: state.restLightIntensityOverride,
        darkIntensityOverride: state.restDarkIntensityOverride,
        onDistanceOverrideChanged: (v) => state.restDistanceOverride = v,
        onBlurOverrideChanged: (v) => state.restBlurOverride = v,
        onLightIntensityOverrideChanged: (v) => state.restLightIntensityOverride = v,
        onDarkIntensityOverrideChanged: (v) => state.restDarkIntensityOverride = v,
      );
    case 'hover':
      return buildStateSection(
        stateName: 'Hover',
        overrideEnabled: state.hoverOverrideEnabled,
        onOverrideChanged: (v) => state.hoverOverrideEnabled = v,
        baseColor: isDarkMode ? state.hoverBaseColorDark : state.hoverBaseColorLight,
        textColor: isDarkMode ? state.hoverTextColorDark : state.hoverTextColorLight,
        iconColor: isDarkMode ? state.hoverIconColorDark : state.hoverIconColorLight,
        onBaseColorChanged: (c) => isDarkMode
            ? state.hoverBaseColorDark = c
            : state.hoverBaseColorLight = c,
        onTextColorChanged: (c) => isDarkMode
            ? state.hoverTextColorDark = c
            : state.hoverTextColorLight = c,
        onIconColorChanged: (c) => isDarkMode
            ? state.hoverIconColorDark = c
            : state.hoverIconColorLight = c,
        distanceOverride: state.hoverDistanceOverride,
        blurOverride: state.hoverBlurOverride,
        lightIntensityOverride: state.hoverLightIntensityOverride,
        darkIntensityOverride: state.hoverDarkIntensityOverride,
        onDistanceOverrideChanged: (v) => state.hoverDistanceOverride = v,
        onBlurOverrideChanged: (v) => state.hoverBlurOverride = v,
        onLightIntensityOverrideChanged: (v) => state.hoverLightIntensityOverride = v,
        onDarkIntensityOverrideChanged: (v) => state.hoverDarkIntensityOverride = v,
      );
    case 'pressed':
      return buildStateSection(
        stateName: 'Pressed',
        overrideEnabled: state.pressedOverrideEnabled,
        onOverrideChanged: (v) => state.pressedOverrideEnabled = v,
        baseColor: isDarkMode ? state.pressedBaseColorDark : state.pressedBaseColorLight,
        textColor: isDarkMode ? state.pressedTextColorDark : state.pressedTextColorLight,
        iconColor: isDarkMode ? state.pressedIconColorDark : state.pressedIconColorLight,
        onBaseColorChanged: (c) => isDarkMode
            ? state.pressedBaseColorDark = c
            : state.pressedBaseColorLight = c,
        onTextColorChanged: (c) => isDarkMode
            ? state.pressedTextColorDark = c
            : state.pressedTextColorLight = c,
        onIconColorChanged: (c) => isDarkMode
            ? state.pressedIconColorDark = c
            : state.pressedIconColorLight = c,
        distanceOverride: state.pressedDistanceOverride,
        blurOverride: state.pressedBlurOverride,
        lightIntensityOverride: state.pressedLightIntensityOverride,
        darkIntensityOverride: state.pressedDarkIntensityOverride,
        onDistanceOverrideChanged: (v) => state.pressedDistanceOverride = v,
        onBlurOverrideChanged: (v) => state.pressedBlurOverride = v,
        onLightIntensityOverrideChanged: (v) => state.pressedLightIntensityOverride = v,
        onDarkIntensityOverrideChanged: (v) => state.pressedDarkIntensityOverride = v,
      );
    case 'disabled':
      return buildStateSection(
        stateName: 'Disabled',
        overrideEnabled: state.disabledOverrideEnabled,
        onOverrideChanged: (v) => state.disabledOverrideEnabled = v,
        baseColor: isDarkMode ? state.disabledBaseColorDark : state.disabledBaseColorLight,
        textColor: isDarkMode ? state.disabledTextColorDark : state.disabledTextColorLight,
        iconColor: isDarkMode ? state.disabledIconColorDark : state.disabledIconColorLight,
        onBaseColorChanged: (c) => isDarkMode
            ? state.disabledBaseColorDark = c
            : state.disabledBaseColorLight = c,
        onTextColorChanged: (c) => isDarkMode
            ? state.disabledTextColorDark = c
            : state.disabledTextColorLight = c,
        onIconColorChanged: (c) => isDarkMode
            ? state.disabledIconColorDark = c
            : state.disabledIconColorLight = c,
        distanceOverride: state.disabledDistanceOverride,
        blurOverride: state.disabledBlurOverride,
        lightIntensityOverride: state.disabledLightIntensityOverride,
        darkIntensityOverride: state.disabledDarkIntensityOverride,
        onDistanceOverrideChanged: (v) => state.disabledDistanceOverride = v,
        onBlurOverrideChanged: (v) => state.disabledBlurOverride = v,
        onLightIntensityOverrideChanged: (v) => state.disabledLightIntensityOverride = v,
        onDarkIntensityOverrideChanged: (v) => state.disabledDarkIntensityOverride = v,
      );
    default:
      throw ArgumentError('Unknown state: $stateName');
  }
}