StyleRecipe.of constructor

StyleRecipe.of(
  1. DesignStyle style
)

Implementation

factory StyleRecipe.of(DesignStyle style) {
  switch (style) {
    case DesignStyle.material:
      return StyleRecipe(
        style: style,
        radius: const [0, 4, 8, 12, 16, 28, 999],
        blur: const [0, 0, 0, 0, 0, 0],
        opacity: const [0.38, 0.08, 1.0, 1.0, 0.5, 0.6],
        elevation: const [0, 1, 3, 6, 12],
        motionMs: const [0, 150, 300, 500, 400],
        borderThin: 1,
        borderRegular: 1,
        borderBold: 2,
        shadowOffset: 1,
        shadowBlur: 4,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 32,
        headlineSize: 24,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: false,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: false,
        avoidGradients: false,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.vibrant:
      return StyleRecipe(
        style: style,
        radius: const [0, 6, 10, 16, 24, 32, 999],
        blur: const [0, 2, 4, 8, 12, 16],
        opacity: const [0.38, 0.12, 1.0, 0.92, 0.55, 0.65],
        elevation: const [0, 2, 6, 10, 16],
        motionMs: const [0, 120, 220, 400, 280],
        borderThin: 1,
        borderRegular: 1.5,
        borderBold: 2,
        shadowOffset: 2,
        shadowBlur: 10,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 34,
        headlineSize: 26,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: false,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: true,
        avoidGradients: false,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.minimalism:
      return StyleRecipe(
        style: style,
        radius: const [0, 2, 4, 8, 12, 16, 999],
        blur: const [0, 0, 0, 0, 0, 0],
        opacity: const [0.38, 0.04, 1.0, 1.0, 0.4, 0.5],
        elevation: const [0, 0, 1, 2, 4],
        motionMs: const [0, 180, 320, 520, 360],
        borderThin: 1,
        borderRegular: 1,
        borderBold: 1.5,
        shadowOffset: 0,
        shadowBlur: 2,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 36,
        headlineSize: 24,
        titleSize: 18,
        bodySize: 15,
        labelSize: 13,
        captionSize: 12,
        boldHeadlines: false,
        usesBlur: false,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: false,
        avoidGradients: true,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.neomorphism:
      return StyleRecipe(
        style: style,
        radius: const [0, 8, 12, 18, 24, 32, 999],
        blur: const [0, 0, 0, 0, 0, 0],
        opacity: const [0.4, 0.06, 1.0, 1.0, 0.45, 0.55],
        elevation: const [0, 2, 4, 6, 10],
        motionMs: const [0, 140, 260, 420, 320],
        borderThin: 0,
        borderRegular: 0,
        borderBold: 1,
        shadowOffset: 0,
        shadowBlur: 0,
        shadowSpread: 0,
        neoOffset: 6,
        neoBlur: 12,
        hardShadowOffset: 0,
        displaySize: 32,
        headlineSize: 24,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: false,
        usesNeoShadows: true,
        usesHardOffsetShadow: false,
        usesInsetPress: true,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: false,
        avoidGradients: true,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.skeuomorphism:
      return StyleRecipe(
        style: style,
        radius: const [0, 4, 8, 12, 18, 24, 999],
        blur: const [0, 0, 2, 4, 6, 8],
        opacity: const [0.4, 0.1, 1.0, 0.95, 0.5, 0.6],
        elevation: const [0, 2, 5, 8, 14],
        motionMs: const [0, 140, 280, 450, 340],
        borderThin: 1,
        borderRegular: 1.5,
        borderBold: 2.5,
        shadowOffset: 2,
        shadowBlur: 6,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 32,
        headlineSize: 24,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: false,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: true,
        usesClayInflation: false,
        usesSkeuoGradient: true,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: false,
        avoidGradients: false,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.glassmorphism:
      return StyleRecipe(
        style: style,
        radius: const [0, 8, 12, 18, 24, 32, 999],
        blur: const [0, 6, 10, 16, 24, 32],
        opacity: const [0.38, 0.1, 0.72, 0.55, 0.45, 0.55],
        elevation: const [0, 2, 6, 10, 18],
        motionMs: const [0, 160, 300, 480, 380],
        borderThin: 1,
        borderRegular: 1,
        borderBold: 1.5,
        shadowOffset: 4,
        shadowBlur: 16,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 32,
        headlineSize: 24,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: true,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: false,
        avoidGradients: false,
        reducedTransparencyFallback: true,
      );
    case DesignStyle.claymorphism:
      return StyleRecipe(
        style: style,
        radius: const [0, 12, 18, 24, 32, 40, 999],
        blur: const [0, 0, 0, 0, 0, 0],
        opacity: const [0.4, 0.08, 1.0, 1.0, 0.45, 0.55],
        elevation: const [0, 3, 8, 14, 20],
        motionMs: const [0, 160, 280, 460, 340],
        borderThin: 0,
        borderRegular: 0,
        borderBold: 0,
        shadowOffset: 8,
        shadowBlur: 18,
        shadowSpread: 2,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 32,
        headlineSize: 24,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: false,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: true,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: false,
        avoidGradients: false,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.maximalism:
      return StyleRecipe(
        style: style,
        radius: const [0, 2, 8, 16, 28, 40, 999],
        blur: const [0, 2, 6, 10, 16, 24],
        opacity: const [0.45, 0.16, 1.0, 0.9, 0.6, 0.7],
        elevation: const [0, 3, 8, 14, 22],
        motionMs: const [0, 100, 200, 360, 260],
        borderThin: 1.5,
        borderRegular: 2,
        borderBold: 3,
        shadowOffset: 4,
        shadowBlur: 12,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 40,
        headlineSize: 28,
        titleSize: 22,
        bodySize: 15,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: false,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: true,
        avoidGradients: false,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.brutalism:
      return StyleRecipe(
        style: style,
        radius: const [0, 0, 0, 2, 4, 4, 999],
        blur: const [0, 0, 0, 0, 0, 0],
        opacity: const [0.5, 0.0, 1.0, 1.0, 0.7, 0.8],
        elevation: const [0, 0, 0, 0, 0],
        motionMs: const [0, 80, 120, 200, 100],
        borderThin: 2,
        borderRegular: 3,
        borderBold: 4,
        shadowOffset: 0,
        shadowBlur: 0,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 6,
        displaySize: 36,
        headlineSize: 26,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: false,
        usesNeoShadows: false,
        usesHardOffsetShadow: true,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: false,
        prefersGradientButtons: false,
        avoidGradients: true,
        reducedTransparencyFallback: false,
      );
    case DesignStyle.liquidGlass:
      return StyleRecipe(
        style: style,
        radius: const [0, 10, 16, 22, 28, 36, 999],
        blur: const [0, 8, 14, 20, 28, 36],
        opacity: const [0.38, 0.12, 0.64, 0.42, 0.4, 0.5],
        elevation: const [0, 3, 8, 14, 22],
        motionMs: const [0, 180, 340, 560, 420],
        borderThin: 1,
        borderRegular: 1.2,
        borderBold: 1.5,
        shadowOffset: 6,
        shadowBlur: 20,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 34,
        headlineSize: 24,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: true,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: true,
        usesSpatialDepth: false,
        prefersGradientButtons: true,
        avoidGradients: false,
        reducedTransparencyFallback: true,
      );
    case DesignStyle.spatialUi:
      return StyleRecipe(
        style: style,
        radius: const [0, 10, 16, 22, 28, 36, 999],
        blur: const [0, 4, 8, 14, 20, 28],
        opacity: const [0.38, 0.1, 0.94, 0.7, 0.4, 0.55],
        elevation: const [0, 4, 10, 18, 28],
        motionMs: const [0, 180, 360, 540, 440],
        borderThin: 0.5,
        borderRegular: 1,
        borderBold: 1.5,
        shadowOffset: 8,
        shadowBlur: 24,
        shadowSpread: 0,
        neoOffset: 0,
        neoBlur: 0,
        hardShadowOffset: 0,
        displaySize: 32,
        headlineSize: 24,
        titleSize: 20,
        bodySize: 14,
        labelSize: 14,
        captionSize: 12,
        boldHeadlines: true,
        usesBlur: true,
        usesNeoShadows: false,
        usesHardOffsetShadow: false,
        usesInsetPress: false,
        usesClayInflation: false,
        usesSkeuoGradient: false,
        usesLiquidHighlight: false,
        usesSpatialDepth: true,
        prefersGradientButtons: false,
        avoidGradients: false,
        reducedTransparencyFallback: true,
      );
  }
}