feat(ui): proxy some rich text parameters

This commit is contained in:
2023-05-12 14:39:51 +02:00
parent 5de3dbd5b3
commit 952d3f8539
5 changed files with 281 additions and 19 deletions
@@ -29,6 +29,17 @@ class RichTextBuilder extends RichTextBuilderComponent
super.parser,
super.defaultStyle,
super.styles,
super.strutStyle,
super.textAlign,
super.textDirection,
super.locale,
super.softWrap,
super.overflow,
super.textScaleFactor,
super.maxLines,
super.semanticsLabel,
super.textWidthBasis,
super.selectionColor,
super.key,
});
@@ -91,6 +102,17 @@ class RichTextBuilder extends RichTextBuilderComponent
TextSpan(children: [root.toInlineSpan(customParser)]),
textHeightBehavior:
const TextHeightBehavior(applyHeightToLastDescent: false),
strutStyle: super.strutStyle,
textAlign: super.textAlign,
textDirection: super.textDirection,
locale: super.locale,
softWrap: super.softWrap,
overflow: super.overflow,
textScaleFactor: super.textScaleFactor,
maxLines: super.maxLines,
semanticsLabel: super.semanticsLabel,
textWidthBasis: super.textWidthBasis,
selectionColor: super.selectionColor,
);
}
}
@@ -20,6 +20,34 @@ class $RichTextBuilderCWProxyImpl implements $RichTextBuilderComponentCWProxy {
RichTextBuilder styles(Map<String, TextStyle>? styles) =>
this(styles: styles);
@override
RichTextBuilder strutStyle(StrutStyle? strutStyle) =>
this(strutStyle: strutStyle);
@override
RichTextBuilder textAlign(TextAlign? textAlign) => this(textAlign: textAlign);
@override
RichTextBuilder textDirection(TextDirection? textDirection) =>
this(textDirection: textDirection);
@override
RichTextBuilder locale(Locale? locale) => this(locale: locale);
@override
RichTextBuilder softWrap(bool? softWrap) => this(softWrap: softWrap);
@override
RichTextBuilder overflow(TextOverflow? overflow) => this(overflow: overflow);
@override
RichTextBuilder textScaleFactor(double? textScaleFactor) =>
this(textScaleFactor: textScaleFactor);
@override
RichTextBuilder maxLines(int? maxLines) => this(maxLines: maxLines);
@override
RichTextBuilder semanticsLabel(String? semanticsLabel) =>
this(semanticsLabel: semanticsLabel);
@override
RichTextBuilder textWidthBasis(TextWidthBasis? textWidthBasis) =>
this(textWidthBasis: textWidthBasis);
@override
RichTextBuilder selectionColor(Color? selectionColor) =>
this(selectionColor: selectionColor);
@override
RichTextBuilder key(Key? key) => this(key: key);
@override
RichTextBuilder call({
@@ -27,6 +55,17 @@ class $RichTextBuilderCWProxyImpl implements $RichTextBuilderComponentCWProxy {
RichTextParser? parser,
TextStyle? defaultStyle,
Map<String, TextStyle>? styles,
StrutStyle? strutStyle,
TextAlign? textAlign,
TextDirection? textDirection,
Locale? locale,
bool? softWrap,
TextOverflow? overflow,
double? textScaleFactor,
int? maxLines,
String? semanticsLabel,
TextWidthBasis? textWidthBasis,
Color? selectionColor,
Key? key,
}) =>
RichTextBuilder(
@@ -34,6 +73,17 @@ class $RichTextBuilderCWProxyImpl implements $RichTextBuilderComponentCWProxy {
parser: parser ?? _value.parser,
defaultStyle: defaultStyle ?? _value.defaultStyle,
styles: styles ?? _value.styles,
strutStyle: strutStyle ?? _value.strutStyle,
textAlign: textAlign ?? _value.textAlign,
textDirection: textDirection ?? _value.textDirection,
locale: locale ?? _value.locale,
softWrap: softWrap ?? _value.softWrap,
overflow: overflow ?? _value.overflow,
textScaleFactor: textScaleFactor ?? _value.textScaleFactor,
maxLines: maxLines ?? _value.maxLines,
semanticsLabel: semanticsLabel ?? _value.semanticsLabel,
textWidthBasis: textWidthBasis ?? _value.textWidthBasis,
selectionColor: selectionColor ?? _value.selectionColor,
key: key ?? _value.key,
);
}
@@ -17,6 +17,7 @@
import 'package:flutter/material.dart';
import 'package:wyatt_ui_components/wyatt_ui_components.dart';
import 'package:wyatt_ui_kit/src/components/gradients/gradient_text_style.dart';
import 'package:wyatt_ui_kit/src/core/design_system/colors.dart';
class RichTextBuilderThemeExtensionImpl extends RichTextBuilderThemeExtension {
const RichTextBuilderThemeExtensionImpl({
@@ -52,54 +53,131 @@ class RichTextBuilderThemeExtensionImpl extends RichTextBuilderThemeExtension {
fontWeight: FontWeight.w600,
height: 1.8,
),
const MultiColor([
Color(0xFF3C97FB),
Color(0xFF436EF4),
]),
WyattColors.blueGradient,
),
'gradient-dark-blue': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
WyattColors.darkBlueGradient,
),
'gradient-gray': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
WyattColors.grayGradient,
),
'gradient-light-gray': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
WyattColors.lightGrayGradient,
),
'gradient-light': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
WyattColors.lightGradient,
),
'gradient-purple': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
WyattColors.purpleGradient,
),
'gradient-red': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
const MultiColor([
Color(0xFFF44464),
Color(0xFFF44464),
]),
WyattColors.redGradient,
),
'gradient-yellow': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
WyattColors.yellowGradient,
),
'gradient-green': GradientTextStyle.from(
theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
height: 1.8,
),
const MultiColor([
Color(0xFF00D16C),
Color(0xFF00D16C),
]),
WyattColors.greenGradient,
),
'blue': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: const Color(0xFF3C97FB),
color: WyattColors.blue1,
height: 1.8,
) ??
const TextStyle(
color: Color(0xFF3C97FB),
color: WyattColors.blue1,
),
'red': theme.textTheme.bodyMedium?.copyWith(
'dark-blue': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: const Color(0xFFF44464),
color: WyattColors.darkBlue1,
height: 1.8,
) ??
const TextStyle(
color: Color(0xFFF44464),
color: WyattColors.darkBlue1,
),
'gray': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: WyattColors.gray1,
height: 1.8,
) ??
const TextStyle(
color: WyattColors.gray1,
),
'green': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: const Color(0xFF00D16C),
color: WyattColors.green1,
height: 1.8,
) ??
const TextStyle(
color: Color(0xFF00D16C),
color: WyattColors.green1,
),
'light': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: WyattColors.light,
height: 1.8,
) ??
const TextStyle(
color: WyattColors.light,
),
'light-gray': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: WyattColors.lightGray1,
height: 1.8,
) ??
const TextStyle(
color: WyattColors.lightGray1,
),
'purple': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: WyattColors.purple1,
height: 1.8,
) ??
const TextStyle(
color: WyattColors.purple1,
),
'red': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: WyattColors.red1,
height: 1.8,
) ??
const TextStyle(color: WyattColors.red1),
'yellow': theme.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.w600,
color: WyattColors.yellow1,
height: 1.8,
) ??
const TextStyle(color: WyattColors.yellow1),
};
}