StyleRecipe.of constructor
StyleRecipe.of(
- 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,
);
}
}