Change button and label text to sentence case for Material 3 (#115187)
* init * upper case only when material 2 * fix test * fix test * fix tests again * Add all tests * analyze" * fix stepper
This commit is contained in:
parent
136b46ba91
commit
700de09fd5
@ -318,22 +318,24 @@ class AboutDialog extends StatelessWidget {
|
|||||||
final String name = applicationName ?? _defaultApplicationName(context);
|
final String name = applicationName ?? _defaultApplicationName(context);
|
||||||
final String version = applicationVersion ?? _defaultApplicationVersion(context);
|
final String version = applicationVersion ?? _defaultApplicationVersion(context);
|
||||||
final Widget? icon = applicationIcon ?? _defaultApplicationIcon(context);
|
final Widget? icon = applicationIcon ?? _defaultApplicationIcon(context);
|
||||||
|
final ThemeData themeData = Theme.of(context);
|
||||||
|
final MaterialLocalizations localizations = MaterialLocalizations.of(context);
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
content: ListBody(
|
content: ListBody(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Row(
|
Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
if (icon != null) IconTheme(data: Theme.of(context).iconTheme, child: icon),
|
if (icon != null) IconTheme(data: themeData.iconTheme, child: icon),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 24.0),
|
padding: const EdgeInsets.symmetric(horizontal: 24.0),
|
||||||
child: ListBody(
|
child: ListBody(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Text(name, style: Theme.of(context).textTheme.headlineSmall),
|
Text(name, style: themeData.textTheme.headlineSmall),
|
||||||
Text(version, style: Theme.of(context).textTheme.bodyMedium),
|
Text(version, style: themeData.textTheme.bodyMedium),
|
||||||
const SizedBox(height: _textVerticalSeparation),
|
const SizedBox(height: _textVerticalSeparation),
|
||||||
Text(applicationLegalese ?? '', style: Theme.of(context).textTheme.bodySmall),
|
Text(applicationLegalese ?? '', style: themeData.textTheme.bodySmall),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -345,7 +347,11 @@ class AboutDialog extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
child: Text(MaterialLocalizations.of(context).viewLicensesButtonLabel),
|
child: Text(
|
||||||
|
themeData.useMaterial3
|
||||||
|
? localizations.viewLicensesButtonLabel
|
||||||
|
: localizations.viewLicensesButtonLabel.toUpperCase()
|
||||||
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
showLicensePage(
|
showLicensePage(
|
||||||
context: context,
|
context: context,
|
||||||
@ -357,7 +363,11 @@ class AboutDialog extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
child: Text(MaterialLocalizations.of(context).closeButtonLabel),
|
child: Text(
|
||||||
|
themeData.useMaterial3
|
||||||
|
? localizations.closeButtonLabel
|
||||||
|
: localizations.closeButtonLabel.toUpperCase()
|
||||||
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
|
@ -479,7 +479,11 @@ class _DatePickerDialogState extends State<DatePickerDialog> with RestorationMix
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: _handleCancel,
|
onPressed: _handleCancel,
|
||||||
child: Text(widget.cancelText ?? localizations.cancelButtonLabel),
|
child: Text(widget.cancelText ?? (
|
||||||
|
theme.useMaterial3
|
||||||
|
? localizations.cancelButtonLabel
|
||||||
|
: localizations.cancelButtonLabel.toUpperCase()
|
||||||
|
)),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: _handleOk,
|
onPressed: _handleOk,
|
||||||
@ -571,7 +575,11 @@ class _DatePickerDialogState extends State<DatePickerDialog> with RestorationMix
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Widget header = _DatePickerHeader(
|
final Widget header = _DatePickerHeader(
|
||||||
helpText: widget.helpText ?? localizations.datePickerHelpText,
|
helpText: widget.helpText ?? (
|
||||||
|
Theme.of(context).useMaterial3
|
||||||
|
? localizations.datePickerHelpText
|
||||||
|
: localizations.datePickerHelpText.toUpperCase()
|
||||||
|
),
|
||||||
titleText: dateText,
|
titleText: dateText,
|
||||||
titleStyle: dateStyle,
|
titleStyle: dateStyle,
|
||||||
orientation: orientation,
|
orientation: orientation,
|
||||||
@ -1348,8 +1356,16 @@ class _DateRangePickerDialogState extends State<DateRangePickerDialog> with Rest
|
|||||||
onPressed: _handleEntryModeToggle,
|
onPressed: _handleEntryModeToggle,
|
||||||
)
|
)
|
||||||
: null,
|
: null,
|
||||||
confirmText: widget.saveText ?? localizations.saveButtonLabel,
|
confirmText: widget.saveText ?? (
|
||||||
helpText: widget.helpText ?? localizations.dateRangePickerHelpText,
|
Theme.of(context).useMaterial3
|
||||||
|
? localizations.saveButtonLabel
|
||||||
|
: localizations.saveButtonLabel.toUpperCase()
|
||||||
|
),
|
||||||
|
helpText: widget.helpText ?? (
|
||||||
|
Theme.of(context).useMaterial3
|
||||||
|
? localizations.dateRangePickerHelpText
|
||||||
|
: localizations.dateRangePickerHelpText.toUpperCase()
|
||||||
|
),
|
||||||
);
|
);
|
||||||
size = mediaQuery.size;
|
size = mediaQuery.size;
|
||||||
insetPadding = EdgeInsets.zero;
|
insetPadding = EdgeInsets.zero;
|
||||||
@ -1406,8 +1422,16 @@ class _DateRangePickerDialogState extends State<DateRangePickerDialog> with Rest
|
|||||||
)
|
)
|
||||||
: null,
|
: null,
|
||||||
confirmText: widget.confirmText ?? localizations.okButtonLabel,
|
confirmText: widget.confirmText ?? localizations.okButtonLabel,
|
||||||
cancelText: widget.cancelText ?? localizations.cancelButtonLabel,
|
cancelText: widget.cancelText ?? (
|
||||||
helpText: widget.helpText ?? localizations.dateRangePickerHelpText,
|
Theme.of(context).useMaterial3
|
||||||
|
? localizations.cancelButtonLabel
|
||||||
|
: localizations.cancelButtonLabel.toUpperCase()
|
||||||
|
),
|
||||||
|
helpText: widget.helpText ?? (
|
||||||
|
Theme.of(context).useMaterial3
|
||||||
|
? localizations.dateRangePickerHelpText
|
||||||
|
: localizations.dateRangePickerHelpText.toUpperCase()
|
||||||
|
),
|
||||||
);
|
);
|
||||||
final DialogTheme dialogTheme = Theme.of(context).dialogTheme;
|
final DialogTheme dialogTheme = Theme.of(context).dialogTheme;
|
||||||
size = orientation == Orientation.portrait ? _inputPortraitDialogSize : _inputRangeLandscapeDialogSize;
|
size = orientation == Orientation.portrait ? _inputPortraitDialogSize : _inputRangeLandscapeDialogSize;
|
||||||
@ -2613,7 +2637,11 @@ class _InputDateRangePickerDialog extends StatelessWidget {
|
|||||||
: '';
|
: '';
|
||||||
|
|
||||||
final Widget header = _DatePickerHeader(
|
final Widget header = _DatePickerHeader(
|
||||||
helpText: helpText ?? localizations.dateRangePickerHelpText,
|
helpText: helpText ?? (
|
||||||
|
Theme.of(context).useMaterial3
|
||||||
|
? localizations.dateRangePickerHelpText
|
||||||
|
: localizations.dateRangePickerHelpText.toUpperCase()
|
||||||
|
),
|
||||||
titleText: dateText,
|
titleText: dateText,
|
||||||
titleSemanticsLabel: semanticDateText,
|
titleSemanticsLabel: semanticDateText,
|
||||||
titleStyle: dateStyle,
|
titleStyle: dateStyle,
|
||||||
@ -2631,7 +2659,11 @@ class _InputDateRangePickerDialog extends StatelessWidget {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: onCancel,
|
onPressed: onCancel,
|
||||||
child: Text(cancelText ?? localizations.cancelButtonLabel),
|
child: Text(cancelText ?? (
|
||||||
|
theme.useMaterial3
|
||||||
|
? localizations.cancelButtonLabel
|
||||||
|
: localizations.cancelButtonLabel.toUpperCase()
|
||||||
|
)),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: onConfirm,
|
onPressed: onConfirm,
|
||||||
|
@ -925,13 +925,13 @@ class DefaultMaterialLocalizations implements MaterialLocalizations {
|
|||||||
String get dateOutOfRangeLabel => 'Out of range.';
|
String get dateOutOfRangeLabel => 'Out of range.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get saveButtonLabel => 'SAVE';
|
String get saveButtonLabel => 'Save';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get datePickerHelpText => 'SELECT DATE';
|
String get datePickerHelpText => 'Select date';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangePickerHelpText => 'SELECT RANGE';
|
String get dateRangePickerHelpText => 'Select range';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get calendarModeButtonLabel => 'Switch to calendar';
|
String get calendarModeButtonLabel => 'Switch to calendar';
|
||||||
@ -940,10 +940,10 @@ class DefaultMaterialLocalizations implements MaterialLocalizations {
|
|||||||
String get inputDateModeButtonLabel => 'Switch to input';
|
String get inputDateModeButtonLabel => 'Switch to input';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get timePickerDialHelpText => 'SELECT TIME';
|
String get timePickerDialHelpText => 'Select time';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get timePickerInputHelpText => 'ENTER TIME';
|
String get timePickerInputHelpText => 'Enter time';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get timePickerHourLabel => 'Hour';
|
String get timePickerHourLabel => 'Hour';
|
||||||
@ -1120,13 +1120,13 @@ class DefaultMaterialLocalizations implements MaterialLocalizations {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get cancelButtonLabel => 'CANCEL';
|
String get cancelButtonLabel => 'Cancel';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get closeButtonLabel => 'CLOSE';
|
String get closeButtonLabel => 'Close';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get continueButtonLabel => 'CONTINUE';
|
String get continueButtonLabel => 'Continue';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get copyButtonLabel => 'Copy';
|
String get copyButtonLabel => 'Copy';
|
||||||
@ -1144,7 +1144,7 @@ class DefaultMaterialLocalizations implements MaterialLocalizations {
|
|||||||
String get selectAllButtonLabel => 'Select all';
|
String get selectAllButtonLabel => 'Select all';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get viewLicensesButtonLabel => 'VIEW LICENSES';
|
String get viewLicensesButtonLabel => 'View licenses';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get anteMeridiemAbbreviation => 'AM';
|
String get anteMeridiemAbbreviation => 'AM';
|
||||||
|
@ -525,7 +525,11 @@ class _StepperState extends State<Stepper> with TickerProviderStateMixin {
|
|||||||
padding: const MaterialStatePropertyAll<EdgeInsetsGeometry>(buttonPadding),
|
padding: const MaterialStatePropertyAll<EdgeInsetsGeometry>(buttonPadding),
|
||||||
shape: const MaterialStatePropertyAll<OutlinedBorder>(buttonShape),
|
shape: const MaterialStatePropertyAll<OutlinedBorder>(buttonShape),
|
||||||
),
|
),
|
||||||
child: Text(localizations.continueButtonLabel),
|
child: Text(
|
||||||
|
themeData.useMaterial3
|
||||||
|
? localizations.continueButtonLabel
|
||||||
|
: localizations.continueButtonLabel.toUpperCase()
|
||||||
|
),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
margin: const EdgeInsetsDirectional.only(start: 8.0),
|
margin: const EdgeInsetsDirectional.only(start: 8.0),
|
||||||
@ -536,7 +540,11 @@ class _StepperState extends State<Stepper> with TickerProviderStateMixin {
|
|||||||
padding: buttonPadding,
|
padding: buttonPadding,
|
||||||
shape: buttonShape,
|
shape: buttonShape,
|
||||||
),
|
),
|
||||||
child: Text(localizations.cancelButtonLabel),
|
child: Text(
|
||||||
|
themeData.useMaterial3
|
||||||
|
? localizations.cancelButtonLabel
|
||||||
|
: localizations.cancelButtonLabel.toUpperCase()
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -151,6 +151,10 @@ class _TimePickerHeader extends StatelessWidget {
|
|||||||
final TimeOfDayFormat timeOfDayFormat = MaterialLocalizations.of(context).timeOfDayFormat(
|
final TimeOfDayFormat timeOfDayFormat = MaterialLocalizations.of(context).timeOfDayFormat(
|
||||||
alwaysUse24HourFormat: MediaQuery.of(context).alwaysUse24HourFormat,
|
alwaysUse24HourFormat: MediaQuery.of(context).alwaysUse24HourFormat,
|
||||||
);
|
);
|
||||||
|
final MaterialLocalizations localizations = MaterialLocalizations.of(context);
|
||||||
|
final String timePickerDialHelpText = themeData.useMaterial3
|
||||||
|
? localizations.timePickerDialHelpText
|
||||||
|
: localizations.timePickerDialHelpText.toUpperCase();
|
||||||
|
|
||||||
final _TimePickerFragmentContext fragmentContext = _TimePickerFragmentContext(
|
final _TimePickerFragmentContext fragmentContext = _TimePickerFragmentContext(
|
||||||
selectedTime: selectedTime,
|
selectedTime: selectedTime,
|
||||||
@ -255,7 +259,7 @@ class _TimePickerHeader extends StatelessWidget {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
const SizedBox(height: 16.0),
|
const SizedBox(height: 16.0),
|
||||||
Text(
|
Text(
|
||||||
helpText ?? MaterialLocalizations.of(context).timePickerDialHelpText,
|
helpText ?? timePickerDialHelpText,
|
||||||
style: TimePickerTheme.of(context).helpTextStyle ?? themeData.textTheme.labelSmall,
|
style: TimePickerTheme.of(context).helpTextStyle ?? themeData.textTheme.labelSmall,
|
||||||
),
|
),
|
||||||
controls,
|
controls,
|
||||||
@ -1495,6 +1499,10 @@ class _TimePickerInputState extends State<_TimePickerInput> with RestorationMixi
|
|||||||
final bool use24HourDials = hourFormat(of: timeOfDayFormat) != HourFormat.h;
|
final bool use24HourDials = hourFormat(of: timeOfDayFormat) != HourFormat.h;
|
||||||
final ThemeData theme = Theme.of(context);
|
final ThemeData theme = Theme.of(context);
|
||||||
final TextStyle hourMinuteStyle = TimePickerTheme.of(context).hourMinuteTextStyle ?? theme.textTheme.displayMedium!;
|
final TextStyle hourMinuteStyle = TimePickerTheme.of(context).hourMinuteTextStyle ?? theme.textTheme.displayMedium!;
|
||||||
|
final MaterialLocalizations localizations = MaterialLocalizations.of(context);
|
||||||
|
final String timePickerInputHelpText = theme.useMaterial3
|
||||||
|
? localizations.timePickerInputHelpText
|
||||||
|
: localizations.timePickerInputHelpText.toUpperCase();
|
||||||
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 24.0, vertical: 16.0),
|
padding: const EdgeInsets.symmetric(horizontal: 24.0, vertical: 16.0),
|
||||||
@ -1502,7 +1510,7 @@ class _TimePickerInputState extends State<_TimePickerInput> with RestorationMixi
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Text(
|
Text(
|
||||||
widget.helpText ?? MaterialLocalizations.of(context).timePickerInputHelpText,
|
widget.helpText ?? timePickerInputHelpText,
|
||||||
style: TimePickerTheme.of(context).helpTextStyle ?? theme.textTheme.labelSmall,
|
style: TimePickerTheme.of(context).helpTextStyle ?? theme.textTheme.labelSmall,
|
||||||
),
|
),
|
||||||
const SizedBox(height: 16.0),
|
const SizedBox(height: 16.0),
|
||||||
@ -2258,7 +2266,11 @@ class _TimePickerDialogState extends State<TimePickerDialog> with RestorationMix
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: _handleCancel,
|
onPressed: _handleCancel,
|
||||||
child: Text(widget.cancelText ?? localizations.cancelButtonLabel),
|
child: Text(widget.cancelText ?? (
|
||||||
|
theme.useMaterial3
|
||||||
|
? localizations.cancelButtonLabel
|
||||||
|
: localizations.cancelButtonLabel.toUpperCase()
|
||||||
|
)),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: _handleOk,
|
onPressed: _handleOk,
|
||||||
|
@ -15,6 +15,46 @@ void main() {
|
|||||||
LicenseRegistry.reset();
|
LicenseRegistry.reset();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
testWidgets('Material3 has sentence case labels', (WidgetTester tester) async {
|
||||||
|
await tester.pumpWidget(MaterialApp(
|
||||||
|
theme: ThemeData(useMaterial3: true),
|
||||||
|
builder: (BuildContext context, Widget? child) {
|
||||||
|
return MediaQuery(
|
||||||
|
// Display has a vertical hinge down the middle
|
||||||
|
data: const MediaQueryData(
|
||||||
|
size: Size(800, 600),
|
||||||
|
displayFeatures: <DisplayFeature>[
|
||||||
|
DisplayFeature(
|
||||||
|
bounds: Rect.fromLTRB(390, 0, 410, 600),
|
||||||
|
type: DisplayFeatureType.hinge,
|
||||||
|
state: DisplayFeatureState.unknown,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: child!,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
home: Builder(
|
||||||
|
builder: (BuildContext context) => ElevatedButton(
|
||||||
|
onPressed: () {
|
||||||
|
showAboutDialog(
|
||||||
|
context: context,
|
||||||
|
useRootNavigator: false,
|
||||||
|
applicationName: 'A',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: const Text('Show About Dialog'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
));
|
||||||
|
|
||||||
|
// Open the dialog.
|
||||||
|
await tester.tap(find.byType(ElevatedButton));
|
||||||
|
await tester.pumpAndSettle();
|
||||||
|
expect(find.text('Close'), findsOneWidget);
|
||||||
|
expect(find.text('View licenses'), findsOneWidget);
|
||||||
|
});
|
||||||
|
|
||||||
testWidgets('AboutListTile control test', (WidgetTester tester) async {
|
testWidgets('AboutListTile control test', (WidgetTester tester) async {
|
||||||
const FlutterLogo logo = FlutterLogo();
|
const FlutterLogo logo = FlutterLogo();
|
||||||
|
|
||||||
|
@ -62,9 +62,11 @@ void main() {
|
|||||||
WidgetTester tester,
|
WidgetTester tester,
|
||||||
Future<void> Function(Future<DateTime?> date) callback, {
|
Future<void> Function(Future<DateTime?> date) callback, {
|
||||||
TextDirection textDirection = TextDirection.ltr,
|
TextDirection textDirection = TextDirection.ltr,
|
||||||
|
bool useMaterial3 = false,
|
||||||
}) async {
|
}) async {
|
||||||
late BuildContext buttonContext;
|
late BuildContext buttonContext;
|
||||||
await tester.pumpWidget(MaterialApp(
|
await tester.pumpWidget(MaterialApp(
|
||||||
|
theme: ThemeData(useMaterial3: useMaterial3),
|
||||||
home: Material(
|
home: Material(
|
||||||
child: Builder(
|
child: Builder(
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
@ -112,6 +114,11 @@ void main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group('showDatePicker Dialog', () {
|
group('showDatePicker Dialog', () {
|
||||||
|
testWidgets('Material3 uses sentence case labels', (WidgetTester tester) async {
|
||||||
|
await prepareDatePicker(tester, (Future<DateTime?> date) async {
|
||||||
|
expect(find.text('Select date'), findsOneWidget);
|
||||||
|
}, useMaterial3: true);
|
||||||
|
});
|
||||||
testWidgets('Cancel, confirm, and help text is used', (WidgetTester tester) async {
|
testWidgets('Cancel, confirm, and help text is used', (WidgetTester tester) async {
|
||||||
cancelText = 'nope';
|
cancelText = 'nope';
|
||||||
confirmText = 'yep';
|
confirmText = 'yep';
|
||||||
|
@ -56,9 +56,11 @@ void main() {
|
|||||||
WidgetTester tester,
|
WidgetTester tester,
|
||||||
Future<void> Function(Future<DateTimeRange?> date) callback, {
|
Future<void> Function(Future<DateTimeRange?> date) callback, {
|
||||||
TextDirection textDirection = TextDirection.ltr,
|
TextDirection textDirection = TextDirection.ltr,
|
||||||
|
bool useMaterial3 = false,
|
||||||
}) async {
|
}) async {
|
||||||
late BuildContext buttonContext;
|
late BuildContext buttonContext;
|
||||||
await tester.pumpWidget(MaterialApp(
|
await tester.pumpWidget(MaterialApp(
|
||||||
|
theme: ThemeData(useMaterial3: useMaterial3),
|
||||||
home: Material(
|
home: Material(
|
||||||
child: Builder(
|
child: Builder(
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
@ -115,6 +117,13 @@ void main() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
testWidgets('Material3 has sentence case labels', (WidgetTester tester) async {
|
||||||
|
await preparePicker(tester, (Future<DateTimeRange?> range) async {
|
||||||
|
expect(find.text('Save'), findsOneWidget);
|
||||||
|
expect(find.text('Select range'), findsOneWidget);
|
||||||
|
}, useMaterial3: true);
|
||||||
|
});
|
||||||
|
|
||||||
testWidgets('Initial date is the default', (WidgetTester tester) async {
|
testWidgets('Initial date is the default', (WidgetTester tester) async {
|
||||||
await preparePicker(tester, (Future<DateTimeRange?> range) async {
|
await preparePicker(tester, (Future<DateTimeRange?> range) async {
|
||||||
await tester.tap(find.text('SAVE'));
|
await tester.tap(find.text('SAVE'));
|
||||||
|
@ -7,6 +7,37 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
|
testWidgets('Material3 has sentence case labels', (WidgetTester tester) async {
|
||||||
|
await tester.pumpWidget(
|
||||||
|
MaterialApp(
|
||||||
|
theme: ThemeData(useMaterial3: true),
|
||||||
|
home: Material(
|
||||||
|
child: Stepper(
|
||||||
|
onStepTapped: (int i) {},
|
||||||
|
steps: const <Step>[
|
||||||
|
Step(
|
||||||
|
title: Text('Step 1'),
|
||||||
|
content: SizedBox(
|
||||||
|
width: 100.0,
|
||||||
|
height: 100.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Step(
|
||||||
|
title: Text('Step 2'),
|
||||||
|
content: SizedBox(
|
||||||
|
width: 100.0,
|
||||||
|
height: 100.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
expect(find.text('Continue'), findsWidgets);
|
||||||
|
expect(find.text('Cancel'), findsWidgets);
|
||||||
|
});
|
||||||
|
|
||||||
testWidgets('Stepper tap callback test', (WidgetTester tester) async {
|
testWidgets('Stepper tap callback test', (WidgetTester tester) async {
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
|
@ -106,8 +106,10 @@ Future<Offset?> startPicker(
|
|||||||
ValueChanged<TimeOfDay?> onChanged, {
|
ValueChanged<TimeOfDay?> onChanged, {
|
||||||
TimePickerEntryMode entryMode = TimePickerEntryMode.dial,
|
TimePickerEntryMode entryMode = TimePickerEntryMode.dial,
|
||||||
String? restorationId,
|
String? restorationId,
|
||||||
|
bool useMaterial3 = false,
|
||||||
}) async {
|
}) async {
|
||||||
await tester.pumpWidget(MaterialApp(
|
await tester.pumpWidget(MaterialApp(
|
||||||
|
theme: ThemeData(useMaterial3: useMaterial3),
|
||||||
restorationScopeId: 'app',
|
restorationScopeId: 'app',
|
||||||
locale: const Locale('en', 'US'),
|
locale: const Locale('en', 'US'),
|
||||||
home: _TimePickerLauncher(
|
home: _TimePickerLauncher(
|
||||||
@ -138,6 +140,14 @@ void main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _tests() {
|
void _tests() {
|
||||||
|
testWidgets('Material3 has sentence case labels', (WidgetTester tester) async {
|
||||||
|
await startPicker(tester, (TimeOfDay? time) {
|
||||||
|
expect(find.text('Select time'), findsOneWidget);
|
||||||
|
expect(find.text('Enter time'), findsOneWidget);
|
||||||
|
expect(find.text('Cancel'), findsOneWidget);
|
||||||
|
}, useMaterial3: true);
|
||||||
|
});
|
||||||
|
|
||||||
testWidgets('tap-select an hour', (WidgetTester tester) async {
|
testWidgets('tap-select an hour', (WidgetTester tester) async {
|
||||||
TimeOfDay? result;
|
TimeOfDay? result;
|
||||||
|
|
||||||
|
@ -6279,10 +6279,10 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
String get calendarModeButtonLabel => 'Switch to calendar';
|
String get calendarModeButtonLabel => 'Switch to calendar';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get cancelButtonLabel => 'CANCEL';
|
String get cancelButtonLabel => 'Cancel';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get closeButtonLabel => 'CLOSE';
|
String get closeButtonLabel => 'Close';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get closeButtonTooltip => 'Close';
|
String get closeButtonTooltip => 'Close';
|
||||||
@ -6291,7 +6291,7 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
String get collapsedIconTapHint => 'Expand';
|
String get collapsedIconTapHint => 'Expand';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get continueButtonLabel => 'CONTINUE';
|
String get continueButtonLabel => 'Continue';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get copyButtonLabel => 'Copy';
|
String get copyButtonLabel => 'Copy';
|
||||||
@ -6309,7 +6309,7 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
String get dateOutOfRangeLabel => 'Out of range.';
|
String get dateOutOfRangeLabel => 'Out of range.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get datePickerHelpText => 'SELECT DATE';
|
String get datePickerHelpText => 'Select date';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndDateSemanticLabelRaw => r'End date $fullDate';
|
String get dateRangeEndDateSemanticLabelRaw => r'End date $fullDate';
|
||||||
@ -6318,7 +6318,7 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
String get dateRangeEndLabel => 'End Date';
|
String get dateRangeEndLabel => 'End Date';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangePickerHelpText => 'SELECT RANGE';
|
String get dateRangePickerHelpText => 'Select range';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeStartDateSemanticLabelRaw => r'Start date $fullDate';
|
String get dateRangeStartDateSemanticLabelRaw => r'Start date $fullDate';
|
||||||
@ -6612,7 +6612,7 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
String get rowsPerPageTitle => 'Rows per page:';
|
String get rowsPerPageTitle => 'Rows per page:';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get saveButtonLabel => 'SAVE';
|
String get saveButtonLabel => 'Save';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ScriptCategory get scriptCategory => ScriptCategory.englishLike;
|
ScriptCategory get scriptCategory => ScriptCategory.englishLike;
|
||||||
@ -6660,7 +6660,7 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
|
TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get timePickerDialHelpText => 'SELECT TIME';
|
String get timePickerDialHelpText => 'Select time';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get timePickerHourLabel => 'Hour';
|
String get timePickerHourLabel => 'Hour';
|
||||||
@ -6669,7 +6669,7 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
String get timePickerHourModeAnnouncement => 'Select hours';
|
String get timePickerHourModeAnnouncement => 'Select hours';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get timePickerInputHelpText => 'ENTER TIME';
|
String get timePickerInputHelpText => 'Enter time';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get timePickerMinuteLabel => 'Minute';
|
String get timePickerMinuteLabel => 'Minute';
|
||||||
@ -6684,7 +6684,7 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
|
|||||||
String get unspecifiedDateRange => 'Date Range';
|
String get unspecifiedDateRange => 'Date Range';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get viewLicensesButtonLabel => 'VIEW LICENSES';
|
String get viewLicensesButtonLabel => 'View licenses';
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The translations for English, as used in Australia (`en_AU`).
|
/// The translations for English, as used in Australia (`en_AU`).
|
||||||
@ -6729,9 +6729,24 @@ class MaterialLocalizationEnAu extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -6753,6 +6768,15 @@ class MaterialLocalizationEnAu extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
||||||
|
|
||||||
@ -6811,9 +6835,24 @@ class MaterialLocalizationEnCa extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -6835,6 +6874,15 @@ class MaterialLocalizationEnCa extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
||||||
|
|
||||||
@ -6893,9 +6941,24 @@ class MaterialLocalizationEnGb extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -6923,6 +6986,15 @@ class MaterialLocalizationEnGb extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get popupMenuLabel => 'Pop-up menu';
|
String get popupMenuLabel => 'Pop-up menu';
|
||||||
|
|
||||||
@ -6978,9 +7050,24 @@ class MaterialLocalizationEnIe extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -7008,6 +7095,15 @@ class MaterialLocalizationEnIe extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get popupMenuLabel => 'Pop-up menu';
|
String get popupMenuLabel => 'Pop-up menu';
|
||||||
|
|
||||||
@ -7063,9 +7159,24 @@ class MaterialLocalizationEnIn extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -7087,6 +7198,15 @@ class MaterialLocalizationEnIn extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
||||||
|
|
||||||
@ -7145,9 +7265,24 @@ class MaterialLocalizationEnNz extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -7169,6 +7304,15 @@ class MaterialLocalizationEnNz extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
||||||
|
|
||||||
@ -7227,9 +7371,24 @@ class MaterialLocalizationEnSg extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -7251,6 +7410,15 @@ class MaterialLocalizationEnSg extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
String get viewLicensesButtonLabel => 'VIEW LICENCES';
|
||||||
|
|
||||||
@ -7309,9 +7477,24 @@ class MaterialLocalizationEnZa extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get keyboardKeyNumpadEnter => 'Num enter';
|
String get keyboardKeyNumpadEnter => 'Num enter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerDialHelpText => 'SELECT TIME';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get timePickerInputHelpText => 'ENTER TIME';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateInputLabel => 'Enter date';
|
String get dateInputLabel => 'Enter date';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get dateRangePickerHelpText => 'SELECT RANGE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get datePickerHelpText => 'SELECT DATE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get saveButtonLabel => 'SAVE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get dateRangeEndLabel => 'End date';
|
String get dateRangeEndLabel => 'End date';
|
||||||
|
|
||||||
@ -7339,6 +7522,15 @@ class MaterialLocalizationEnZa extends MaterialLocalizationEn {
|
|||||||
@override
|
@override
|
||||||
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
String get licensesPackageDetailTextOther => r'$licenseCount licences';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get closeButtonLabel => 'CLOSE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get continueButtonLabel => 'CONTINUE';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cancelButtonLabel => 'CANCEL';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get popupMenuLabel => 'Pop-up menu';
|
String get popupMenuLabel => 'Pop-up menu';
|
||||||
|
|
||||||
|
@ -151,17 +151,17 @@
|
|||||||
"plural": "selectedRowCount"
|
"plural": "selectedRowCount"
|
||||||
},
|
},
|
||||||
|
|
||||||
"cancelButtonLabel": "CANCEL",
|
"cancelButtonLabel": "Cancel",
|
||||||
"@cancelButtonLabel": {
|
"@cancelButtonLabel": {
|
||||||
"description": "The label for cancel buttons and menu items."
|
"description": "The label for cancel buttons and menu items."
|
||||||
},
|
},
|
||||||
|
|
||||||
"closeButtonLabel": "CLOSE",
|
"closeButtonLabel": "Close",
|
||||||
"@closeButtonLabel": {
|
"@closeButtonLabel": {
|
||||||
"description": "The label for close buttons and menu items."
|
"description": "The label for close buttons and menu items."
|
||||||
},
|
},
|
||||||
|
|
||||||
"continueButtonLabel": "CONTINUE",
|
"continueButtonLabel": "Continue",
|
||||||
"@continueButtonLabel": {
|
"@continueButtonLabel": {
|
||||||
"description": "The label for continue buttons and menu items."
|
"description": "The label for continue buttons and menu items."
|
||||||
},
|
},
|
||||||
@ -191,7 +191,7 @@
|
|||||||
"description": "The label for select-all buttons and menu items."
|
"description": "The label for select-all buttons and menu items."
|
||||||
},
|
},
|
||||||
|
|
||||||
"viewLicensesButtonLabel": "VIEW LICENSES",
|
"viewLicensesButtonLabel": "View licenses",
|
||||||
"@viewLicensesButtonLabel": {
|
"@viewLicensesButtonLabel": {
|
||||||
"description": "The label for the button in the about box that leads the user to a list of all licenses that apply to the application."
|
"description": "The label for the button in the about box that leads the user to a list of all licenses that apply to the application."
|
||||||
},
|
},
|
||||||
@ -288,17 +288,17 @@
|
|||||||
"description": "Error message displayed to the user when they have entered a date that is outside the valid range for the date picker."
|
"description": "Error message displayed to the user when they have entered a date that is outside the valid range for the date picker."
|
||||||
},
|
},
|
||||||
|
|
||||||
"saveButtonLabel": "SAVE",
|
"saveButtonLabel": "Save",
|
||||||
"@saveButtonLabel": {
|
"@saveButtonLabel": {
|
||||||
"description": "Label for a 'SAVE' button used in full screen dialogs."
|
"description": "Label for a 'Save' button used in full screen dialogs."
|
||||||
},
|
},
|
||||||
|
|
||||||
"datePickerHelpText": "SELECT DATE",
|
"datePickerHelpText": "Select date",
|
||||||
"@datePickerHelpText": {
|
"@datePickerHelpText": {
|
||||||
"description": "Label used in the header of the date picker dialog"
|
"description": "Label used in the header of the date picker dialog"
|
||||||
},
|
},
|
||||||
|
|
||||||
"dateRangePickerHelpText": "SELECT RANGE",
|
"dateRangePickerHelpText": "Select range",
|
||||||
"@dateRangePickerHelpText": {
|
"@dateRangePickerHelpText": {
|
||||||
"description": "Label used in the header of the date range picker dialog."
|
"description": "Label used in the header of the date range picker dialog."
|
||||||
},
|
},
|
||||||
@ -313,12 +313,12 @@
|
|||||||
"description": "Tooltip used for the text input mode button of the date pickers."
|
"description": "Tooltip used for the text input mode button of the date pickers."
|
||||||
},
|
},
|
||||||
|
|
||||||
"timePickerDialHelpText": "SELECT TIME",
|
"timePickerDialHelpText": "Select time",
|
||||||
"@timePickerDialHelpText": {
|
"@timePickerDialHelpText": {
|
||||||
"description": "Label used in the header of the time picker dialog when using the clock dial to select a time."
|
"description": "Label used in the header of the time picker dialog when using the clock dial to select a time."
|
||||||
},
|
},
|
||||||
|
|
||||||
"timePickerInputHelpText": "ENTER TIME",
|
"timePickerInputHelpText": "Enter time",
|
||||||
"@timePickerInputHelpText": {
|
"@timePickerInputHelpText": {
|
||||||
"description": "Label used in the header of the time picker dialog when using the text input to enter a time."
|
"description": "Label used in the header of the time picker dialog when using the text input to enter a time."
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user