diff --git a/CODEOWNERS b/CODEOWNERS index d7c37efa2fb..e989020d24e 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -45,6 +45,7 @@ packages/web_benchmarks/** @yjbanov packages/webview_flutter/** @bparrishMines packages/xdg_directories/** @stuartmorgan third_party/packages/cupertino_icons/** @MitchellGoodwin +third_party/packages/cupertino_icons/test/goldens/** @LongCatIsLooong # Plugin platform implementation rules. These should stay last, since the last # matching entry takes precedence. diff --git a/third_party/packages/cupertino_icons/pubspec.yaml b/third_party/packages/cupertino_icons/pubspec.yaml index 9be062cde69..76e5962fd4e 100644 --- a/third_party/packages/cupertino_icons/pubspec.yaml +++ b/third_party/packages/cupertino_icons/pubspec.yaml @@ -9,10 +9,12 @@ environment: sdk: ^3.3.0 dev_dependencies: + collection: ^1.18.0 flutter: sdk: flutter flutter_test: sdk: flutter + path: ^1.9.0 flutter: fonts: diff --git a/third_party/packages/cupertino_icons/test/cupertino_icons_golden_test.dart b/third_party/packages/cupertino_icons/test/cupertino_icons_golden_test.dart new file mode 100644 index 00000000000..734f4f6fb96 --- /dev/null +++ b/third_party/packages/cupertino_icons/test/cupertino_icons_golden_test.dart @@ -0,0 +1,87 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:io' show File, Platform; + +import 'package:collection/collection.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:path/path.dart' as path; + +import 'icons_list.dart'; + +// The EM of the font is 512. Keep this a power of 2 for fixed-point arithmetic. +const double iconSize = 128.0; +const int iconsPerRow = 5; +const int iconsPerCol = 5; +const int iconsPerImage = iconsPerRow * iconsPerCol; + +void main() async { + // Do not run on web since this test uses dart:io. + // The golden test runs on Linux only to avoid platform rendering differences. + if (kIsWeb || !Platform.isLinux) { + return; + } + final bool isMainChannel = !Platform.environment.containsKey('CHANNEL') + || Platform.environment['CHANNEL'] == 'main' + || Platform.environment['CHANNEL'] == 'master'; + // Only test against main to avoid rendering differences between flutter channels. + if (!isMainChannel) { + return; + } + // Load font. + final String effectiveFontFamily = const TextStyle(fontFamily: CupertinoIcons.iconFont, package: CupertinoIcons.iconFontPackage).fontFamily!; + final FontLoader fontLoader = FontLoader(effectiveFontFamily); + final String filePath = path.canonicalize('assets/CupertinoIcons.ttf'); + final File file = File(filePath); + fontLoader.addFont(file.readAsBytes().then((Uint8List v) => v.buffer.asByteData())); + await fontLoader.load(); + + assert(icons.isNotEmpty); + for (int index = 0; index < icons.length;) { + final int groupEndCodePoint = (icons[index].codePoint ~/ iconsPerImage + 1) * iconsPerImage; + final int next = icons.indexWhere((IconData icon) => icon.codePoint >= groupEndCodePoint, index); + final int nextIndex = next < 0 ? icons.length : next; + registerTestForIconGroup(icons.slice(index, nextIndex)); + index = nextIndex; + } +} + +// Generating goldens for each glyph is very slow. Group the sorted icons +// into codepoint-aligned groups (each of which has a max capacity of +// iconsPerRow * iconsPerCol), so the goldens are easier to review when +// symbols are added or removed. +void registerTestForIconGroup(List iconGroup) { + assert(iconGroup.isNotEmpty); + String hexCodePoint(int codePoint) => codePoint.toRadixString(16).toUpperCase().padLeft(4, '0'); + final int groupStartCodePoint = (iconGroup.first.codePoint ~/ iconsPerImage) * iconsPerImage; + final String range = 'U+${hexCodePoint(groupStartCodePoint)}-${hexCodePoint(groupStartCodePoint + iconsPerImage - 1)}'; + + testWidgets('font golden test: $range', (WidgetTester tester) async { + addTearDown(tester.view.reset); + const Size canvasSize = Size(iconSize * iconsPerRow, iconSize * iconsPerCol); + tester.view.physicalSize = canvasSize * tester.view.devicePixelRatio; + + const Widget fillerBox = SizedBox.square(dimension: iconSize); + final List children = List.filled(iconsPerImage, fillerBox); + for (final IconData icon in iconGroup) { + children[icon.codePoint - groupStartCodePoint] = Icon(icon, size: iconSize); + } + + final Widget widget = Directionality( + textDirection: TextDirection.ltr, + child: Center( + child: SizedBox( + height: iconSize * iconsPerCol, + width: iconSize * iconsPerRow, + child: RepaintBoundary(child: Wrap(children: children)), + ), + ), + ); + await tester.pumpWidget(widget); + await expectLater(find.byType(Wrap) , matchesGoldenFile('goldens/glyph_$range.png')); + }); +} diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F104-F11C.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F104-F11C.png new file mode 100644 index 00000000000..e5927df0546 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F104-F11C.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F217-F22F.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F217-F22F.png new file mode 100644 index 00000000000..f5a0f89d8d9 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F217-F22F.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2AD-F2C5.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2AD-F2C5.png new file mode 100644 index 00000000000..5126404ba59 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2AD-F2C5.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2C6-F2DE.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2C6-F2DE.png new file mode 100644 index 00000000000..c60178699ea Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2C6-F2DE.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2DF-F2F7.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2DF-F2F7.png new file mode 100644 index 00000000000..d0cb8e8e650 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F2DF-F2F7.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F35C-F374.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F35C-F374.png new file mode 100644 index 00000000000..44f1a07f82d Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F35C-F374.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F375-F38D.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F375-F38D.png new file mode 100644 index 00000000000..7ae1156164e Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F375-F38D.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3A7-F3BF.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3A7-F3BF.png new file mode 100644 index 00000000000..6dde064a930 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3A7-F3BF.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3C0-F3D8.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3C0-F3D8.png new file mode 100644 index 00000000000..90f09269d51 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3C0-F3D8.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3D9-F3F1.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3D9-F3F1.png new file mode 100644 index 00000000000..f46b2aff49a Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3D9-F3F1.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3F2-F40A.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3F2-F40A.png new file mode 100644 index 00000000000..74f9ab98a6d Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F3F2-F40A.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F40B-F423.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F40B-F423.png new file mode 100644 index 00000000000..3c194729bb2 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F40B-F423.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F424-F43C.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F424-F43C.png new file mode 100644 index 00000000000..be248a1d932 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F424-F43C.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F43D-F455.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F43D-F455.png new file mode 100644 index 00000000000..80e8a035945 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F43D-F455.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F456-F46E.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F456-F46E.png new file mode 100644 index 00000000000..1eafb9c376d Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F456-F46E.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F46F-F487.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F46F-F487.png new file mode 100644 index 00000000000..4b5d27e3a48 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F46F-F487.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F488-F4A0.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F488-F4A0.png new file mode 100644 index 00000000000..0ed83f9115a Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F488-F4A0.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4A1-F4B9.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4A1-F4B9.png new file mode 100644 index 00000000000..ae57a04060a Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4A1-F4B9.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4BA-F4D2.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4BA-F4D2.png new file mode 100644 index 00000000000..be1ff5d0491 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4BA-F4D2.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4D3-F4EB.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4D3-F4EB.png new file mode 100644 index 00000000000..f1ba65338e6 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4D3-F4EB.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4EC-F504.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4EC-F504.png new file mode 100644 index 00000000000..b02c941040f Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F4EC-F504.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F505-F51D.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F505-F51D.png new file mode 100644 index 00000000000..f840f8ed73e Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F505-F51D.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F51E-F536.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F51E-F536.png new file mode 100644 index 00000000000..9edb30fae98 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F51E-F536.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F537-F54F.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F537-F54F.png new file mode 100644 index 00000000000..bd98f77307e Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F537-F54F.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F550-F568.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F550-F568.png new file mode 100644 index 00000000000..9d335d1fadf Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F550-F568.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F569-F581.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F569-F581.png new file mode 100644 index 00000000000..e46f813e639 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F569-F581.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F582-F59A.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F582-F59A.png new file mode 100644 index 00000000000..fe797949b59 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F582-F59A.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F59B-F5B3.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F59B-F5B3.png new file mode 100644 index 00000000000..4d3e3c29e1d Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F59B-F5B3.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5B4-F5CC.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5B4-F5CC.png new file mode 100644 index 00000000000..f20bb4f74f2 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5B4-F5CC.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5CD-F5E5.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5CD-F5E5.png new file mode 100644 index 00000000000..d57fd95c738 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5CD-F5E5.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5E6-F5FE.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5E6-F5FE.png new file mode 100644 index 00000000000..e8438113aac Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5E6-F5FE.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5FF-F617.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5FF-F617.png new file mode 100644 index 00000000000..0391b2dfed9 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F5FF-F617.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F618-F630.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F618-F630.png new file mode 100644 index 00000000000..730785a2e05 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F618-F630.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F631-F649.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F631-F649.png new file mode 100644 index 00000000000..4a20fe7055a Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F631-F649.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F64A-F662.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F64A-F662.png new file mode 100644 index 00000000000..bbc565cd096 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F64A-F662.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F663-F67B.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F663-F67B.png new file mode 100644 index 00000000000..d135aea368a Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F663-F67B.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F67C-F694.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F67C-F694.png new file mode 100644 index 00000000000..eb89c189741 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F67C-F694.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F695-F6AD.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F695-F6AD.png new file mode 100644 index 00000000000..c051159994f Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F695-F6AD.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6AE-F6C6.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6AE-F6C6.png new file mode 100644 index 00000000000..e24047ef003 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6AE-F6C6.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6C7-F6DF.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6C7-F6DF.png new file mode 100644 index 00000000000..2326f02f878 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6C7-F6DF.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6E0-F6F8.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6E0-F6F8.png new file mode 100644 index 00000000000..cd561db61fc Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6E0-F6F8.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6F9-F711.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6F9-F711.png new file mode 100644 index 00000000000..b91e6259f72 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F6F9-F711.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F712-F72A.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F712-F72A.png new file mode 100644 index 00000000000..c05928e842e Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F712-F72A.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F72B-F743.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F72B-F743.png new file mode 100644 index 00000000000..4a5b57e9066 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F72B-F743.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F744-F75C.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F744-F75C.png new file mode 100644 index 00000000000..159c2e70036 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F744-F75C.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F75D-F775.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F75D-F775.png new file mode 100644 index 00000000000..d0159de9ea0 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F75D-F775.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F776-F78E.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F776-F78E.png new file mode 100644 index 00000000000..c4b0d0c7fa1 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F776-F78E.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F78F-F7A7.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F78F-F7A7.png new file mode 100644 index 00000000000..43d48d13aad Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F78F-F7A7.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7A8-F7C0.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7A8-F7C0.png new file mode 100644 index 00000000000..0038ddc2d8f Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7A8-F7C0.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7C1-F7D9.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7C1-F7D9.png new file mode 100644 index 00000000000..52ee286a66e Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7C1-F7D9.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7DA-F7F2.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7DA-F7F2.png new file mode 100644 index 00000000000..e7ee9f1349c Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7DA-F7F2.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7F3-F80B.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7F3-F80B.png new file mode 100644 index 00000000000..116f98b887c Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F7F3-F80B.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F80C-F824.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F80C-F824.png new file mode 100644 index 00000000000..d1358391d28 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F80C-F824.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F825-F83D.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F825-F83D.png new file mode 100644 index 00000000000..0aeade09a74 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F825-F83D.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F83E-F856.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F83E-F856.png new file mode 100644 index 00000000000..17b8766d4d2 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F83E-F856.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F857-F86F.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F857-F86F.png new file mode 100644 index 00000000000..acd7909e4d5 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F857-F86F.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F870-F888.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F870-F888.png new file mode 100644 index 00000000000..789ebe88092 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F870-F888.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F889-F8A1.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F889-F8A1.png new file mode 100644 index 00000000000..0324a7f6ea2 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F889-F8A1.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8A2-F8BA.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8A2-F8BA.png new file mode 100644 index 00000000000..34fcb8cb210 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8A2-F8BA.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8BB-F8D3.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8BB-F8D3.png new file mode 100644 index 00000000000..98cfb2311b3 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8BB-F8D3.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8D4-F8EC.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8D4-F8EC.png new file mode 100644 index 00000000000..5b21aa2dc82 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8D4-F8EC.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8ED-F905.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8ED-F905.png new file mode 100644 index 00000000000..adaa706c08a Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F8ED-F905.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F906-F91E.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F906-F91E.png new file mode 100644 index 00000000000..44dd153e834 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F906-F91E.png differ diff --git a/third_party/packages/cupertino_icons/test/goldens/glyph_U+F91F-F937.png b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F91F-F937.png new file mode 100644 index 00000000000..e73a44de024 Binary files /dev/null and b/third_party/packages/cupertino_icons/test/goldens/glyph_U+F91F-F937.png differ diff --git a/third_party/packages/cupertino_icons/test/icons_list.dart b/third_party/packages/cupertino_icons/test/icons_list.dart new file mode 100644 index 00000000000..61435a6d924 --- /dev/null +++ b/third_party/packages/cupertino_icons/test/icons_list.dart @@ -0,0 +1,17 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/cupertino.dart'; + +int _compare(IconData a, IconData b) => a.codePoint.compareTo(b.codePoint); + +/// The full list of [IconData] constants defined in the [CupertinoIcons] class, +/// sorted by their code points in ascending order. +/// +/// After making changes to the font, if the change requires code change in the +/// [CupertinoIcons] class (adding new icons, for example), consider updating +/// this list. +/// +/// This list cannot be mutated by tests. +final List icons = List.unmodifiable([CupertinoIcons.left_chevron, CupertinoIcons.right_chevron, CupertinoIcons.share, CupertinoIcons.share_solid, CupertinoIcons.book, CupertinoIcons.book_solid, CupertinoIcons.bookmark, CupertinoIcons.bookmark_solid, CupertinoIcons.info, CupertinoIcons.reply, CupertinoIcons.conversation_bubble, CupertinoIcons.profile_circled, CupertinoIcons.plus_circled, CupertinoIcons.minus_circled, CupertinoIcons.flag, CupertinoIcons.search, CupertinoIcons.check_mark, CupertinoIcons.check_mark_circled, CupertinoIcons.check_mark_circled_solid, CupertinoIcons.circle, CupertinoIcons.circle_filled, CupertinoIcons.back, CupertinoIcons.forward, CupertinoIcons.home, CupertinoIcons.shopping_cart, CupertinoIcons.ellipsis, CupertinoIcons.phone, CupertinoIcons.phone_solid, CupertinoIcons.down_arrow, CupertinoIcons.up_arrow, CupertinoIcons.battery_charging, CupertinoIcons.battery_empty, CupertinoIcons.battery_full, CupertinoIcons.battery_75_percent, CupertinoIcons.battery_25_percent, CupertinoIcons.bluetooth, CupertinoIcons.restart, CupertinoIcons.reply_all, CupertinoIcons.reply_thick_solid, CupertinoIcons.share_up, CupertinoIcons.shuffle, CupertinoIcons.shuffle_medium, CupertinoIcons.shuffle_thick, CupertinoIcons.photo_camera, CupertinoIcons.photo_camera_solid, CupertinoIcons.video_camera, CupertinoIcons.video_camera_solid, CupertinoIcons.switch_camera, CupertinoIcons.switch_camera_solid, CupertinoIcons.collections, CupertinoIcons.collections_solid, CupertinoIcons.folder, CupertinoIcons.folder_solid, CupertinoIcons.folder_open, CupertinoIcons.delete, CupertinoIcons.delete_solid, CupertinoIcons.delete_simple, CupertinoIcons.pen, CupertinoIcons.pencil, CupertinoIcons.create, CupertinoIcons.create_solid, CupertinoIcons.refresh, CupertinoIcons.refresh_circled, CupertinoIcons.refresh_circled_solid, CupertinoIcons.refresh_thin, CupertinoIcons.refresh_thick, CupertinoIcons.refresh_bold, CupertinoIcons.clear_thick, CupertinoIcons.clear_thick_circled, CupertinoIcons.clear, CupertinoIcons.clear_circled, CupertinoIcons.clear_circled_solid, CupertinoIcons.add, CupertinoIcons.add_circled, CupertinoIcons.add_circled_solid, CupertinoIcons.gear, CupertinoIcons.gear_solid, CupertinoIcons.gear_big, CupertinoIcons.settings, CupertinoIcons.settings_solid, CupertinoIcons.music_note, CupertinoIcons.double_music_note, CupertinoIcons.play_arrow, CupertinoIcons.play_arrow_solid, CupertinoIcons.pause, CupertinoIcons.pause_solid, CupertinoIcons.loop, CupertinoIcons.loop_thick, CupertinoIcons.volume_down, CupertinoIcons.volume_mute, CupertinoIcons.volume_off, CupertinoIcons.volume_up, CupertinoIcons.fullscreen, CupertinoIcons.fullscreen_exit, CupertinoIcons.mic_off, CupertinoIcons.mic, CupertinoIcons.mic_solid, CupertinoIcons.clock, CupertinoIcons.clock_solid, CupertinoIcons.time, CupertinoIcons.time_solid, CupertinoIcons.padlock, CupertinoIcons.padlock_solid, CupertinoIcons.eye, CupertinoIcons.eye_solid, CupertinoIcons.person, CupertinoIcons.person_solid, CupertinoIcons.person_add, CupertinoIcons.person_add_solid, CupertinoIcons.group, CupertinoIcons.group_solid, CupertinoIcons.mail, CupertinoIcons.mail_solid, CupertinoIcons.location, CupertinoIcons.location_solid, CupertinoIcons.tag, CupertinoIcons.tag_solid, CupertinoIcons.tags, CupertinoIcons.tags_solid, CupertinoIcons.bus, CupertinoIcons.car, CupertinoIcons.car_detailed, CupertinoIcons.train_style_one, CupertinoIcons.train_style_two, CupertinoIcons.paw, CupertinoIcons.paw_solid, CupertinoIcons.game_controller, CupertinoIcons.game_controller_solid, CupertinoIcons.lab_flask, CupertinoIcons.lab_flask_solid, CupertinoIcons.heart, CupertinoIcons.heart_solid, CupertinoIcons.bell, CupertinoIcons.bell_solid, CupertinoIcons.news, CupertinoIcons.news_solid, CupertinoIcons.brightness, CupertinoIcons.brightness_solid, CupertinoIcons.airplane, CupertinoIcons.alarm, CupertinoIcons.alarm_fill, CupertinoIcons.alt, CupertinoIcons.ant, CupertinoIcons.ant_circle, CupertinoIcons.ant_circle_fill, CupertinoIcons.ant_fill, CupertinoIcons.antenna_radiowaves_left_right, CupertinoIcons.app, CupertinoIcons.app_badge, CupertinoIcons.app_badge_fill, CupertinoIcons.app_fill, CupertinoIcons.archivebox, CupertinoIcons.archivebox_fill, CupertinoIcons.arrow_2_circlepath, CupertinoIcons.arrow_2_circlepath_circle, CupertinoIcons.arrow_2_circlepath_circle_fill, CupertinoIcons.arrow_2_squarepath, CupertinoIcons.arrow_3_trianglepath, CupertinoIcons.arrow_branch, CupertinoIcons.arrow_clockwise, CupertinoIcons.arrow_clockwise_circle, CupertinoIcons.arrow_clockwise_circle_fill, CupertinoIcons.arrow_counterclockwise, CupertinoIcons.arrow_counterclockwise_circle, CupertinoIcons.arrow_counterclockwise_circle_fill, CupertinoIcons.arrow_down, CupertinoIcons.arrow_down_circle, CupertinoIcons.arrow_down_circle_fill, CupertinoIcons.arrow_down_doc, CupertinoIcons.arrow_down_doc_fill, CupertinoIcons.arrow_down_left, CupertinoIcons.arrow_down_left_circle, CupertinoIcons.arrow_down_left_circle_fill, CupertinoIcons.arrow_down_left_square, CupertinoIcons.arrow_down_left_square_fill, CupertinoIcons.arrow_down_right, CupertinoIcons.arrow_down_right_arrow_up_left, CupertinoIcons.arrow_down_right_circle, CupertinoIcons.arrow_down_right_circle_fill, CupertinoIcons.arrow_down_right_square, CupertinoIcons.arrow_down_right_square_fill, CupertinoIcons.arrow_down_square, CupertinoIcons.arrow_down_square_fill, CupertinoIcons.arrow_down_to_line, CupertinoIcons.arrow_down_to_line_alt, CupertinoIcons.arrow_left, CupertinoIcons.arrow_left_circle, CupertinoIcons.arrow_left_circle_fill, CupertinoIcons.arrow_left_right, CupertinoIcons.arrow_left_right_circle, CupertinoIcons.arrow_left_right_circle_fill, CupertinoIcons.arrow_left_right_square, CupertinoIcons.arrow_left_right_square_fill, CupertinoIcons.arrow_left_square, CupertinoIcons.arrow_left_square_fill, CupertinoIcons.arrow_left_to_line, CupertinoIcons.arrow_left_to_line_alt, CupertinoIcons.arrow_merge, CupertinoIcons.arrow_right, CupertinoIcons.arrow_right_arrow_left, CupertinoIcons.arrow_right_arrow_left_circle, CupertinoIcons.arrow_right_arrow_left_circle_fill, CupertinoIcons.arrow_right_arrow_left_square, CupertinoIcons.arrow_right_arrow_left_square_fill, CupertinoIcons.arrow_right_circle, CupertinoIcons.arrow_right_circle_fill, CupertinoIcons.arrow_right_square, CupertinoIcons.arrow_right_square_fill, CupertinoIcons.arrow_right_to_line, CupertinoIcons.arrow_right_to_line_alt, CupertinoIcons.arrow_swap, CupertinoIcons.arrow_turn_down_left, CupertinoIcons.arrow_turn_down_right, CupertinoIcons.arrow_turn_left_down, CupertinoIcons.arrow_turn_left_up, CupertinoIcons.arrow_turn_right_down, CupertinoIcons.arrow_turn_right_up, CupertinoIcons.arrow_turn_up_left, CupertinoIcons.arrow_turn_up_right, CupertinoIcons.arrow_up, CupertinoIcons.arrow_up_arrow_down, CupertinoIcons.arrow_up_arrow_down_circle, CupertinoIcons.arrow_up_arrow_down_circle_fill, CupertinoIcons.arrow_up_arrow_down_square, CupertinoIcons.arrow_up_arrow_down_square_fill, CupertinoIcons.arrow_up_bin, CupertinoIcons.arrow_up_bin_fill, CupertinoIcons.arrow_up_circle, CupertinoIcons.arrow_up_circle_fill, CupertinoIcons.arrow_up_doc, CupertinoIcons.arrow_up_doc_fill, CupertinoIcons.arrow_up_down, CupertinoIcons.arrow_up_down_circle, CupertinoIcons.arrow_up_down_circle_fill, CupertinoIcons.arrow_up_down_square, CupertinoIcons.arrow_up_down_square_fill, CupertinoIcons.arrow_up_left, CupertinoIcons.arrow_up_left_arrow_down_right, CupertinoIcons.arrow_up_left_circle, CupertinoIcons.arrow_up_left_circle_fill, CupertinoIcons.arrow_up_left_square, CupertinoIcons.arrow_up_left_square_fill, CupertinoIcons.arrow_up_right, CupertinoIcons.arrow_up_right_circle, CupertinoIcons.arrow_up_right_circle_fill, CupertinoIcons.arrow_up_right_diamond, CupertinoIcons.arrow_up_right_diamond_fill, CupertinoIcons.arrow_up_right_square, CupertinoIcons.arrow_up_right_square_fill, CupertinoIcons.arrow_up_square, CupertinoIcons.arrow_up_square_fill, CupertinoIcons.arrow_up_to_line, CupertinoIcons.arrow_up_to_line_alt, CupertinoIcons.arrow_uturn_down, CupertinoIcons.arrow_uturn_down_circle, CupertinoIcons.arrow_uturn_down_circle_fill, CupertinoIcons.arrow_uturn_down_square, CupertinoIcons.arrow_uturn_down_square_fill, CupertinoIcons.arrow_uturn_left, CupertinoIcons.arrow_uturn_left_circle, CupertinoIcons.arrow_uturn_left_circle_fill, CupertinoIcons.arrow_uturn_left_square, CupertinoIcons.arrow_uturn_left_square_fill, CupertinoIcons.arrow_uturn_right, CupertinoIcons.arrow_uturn_right_circle, CupertinoIcons.arrow_uturn_right_circle_fill, CupertinoIcons.arrow_uturn_right_square, CupertinoIcons.arrow_uturn_right_square_fill, CupertinoIcons.arrow_uturn_up, CupertinoIcons.arrow_uturn_up_circle, CupertinoIcons.arrow_uturn_up_circle_fill, CupertinoIcons.arrow_uturn_up_square, CupertinoIcons.arrow_uturn_up_square_fill, CupertinoIcons.arrowshape_turn_up_left, CupertinoIcons.arrowshape_turn_up_left_2, CupertinoIcons.arrowshape_turn_up_left_2_fill, CupertinoIcons.arrowshape_turn_up_left_circle, CupertinoIcons.arrowshape_turn_up_left_circle_fill, CupertinoIcons.arrowshape_turn_up_left_fill, CupertinoIcons.arrowshape_turn_up_right, CupertinoIcons.arrowshape_turn_up_right_circle, CupertinoIcons.arrowshape_turn_up_right_circle_fill, CupertinoIcons.arrowshape_turn_up_right_fill, CupertinoIcons.arrowtriangle_down, CupertinoIcons.arrowtriangle_down_circle, CupertinoIcons.arrowtriangle_down_circle_fill, CupertinoIcons.arrowtriangle_down_fill, CupertinoIcons.arrowtriangle_down_square, CupertinoIcons.arrowtriangle_down_square_fill, CupertinoIcons.arrowtriangle_left, CupertinoIcons.arrowtriangle_left_circle, CupertinoIcons.arrowtriangle_left_circle_fill, CupertinoIcons.arrowtriangle_left_fill, CupertinoIcons.arrowtriangle_left_square, CupertinoIcons.arrowtriangle_left_square_fill, CupertinoIcons.arrowtriangle_right, CupertinoIcons.arrowtriangle_right_circle, CupertinoIcons.arrowtriangle_right_circle_fill, CupertinoIcons.arrowtriangle_right_fill, CupertinoIcons.arrowtriangle_right_square, CupertinoIcons.arrowtriangle_right_square_fill, CupertinoIcons.arrowtriangle_up, CupertinoIcons.arrowtriangle_up_circle, CupertinoIcons.arrowtriangle_up_circle_fill, CupertinoIcons.arrowtriangle_up_fill, CupertinoIcons.arrowtriangle_up_square, CupertinoIcons.arrowtriangle_up_square_fill, CupertinoIcons.asterisk_circle, CupertinoIcons.asterisk_circle_fill, CupertinoIcons.at, CupertinoIcons.at_badge_minus, CupertinoIcons.at_badge_plus, CupertinoIcons.at_circle, CupertinoIcons.at_circle_fill, CupertinoIcons.backward, CupertinoIcons.backward_end, CupertinoIcons.backward_end_alt, CupertinoIcons.backward_end_alt_fill, CupertinoIcons.backward_end_fill, CupertinoIcons.backward_fill, CupertinoIcons.badge_plus_radiowaves_right, CupertinoIcons.bag, CupertinoIcons.bag_badge_minus, CupertinoIcons.bag_badge_plus, CupertinoIcons.bag_fill, CupertinoIcons.bag_fill_badge_minus, CupertinoIcons.bag_fill_badge_plus, CupertinoIcons.bandage, CupertinoIcons.bandage_fill, CupertinoIcons.barcode, CupertinoIcons.barcode_viewfinder, CupertinoIcons.bars, CupertinoIcons.battery_0, CupertinoIcons.battery_100, CupertinoIcons.battery_25, CupertinoIcons.bed_double, CupertinoIcons.bed_double_fill, CupertinoIcons.bell_circle, CupertinoIcons.bell_circle_fill, CupertinoIcons.bell_fill, CupertinoIcons.bell_slash, CupertinoIcons.bell_slash_fill, CupertinoIcons.bin_xmark, CupertinoIcons.bin_xmark_fill, CupertinoIcons.bitcoin, CupertinoIcons.bitcoin_circle, CupertinoIcons.bitcoin_circle_fill, CupertinoIcons.bold, CupertinoIcons.bold_italic_underline, CupertinoIcons.bold_underline, CupertinoIcons.bolt, CupertinoIcons.bolt_badge_a, CupertinoIcons.bolt_badge_a_fill, CupertinoIcons.bolt_circle, CupertinoIcons.bolt_circle_fill, CupertinoIcons.bolt_fill, CupertinoIcons.bolt_horizontal, CupertinoIcons.bolt_horizontal_circle, CupertinoIcons.bolt_horizontal_circle_fill, CupertinoIcons.bolt_horizontal_fill, CupertinoIcons.bolt_slash, CupertinoIcons.bolt_slash_fill, CupertinoIcons.book_circle, CupertinoIcons.book_circle_fill, CupertinoIcons.book_fill, CupertinoIcons.bookmark_fill, CupertinoIcons.briefcase, CupertinoIcons.briefcase_fill, CupertinoIcons.bubble_left, CupertinoIcons.bubble_left_bubble_right, CupertinoIcons.bubble_left_bubble_right_fill, CupertinoIcons.bubble_left_fill, CupertinoIcons.bubble_middle_bottom, CupertinoIcons.bubble_middle_bottom_fill, CupertinoIcons.bubble_middle_top, CupertinoIcons.bubble_middle_top_fill, CupertinoIcons.bubble_right, CupertinoIcons.bubble_right_fill, CupertinoIcons.building_2_fill, CupertinoIcons.burn, CupertinoIcons.burst, CupertinoIcons.burst_fill, CupertinoIcons.calendar, CupertinoIcons.calendar_badge_minus, CupertinoIcons.calendar_badge_plus, CupertinoIcons.calendar_circle, CupertinoIcons.calendar_circle_fill, CupertinoIcons.calendar_today, CupertinoIcons.camera, CupertinoIcons.camera_circle, CupertinoIcons.camera_circle_fill, CupertinoIcons.camera_fill, CupertinoIcons.camera_on_rectangle, CupertinoIcons.camera_on_rectangle_fill, CupertinoIcons.camera_rotate, CupertinoIcons.camera_rotate_fill, CupertinoIcons.camera_viewfinder, CupertinoIcons.capslock, CupertinoIcons.capslock_fill, CupertinoIcons.capsule, CupertinoIcons.capsule_fill, CupertinoIcons.captions_bubble, CupertinoIcons.captions_bubble_fill, CupertinoIcons.car_fill, CupertinoIcons.cart, CupertinoIcons.cart_badge_minus, CupertinoIcons.cart_badge_plus, CupertinoIcons.cart_fill, CupertinoIcons.cart_fill_badge_minus, CupertinoIcons.cart_fill_badge_plus, CupertinoIcons.chart_bar, CupertinoIcons.chart_bar_alt_fill, CupertinoIcons.chart_bar_circle, CupertinoIcons.chart_bar_circle_fill, CupertinoIcons.chart_bar_fill, CupertinoIcons.chart_bar_square, CupertinoIcons.chart_bar_square_fill, CupertinoIcons.chart_pie, CupertinoIcons.chart_pie_fill, CupertinoIcons.chat_bubble, CupertinoIcons.chat_bubble_2, CupertinoIcons.chat_bubble_2_fill, CupertinoIcons.chat_bubble_fill, CupertinoIcons.chat_bubble_text, CupertinoIcons.chat_bubble_text_fill, CupertinoIcons.checkmark, CupertinoIcons.checkmark_alt, CupertinoIcons.checkmark_alt_circle, CupertinoIcons.checkmark_alt_circle_fill, CupertinoIcons.checkmark_circle, CupertinoIcons.checkmark_circle_fill, CupertinoIcons.checkmark_rectangle, CupertinoIcons.checkmark_rectangle_fill, CupertinoIcons.checkmark_seal, CupertinoIcons.checkmark_seal_fill, CupertinoIcons.checkmark_shield, CupertinoIcons.checkmark_shield_fill, CupertinoIcons.checkmark_square, CupertinoIcons.checkmark_square_fill, CupertinoIcons.chevron_back, CupertinoIcons.chevron_compact_down, CupertinoIcons.chevron_compact_left, CupertinoIcons.chevron_compact_right, CupertinoIcons.chevron_compact_up, CupertinoIcons.chevron_down, CupertinoIcons.chevron_down_circle, CupertinoIcons.chevron_down_circle_fill, CupertinoIcons.chevron_down_square, CupertinoIcons.chevron_down_square_fill, CupertinoIcons.chevron_forward, CupertinoIcons.chevron_left, CupertinoIcons.chevron_left_2, CupertinoIcons.chevron_left_circle, CupertinoIcons.chevron_left_circle_fill, CupertinoIcons.chevron_left_slash_chevron_right, CupertinoIcons.chevron_left_square, CupertinoIcons.chevron_left_square_fill, CupertinoIcons.chevron_right, CupertinoIcons.chevron_right_2, CupertinoIcons.chevron_right_circle, CupertinoIcons.chevron_right_circle_fill, CupertinoIcons.chevron_right_square, CupertinoIcons.chevron_right_square_fill, CupertinoIcons.chevron_up, CupertinoIcons.chevron_up_chevron_down, CupertinoIcons.chevron_up_circle, CupertinoIcons.chevron_up_circle_fill, CupertinoIcons.chevron_up_square, CupertinoIcons.chevron_up_square_fill, CupertinoIcons.circle_bottomthird_split, CupertinoIcons.circle_fill, CupertinoIcons.circle_grid_3x3, CupertinoIcons.circle_grid_3x3_fill, CupertinoIcons.circle_grid_hex, CupertinoIcons.circle_grid_hex_fill, CupertinoIcons.circle_lefthalf_fill, CupertinoIcons.circle_righthalf_fill, CupertinoIcons.clear_fill, CupertinoIcons.clock_fill, CupertinoIcons.cloud, CupertinoIcons.cloud_bolt, CupertinoIcons.cloud_bolt_fill, CupertinoIcons.cloud_bolt_rain, CupertinoIcons.cloud_bolt_rain_fill, CupertinoIcons.cloud_download, CupertinoIcons.cloud_download_fill, CupertinoIcons.cloud_drizzle, CupertinoIcons.cloud_drizzle_fill, CupertinoIcons.cloud_fill, CupertinoIcons.cloud_fog, CupertinoIcons.cloud_fog_fill, CupertinoIcons.cloud_hail, CupertinoIcons.cloud_hail_fill, CupertinoIcons.cloud_heavyrain, CupertinoIcons.cloud_heavyrain_fill, CupertinoIcons.cloud_moon, CupertinoIcons.cloud_moon_bolt, CupertinoIcons.cloud_moon_bolt_fill, CupertinoIcons.cloud_moon_fill, CupertinoIcons.cloud_moon_rain, CupertinoIcons.cloud_moon_rain_fill, CupertinoIcons.cloud_rain, CupertinoIcons.cloud_rain_fill, CupertinoIcons.cloud_sleet, CupertinoIcons.cloud_sleet_fill, CupertinoIcons.cloud_snow, CupertinoIcons.cloud_snow_fill, CupertinoIcons.cloud_sun, CupertinoIcons.cloud_sun_bolt, CupertinoIcons.cloud_sun_bolt_fill, CupertinoIcons.cloud_sun_fill, CupertinoIcons.cloud_sun_rain, CupertinoIcons.cloud_sun_rain_fill, CupertinoIcons.cloud_upload, CupertinoIcons.cloud_upload_fill, CupertinoIcons.color_filter, CupertinoIcons.color_filter_fill, CupertinoIcons.command, CupertinoIcons.compass, CupertinoIcons.compass_fill, CupertinoIcons.control, CupertinoIcons.creditcard, CupertinoIcons.creditcard_fill, CupertinoIcons.crop, CupertinoIcons.crop_rotate, CupertinoIcons.cube, CupertinoIcons.cube_box, CupertinoIcons.cube_box_fill, CupertinoIcons.cube_fill, CupertinoIcons.cursor_rays, CupertinoIcons.decrease_indent, CupertinoIcons.decrease_quotelevel, CupertinoIcons.delete_left, CupertinoIcons.delete_left_fill, CupertinoIcons.delete_right, CupertinoIcons.delete_right_fill, CupertinoIcons.desktopcomputer, CupertinoIcons.device_desktop, CupertinoIcons.device_laptop, CupertinoIcons.device_phone_landscape, CupertinoIcons.device_phone_portrait, CupertinoIcons.dial, CupertinoIcons.dial_fill, CupertinoIcons.divide, CupertinoIcons.divide_circle, CupertinoIcons.divide_circle_fill, CupertinoIcons.divide_square, CupertinoIcons.divide_square_fill, CupertinoIcons.doc, CupertinoIcons.doc_append, CupertinoIcons.doc_chart, CupertinoIcons.doc_chart_fill, CupertinoIcons.doc_checkmark, CupertinoIcons.doc_checkmark_fill, CupertinoIcons.doc_circle, CupertinoIcons.doc_circle_fill, CupertinoIcons.doc_fill, CupertinoIcons.doc_on_clipboard, CupertinoIcons.doc_on_clipboard_fill, CupertinoIcons.doc_on_doc, CupertinoIcons.doc_on_doc_fill, CupertinoIcons.doc_person, CupertinoIcons.doc_person_fill, CupertinoIcons.doc_plaintext, CupertinoIcons.doc_richtext, CupertinoIcons.doc_text, CupertinoIcons.doc_text_fill, CupertinoIcons.doc_text_search, CupertinoIcons.doc_text_viewfinder, CupertinoIcons.dot_radiowaves_left_right, CupertinoIcons.dot_radiowaves_right, CupertinoIcons.dot_square, CupertinoIcons.dot_square_fill, CupertinoIcons.download_circle, CupertinoIcons.download_circle_fill, CupertinoIcons.drop, CupertinoIcons.drop_fill, CupertinoIcons.drop_triangle, CupertinoIcons.drop_triangle_fill, CupertinoIcons.ear, CupertinoIcons.eject, CupertinoIcons.eject_fill, CupertinoIcons.ellipses_bubble, CupertinoIcons.ellipses_bubble_fill, CupertinoIcons.ellipsis_circle, CupertinoIcons.ellipsis_circle_fill, CupertinoIcons.ellipsis_vertical, CupertinoIcons.ellipsis_vertical_circle, CupertinoIcons.ellipsis_vertical_circle_fill, CupertinoIcons.envelope, CupertinoIcons.envelope_badge, CupertinoIcons.envelope_badge_fill, CupertinoIcons.envelope_circle, CupertinoIcons.envelope_circle_fill, CupertinoIcons.envelope_fill, CupertinoIcons.envelope_open, CupertinoIcons.envelope_open_fill, CupertinoIcons.equal, CupertinoIcons.equal_circle, CupertinoIcons.equal_circle_fill, CupertinoIcons.equal_square, CupertinoIcons.equal_square_fill, CupertinoIcons.escape, CupertinoIcons.exclamationmark, CupertinoIcons.exclamationmark_bubble, CupertinoIcons.exclamationmark_bubble_fill, CupertinoIcons.exclamationmark_circle, CupertinoIcons.exclamationmark_circle_fill, CupertinoIcons.exclamationmark_octagon, CupertinoIcons.exclamationmark_octagon_fill, CupertinoIcons.exclamationmark_shield, CupertinoIcons.exclamationmark_shield_fill, CupertinoIcons.exclamationmark_square, CupertinoIcons.exclamationmark_square_fill, CupertinoIcons.exclamationmark_triangle, CupertinoIcons.exclamationmark_triangle_fill, CupertinoIcons.eye_fill, CupertinoIcons.eye_slash, CupertinoIcons.eye_slash_fill, CupertinoIcons.eyedropper, CupertinoIcons.eyedropper_full, CupertinoIcons.eyedropper_halffull, CupertinoIcons.eyeglasses, CupertinoIcons.f_cursive, CupertinoIcons.f_cursive_circle, CupertinoIcons.f_cursive_circle_fill, CupertinoIcons.film, CupertinoIcons.film_fill, CupertinoIcons.flag_circle, CupertinoIcons.flag_circle_fill, CupertinoIcons.flag_fill, CupertinoIcons.flag_slash, CupertinoIcons.flag_slash_fill, CupertinoIcons.flame, CupertinoIcons.flame_fill, CupertinoIcons.floppy_disk, CupertinoIcons.flowchart, CupertinoIcons.flowchart_fill, CupertinoIcons.folder_badge_minus, CupertinoIcons.folder_badge_person_crop, CupertinoIcons.folder_badge_plus, CupertinoIcons.folder_circle, CupertinoIcons.folder_circle_fill, CupertinoIcons.folder_fill, CupertinoIcons.folder_fill_badge_minus, CupertinoIcons.folder_fill_badge_person_crop, CupertinoIcons.folder_fill_badge_plus, CupertinoIcons.forward_end, CupertinoIcons.forward_end_alt, CupertinoIcons.forward_end_alt_fill, CupertinoIcons.forward_end_fill, CupertinoIcons.forward_fill, CupertinoIcons.function, CupertinoIcons.fx, CupertinoIcons.gamecontroller, CupertinoIcons.gamecontroller_alt_fill, CupertinoIcons.gamecontroller_fill, CupertinoIcons.gauge, CupertinoIcons.gauge_badge_minus, CupertinoIcons.gauge_badge_plus, CupertinoIcons.gear_alt, CupertinoIcons.gear_alt_fill, CupertinoIcons.gift, CupertinoIcons.gift_alt, CupertinoIcons.gift_alt_fill, CupertinoIcons.gift_fill, CupertinoIcons.globe, CupertinoIcons.gobackward, CupertinoIcons.gobackward_10, CupertinoIcons.gobackward_15, CupertinoIcons.gobackward_30, CupertinoIcons.gobackward_45, CupertinoIcons.gobackward_60, CupertinoIcons.gobackward_75, CupertinoIcons.gobackward_90, CupertinoIcons.gobackward_minus, CupertinoIcons.goforward, CupertinoIcons.goforward_10, CupertinoIcons.goforward_15, CupertinoIcons.goforward_30, CupertinoIcons.goforward_45, CupertinoIcons.goforward_60, CupertinoIcons.goforward_75, CupertinoIcons.goforward_90, CupertinoIcons.goforward_plus, CupertinoIcons.graph_circle, CupertinoIcons.graph_circle_fill, CupertinoIcons.graph_square, CupertinoIcons.graph_square_fill, CupertinoIcons.greaterthan, CupertinoIcons.greaterthan_circle, CupertinoIcons.greaterthan_circle_fill, CupertinoIcons.greaterthan_square, CupertinoIcons.greaterthan_square_fill, CupertinoIcons.grid, CupertinoIcons.grid_circle, CupertinoIcons.grid_circle_fill, CupertinoIcons.guitars, CupertinoIcons.hammer, CupertinoIcons.hammer_fill, CupertinoIcons.hand_draw, CupertinoIcons.hand_draw_fill, CupertinoIcons.hand_point_left, CupertinoIcons.hand_point_left_fill, CupertinoIcons.hand_point_right, CupertinoIcons.hand_point_right_fill, CupertinoIcons.hand_raised, CupertinoIcons.hand_raised_fill, CupertinoIcons.hand_raised_slash, CupertinoIcons.hand_raised_slash_fill, CupertinoIcons.hand_thumbsdown, CupertinoIcons.hand_thumbsdown_fill, CupertinoIcons.hand_thumbsup, CupertinoIcons.hand_thumbsup_fill, CupertinoIcons.hare, CupertinoIcons.hare_fill, CupertinoIcons.headphones, CupertinoIcons.heart_circle, CupertinoIcons.heart_circle_fill, CupertinoIcons.heart_fill, CupertinoIcons.heart_slash, CupertinoIcons.heart_slash_circle, CupertinoIcons.heart_slash_circle_fill, CupertinoIcons.heart_slash_fill, CupertinoIcons.helm, CupertinoIcons.hexagon, CupertinoIcons.hexagon_fill, CupertinoIcons.hifispeaker, CupertinoIcons.hifispeaker_fill, CupertinoIcons.hourglass, CupertinoIcons.hourglass_bottomhalf_fill, CupertinoIcons.hourglass_tophalf_fill, CupertinoIcons.house, CupertinoIcons.house_alt, CupertinoIcons.house_alt_fill, CupertinoIcons.house_fill, CupertinoIcons.hurricane, CupertinoIcons.increase_indent, CupertinoIcons.increase_quotelevel, CupertinoIcons.infinite, CupertinoIcons.info_circle, CupertinoIcons.info_circle_fill, CupertinoIcons.italic, CupertinoIcons.keyboard, CupertinoIcons.keyboard_chevron_compact_down, CupertinoIcons.largecircle_fill_circle, CupertinoIcons.lasso, CupertinoIcons.layers, CupertinoIcons.layers_alt, CupertinoIcons.layers_alt_fill, CupertinoIcons.layers_fill, CupertinoIcons.leaf_arrow_circlepath, CupertinoIcons.lessthan, CupertinoIcons.lessthan_circle, CupertinoIcons.lessthan_circle_fill, CupertinoIcons.lessthan_square, CupertinoIcons.lessthan_square_fill, CupertinoIcons.light_max, CupertinoIcons.light_min, CupertinoIcons.lightbulb, CupertinoIcons.lightbulb_fill, CupertinoIcons.lightbulb_slash, CupertinoIcons.lightbulb_slash_fill, CupertinoIcons.line_horizontal_3, CupertinoIcons.line_horizontal_3_decrease, CupertinoIcons.line_horizontal_3_decrease_circle, CupertinoIcons.line_horizontal_3_decrease_circle_fill, CupertinoIcons.link, CupertinoIcons.link_circle, CupertinoIcons.link_circle_fill, CupertinoIcons.list_bullet, CupertinoIcons.list_bullet_below_rectangle, CupertinoIcons.list_bullet_indent, CupertinoIcons.list_dash, CupertinoIcons.list_number, CupertinoIcons.list_number_rtl, CupertinoIcons.location_circle, CupertinoIcons.location_circle_fill, CupertinoIcons.location_fill, CupertinoIcons.location_north, CupertinoIcons.location_north_fill, CupertinoIcons.location_north_line, CupertinoIcons.location_north_line_fill, CupertinoIcons.location_slash, CupertinoIcons.location_slash_fill, CupertinoIcons.lock, CupertinoIcons.lock_circle, CupertinoIcons.lock_circle_fill, CupertinoIcons.lock_fill, CupertinoIcons.lock_open, CupertinoIcons.lock_open_fill, CupertinoIcons.lock_rotation, CupertinoIcons.lock_rotation_open, CupertinoIcons.lock_shield, CupertinoIcons.lock_shield_fill, CupertinoIcons.lock_slash, CupertinoIcons.lock_slash_fill, CupertinoIcons.macwindow, CupertinoIcons.map, CupertinoIcons.map_fill, CupertinoIcons.map_pin, CupertinoIcons.map_pin_ellipse, CupertinoIcons.map_pin_slash, CupertinoIcons.memories, CupertinoIcons.memories_badge_minus, CupertinoIcons.memories_badge_plus, CupertinoIcons.metronome, CupertinoIcons.mic_circle, CupertinoIcons.mic_circle_fill, CupertinoIcons.mic_fill, CupertinoIcons.mic_slash, CupertinoIcons.mic_slash_fill, CupertinoIcons.minus, CupertinoIcons.minus_circle, CupertinoIcons.minus_circle_fill, CupertinoIcons.minus_rectangle, CupertinoIcons.minus_rectangle_fill, CupertinoIcons.minus_slash_plus, CupertinoIcons.minus_square, CupertinoIcons.minus_square_fill, CupertinoIcons.money_dollar, CupertinoIcons.money_dollar_circle, CupertinoIcons.money_dollar_circle_fill, CupertinoIcons.money_euro, CupertinoIcons.money_euro_circle, CupertinoIcons.money_euro_circle_fill, CupertinoIcons.money_pound, CupertinoIcons.money_pound_circle, CupertinoIcons.money_pound_circle_fill, CupertinoIcons.money_rubl, CupertinoIcons.money_rubl_circle, CupertinoIcons.money_rubl_circle_fill, CupertinoIcons.money_yen, CupertinoIcons.money_yen_circle, CupertinoIcons.money_yen_circle_fill, CupertinoIcons.moon, CupertinoIcons.moon_circle, CupertinoIcons.moon_circle_fill, CupertinoIcons.moon_fill, CupertinoIcons.moon_stars, CupertinoIcons.moon_stars_fill, CupertinoIcons.moon_zzz, CupertinoIcons.moon_zzz_fill, CupertinoIcons.move, CupertinoIcons.multiply, CupertinoIcons.multiply_circle, CupertinoIcons.multiply_circle_fill, CupertinoIcons.multiply_square, CupertinoIcons.multiply_square_fill, CupertinoIcons.music_albums, CupertinoIcons.music_albums_fill, CupertinoIcons.music_house, CupertinoIcons.music_house_fill, CupertinoIcons.music_mic, CupertinoIcons.music_note_2, CupertinoIcons.music_note_list, CupertinoIcons.nosign, CupertinoIcons.number, CupertinoIcons.number_circle, CupertinoIcons.number_circle_fill, CupertinoIcons.number_square, CupertinoIcons.number_square_fill, CupertinoIcons.option, CupertinoIcons.paintbrush, CupertinoIcons.paintbrush_fill, CupertinoIcons.pano, CupertinoIcons.pano_fill, CupertinoIcons.paperclip, CupertinoIcons.paperplane, CupertinoIcons.paperplane_fill, CupertinoIcons.paragraph, CupertinoIcons.pause_circle, CupertinoIcons.pause_circle_fill, CupertinoIcons.pause_fill, CupertinoIcons.pause_rectangle, CupertinoIcons.pause_rectangle_fill, CupertinoIcons.pencil_circle, CupertinoIcons.pencil_circle_fill, CupertinoIcons.pencil_ellipsis_rectangle, CupertinoIcons.pencil_outline, CupertinoIcons.pencil_slash, CupertinoIcons.percent, CupertinoIcons.person_2, CupertinoIcons.person_2_alt, CupertinoIcons.person_2_fill, CupertinoIcons.person_2_square_stack, CupertinoIcons.person_2_square_stack_fill, CupertinoIcons.person_3, CupertinoIcons.person_3_fill, CupertinoIcons.person_alt, CupertinoIcons.person_alt_circle, CupertinoIcons.person_alt_circle_fill, CupertinoIcons.person_badge_minus, CupertinoIcons.person_badge_minus_fill, CupertinoIcons.person_badge_plus, CupertinoIcons.person_badge_plus_fill, CupertinoIcons.person_circle, CupertinoIcons.person_circle_fill, CupertinoIcons.person_crop_circle, CupertinoIcons.person_crop_circle_badge_checkmark, CupertinoIcons.person_crop_circle_badge_exclam, CupertinoIcons.person_crop_circle_badge_minus, CupertinoIcons.person_crop_circle_badge_plus, CupertinoIcons.person_crop_circle_badge_xmark, CupertinoIcons.person_crop_circle_fill, CupertinoIcons.person_crop_circle_fill_badge_checkmark, CupertinoIcons.person_crop_circle_fill_badge_exclam, CupertinoIcons.person_crop_circle_fill_badge_minus, CupertinoIcons.person_crop_circle_fill_badge_plus, CupertinoIcons.person_crop_circle_fill_badge_xmark, CupertinoIcons.person_crop_rectangle, CupertinoIcons.person_crop_rectangle_fill, CupertinoIcons.person_crop_square, CupertinoIcons.person_crop_square_fill, CupertinoIcons.person_fill, CupertinoIcons.personalhotspot, CupertinoIcons.perspective, CupertinoIcons.phone_arrow_down_left, CupertinoIcons.phone_arrow_right, CupertinoIcons.phone_arrow_up_right, CupertinoIcons.phone_badge_plus, CupertinoIcons.phone_circle, CupertinoIcons.phone_circle_fill, CupertinoIcons.phone_down, CupertinoIcons.phone_down_circle, CupertinoIcons.phone_down_circle_fill, CupertinoIcons.phone_down_fill, CupertinoIcons.phone_fill, CupertinoIcons.phone_fill_arrow_down_left, CupertinoIcons.phone_fill_arrow_right, CupertinoIcons.phone_fill_arrow_up_right, CupertinoIcons.phone_fill_badge_plus, CupertinoIcons.photo, CupertinoIcons.photo_fill, CupertinoIcons.photo_fill_on_rectangle_fill, CupertinoIcons.photo_on_rectangle, CupertinoIcons.piano, CupertinoIcons.pin, CupertinoIcons.pin_fill, CupertinoIcons.pin_slash, CupertinoIcons.pin_slash_fill, CupertinoIcons.placemark, CupertinoIcons.placemark_fill, CupertinoIcons.play, CupertinoIcons.play_circle, CupertinoIcons.play_circle_fill, CupertinoIcons.play_fill, CupertinoIcons.play_rectangle, CupertinoIcons.play_rectangle_fill, CupertinoIcons.playpause, CupertinoIcons.playpause_fill, CupertinoIcons.plus, CupertinoIcons.plus_app, CupertinoIcons.plus_app_fill, CupertinoIcons.plus_bubble, CupertinoIcons.plus_bubble_fill, CupertinoIcons.plus_circle, CupertinoIcons.plus_circle_fill, CupertinoIcons.plus_rectangle, CupertinoIcons.plus_rectangle_fill, CupertinoIcons.plus_rectangle_fill_on_rectangle_fill, CupertinoIcons.plus_rectangle_on_rectangle, CupertinoIcons.plus_slash_minus, CupertinoIcons.plus_square, CupertinoIcons.plus_square_fill, CupertinoIcons.plus_square_fill_on_square_fill, CupertinoIcons.plus_square_on_square, CupertinoIcons.plusminus, CupertinoIcons.plusminus_circle, CupertinoIcons.plusminus_circle_fill, CupertinoIcons.power, CupertinoIcons.printer, CupertinoIcons.printer_fill, CupertinoIcons.projective, CupertinoIcons.purchased, CupertinoIcons.purchased_circle, CupertinoIcons.purchased_circle_fill, CupertinoIcons.qrcode, CupertinoIcons.qrcode_viewfinder, CupertinoIcons.question, CupertinoIcons.question_circle, CupertinoIcons.question_circle_fill, CupertinoIcons.question_diamond, CupertinoIcons.question_diamond_fill, CupertinoIcons.question_square, CupertinoIcons.question_square_fill, CupertinoIcons.quote_bubble, CupertinoIcons.quote_bubble_fill, CupertinoIcons.radiowaves_left, CupertinoIcons.radiowaves_right, CupertinoIcons.rays, CupertinoIcons.recordingtape, CupertinoIcons.rectangle, CupertinoIcons.rectangle_3_offgrid, CupertinoIcons.rectangle_3_offgrid_fill, CupertinoIcons.rectangle_arrow_up_right_arrow_down_left, CupertinoIcons.rectangle_arrow_up_right_arrow_down_left_slash, CupertinoIcons.rectangle_badge_checkmark, CupertinoIcons.rectangle_badge_xmark, CupertinoIcons.rectangle_compress_vertical, CupertinoIcons.rectangle_dock, CupertinoIcons.rectangle_expand_vertical, CupertinoIcons.rectangle_fill, CupertinoIcons.rectangle_fill_badge_checkmark, CupertinoIcons.rectangle_fill_badge_xmark, CupertinoIcons.rectangle_fill_on_rectangle_angled_fill, CupertinoIcons.rectangle_fill_on_rectangle_fill, CupertinoIcons.rectangle_grid_1x2, CupertinoIcons.rectangle_grid_1x2_fill, CupertinoIcons.rectangle_grid_2x2, CupertinoIcons.rectangle_grid_2x2_fill, CupertinoIcons.rectangle_grid_3x2, CupertinoIcons.rectangle_grid_3x2_fill, CupertinoIcons.rectangle_on_rectangle, CupertinoIcons.rectangle_on_rectangle_angled, CupertinoIcons.rectangle_paperclip, CupertinoIcons.rectangle_split_3x1, CupertinoIcons.rectangle_split_3x1_fill, CupertinoIcons.rectangle_split_3x3, CupertinoIcons.rectangle_split_3x3_fill, CupertinoIcons.rectangle_stack, CupertinoIcons.rectangle_stack_badge_minus, CupertinoIcons.rectangle_stack_badge_person_crop, CupertinoIcons.rectangle_stack_badge_plus, CupertinoIcons.rectangle_stack_fill, CupertinoIcons.rectangle_stack_fill_badge_minus, CupertinoIcons.rectangle_stack_fill_badge_person_crop, CupertinoIcons.rectangle_stack_fill_badge_plus, CupertinoIcons.rectangle_stack_person_crop, CupertinoIcons.rectangle_stack_person_crop_fill, CupertinoIcons.repeat, CupertinoIcons.repeat_1, CupertinoIcons.resize, CupertinoIcons.resize_h, CupertinoIcons.resize_v, CupertinoIcons.return_icon, CupertinoIcons.rhombus, CupertinoIcons.rhombus_fill, CupertinoIcons.rocket, CupertinoIcons.rocket_fill, CupertinoIcons.rosette, CupertinoIcons.rotate_left, CupertinoIcons.rotate_left_fill, CupertinoIcons.rotate_right, CupertinoIcons.rotate_right_fill, CupertinoIcons.scissors, CupertinoIcons.scissors_alt, CupertinoIcons.scope, CupertinoIcons.scribble, CupertinoIcons.search_circle, CupertinoIcons.search_circle_fill, CupertinoIcons.selection_pin_in_out, CupertinoIcons.shield, CupertinoIcons.shield_fill, CupertinoIcons.shield_lefthalf_fill, CupertinoIcons.shield_slash, CupertinoIcons.shield_slash_fill, CupertinoIcons.shift, CupertinoIcons.shift_fill, CupertinoIcons.sidebar_left, CupertinoIcons.sidebar_right, CupertinoIcons.signature, CupertinoIcons.skew, CupertinoIcons.slash_circle, CupertinoIcons.slash_circle_fill, CupertinoIcons.slider_horizontal_3, CupertinoIcons.slider_horizontal_below_rectangle, CupertinoIcons.slowmo, CupertinoIcons.smallcircle_circle, CupertinoIcons.smallcircle_circle_fill, CupertinoIcons.smallcircle_fill_circle, CupertinoIcons.smallcircle_fill_circle_fill, CupertinoIcons.smiley, CupertinoIcons.smiley_fill, CupertinoIcons.smoke, CupertinoIcons.smoke_fill, CupertinoIcons.snow, CupertinoIcons.sort_down, CupertinoIcons.sort_down_circle, CupertinoIcons.sort_down_circle_fill, CupertinoIcons.sort_up, CupertinoIcons.sort_up_circle, CupertinoIcons.sort_up_circle_fill, CupertinoIcons.sparkles, CupertinoIcons.speaker, CupertinoIcons.speaker_1, CupertinoIcons.speaker_1_fill, CupertinoIcons.speaker_2, CupertinoIcons.speaker_2_fill, CupertinoIcons.speaker_3, CupertinoIcons.speaker_3_fill, CupertinoIcons.speaker_fill, CupertinoIcons.speaker_slash, CupertinoIcons.speaker_slash_fill, CupertinoIcons.speaker_slash_fill_rtl, CupertinoIcons.speaker_slash_rtl, CupertinoIcons.speaker_zzz, CupertinoIcons.speaker_zzz_fill, CupertinoIcons.speaker_zzz_fill_rtl, CupertinoIcons.speaker_zzz_rtl, CupertinoIcons.speedometer, CupertinoIcons.sportscourt, CupertinoIcons.sportscourt_fill, CupertinoIcons.square, CupertinoIcons.square_arrow_down, CupertinoIcons.square_arrow_down_fill, CupertinoIcons.square_arrow_down_on_square, CupertinoIcons.square_arrow_down_on_square_fill, CupertinoIcons.square_arrow_left, CupertinoIcons.square_arrow_left_fill, CupertinoIcons.square_arrow_right, CupertinoIcons.square_arrow_right_fill, CupertinoIcons.square_arrow_up, CupertinoIcons.square_arrow_up_fill, CupertinoIcons.square_arrow_up_on_square, CupertinoIcons.square_arrow_up_on_square_fill, CupertinoIcons.square_favorites, CupertinoIcons.square_favorites_alt, CupertinoIcons.square_favorites_alt_fill, CupertinoIcons.square_favorites_fill, CupertinoIcons.square_fill, CupertinoIcons.square_fill_line_vertical_square, CupertinoIcons.square_fill_line_vertical_square_fill, CupertinoIcons.square_fill_on_circle_fill, CupertinoIcons.square_fill_on_square_fill, CupertinoIcons.square_grid_2x2, CupertinoIcons.square_grid_2x2_fill, CupertinoIcons.square_grid_3x2, CupertinoIcons.square_grid_3x2_fill, CupertinoIcons.square_grid_4x3_fill, CupertinoIcons.square_lefthalf_fill, CupertinoIcons.square_line_vertical_square, CupertinoIcons.square_line_vertical_square_fill, CupertinoIcons.square_list, CupertinoIcons.square_list_fill, CupertinoIcons.square_on_circle, CupertinoIcons.square_on_square, CupertinoIcons.square_pencil, CupertinoIcons.square_pencil_fill, CupertinoIcons.square_righthalf_fill, CupertinoIcons.square_split_1x2, CupertinoIcons.square_split_1x2_fill, CupertinoIcons.square_split_2x1, CupertinoIcons.square_split_2x1_fill, CupertinoIcons.square_split_2x2, CupertinoIcons.square_split_2x2_fill, CupertinoIcons.square_stack, CupertinoIcons.square_stack_3d_down_dottedline, CupertinoIcons.square_stack_3d_down_right, CupertinoIcons.square_stack_3d_down_right_fill, CupertinoIcons.square_stack_3d_up, CupertinoIcons.square_stack_3d_up_fill, CupertinoIcons.square_stack_3d_up_slash, CupertinoIcons.square_stack_3d_up_slash_fill, CupertinoIcons.square_stack_fill, CupertinoIcons.squares_below_rectangle, CupertinoIcons.star, CupertinoIcons.star_circle, CupertinoIcons.star_circle_fill, CupertinoIcons.star_fill, CupertinoIcons.star_lefthalf_fill, CupertinoIcons.star_slash, CupertinoIcons.star_slash_fill, CupertinoIcons.staroflife, CupertinoIcons.staroflife_fill, CupertinoIcons.stop, CupertinoIcons.stop_circle, CupertinoIcons.stop_circle_fill, CupertinoIcons.stop_fill, CupertinoIcons.stopwatch, CupertinoIcons.stopwatch_fill, CupertinoIcons.strikethrough, CupertinoIcons.suit_club, CupertinoIcons.suit_club_fill, CupertinoIcons.suit_diamond, CupertinoIcons.suit_diamond_fill, CupertinoIcons.suit_heart, CupertinoIcons.suit_heart_fill, CupertinoIcons.suit_spade, CupertinoIcons.suit_spade_fill, CupertinoIcons.sum, CupertinoIcons.sun_dust, CupertinoIcons.sun_dust_fill, CupertinoIcons.sun_haze, CupertinoIcons.sun_haze_fill, CupertinoIcons.sun_max, CupertinoIcons.sun_max_fill, CupertinoIcons.sun_min, CupertinoIcons.sun_min_fill, CupertinoIcons.sunrise, CupertinoIcons.sunrise_fill, CupertinoIcons.sunset, CupertinoIcons.sunset_fill, CupertinoIcons.t_bubble, CupertinoIcons.t_bubble_fill, CupertinoIcons.table, CupertinoIcons.table_badge_more, CupertinoIcons.table_badge_more_fill, CupertinoIcons.table_fill, CupertinoIcons.tag_circle, CupertinoIcons.tag_circle_fill, CupertinoIcons.tag_fill, CupertinoIcons.text_aligncenter, CupertinoIcons.text_alignleft, CupertinoIcons.text_alignright, CupertinoIcons.text_append, CupertinoIcons.text_badge_checkmark, CupertinoIcons.text_badge_minus, CupertinoIcons.text_badge_plus, CupertinoIcons.text_badge_star, CupertinoIcons.text_badge_xmark, CupertinoIcons.text_bubble, CupertinoIcons.text_bubble_fill, CupertinoIcons.text_cursor, CupertinoIcons.text_insert, CupertinoIcons.text_justify, CupertinoIcons.text_justifyleft, CupertinoIcons.text_justifyright, CupertinoIcons.text_quote, CupertinoIcons.textbox, CupertinoIcons.textformat, CupertinoIcons.textformat_123, CupertinoIcons.textformat_abc, CupertinoIcons.textformat_abc_dottedunderline, CupertinoIcons.textformat_alt, CupertinoIcons.textformat_size, CupertinoIcons.textformat_subscript, CupertinoIcons.textformat_superscript, CupertinoIcons.thermometer, CupertinoIcons.thermometer_snowflake, CupertinoIcons.thermometer_sun, CupertinoIcons.ticket, CupertinoIcons.ticket_fill, CupertinoIcons.tickets, CupertinoIcons.tickets_fill, CupertinoIcons.timelapse, CupertinoIcons.timer, CupertinoIcons.timer_fill, CupertinoIcons.today, CupertinoIcons.today_fill, CupertinoIcons.tornado, CupertinoIcons.tortoise, CupertinoIcons.tortoise_fill, CupertinoIcons.tram_fill, CupertinoIcons.trash, CupertinoIcons.trash_circle, CupertinoIcons.trash_circle_fill, CupertinoIcons.trash_fill, CupertinoIcons.trash_slash, CupertinoIcons.trash_slash_fill, CupertinoIcons.tray, CupertinoIcons.tray_2, CupertinoIcons.tray_2_fill, CupertinoIcons.tray_arrow_down, CupertinoIcons.tray_arrow_down_fill, CupertinoIcons.tray_arrow_up, CupertinoIcons.tray_arrow_up_fill, CupertinoIcons.tray_fill, CupertinoIcons.tray_full, CupertinoIcons.tray_full_fill, CupertinoIcons.tree, CupertinoIcons.triangle, CupertinoIcons.triangle_fill, CupertinoIcons.triangle_lefthalf_fill, CupertinoIcons.triangle_righthalf_fill, CupertinoIcons.tropicalstorm, CupertinoIcons.tuningfork, CupertinoIcons.tv, CupertinoIcons.tv_circle, CupertinoIcons.tv_circle_fill, CupertinoIcons.tv_fill, CupertinoIcons.tv_music_note, CupertinoIcons.tv_music_note_fill, CupertinoIcons.uiwindow_split_2x1, CupertinoIcons.umbrella, CupertinoIcons.umbrella_fill, CupertinoIcons.underline, CupertinoIcons.upload_circle, CupertinoIcons.upload_circle_fill, CupertinoIcons.videocam, CupertinoIcons.videocam_circle, CupertinoIcons.videocam_circle_fill, CupertinoIcons.videocam_fill, CupertinoIcons.view_2d, CupertinoIcons.view_3d, CupertinoIcons.viewfinder, CupertinoIcons.viewfinder_circle, CupertinoIcons.viewfinder_circle_fill, CupertinoIcons.wand_rays, CupertinoIcons.wand_rays_inverse, CupertinoIcons.wand_stars, CupertinoIcons.wand_stars_inverse, CupertinoIcons.waveform, CupertinoIcons.waveform_circle, CupertinoIcons.waveform_circle_fill, CupertinoIcons.waveform_path, CupertinoIcons.waveform_path_badge_minus, CupertinoIcons.waveform_path_badge_plus, CupertinoIcons.waveform_path_ecg, CupertinoIcons.wifi, CupertinoIcons.wifi_exclamationmark, CupertinoIcons.wifi_slash, CupertinoIcons.wind, CupertinoIcons.wind_snow, CupertinoIcons.wrench, CupertinoIcons.wrench_fill, CupertinoIcons.xmark, CupertinoIcons.xmark_circle, CupertinoIcons.xmark_circle_fill, CupertinoIcons.xmark_octagon, CupertinoIcons.xmark_octagon_fill, CupertinoIcons.xmark_rectangle, CupertinoIcons.xmark_rectangle_fill, CupertinoIcons.xmark_seal, CupertinoIcons.xmark_seal_fill, CupertinoIcons.xmark_shield, CupertinoIcons.xmark_shield_fill, CupertinoIcons.xmark_square, CupertinoIcons.xmark_square_fill, CupertinoIcons.zoom_in, CupertinoIcons.zoom_out, CupertinoIcons.zzz]..sort(_compare));