diff --git a/lib/logic/api_maps/rest_maps/backblaze.dart b/lib/logic/api_maps/rest_maps/backblaze.dart index d908cd26..f622a2fd 100644 --- a/lib/logic/api_maps/rest_maps/backblaze.dart +++ b/lib/logic/api_maps/rest_maps/backblaze.dart @@ -137,7 +137,7 @@ class BackblazeApi extends RestApiMap { { 'daysFromHidingToDeleting': 30, 'daysFromUploadingToHiding': null, - 'fileNamePrefix': '' + 'fileNamePrefix': '', } ], }, diff --git a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart index 9ffdb666..bd453dee 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart @@ -5,7 +5,6 @@ import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/logic/api_maps/generic_result.dart'; import 'package:selfprivacy/logic/api_maps/rest_maps/rest_api_map.dart'; import 'package:selfprivacy/logic/api_maps/tls_options.dart'; -import 'package:selfprivacy/logic/models/disk_size.dart'; import 'package:selfprivacy/logic/models/hive/user.dart'; import 'package:selfprivacy/logic/models/json/digital_ocean_server_info.dart'; import 'package:selfprivacy/utils/password_generator.dart'; diff --git a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart index 5029561d..cb66c57a 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart @@ -409,7 +409,7 @@ class HetznerApi extends RestApiMap { 'labels': {'labelkey': 'value'}, 'location': region, 'automount': false, - 'format': 'ext4' + 'format': 'ext4', }, ); volume = HetznerVolume.fromJson(createVolumeResponse.data['volume']); @@ -586,7 +586,7 @@ class HetznerApi extends RestApiMap { final Map queryParameters = { 'start': start.toUtc().toIso8601String(), 'end': end.toUtc().toIso8601String(), - 'type': type + 'type': type, }; final Response res = await client.get( '/servers/$serverId/metrics', diff --git a/lib/logic/cubit/server_installation/server_installation_state.dart b/lib/logic/cubit/server_installation/server_installation_state.dart index 9f701a0a..9abd5a21 100644 --- a/lib/logic/cubit/server_installation/server_installation_state.dart +++ b/lib/logic/cubit/server_installation/server_installation_state.dart @@ -26,7 +26,7 @@ abstract class ServerInstallationState extends Equatable { serverDetails, isServerStarted, isServerResetedFirstTime, - installationDialoguePopUp + installationDialoguePopUp, ]; final String? providerApiToken; @@ -317,7 +317,7 @@ class ServerInstallationRecovery extends ServerInstallationState { isServerStarted, isServerResetedFirstTime, currentStep, - installationDialoguePopUp + installationDialoguePopUp, ]; ServerInstallationRecovery copyWith({ diff --git a/lib/logic/cubit/server_jobs/server_jobs_cubit.dart b/lib/logic/cubit/server_jobs/server_jobs_cubit.dart index 4cc0cf97..09d77b14 100644 --- a/lib/logic/cubit/server_jobs/server_jobs_cubit.dart +++ b/lib/logic/cubit/server_jobs/server_jobs_cubit.dart @@ -90,7 +90,7 @@ class ServerJobsCubit ServerJobsState( serverJobList: [ for (final ServerJob job in state.serverJobList) - if (job.uid != uid) job + if (job.uid != uid) job, ], ), ); diff --git a/lib/logic/providers/dns_providers/cloudflare.dart b/lib/logic/providers/dns_providers/cloudflare.dart index 6cf4a494..de30ca3c 100644 --- a/lib/logic/providers/dns_providers/cloudflare.dart +++ b/lib/logic/providers/dns_providers/cloudflare.dart @@ -385,7 +385,7 @@ class CloudflareDnsProvider extends DnsProvider { mx, txt1, txt2, - vpn + vpn, ]; } diff --git a/lib/logic/providers/dns_providers/desec.dart b/lib/logic/providers/dns_providers/desec.dart index a5e3e8d7..37d39776 100644 --- a/lib/logic/providers/dns_providers/desec.dart +++ b/lib/logic/providers/dns_providers/desec.dart @@ -323,7 +323,7 @@ class DesecDnsProvider extends DnsProvider { mx, txt1, txt2, - vpn + vpn, ]; } diff --git a/lib/logic/providers/dns_providers/digital_ocean_dns.dart b/lib/logic/providers/dns_providers/digital_ocean_dns.dart index 4fac4b65..a721a8c6 100644 --- a/lib/logic/providers/dns_providers/digital_ocean_dns.dart +++ b/lib/logic/providers/dns_providers/digital_ocean_dns.dart @@ -276,7 +276,7 @@ class DigitalOceanDnsProvider extends DnsProvider { mx, txt1, txt2, - vpn + vpn, ]; } diff --git a/lib/ui/components/progress_bar/progress_bar.dart b/lib/ui/components/progress_bar/progress_bar.dart index 7f743f44..1861bd0b 100644 --- a/lib/ui/components/progress_bar/progress_bar.dart +++ b/lib/ui/components/progress_bar/progress_bar.dart @@ -78,7 +78,7 @@ class _ProgressBarState extends State { end: Alignment.bottomRight, colors: [ Theme.of(context).colorScheme.primary, - Theme.of(context).colorScheme.secondary + Theme.of(context).colorScheme.secondary, ], ), ), @@ -110,7 +110,7 @@ class _ProgressBarState extends State { style: progressTextStyleLight, children: [ TextSpan(text: '${index + 1}.', style: style), - TextSpan(text: step, style: style) + TextSpan(text: step, style: style), ], ), ), diff --git a/lib/ui/helpers/empty_page_placeholder.dart b/lib/ui/helpers/empty_page_placeholder.dart index e1bb0d7b..e96f91f9 100644 --- a/lib/ui/helpers/empty_page_placeholder.dart +++ b/lib/ui/helpers/empty_page_placeholder.dart @@ -32,7 +32,7 @@ class EmptyPagePlaceholder extends StatelessWidget { child: _expandedContent(context), ), ), - ) + ), ], ); diff --git a/lib/ui/pages/backups/backup_details.dart b/lib/ui/pages/backups/backup_details.dart index 344876b1..fa2f3b61 100644 --- a/lib/ui/pages/backups/backup_details.dart +++ b/lib/ui/pages/backups/backup_details.dart @@ -163,7 +163,7 @@ class BackupDetailsPage extends StatelessWidget { autobackupPeriod != null ? 'backup.autobackup_period_subtitle'.tr( namedArgs: { - 'period': autobackupPeriod.toPrettyString(context.locale) + 'period': autobackupPeriod.toPrettyString(context.locale), }, ) : 'backup.autobackup_period_never'.tr(), @@ -337,7 +337,7 @@ class BackupDetailsPage extends StatelessWidget { actionButtonOnPressed: () => { context.read().forgetSnapshot( backup.id, - ) + ), }, ); }, @@ -385,7 +385,7 @@ class BackupDetailsPage extends StatelessWidget { ), onTap: () => context.pushRoute(BackupsListRoute(service: null)), - ) + ), ], ), const SizedBox(height: 8), diff --git a/lib/ui/pages/backups/backups_list.dart b/lib/ui/pages/backups/backups_list.dart index 4af870ef..00de5435 100644 --- a/lib/ui/pages/backups/backups_list.dart +++ b/lib/ui/pages/backups/backups_list.dart @@ -39,68 +39,70 @@ class BackupsListPage extends StatelessWidget { ), ) else - ...backups.map((final Backup backup) { - final service = context - .read() - .state - .getServiceById(backup.serviceId); - return ListTile( - onTap: preventActions - ? null - : () { - showModalBottomSheet( - useRootNavigator: true, - context: context, - isScrollControlled: true, - builder: (final BuildContext context) => - DraggableScrollableSheet( - expand: false, - maxChildSize: 0.9, - minChildSize: 0.5, - initialChildSize: 0.7, - builder: (final context, final scrollController) => - SnapshotModal( - snapshot: backup, - scrollController: scrollController, + ...backups.map( + (final Backup backup) { + final service = context + .read() + .state + .getServiceById(backup.serviceId); + return ListTile( + onTap: preventActions + ? null + : () { + showModalBottomSheet( + useRootNavigator: true, + context: context, + isScrollControlled: true, + builder: (final BuildContext context) => + DraggableScrollableSheet( + expand: false, + maxChildSize: 0.9, + minChildSize: 0.5, + initialChildSize: 0.7, + builder: (final context, final scrollController) => + SnapshotModal( + snapshot: backup, + scrollController: scrollController, + ), ), + ); + }, + onLongPress: preventActions + ? null + : () { + showPopUpAlert( + alertTitle: 'backup.forget_snapshot'.tr(), + description: 'backup.forget_snapshot_alert'.tr(), + actionButtonTitle: 'backup.forget_snapshot'.tr(), + actionButtonOnPressed: () => { + context.read().forgetSnapshot( + backup.id, + ), + }, + ); + }, + title: Text( + '${MaterialLocalizations.of(context).formatShortDate(backup.time)} ${TimeOfDay.fromDateTime(backup.time).format(context)}', + ), + subtitle: Text( + service?.displayName ?? backup.fallbackServiceName, + ), + leading: service != null + ? SvgPicture.string( + service.svgIcon, + height: 24, + width: 24, + colorFilter: ColorFilter.mode( + Theme.of(context).colorScheme.onBackground, + BlendMode.srcIn, ), - ); - }, - onLongPress: preventActions - ? null - : () { - showPopUpAlert( - alertTitle: 'backup.forget_snapshot'.tr(), - description: 'backup.forget_snapshot_alert'.tr(), - actionButtonTitle: 'backup.forget_snapshot'.tr(), - actionButtonOnPressed: () => { - context.read().forgetSnapshot( - backup.id, - ) - }, - ); - }, - title: Text( - '${MaterialLocalizations.of(context).formatShortDate(backup.time)} ${TimeOfDay.fromDateTime(backup.time).format(context)}', - ), - subtitle: Text( - service?.displayName ?? backup.fallbackServiceName, - ), - leading: service != null - ? SvgPicture.string( - service.svgIcon, - height: 24, - width: 24, - colorFilter: ColorFilter.mode( - Theme.of(context).colorScheme.onBackground, - BlendMode.srcIn, + ) + : const Icon( + Icons.question_mark_outlined, ), - ) - : const Icon( - Icons.question_mark_outlined, - ), - ); - }) + ); + }, + ), ], ); } diff --git a/lib/ui/pages/backups/snapshot_modal.dart b/lib/ui/pages/backups/snapshot_modal.dart index 9d714c25..37b10a17 100644 --- a/lib/ui/pages/backups/snapshot_modal.dart +++ b/lib/ui/pages/backups/snapshot_modal.dart @@ -172,7 +172,7 @@ class _SnapshotModalState extends State { isWarning: true, text: 'backup.snapshot_modal_service_not_found'.tr(), ), - ) + ), ], ), ); diff --git a/lib/ui/pages/more/app_settings/app_settings.dart b/lib/ui/pages/more/app_settings/app_settings.dart index 6ab69f40..9d7edf6b 100644 --- a/lib/ui/pages/more/app_settings/app_settings.dart +++ b/lib/ui/pages/more/app_settings/app_settings.dart @@ -62,7 +62,7 @@ class _AppSettingsPageState extends State { ), const _ResetAppTile(), // const Divider(height: 0), - _deleteServer(context) + _deleteServer(context), ], ); } diff --git a/lib/ui/pages/more/more.dart b/lib/ui/pages/more/more.dart index 3d85b093..0e96d340 100644 --- a/lib/ui/pages/more/more.dart +++ b/lib/ui/pages/more/more.dart @@ -118,7 +118,7 @@ class MorePage extends StatelessWidget { ), ], ), - ) + ), ], ), ); diff --git a/lib/ui/pages/server_details/charts/chart.dart b/lib/ui/pages/server_details/charts/chart.dart index 774dcf75..76576261 100644 --- a/lib/ui/pages/server_details/charts/chart.dart +++ b/lib/ui/pages/server_details/charts/chart.dart @@ -113,7 +113,7 @@ class _Chart extends StatelessWidget { titles: [ 'resource_chart.month'.tr(), 'resource_chart.day'.tr(), - 'resource_chart.hour'.tr() + 'resource_chart.hour'.tr(), ], ), const SizedBox(height: 8), diff --git a/lib/ui/pages/server_details/charts/network_charts.dart b/lib/ui/pages/server_details/charts/network_charts.dart index 946d0247..e0df74b7 100644 --- a/lib/ui/pages/server_details/charts/network_charts.dart +++ b/lib/ui/pages/server_details/charts/network_charts.dart @@ -113,7 +113,7 @@ class NetworkChart extends StatelessWidget { minY: 0, maxY: [ ...listData[0].map((final e) => e.value), - ...listData[1].map((final e) => e.value) + ...listData[1].map((final e) => e.value), ].reduce(max) * 1.2, minX: 0, @@ -154,7 +154,7 @@ class NetworkChart extends StatelessWidget { ), interval: [ ...listData[0].map((final e) => e.value), - ...listData[1].map((final e) => e.value) + ...listData[1].map((final e) => e.value), ].reduce(max) * 2 / 6.5, @@ -168,7 +168,7 @@ class NetworkChart extends StatelessWidget { verticalInterval: 40, horizontalInterval: [ ...listData[0].map((final e) => e.value), - ...listData[1].map((final e) => e.value) + ...listData[1].map((final e) => e.value), ].reduce(max) * 2 / 6.5, diff --git a/lib/ui/pages/services/service_page.dart b/lib/ui/pages/services/service_page.dart index e1e00ec0..37f9515c 100644 --- a/lib/ui/pages/services/service_page.dart +++ b/lib/ui/pages/services/service_page.dart @@ -134,7 +134,7 @@ class _ServicePageState extends State { .read() .state .getVolume(service.storageUsage.volume ?? '') - .displayName + .displayName, }, ), style: Theme.of(context).textTheme.bodyMedium, diff --git a/lib/ui/pages/services/services.dart b/lib/ui/pages/services/services.dart index 36af585f..2aa31d8b 100644 --- a/lib/ui/pages/services/services.dart +++ b/lib/ui/pages/services/services.dart @@ -69,7 +69,7 @@ class _ServicesPageState extends State { ), child: _Card(service: service), ), - ) + ), ], ), ), @@ -179,7 +179,7 @@ class _Card extends StatelessWidget { ), const SizedBox(height: 8), ], - ) + ), ], ), ), diff --git a/lib/ui/pages/setup/initializing/initializing.dart b/lib/ui/pages/setup/initializing/initializing.dart index a681c07a..841c1955 100644 --- a/lib/ui/pages/setup/initializing/initializing.dart +++ b/lib/ui/pages/setup/initializing/initializing.dart @@ -49,7 +49,7 @@ class InitializingPage extends StatelessWidget { () => _stepCheck(cubit), () => _stepCheck(cubit), () => _stepCheck(cubit), - () => _stepCheck(cubit) + () => _stepCheck(cubit), ][cubit.state.progress.index](); } @@ -193,7 +193,7 @@ class InitializingPage extends StatelessWidget { .replace(const RecoveryRoute()); }, ), - ) + ), ], ), ], @@ -517,7 +517,7 @@ class InitializingPage extends StatelessWidget { BrandTimer( startDateTime: state.timerStart!, duration: state.duration!, - ) + ), ], ), if (state.isLoading) diff --git a/lib/ui/pages/setup/initializing/server_type_picker.dart b/lib/ui/pages/setup/initializing/server_type_picker.dart index 3ce0f94b..9862fc3c 100644 --- a/lib/ui/pages/setup/initializing/server_type_picker.dart +++ b/lib/ui/pages/setup/initializing/server_type_picker.dart @@ -329,7 +329,7 @@ class SelectTypePage extends StatelessWidget { 'initializing.choose_server_type_payment_per_month' .tr( args: [ - '${(type.price.value + storagePrice + publicIpPrice).toStringAsFixed(4)} ${type.price.currency.shortcode}' + '${(type.price.value + storagePrice + publicIpPrice).toStringAsFixed(4)} ${type.price.currency.shortcode}', ], ), style: Theme.of(context) @@ -371,7 +371,7 @@ class SelectTypePage extends StatelessWidget { .tr( args: [ type.price.value - .toString() + .toString(), ], ), style: Theme.of(context) @@ -401,7 +401,7 @@ class SelectTypePage extends StatelessWidget { 'initializing.choose_server_type_payment_storage' .tr( args: [ - storagePrice.toString() + storagePrice.toString(), ], ), style: Theme.of(context) @@ -432,7 +432,8 @@ class SelectTypePage extends StatelessWidget { 'initializing.choose_server_type_payment_ip' .tr( args: [ - publicIpPrice.toString() + publicIpPrice + .toString(), ], ), style: Theme.of(context) diff --git a/lib/ui/pages/setup/recovering/recover_by_new_device_key.dart b/lib/ui/pages/setup/recovering/recover_by_new_device_key.dart index d1dce974..12c412e6 100644 --- a/lib/ui/pages/setup/recovering/recover_by_new_device_key.dart +++ b/lib/ui/pages/setup/recovering/recover_by_new_device_key.dart @@ -25,7 +25,7 @@ class RecoverByNewDeviceKeyInstruction extends StatelessWidget { child: Text('recovering.method_device_button'.tr()), onPressed: () => Navigator.of(context) .push(materialRoute(const RecoverByNewDeviceKeyInput())), - ) + ), ], ); } @@ -81,7 +81,7 @@ class RecoverByNewDeviceKeyInput extends StatelessWidget { : () => context.read().trySubmit(), child: Text('basis.continue'.tr()), - ) + ), ], ); }, diff --git a/lib/ui/pages/setup/recovering/recover_by_old_token.dart b/lib/ui/pages/setup/recovering/recover_by_old_token.dart index 1a777f83..76bf6b4d 100644 --- a/lib/ui/pages/setup/recovering/recover_by_old_token.dart +++ b/lib/ui/pages/setup/recovering/recover_by_old_token.dart @@ -41,7 +41,7 @@ class RecoverByOldTokenInstruction extends StatelessWidget { onPressed: () => context .read() .selectRecoveryMethod(ServerRecoveryMethods.oldToken), - ) + ), ], ), ); @@ -90,7 +90,7 @@ class RecoverByOldToken extends StatelessWidget { ? null : () => context.read().trySubmit(), child: Text('basis.continue'.tr()), - ) + ), ], ); }, diff --git a/lib/ui/pages/setup/recovering/recover_by_recovery_key.dart b/lib/ui/pages/setup/recovering/recover_by_recovery_key.dart index ad18bc95..8633ad59 100644 --- a/lib/ui/pages/setup/recovering/recover_by_recovery_key.dart +++ b/lib/ui/pages/setup/recovering/recover_by_recovery_key.dart @@ -50,7 +50,7 @@ class RecoverByRecoveryKey extends StatelessWidget { ? null : () => context.read().trySubmit(), child: Text('basis.continue'.tr()), - ) + ), ], ); }, diff --git a/lib/ui/pages/setup/recovering/recovery_confirm_server.dart b/lib/ui/pages/setup/recovering/recovery_confirm_server.dart index 2efcff87..3c0ade69 100644 --- a/lib/ui/pages/setup/recovering/recovery_confirm_server.dart +++ b/lib/ui/pages/setup/recovering/recovery_confirm_server.dart @@ -81,7 +81,7 @@ class _RecoveryConfirmServerState extends State { ); } }, - ) + ), ], ); diff --git a/lib/ui/pages/setup/recovering/recovery_method_select.dart b/lib/ui/pages/setup/recovering/recovery_method_select.dart index f8cec44a..dd5d77bd 100644 --- a/lib/ui/pages/setup/recovering/recovery_method_select.dart +++ b/lib/ui/pages/setup/recovering/recovery_method_select.dart @@ -51,7 +51,7 @@ class RecoveryMethodSelect extends StatelessWidget { title: 'recovering.method_select_nothing'.tr(), onPressed: () => Navigator.of(context) .push(materialRoute(const RecoveryFallbackMethodSelect())), - ) + ), ], ); } diff --git a/lib/ui/pages/setup/recovering/recovery_routing.dart b/lib/ui/pages/setup/recovering/recovery_routing.dart index 3ab5109a..e26e202e 100644 --- a/lib/ui/pages/setup/recovering/recovery_routing.dart +++ b/lib/ui/pages/setup/recovering/recovery_routing.dart @@ -136,7 +136,7 @@ class SelectDomainToRecover extends StatelessWidget { : () => context.read().trySubmit(), child: Text('basis.continue'.tr()), - ) + ), ], ), ); diff --git a/lib/ui/pages/setup/recovering/recovery_server_provider_connected.dart b/lib/ui/pages/setup/recovering/recovery_server_provider_connected.dart index 40f13eaa..1c9411c6 100644 --- a/lib/ui/pages/setup/recovering/recovery_server_provider_connected.dart +++ b/lib/ui/pages/setup/recovering/recovery_server_provider_connected.dart @@ -23,7 +23,7 @@ class RecoveryServerProviderConnected extends StatelessWidget { heroTitle: 'recovering.provider_connected'.tr( args: [ appConfig.state.serverDetails?.provider.displayName ?? - 'Server Provider' + 'Server Provider', ], ), heroSubtitle: 'recovering.provider_connected_description'.tr( @@ -45,7 +45,7 @@ class RecoveryServerProviderConnected extends StatelessWidget { labelText: 'recovering.provider_connected_placeholder'.tr( args: [ appConfig.state.serverDetails?.provider.displayName ?? - 'Server Provider' + 'Server Provider', ], ), ), diff --git a/lib/ui/pages/users/user_details.dart b/lib/ui/pages/users/user_details.dart index 90ab1603..9523ccf4 100644 --- a/lib/ui/pages/users/user_details.dart +++ b/lib/ui/pages/users/user_details.dart @@ -124,7 +124,7 @@ class _DeleteUserTile extends StatelessWidget { ), ], ), - ) + ), }, leading: const Icon(Icons.person_remove_outlined), title: Text( diff --git a/lib/utils/breakpoints.dart b/lib/utils/breakpoints.dart index 0e9104e2..88eca747 100644 --- a/lib/utils/breakpoints.dart +++ b/lib/utils/breakpoints.dart @@ -7,7 +7,7 @@ import 'package:flutter/material.dart'; const Set _desktop = { TargetPlatform.linux, TargetPlatform.macOS, - TargetPlatform.windows + TargetPlatform.windows, }; const Set _mobile = { diff --git a/lib/utils/extensions/text_extensions.dart b/lib/utils/extensions/text_extensions.dart deleted file mode 100644 index a00f7096..00000000 --- a/lib/utils/extensions/text_extensions.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -extension TextExtension on Text { - Text withColor(final Color color) => Text( - data!, - key: key, - strutStyle: strutStyle, - textAlign: textAlign, - textDirection: textDirection, - locale: locale, - softWrap: softWrap, - overflow: overflow, - textScaleFactor: textScaleFactor, - maxLines: maxLines, - semanticsLabel: semanticsLabel, - textWidthBasis: textWidthBasis ?? textWidthBasis, - style: style != null - ? style!.copyWith(color: color) - : TextStyle(color: color), - ); - - Text copyWith({ - final Key? key, - final StrutStyle? strutStyle, - final TextAlign? textAlign, - final TextDirection? textDirection, - final Locale? locale, - final bool? softWrap, - final TextOverflow? overflow, - final double? textScaleFactor, - final int? maxLines, - final String? semanticsLabel, - final TextWidthBasis? textWidthBasis, - final TextStyle? style, - }) => - Text( - data!, - key: key ?? this.key, - strutStyle: strutStyle ?? this.strutStyle, - textAlign: textAlign ?? this.textAlign, - textDirection: textDirection ?? this.textDirection, - locale: locale ?? this.locale, - softWrap: softWrap ?? this.softWrap, - overflow: overflow ?? this.overflow, - textScaleFactor: textScaleFactor ?? this.textScaleFactor, - maxLines: maxLines ?? this.maxLines, - semanticsLabel: semanticsLabel ?? this.semanticsLabel, - textWidthBasis: textWidthBasis ?? this.textWidthBasis, - style: style != null ? this.style?.merge(style) ?? style : this.style, - ); -}