From 08382f6154b08ff4d7a56e1a3cfd8daff5e53e58 Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Tue, 29 Oct 2024 16:38:50 +0000 Subject: [PATCH 01/29] chore(main): release 0.17.0 (#195) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 27 ++++++++++++++++++++++ example/lib/home.dart | 2 +- example/widgetbook/pages/introduction.dart | 2 +- pubspec.yaml | 2 +- 5 files changed, 31 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b4e9013b..6db19b95 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.16.0" + ".": "0.17.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 347e0d94..ccda1008 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # Changelog +## [0.17.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.16.0...v0.17.0) (2024-10-28) + + +### ✨ New Features + +* added label to avatar ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) +* created avatar rail ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) +* **UX-1231:** created avatar rail ([#196](https://github.com/ZebraDevs/zeta_flutter/issues/196)) ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) + + +### 🪲 Bug Fixes + +* added MainAxisSize.min to avatar column to regulate height ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) +* widgetbook max lines avatar rail ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) + + +### 🧪 Tests + +* changed the word 'Dimension' to 'Dimensions' ([#194](https://github.com/ZebraDevs/zeta_flutter/issues/194)) ([17a6995](https://github.com/ZebraDevs/zeta_flutter/commit/17a69951628d17edc635408d1b026abbf3dc92c5)) +* created tests for avatar rail ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) +* fixed parent folder for stepper ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) + + +### 🧹 Miscellaneous Chores + +* **automated:** Lint commit and format ([823370e](https://github.com/ZebraDevs/zeta_flutter/commit/823370e161dd753abd22060d8dd862752dc8a34f)) + ## [0.16.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.15.2...v0.16.0) (2024-10-22) diff --git a/example/lib/home.dart b/example/lib/home.dart index db398437..faba05a5 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -160,7 +160,7 @@ class _HomeState extends State { final _theme = theme..sort((a, b) => a.name.compareTo(b.name)); return ExampleScaffold( // x-release-please-start-version - name: 'zeta_flutter v0.16.0', + name: 'zeta_flutter v0.17.0', // x-release-please-end child: SingleChildScrollView( child: Column( diff --git a/example/widgetbook/pages/introduction.dart b/example/widgetbook/pages/introduction.dart index 2e17ecd8..1e0c7d32 100644 --- a/example/widgetbook/pages/introduction.dart +++ b/example/widgetbook/pages/introduction.dart @@ -71,7 +71,7 @@ class _IntroductionWidgetbookState extends State { Expanded( child: Text( // x-release-please-start-version - 'zeta_flutter v0.16.0', + 'zeta_flutter v0.17.0', // x-release-please-end style: ZetaTextStyles.displayLarge.copyWith(fontSize: largeScreen ? null : 24), ), diff --git a/pubspec.yaml b/pubspec.yaml index 03837121..61a7234c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: zeta_flutter -version: 0.16.0 +version: 0.17.0 description: Zeta is the new, formal, standardized Zebra Design System based off the successes of ZDS (Zebra Design System). This package is in pre-release, and so many aspects are incomplete. From 37b0f8e284d0b734a1ca9b3e17fccbbca6c60fa5 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Mon, 4 Nov 2024 11:46:52 +0000 Subject: [PATCH 02/29] fix: removed hit test behaviour from avatar rail (#197) fix: Removed hit test behavior from avatar rail feat: Added mouse region to avatar for give click pointer --- .../components/avatar_rail/avatar_rail.dart | 1 - lib/src/components/avatars/avatar.dart | 71 ++++++++++--------- 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/lib/src/components/avatar_rail/avatar_rail.dart b/lib/src/components/avatar_rail/avatar_rail.dart index c57feac4..a9066c93 100644 --- a/lib/src/components/avatar_rail/avatar_rail.dart +++ b/lib/src/components/avatar_rail/avatar_rail.dart @@ -88,7 +88,6 @@ class ZetaAvatarRail extends StatelessWidget { children: [ SingleChildScrollView( scrollDirection: Axis.horizontal, - hitTestBehavior: HitTestBehavior.translucent, child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/lib/src/components/avatars/avatar.dart b/lib/src/components/avatars/avatar.dart index 39a1b7eb..79453f2d 100644 --- a/lib/src/components/avatars/avatar.dart +++ b/lib/src/components/avatars/avatar.dart @@ -256,41 +256,44 @@ class ZetaAvatar extends ZetaStatelessWidget { children: [ Stack( children: [ - GestureDetector( - onTap: onTap, - child: Container( - width: pSize, - height: pSize, - decoration: BoxDecoration( - border: borderColor != null ? Border.all(color: borderColor!, width: 0) : null, - borderRadius: Zeta.of(context).radius.full, - color: - backgroundColor ?? (_showPlaceholder ? zetaColors.surfacePrimary : zetaColors.cool.shade20), - ), - child: borderColor != null - ? Container( - width: pSize, - height: pSize, - decoration: BoxDecoration( - color: backgroundColor ?? zetaColors.surfaceHover, - border: Border.all(color: borderColor!, width: borderSize(context)), - borderRadius: Zeta.of(context).radius.full, - ), - child: ClipRRect( - borderRadius: Zeta.of(context).radius.full, - child: innerContent, - ), - ) - : DecoratedBox( - decoration: BoxDecoration( - borderRadius: Zeta.of(context).radius.full, - color: backgroundColor ?? zetaColors.surfaceHover, - ), - child: ClipRRect( - borderRadius: Zeta.of(context).radius.full, - child: innerContent, + MouseRegion( + cursor: onTap != null ? SystemMouseCursors.click : SystemMouseCursors.basic, + child: GestureDetector( + onTap: onTap, + child: Container( + width: pSize, + height: pSize, + decoration: BoxDecoration( + border: borderColor != null ? Border.all(color: borderColor!, width: 0) : null, + borderRadius: Zeta.of(context).radius.full, + color: backgroundColor ?? + (_showPlaceholder ? zetaColors.surfacePrimary : zetaColors.cool.shade20), + ), + child: borderColor != null + ? Container( + width: pSize, + height: pSize, + decoration: BoxDecoration( + color: backgroundColor ?? zetaColors.surfaceHover, + border: Border.all(color: borderColor!, width: borderSize(context)), + borderRadius: Zeta.of(context).radius.full, + ), + child: ClipRRect( + borderRadius: Zeta.of(context).radius.full, + child: innerContent, + ), + ) + : DecoratedBox( + decoration: BoxDecoration( + borderRadius: Zeta.of(context).radius.full, + color: backgroundColor ?? zetaColors.surfaceHover, + ), + child: ClipRRect( + borderRadius: Zeta.of(context).radius.full, + child: innerContent, + ), ), - ), + ), ), ), if (upperBadge != null) From 044ed2ea47ae9e82ce7433ff251582a2fc861271 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Tue, 5 Nov 2024 13:32:29 +0000 Subject: [PATCH 03/29] fix(UX-1161): banner title alignment when centered (#200) fix: Banner title alignment when centered --- .../lib/pages/components/banner_example.dart | 14 +++--- .../pages/components/banner_widgetbook.dart | 2 +- lib/src/components/banner/banner.dart | 45 ++++++++++++------- 3 files changed, 37 insertions(+), 24 deletions(-) diff --git a/example/lib/pages/components/banner_example.dart b/example/lib/pages/components/banner_example.dart index 800879fc..9fb2a5c2 100644 --- a/example/lib/pages/components/banner_example.dart +++ b/example/lib/pages/components/banner_example.dart @@ -23,7 +23,7 @@ class BannerExample extends StatelessWidget { type: ZetaBannerStatus.primary, title: 'Centered', context: context, - titleStart: true, + titleCenter: true, leadingIcon: ZetaIcons.info, ), ZetaBanner( @@ -35,13 +35,13 @@ class BannerExample extends StatelessWidget { type: ZetaBannerStatus.primary, context: context, title: 'Title left with arrow', - titleStart: true, + titleCenter: true, trailing: ZetaIcon(ZetaIcons.chevron_right), ), ZetaBanner( type: ZetaBannerStatus.primary, title: 'Title left + Icon', - titleStart: true, + titleCenter: true, context: context, leadingIcon: ZetaIcons.info, ), @@ -49,7 +49,7 @@ class BannerExample extends StatelessWidget { type: ZetaBannerStatus.primary, context: context, title: 'Title left + Icon with Arrow', - titleStart: true, + titleCenter: true, leadingIcon: ZetaIcons.info, trailing: IconButton( icon: ZetaIcon(ZetaIcons.chevron_right), @@ -71,7 +71,7 @@ class BannerExample extends StatelessWidget { type: ZetaBannerStatus.positive, context: context, title: 'Centered', - titleStart: true, + titleCenter: true, leadingIcon: ZetaIcons.info, trailing: IconButton( icon: ZetaIcon(ZetaIcons.chevron_right), @@ -92,7 +92,7 @@ class BannerExample extends StatelessWidget { type: ZetaBannerStatus.warning, title: 'Centered', context: context, - titleStart: true, + titleCenter: true, leadingIcon: ZetaIcons.info, trailing: IconButton( icon: ZetaIcon(ZetaIcons.chevron_right), @@ -113,7 +113,7 @@ class BannerExample extends StatelessWidget { type: ZetaBannerStatus.negative, title: 'Centered', context: context, - titleStart: true, + titleCenter: true, leadingIcon: ZetaIcons.info, trailing: IconButton( icon: ZetaIcon(ZetaIcons.chevron_right), diff --git a/example/widgetbook/pages/components/banner_widgetbook.dart b/example/widgetbook/pages/components/banner_widgetbook.dart index 9061c6d5..569262c8 100644 --- a/example/widgetbook/pages/components/banner_widgetbook.dart +++ b/example/widgetbook/pages/components/banner_widgetbook.dart @@ -15,7 +15,7 @@ Widget bannerUseCase(BuildContext context) { labelBuilder: enumLabelBuilder, ), leadingIcon: iconKnob(context, nullable: true), - titleStart: context.knobs.boolean(label: 'Center title'), + titleCenter: context.knobs.boolean(label: 'Center title'), trailing: ZetaIcon(iconKnob( context, nullable: true, diff --git a/lib/src/components/banner/banner.dart b/lib/src/components/banner/banner.dart index ae7e5ebd..ab4c37f3 100644 --- a/lib/src/components/banner/banner.dart +++ b/lib/src/components/banner/banner.dart @@ -49,7 +49,10 @@ class ZetaBanner extends MaterialBanner { ZetaBannerStatus type = ZetaBannerStatus.primary, /// Whether the title should be centered. - bool titleStart = false, + bool titleCenter = false, + + /// Whether the title should be centered. + @Deprecated('Use titleCenter instead. ' 'This attribute has been renamed as of 0.18.0') bool? titleStart, /// The trailing widget for the banner. Widget? trailing, @@ -80,6 +83,8 @@ class ZetaBanner extends MaterialBanner { } } + // ignore: no_leading_underscores_for_local_identifiers + final _titleCenter = titleStart ?? titleCenter; return ZetaRoundedScope( rounded: rounded ?? context.rounded, child: Semantics( @@ -89,19 +94,24 @@ class ZetaBanner extends MaterialBanner { color: foregroundColor, overflow: TextOverflow.ellipsis, ), - child: Row( - mainAxisAlignment: titleStart ? MainAxisAlignment.center : MainAxisAlignment.start, + child: Stack( + alignment: _titleCenter ? Alignment.center : Alignment.centerLeft, children: [ if (leadingIcon != null) - Padding( - padding: EdgeInsets.only(right: Zeta.of(context).spacing.small), - child: Icon( - leadingIcon, - color: foregroundColor, - size: Zeta.of(context).spacing.xl_2, + Positioned( + left: 0, + child: Padding( + padding: EdgeInsets.only(right: Zeta.of(context).spacing.small), + child: Icon( + leadingIcon, + color: foregroundColor, + size: Zeta.of(context).spacing.xl_2, + ), ), ), - Flexible( + Padding( + padding: + !_titleCenter && leadingIcon != null ? const EdgeInsets.only(left: 40) : EdgeInsets.zero, child: Text( title, style: ZetaTextStyles.labelLarge.copyWith( @@ -109,6 +119,14 @@ class ZetaBanner extends MaterialBanner { ), ), ), + if (trailing != null) + Positioned( + right: 0, + child: IconTheme( + data: IconThemeData(color: _backgroundColorFromType(context, type).onColor), + child: trailing, + ), + ), ], ), ), @@ -117,12 +135,7 @@ class ZetaBanner extends MaterialBanner { }, ), backgroundColor: _backgroundColorFromType(context, type), - actions: [ - IconTheme( - data: IconThemeData(color: _backgroundColorFromType(context, type).onColor), - child: trailing ?? const Nothing(), - ), - ], + actions: [const Nothing()], ); static ZetaColorSwatch _backgroundColorFromType(BuildContext context, ZetaBannerStatus type) { From e035a47178efd5b1528c86fc4f5c46bd7ad179f5 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Wed, 6 Nov 2024 13:50:43 +0000 Subject: [PATCH 04/29] feat(UX-1247): extend ZetaProgressCircle (#199) feat: Added label prop to progress circle which overrides default percentage label feat: added maxValue to progress circle --- .../pages/components/progress_widgetbook.dart | 4 +- lib/src/components/progress/progress.dart | 17 ++++++-- .../components/progress/progress_circle.dart | 41 +++++++++++++++---- 3 files changed, 50 insertions(+), 12 deletions(-) diff --git a/example/widgetbook/pages/components/progress_widgetbook.dart b/example/widgetbook/pages/components/progress_widgetbook.dart index 249b5896..357ccfce 100644 --- a/example/widgetbook/pages/components/progress_widgetbook.dart +++ b/example/widgetbook/pages/components/progress_widgetbook.dart @@ -25,7 +25,7 @@ Widget progressBarUseCase(BuildContext context) => WidgetbookScaffold( Widget progressCircleUseCase(BuildContext context) => WidgetbookScaffold( builder: (context, _) => ZetaProgressCircle( - progress: context.knobs.double.slider(label: 'Progress', min: 0, max: 1, initialValue: 0.5).toDouble(), + progress: context.knobs.double.input(label: 'Progress', initialValue: 0.5), size: context.knobs.list( initialOption: ZetaCircleSizes.xl, label: 'Size', @@ -33,5 +33,7 @@ Widget progressCircleUseCase(BuildContext context) => WidgetbookScaffold( labelBuilder: enumLabelBuilder, ), onCancel: context.knobs.boolean(label: "Can Cancel") ? () {} : null, + label: context.knobs.stringOrNull(label: 'Label'), + maxValue: context.knobs.double.input(label: 'Max Value', initialValue: 1), ), ); diff --git a/lib/src/components/progress/progress.dart b/lib/src/components/progress/progress.dart index 0ffa2f14..42bb92a0 100644 --- a/lib/src/components/progress/progress.dart +++ b/lib/src/components/progress/progress.dart @@ -10,14 +10,21 @@ abstract class ZetaProgress extends ZetaStatefulWidget { super.key, super.rounded, this.progress = 0, + this.maxValue = 1, }); /// ZetaProgress value, decimal value ranging from 0.0 - 1.0, 0.5 = 50% final double progress; + + /// Maximum value for progress, defaults to 1 + final double maxValue; + @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); - properties.add(DoubleProperty('progress', progress)); + properties + ..add(DoubleProperty('progress', progress)) + ..add(DoubleProperty('maxValue', maxValue)); } } @@ -48,7 +55,7 @@ abstract class ZetaProgressState extends State with T ).animate(controller) ..addListener(() { setState(() { - progress = animation.value; + progress = animation.value / widget.maxValue; }); }); } @@ -65,10 +72,12 @@ abstract class ZetaProgressState extends State with T setState(() { animation = Tween( - begin: progress, + begin: progress * widget.maxValue, end: newProgress, ).animate(controller); - controller.forward(from: progress); + controller + ..reset() + ..forward(from: 0); }); } diff --git a/lib/src/components/progress/progress_circle.dart b/lib/src/components/progress/progress_circle.dart index 2538aafa..6847e401 100644 --- a/lib/src/components/progress/progress_circle.dart +++ b/lib/src/components/progress/progress_circle.dart @@ -34,9 +34,11 @@ class ZetaProgressCircle extends ZetaProgress { const ZetaProgressCircle({ super.key, super.progress = 0, + super.maxValue = 1, this.size = ZetaCircleSizes.xl, super.rounded, this.onCancel, + this.label, }); ///Size of [ZetaProgressCircle] @@ -45,6 +47,9 @@ class ZetaProgressCircle extends ZetaProgress { /// Cancel function => cancel upload. final VoidCallback? onCancel; + /// Label for [ZetaProgressCircle], override default percentage label. + final String? label; + @override State createState() => _ZetaProgressCircleState(); @@ -55,7 +60,9 @@ class ZetaProgressCircle extends ZetaProgress { ..add(EnumProperty('size', size)) ..add(DoubleProperty('progress', progress)) ..add(DiagnosticsProperty('rounded', rounded)) - ..add(ObjectFlagProperty.has('onCancel', onCancel)); + ..add(ObjectFlagProperty.has('onCancel', onCancel)) + ..add(DoubleProperty('maxValue', maxValue)) + ..add(StringProperty('label', label)); } } @@ -85,13 +92,11 @@ class _ZetaProgressCircleState extends ZetaProgressState { @override Widget build(BuildContext context) { - final textVal = '${(widget.progress * 100).round()}%'; + final textVal = widget.label ?? '${(widget.progress * 100).round()}%'; final colors = Zeta.of(context).colors; final textWidget = Text( textVal, - style: widget.size != ZetaCircleSizes.s - ? ZetaTextStyles.labelSmall - : ZetaTextStyles.labelSmall.copyWith(fontSize: Zeta.of(context).spacing.small), + style: _getTextSize(), ); return ConstrainedBox( @@ -105,6 +110,7 @@ class _ZetaProgressCircleState extends ZetaProgressState { progress: animation.value, rounded: context.rounded, context: context, + maxValue: widget.maxValue, ), child: Center( child: widget.size == ZetaCircleSizes.xs @@ -168,6 +174,19 @@ class _ZetaProgressCircleState extends ZetaProgressState { } } + TextStyle _getTextSize() { + switch (widget.size) { + case ZetaCircleSizes.xs: + case ZetaCircleSizes.s: + return ZetaTextStyles.labelSmall; + case ZetaCircleSizes.m: + return ZetaTextStyles.labelMedium; + case ZetaCircleSizes.l: + case ZetaCircleSizes.xl: + return ZetaTextStyles.labelLarge; + } + } + @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); @@ -185,7 +204,12 @@ typedef CirclePainter = _CirclePainter; /// Class definition for [_CirclePainter] class _CirclePainter extends CustomPainter { ///Constructor for [_CirclePainter] - _CirclePainter({this.progress = 0, this.rounded = true, required this.context}); + _CirclePainter({ + this.progress = 0, + this.rounded = true, + required this.context, + this.maxValue = 1, + }); ///Percentage of progress in decimal value, defaults to 0 final double progress; @@ -195,6 +219,9 @@ class _CirclePainter extends CustomPainter { final BuildContext context; + /// Maximum value for progress, defaults to 1 + final double maxValue; + final _paint = Paint(); @override @@ -210,7 +237,7 @@ class _CirclePainter extends CustomPainter { canvas.drawArc( Rect.fromLTRB(0, 0, size.width, size.height), 3 * math.pi / 2, - progress * fullCircle, + progress / maxValue * fullCircle, false, _paint, ); From c69d3b76afcd14a8ffa5777483687f818ac70876 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Wed, 6 Nov 2024 15:11:32 +0000 Subject: [PATCH 05/29] feat(UX-1234): Status Chip (#201) feat: created status chip docs: added description for status chip fix: converted child widget function to a stateless widget class in status chip feat: implemented status chip widgetbook use case fix: set rounded to default to true test: wrote tests for status chip --- .../lib/pages/components/chip_example.dart | 16 ++ example/widgetbook/main.dart | 1 + .../pages/components/chip_widgetbook.dart | 11 + lib/src/components/chips/chip.dart | 1 + lib/src/components/chips/status_chip.dart | 125 ++++++++++ .../chips/golden/status_chip_default.png | Bin 0 -> 3340 bytes .../chips/golden/status_chip_long.png | Bin 0 -> 3405 bytes .../chips/golden/status_chip_sharp.png | Bin 0 -> 3340 bytes .../components/chips/status_chip_test.dart | 226 ++++++++++++++++++ 9 files changed, 380 insertions(+) create mode 100644 lib/src/components/chips/status_chip.dart create mode 100644 test/src/components/chips/golden/status_chip_default.png create mode 100644 test/src/components/chips/golden/status_chip_long.png create mode 100644 test/src/components/chips/golden/status_chip_sharp.png create mode 100644 test/src/components/chips/status_chip_test.dart diff --git a/example/lib/pages/components/chip_example.dart b/example/lib/pages/components/chip_example.dart index 72a96407..899a8c38 100644 --- a/example/lib/pages/components/chip_example.dart +++ b/example/lib/pages/components/chip_example.dart @@ -63,6 +63,21 @@ class _ChipExampleState extends State { ), ), ]); + + final Widget statusChipExample = Column(children: [ + Text( + 'Status Chip', + textAlign: TextAlign.center, + style: TextStyle(fontWeight: FontWeight.bold), + ), + const SizedBox(height: 10), + ZetaStatusChip( + label: 'Label', + data: 'Status chip', + draggable: true, + ), + ]); + final colors = Zeta.of(context).colors; return ExampleScaffold( name: ChipExample.name, @@ -74,6 +89,7 @@ class _ChipExampleState extends State { inputChipExample, assistChipExample, filterChipExample, + statusChipExample, const SizedBox(height: 100), DragTarget( onAcceptWithDetails: (details) => setState(() => chipType = details.data), diff --git a/example/widgetbook/main.dart b/example/widgetbook/main.dart index 6a5202c6..7eeba843 100644 --- a/example/widgetbook/main.dart +++ b/example/widgetbook/main.dart @@ -163,6 +163,7 @@ class _HotReloadState extends State { WidgetbookUseCase(name: 'Filter Chip', builder: (context) => filterChipUseCase(context)), WidgetbookUseCase(name: 'Input Chip', builder: (context) => inputChipUseCase(context)), WidgetbookUseCase(name: 'Assist Chip', builder: (context) => assistChipUseCase(context)), + WidgetbookUseCase(name: 'Status Chip', builder: (context) => statusChipUseCase(context)), ], ), WidgetbookComponent( diff --git a/example/widgetbook/pages/components/chip_widgetbook.dart b/example/widgetbook/pages/components/chip_widgetbook.dart index d8e7848a..057d6d6c 100644 --- a/example/widgetbook/pages/components/chip_widgetbook.dart +++ b/example/widgetbook/pages/components/chip_widgetbook.dart @@ -39,3 +39,14 @@ Widget assistChipUseCase(BuildContext context) { ), ); } + +Widget statusChipUseCase(BuildContext context) { + return WidgetbookScaffold( + builder: (context, _) => ZetaStatusChip( + label: context.knobs.string(label: 'Label', initialValue: 'Label'), + draggable: context.knobs.boolean(label: 'Draggable', initialValue: false), + rounded: context.knobs.boolean(label: 'Rounded', initialValue: true), + onDragCompleted: () => print('Drag completed'), + ), + ); +} diff --git a/lib/src/components/chips/chip.dart b/lib/src/components/chips/chip.dart index 545f0410..9f3a0fca 100644 --- a/lib/src/components/chips/chip.dart +++ b/lib/src/components/chips/chip.dart @@ -6,6 +6,7 @@ import '../../../zeta_flutter.dart'; export './assist_chip.dart'; export './filter_chip.dart'; export './input_chip.dart'; +export './status_chip.dart'; /// This covers the broad functionality of [ZetaAssistChip], [ZetaFilterChip] and [ZetaInputChip]. /// diff --git a/lib/src/components/chips/status_chip.dart b/lib/src/components/chips/status_chip.dart new file mode 100644 index 00000000..cdd205dd --- /dev/null +++ b/lib/src/components/chips/status_chip.dart @@ -0,0 +1,125 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; + +import '../../../zeta_flutter.dart'; + +/// The [ZetaStatusChip] is a chip that displays a status/label. +/// It can be dragged around the screen and placed in new locations using [DragTarget]. +/// +/// {@category Components} +/// +/// Figma: https://www.figma.com/file/JesXQFLaPJLc1BdBM4sisI/%F0%9F%A6%93-ZDS---Components?node-id=21265-2159 +/// +/// Widgetbook: https://zeta-ds.web.app/flutter/widgetbook/index.html#/?path=components/chips/input-chip +class ZetaStatusChip extends ZetaStatelessWidget { + /// Creates a [ZetaStatusChip]. + const ZetaStatusChip({ + super.key, + required this.label, + super.rounded = true, + this.draggable = false, + this.data, + this.onDragCompleted, + this.semanticLabel, + }); + + /// The label on the [ZetaStatusChip] + final String label; + + /// Whether the chip can be dragged. + final bool draggable; + + /// Draggable data. + final dynamic data; + + /// Called when the draggable is dropped and accepted by a [DragTarget]. + /// + /// See also: + /// * [DragTarget] + /// * [Draggable] + final VoidCallback? onDragCompleted; + + /// A semantic label for the chip. + final String? semanticLabel; + + @override + Widget build(BuildContext context) { + return ZetaRoundedScope( + rounded: context.rounded, + child: MouseRegion( + cursor: draggable ? SystemMouseCursors.click : SystemMouseCursors.basic, + child: Semantics( + label: semanticLabel ?? label, + child: SelectionContainer.disabled( + child: draggable + ? Draggable( + feedback: Material( + color: Colors.transparent, + child: _Child(context: context, label: label), + ), + childWhenDragging: const Nothing(), + data: data, + onDragCompleted: onDragCompleted, + child: _Child(context: context, label: label), + ) + : _Child(context: context, label: label), + ), + ), + ), + ); + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(StringProperty('label', label)) + ..add(DiagnosticsProperty('draggable', draggable)) + ..add(DiagnosticsProperty('data', data)) + ..add(ObjectFlagProperty.has('onDragCompleted', onDragCompleted)) + ..add(StringProperty('semanticLabel', semanticLabel)); + } +} + +/// The child widget of the [ZetaStatusChip]. +class _Child extends StatelessWidget { + const _Child({required this.context, required this.label}); + + final BuildContext context; + + final String label; + + @override + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration( + color: Zeta.of(context).colors.surfaceWarm, + borderRadius: context.rounded + ? BorderRadius.all( + Radius.circular( + Zeta.of(context).spacing.small, + ), + ) + : null, + ), + padding: EdgeInsets.symmetric( + horizontal: Zeta.of(context).spacing.small, + vertical: Zeta.of(context).spacing.minimum, + ), + child: Text( + label, + style: ZetaTextStyles.bodyXSmall.copyWith( + color: Zeta.of(context).colors.textDefault, + ), + ), + ); + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('context', context)) + ..add(StringProperty('label', label)); + } +} diff --git a/test/src/components/chips/golden/status_chip_default.png b/test/src/components/chips/golden/status_chip_default.png new file mode 100644 index 0000000000000000000000000000000000000000..e0bad968a24acb93bbf1b514eb3f04d4d9225063 GIT binary patch literal 3340 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`e6r;B4q#hkY{H~KmoiZ}$aZ{)hkmD=txpRvQmQKhWoMgvn>v9Oy* zUDs@-=U2{u%U-`{X7N0B1_p-*FYj>!4eWPr0Fsi7ObiSuEF26B69g52lFxo#I`I2p z@*KbW;qgDVy*d8;!Bgh|G^&Szk%7U8iG_jT1cv|vgM#v?;Anu1CWg_BFj_K%JlSHi`iVJYD@<);T3K0RV>I;Nk!P literal 0 HcmV?d00001 diff --git a/test/src/components/chips/golden/status_chip_long.png b/test/src/components/chips/golden/status_chip_long.png new file mode 100644 index 0000000000000000000000000000000000000000..03f566255de485a2e620d0272ea3198f4a748c56 GIT binary patch literal 3405 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefr00{r;B4q#hkY{W3|{4B^n+oT7L|l=9I{~iT$f(fJ^{ihwTYInGGUO z)0K-qMIQRzTO@qF^v{_uS8n^<-K+iB;v72zL&Jer{`x?p|Hw13Ffg3p5MW?XP<8-{ z_b@OrFc@Wbv+3!rZ~OhbeQA7!k+s~q{CCsl%|F}MKAZEiyLmdKI;Vst04i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`e6r;B4q#hkY{H~KmoiZ}$aZ{)hkmD=txpRvQmQKhWoMgvn>v9Oy* zUDs@-=U2{u%U-`{X7N0B1_p-*FYj>!4eWPr0Fsi7ObiSuEF26B69g52lFxo#I`I2p z@*KbW;qgDVy*d8;!Bgh|G^&Szk%7U8iG_jT1cv|vgM#v?;Anu1CWg_BFj_K%JlSHi`iVJYD@<);T3K0RV>I;Nk!P literal 0 HcmV?d00001 diff --git a/test/src/components/chips/status_chip_test.dart b/test/src/components/chips/status_chip_test.dart new file mode 100644 index 00000000..5d993228 --- /dev/null +++ b/test/src/components/chips/status_chip_test.dart @@ -0,0 +1,226 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:zeta_flutter/zeta_flutter.dart'; + +import '../../../test_utils/test_app.dart'; +import '../../../test_utils/tolerant_comparator.dart'; +import '../../../test_utils/utils.dart'; + +void main() { + const String parentFolder = 'chips'; + + const goldenFile = GoldenFiles(component: parentFolder); + setUpAll(() { + goldenFileComparator = TolerantComparator(goldenFile.uri); + }); + + group('Accessibility Tests', () { + testWidgets('label meets accessibility requirements', (WidgetTester tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + await tester.pumpWidget( + const TestApp( + home: ZetaStatusChip( + label: 'Label', + ), + ), + ); + await expectLater(tester, meetsGuideline(androidTapTargetGuideline)); + await expectLater(tester, meetsGuideline(iOSTapTargetGuideline)); + await expectLater(tester, meetsGuideline(labeledTapTargetGuideline)); + await expectLater(tester, meetsGuideline(textContrastGuideline)); + + handle.dispose(); + }); + }); + + group('Content Tests', () { + final debugFillProperties = { + 'label': '"Label"', + 'draggable': 'false', + 'data': 'null', + 'onDragCompleted': 'null', + 'semanticLabel': 'null', + }; + debugFillPropertiesTest( + const ZetaStatusChip( + label: 'Label', + ), + debugFillProperties, + ); + + testWidgets('renders label correctly', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaStatusChip( + label: 'Label', + ), + ), + ); + + expect(find.text('Label'), findsOneWidget); + }); + + testWidgets('renders label correctly when label is long', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaStatusChip( + label: 'Label that is very very long', + ), + ), + ); + + final Finder textFinder = find.text('Label that is very very long'); + + expect(textFinder, findsOneWidget); + }); + }); + + group('Dimensions Tests', () { + testWidgets('horizontal padding is 8 and vertical padding is 4', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaStatusChip( + label: 'Label', + ), + ), + ); + final Finder finder = find.byType(Container); + expect(finder, findsOneWidget); + final Container widget = tester.widget(finder); + expect( + widget.padding, + const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + ); + }); + }); + + group('Styling Tests', () { + testWidgets('background color is ZetaColors.surfaceWarm and border radius is 8', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaStatusChip( + label: 'Label', + ), + ), + ); + final Finder finder = find.byType(Container); + expect(finder, findsOneWidget); + final Container widget = tester.widget(finder); + expect( + widget.decoration, + BoxDecoration( + color: ZetaColors.light().surfaceWarm, + borderRadius: BorderRadius.circular(8), + ), + ); + }); + + testWidgets('border radius is null when rounded is false', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaStatusChip( + label: 'Label', + rounded: false, + ), + ), + ); + final Finder finder = find.byType(Container); + expect(finder, findsOneWidget); + final Container widget = tester.widget(finder); + expect( + widget.decoration, + BoxDecoration( + color: ZetaColors.light().surfaceWarm, + ), + ); + }); + + testWidgets('text style is ZetaTextStyles.bodyXSmall and text color is textDefault', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaStatusChip( + label: 'Label', + ), + ), + ); + final Finder finder = find.byType(Text); + expect(finder, findsOneWidget); + final Text widget = tester.widget(finder); + expect(widget.style, ZetaTextStyles.bodyXSmall.copyWith(color: ZetaColors.light().textDefault)); + }); + }); + + group('Interaction Tests', () { + testWidgets('chip calls onDragCompleted and parses data to DragTarget when drag is completed', + (WidgetTester tester) async { + bool dragCompleted = false; + String? dragData; + + await tester.pumpWidget( + TestApp( + home: Column( + children: [ + ZetaStatusChip( + label: 'Label', + draggable: true, + data: 'data', + onDragCompleted: () { + dragCompleted = true; + }, + ), + DragTarget( + onAcceptWithDetails: (details) => dragData = details.data, + builder: (BuildContext context, List candidateData, List rejectedData) { + return const SizedBox( + width: 100, + height: 100, + ); + }, + ), + ], + ), + ), + ); + + final Finder finder = find.byType(Draggable); + expect(finder, findsOneWidget); + + final TestGesture gesture = await tester.startGesture(tester.getCenter(finder)); + await gesture.moveTo(tester.getCenter(find.byType(DragTarget))); + await gesture.up(); + + expect(dragCompleted, isTrue); + expect(dragData, 'data'); + }); + }); + + group('Golden Tests', () { + goldenTest( + goldenFile, + const ZetaStatusChip( + label: 'Label', + ), + 'status_chip_default', + ); + goldenTest( + goldenFile, + const ZetaStatusChip( + label: 'Label', + rounded: false, + ), + 'status_chip_sharp', + ); + goldenTest( + goldenFile, + const ZetaStatusChip( + label: 'Label that is very very long', + ), + 'status_chip_long', + ); + }); + + group('Performance Tests', () {}); +} From 51b4172d3e926e9fa2c87fd1be4f2c2ec5b4a71b Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Wed, 6 Nov 2024 16:50:43 +0000 Subject: [PATCH 06/29] fix(UX-1303): Update avatar boarder width (#202) test(UX-1305): Update avatar test test: Add a log on debugFillPropertiesTest if it fails fix(UX-1298): ZetaDialog button overflow --- example/macos/Podfile.lock | 12 +++---- lib/src/components/avatars/avatar.dart | 38 +++++++++++++-------- lib/src/components/buttons/button.dart | 9 +++-- lib/src/components/dialog/dialog.dart | 4 +++ test/src/components/avatar/avatar_test.dart | 4 +-- test/test_utils/utils.dart | 9 ++++- 6 files changed, 50 insertions(+), 26 deletions(-) diff --git a/example/macos/Podfile.lock b/example/macos/Podfile.lock index 4d2c877c..fbd492e5 100644 --- a/example/macos/Podfile.lock +++ b/example/macos/Podfile.lock @@ -6,7 +6,7 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - sqflite (0.0.3): + - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS - url_launcher_macos (0.0.1): @@ -16,7 +16,7 @@ DEPENDENCIES: - FlutterMacOS (from `Flutter/ephemeral`) - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - - sqflite (from `Flutter/ephemeral/.symlinks/plugins/sqflite/darwin`) + - sqflite_darwin (from `Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) EXTERNAL SOURCES: @@ -26,8 +26,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin shared_preferences_foundation: :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin - sqflite: - :path: Flutter/ephemeral/.symlinks/plugins/sqflite/darwin + sqflite_darwin: + :path: Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin url_launcher_macos: :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos @@ -35,8 +35,8 @@ SPEC CHECKSUMS: FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 - sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec - url_launcher_macos: 5f437abeda8c85500ceb03f5c1938a8c5a705399 + sqflite_darwin: a553b1fd6fe66f53bbb0fe5b4f5bab93f08d7a13 + url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404 PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7 diff --git a/lib/src/components/avatars/avatar.dart b/lib/src/components/avatars/avatar.dart index 79453f2d..145d9e7c 100644 --- a/lib/src/components/avatars/avatar.dart +++ b/lib/src/components/avatars/avatar.dart @@ -35,6 +35,8 @@ enum ZetaAvatarSize { } /// An avatar is a visual representation of a user or entity. +/// +/// It is recommended to use [ZetaAvatar] with [ZetaAvatarBadge] for status and notification badges, but any widget can be used. /// {@category Components} /// /// Figma: https://www.figma.com/file/JesXQFLaPJLc1BdBM4sisI/%F0%9F%A6%93-ZDS---Components?type=design&node-id=20816-388 @@ -137,10 +139,10 @@ class ZetaAvatar extends ZetaStatelessWidget { final Color? borderColor; /// Status badge shown at lower right corner of avatar. - final ZetaAvatarBadge? lowerBadge; + final Widget? lowerBadge; /// Notification Badge shown at top right corner of avatar. - final ZetaAvatarBadge? upperBadge; + final Widget? upperBadge; /// Value passed into wrapping [Semantics] widget. /// @@ -191,8 +193,8 @@ class ZetaAvatar extends ZetaStatelessWidget { String? initials, Color? backgroundColor, Color? borderColor, - ZetaAvatarBadge? lowerBadge, - ZetaAvatarBadge? upperBadge, + Widget? lowerBadge, + Widget? upperBadge, String? label, TextStyle? labelTextStyle, int? labelMaxLines, @@ -301,9 +303,9 @@ class ZetaAvatar extends ZetaStatelessWidget { right: Zeta.of(context).spacing.none, child: Semantics( value: semanticLowerBadgeLabel, - child: upperBadge!.copyWith( - size: size, - ), + child: upperBadge.runtimeType == ZetaAvatarBadge + ? (upperBadge! as ZetaAvatarBadge).copyWith(size: size) + : upperBadge, ), ), if (lowerBadge != null) @@ -312,7 +314,9 @@ class ZetaAvatar extends ZetaStatelessWidget { bottom: Zeta.of(context).spacing.none, child: Semantics( value: semanticLowerBadgeLabel, - child: lowerBadge!.copyWith(size: size), + child: lowerBadge.runtimeType == ZetaAvatarBadge + ? (lowerBadge! as ZetaAvatarBadge).copyWith(size: size) + : upperBadge, ), ), ], @@ -348,8 +352,8 @@ class ZetaAvatar extends ZetaStatelessWidget { properties ..add(DiagnosticsProperty('size', size)) ..add(DiagnosticsProperty('name', initials)) - ..add(DiagnosticsProperty('specialStatus', lowerBadge)) - ..add(DiagnosticsProperty('badge', upperBadge)) + ..add(DiagnosticsProperty('lowerBadge', lowerBadge)) + ..add(DiagnosticsProperty('upperBadge', upperBadge)) ..add(DiagnosticsProperty('backgroundColor', backgroundColor)) ..add(ColorProperty('statusColor', borderColor)) ..add(StringProperty('semanticUpperBadgeValue', semanticUpperBadgeLabel)) @@ -400,20 +404,26 @@ extension on ZetaAvatarSize { } double borderSize(BuildContext context) { + // TODO(UX-1304): Awaiting updated design specs for border size switch (this) { case ZetaAvatarSize.xxxl: - return 11; + return 11.12; case ZetaAvatarSize.xxl: + return 6.67; case ZetaAvatarSize.xl: + return 4.45; case ZetaAvatarSize.l: + return 3.56; case ZetaAvatarSize.m: - return Zeta.of(context).spacing.minimum; - + return 2.66; case ZetaAvatarSize.s: + return 2.22; case ZetaAvatarSize.xs: + return 2; case ZetaAvatarSize.xxs: + return 1.78; case ZetaAvatarSize.xxxs: - return ZetaBorders.medium; + return 1.33; } } diff --git a/lib/src/components/buttons/button.dart b/lib/src/components/buttons/button.dart index c6e8f590..63acbfb9 100644 --- a/lib/src/components/buttons/button.dart +++ b/lib/src/components/buttons/button.dart @@ -202,9 +202,12 @@ class ZetaButton extends ZetaStatelessWidget { size: iconSize, ), if (label.isNotEmpty) - Text( - label, - style: _textStyle, + Flexible( + child: Text( + label, + style: _textStyle, + textAlign: TextAlign.center, + ).paddingVertical(Zeta.of(context).spacing.minimum), ), if (trailingIcon != null) Icon( diff --git a/lib/src/components/dialog/dialog.dart b/lib/src/components/dialog/dialog.dart index fb051c06..e5ac4f5e 100644 --- a/lib/src/components/dialog/dialog.dart +++ b/lib/src/components/dialog/dialog.dart @@ -106,6 +106,10 @@ class _ZetaDialog extends ZetaStatelessWidget { rounded: context.rounded, child: AlertDialog( surfaceTintColor: zeta.colors.surfacePrimary, + insetPadding: EdgeInsets.symmetric( + horizontal: Zeta.of(context).spacing.xl, + vertical: Zeta.of(context).spacing.xl_2, + ), shape: RoundedRectangleBorder(borderRadius: Zeta.of(context).radius.large), title: icon != null || title != null ? Column( diff --git a/test/src/components/avatar/avatar_test.dart b/test/src/components/avatar/avatar_test.dart index 10ab2880..528d5aca 100644 --- a/test/src/components/avatar/avatar_test.dart +++ b/test/src/components/avatar/avatar_test.dart @@ -48,8 +48,8 @@ void main() { final debugFillProperties = { 'size': 'ZetaAvatarSize.xl', 'name': 'null', - 'specialStatus': 'null', - 'badge': 'null', + 'upperBadge': 'null', + 'lowerBadge': 'null', 'backgroundColor': 'null', 'statusColor': 'null', 'semanticUpperBadgeValue': '"upperBadge"', diff --git a/test/test_utils/utils.dart b/test/test_utils/utils.dart index ec5c9704..406d598e 100644 --- a/test/test_utils/utils.dart +++ b/test/test_utils/utils.dart @@ -1,3 +1,5 @@ +// ignore_for_file: avoid_print + import 'dart:io'; import 'package:collection/collection.dart'; @@ -77,7 +79,12 @@ void debugFillPropertiesTest(Widget widget, Map properties) { widget.debugFillProperties(diagnostics); properties.forEach((key, value) { - expect(diagnostics.finder(key), value); + try { + expect(diagnostics.finder(key), value); + } catch (e) { + print('Error on $key'); + rethrow; + } }); }); } From 321b57de1cfc39cc940d28716fa1a49efc577d84 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Fri, 8 Nov 2024 10:08:45 +0000 Subject: [PATCH 07/29] feat(UX-1233): Added disabled variant to chip (#203) feat: Added disabled variant to chip test: Added debugfillproperties test to chip_test feat: Added onTaps to chips in example app fix: changed _updateControllerState to _handleDisabledState fix: used variable feat: added onTap to widgetbook feat: added rounded to widgetbook --- .../lib/pages/components/chip_example.dart | 3 + .../pages/components/chip_widgetbook.dart | 6 ++ lib/src/components/chips/chip.dart | 88 +++++++++++++------ test/src/components/chips/chip_test.dart | 22 +++-- 4 files changed, 85 insertions(+), 34 deletions(-) diff --git a/example/lib/pages/components/chip_example.dart b/example/lib/pages/components/chip_example.dart index 899a8c38..39bd4cc1 100644 --- a/example/lib/pages/components/chip_example.dart +++ b/example/lib/pages/components/chip_example.dart @@ -25,6 +25,7 @@ class _ChipExampleState extends State { label: 'Label', leading: ZetaIcon(ZetaIcons.user), trailing: IconButton(icon: Icon(ZetaIcons.close), onPressed: () {}), + onTap: () {}, ), ]); @@ -42,6 +43,7 @@ class _ChipExampleState extends State { leading: ZetaIcon(ZetaIcons.star), draggable: true, data: 'Assist chip', + onTap: () {}, ), ), ]); @@ -60,6 +62,7 @@ class _ChipExampleState extends State { selected: true, data: 'Filter chip', draggable: true, + onTap: (bool selected) {}, ), ), ]); diff --git a/example/widgetbook/pages/components/chip_widgetbook.dart b/example/widgetbook/pages/components/chip_widgetbook.dart index 057d6d6c..ca802db2 100644 --- a/example/widgetbook/pages/components/chip_widgetbook.dart +++ b/example/widgetbook/pages/components/chip_widgetbook.dart @@ -10,6 +10,8 @@ Widget inputChipUseCase(BuildContext context) { return WidgetbookScaffold( builder: (context, _) => ZetaInputChip( + onTap: context.knobs.boolean(label: 'Disabled', initialValue: false) ? null : () {}, + rounded: context.knobs.boolean(label: 'Rounded', initialValue: true), label: context.knobs.string(label: 'Label', initialValue: 'Label'), leading: context.knobs.boolean(label: 'Avatar', initialValue: true) ? ZetaAvatar( @@ -26,6 +28,8 @@ Widget inputChipUseCase(BuildContext context) { Widget filterChipUseCase(BuildContext context) => WidgetbookScaffold( builder: (context, _) => ZetaFilterChip( + onTap: context.knobs.boolean(label: 'Disabled', initialValue: false) ? null : (i) {}, + rounded: context.knobs.boolean(label: 'Rounded', initialValue: true), label: context.knobs.string(label: 'Label', initialValue: 'Label'), selected: context.knobs.boolean(label: 'Selected', initialValue: true), ), @@ -34,6 +38,8 @@ Widget filterChipUseCase(BuildContext context) => WidgetbookScaffold( Widget assistChipUseCase(BuildContext context) { return WidgetbookScaffold( builder: (context, _) => ZetaAssistChip( + onTap: context.knobs.boolean(label: 'Disabled', initialValue: false) ? null : () {}, + rounded: context.knobs.boolean(label: 'Rounded', initialValue: true), label: context.knobs.string(label: 'Label', initialValue: 'Label'), leading: ZetaIcon(iconKnob(context)), ), diff --git a/lib/src/components/chips/chip.dart b/lib/src/components/chips/chip.dart index 9f3a0fca..b6cb8449 100644 --- a/lib/src/components/chips/chip.dart +++ b/lib/src/components/chips/chip.dart @@ -88,11 +88,14 @@ class ZetaChip extends ZetaStatefulWidget { class _ZetaChipState extends State { bool selected = false; + bool _draggable = false; @override void initState() { super.initState(); selected = widget.selected ?? false; + _draggable = widget.draggable; + _handleDisabledState(); } @override @@ -101,10 +104,25 @@ class _ZetaChipState extends State { if (oldWidget.selected != widget.selected) { selected = widget.selected ?? false; } + _handleDisabledState(); + } + + void _handleDisabledState() { + if (widget.onTap == null && widget.onToggle == null) { + _controller.update(WidgetState.disabled, true); + setState(() { + _draggable = false; + }); + } else { + _controller.update(WidgetState.disabled, false); + setState(() { + _draggable = widget.draggable; + }); + } } Widget _renderLeading(Color foregroundColor) { - if (widget.leading.runtimeType == Icon) { + if (widget.leading.runtimeType == ZetaIcon || widget.leading.runtimeType == Icon) { return IconTheme( data: IconThemeData(color: foregroundColor, size: Zeta.of(context).spacing.xl), child: widget.leading!, @@ -120,7 +138,6 @@ class _ZetaChipState extends State { @override Widget build(BuildContext context) { final colors = Zeta.of(context).colors; - final foregroundColor = selected ? colors.textInverse : colors.textDefault; return ZetaRoundedScope( rounded: context.rounded, @@ -129,18 +146,18 @@ class _ZetaChipState extends State { button: widget.onTap != null, label: widget.semanticLabel, child: SelectionContainer.disabled( - child: widget.draggable + child: _draggable ? Draggable( feedback: Material( color: Colors.transparent, - child: child(colors, foregroundColor, isDragging: true), + child: child(colors, isDragging: true), ), childWhenDragging: const Nothing(), data: widget.data, onDragCompleted: widget.onDragCompleted, - child: child(colors, foregroundColor), + child: child(colors), ) - : child(colors, foregroundColor), + : child(colors), ), ), ); @@ -171,25 +188,41 @@ class _ZetaChipState extends State { return Zeta.of(context).spacing.large; } + Color _foregroundColor(ZetaColors colors, bool disabled) { + if (!disabled) { + if (selected) { + return colors.textInverse; + } else { + return colors.textDefault; + } + } else { + return colors.textDisabled; + } + } + ValueListenableBuilder> child( - ZetaColors colors, - Color foregroundColor, { + ZetaColors colors, { bool isDragging = false, }) { return ValueListenableBuilder( valueListenable: _controller, builder: (context, states, child) { + final disabled = states.contains(WidgetState.disabled); + final Color foregroundColor = _foregroundColor(colors, disabled); final double iconSize = selected ? Zeta.of(context).spacing.xl_2 : Zeta.of(context).spacing.none; final bool rounded = context.rounded; return InkWell( - statesController: _controller, + statesController: !disabled ? _controller : null, + mouseCursor: !disabled ? SystemMouseCursors.click : SystemMouseCursors.basic, borderRadius: rounded ? Zeta.of(context).radius.full : Zeta.of(context).radius.none, onTap: () { - if (widget.selected != null) { - setState(() => selected = !selected); - widget.onToggle?.call(selected); - } else { - widget.onTap?.call(); + if (!disabled) { + if (widget.selected != null) { + setState(() => selected = !selected); + widget.onToggle?.call(selected); + } else { + widget.onTap?.call(); + } } }, child: AnimatedContainer( @@ -203,22 +236,23 @@ class _ZetaChipState extends State { ), decoration: BoxDecoration( color: () { - if (states.contains(WidgetState.disabled)) { + if (disabled) { return colors.surfaceDisabled; - } - if (selected) { + } else { + if (selected) { + if (states.contains(WidgetState.hovered)) { + return colors.borderHover; + } + return colors.surfaceDefaultInverse; + } + if (states.contains(WidgetState.pressed) || isDragging) { + return colors.surfaceSelected; + } if (states.contains(WidgetState.hovered)) { - return colors.borderHover; + return colors.surfaceHover; } - return colors.surfaceDefaultInverse; - } - if (states.contains(WidgetState.pressed) || isDragging) { - return colors.surfaceSelected; - } - if (states.contains(WidgetState.hovered)) { - return colors.surfaceHover; + return colors.surfacePrimary; } - return colors.surfacePrimary; }(), borderRadius: rounded ? Zeta.of(context).radius.full : Zeta.of(context).radius.none, border: Border.fromBorderSide( @@ -242,7 +276,7 @@ class _ZetaChipState extends State { child: (selected ? ZetaIcon( ZetaIcons.check_mark, - color: widget.selected! ? colors.iconInverse : Colors.transparent, + color: disabled ? colors.iconDisabled : colors.iconInverse, ) : const Nothing()), ) diff --git a/test/src/components/chips/chip_test.dart b/test/src/components/chips/chip_test.dart index 9a9781e2..aa324ae7 100644 --- a/test/src/components/chips/chip_test.dart +++ b/test/src/components/chips/chip_test.dart @@ -16,13 +16,21 @@ void main() { group('Accessibility Tests', () {}); group('Content Tests', () { - // final debugFillProperties = { - // '': '', - // }; - // debugFillPropertiesTest( - // widget, - // debugFillProperties, - // ); + final debugFillProperties = { + 'label': '"Test Chip"', + 'rounded': 'null', + 'selected': 'null', + 'draggable': 'false', + 'data': 'null', + 'onDragCompleted': 'null', + 'semanticLabel': 'null', + 'onTap': 'null', + 'onToggle': 'null', + }; + debugFillPropertiesTest( + const ZetaChip(label: 'Test Chip'), + debugFillProperties, + ); testWidgets('renders label correctly', (WidgetTester tester) async { await tester.pumpWidget( From 39c5cdf4a150b6aae1c57cfc4a7daa1c70f09883 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Mon, 11 Nov 2024 09:13:56 +0000 Subject: [PATCH 08/29] feat: Added NavRail hover state (#204) feat: Added NavRail focus state --- .../navigation_rail/navigation_rail.dart | 147 +++++++++++------- 1 file changed, 91 insertions(+), 56 deletions(-) diff --git a/lib/src/components/navigation_rail/navigation_rail.dart b/lib/src/components/navigation_rail/navigation_rail.dart index deabd620..ce65619a 100644 --- a/lib/src/components/navigation_rail/navigation_rail.dart +++ b/lib/src/components/navigation_rail/navigation_rail.dart @@ -1,5 +1,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import '../../../zeta_flutter.dart'; @@ -124,7 +125,7 @@ class ZetaNavigationRail extends ZetaStatelessWidget { } } -class _ZetaNavigationRailItemContent extends ZetaStatelessWidget { +class _ZetaNavigationRailItemContent extends ZetaStatefulWidget { const _ZetaNavigationRailItemContent({ required this.label, this.icon, @@ -143,66 +144,100 @@ class _ZetaNavigationRailItemContent extends ZetaStatelessWidget { final EdgeInsets? padding; final bool? wordWrap; - // TODO(UX-1173): No hover state for navigation rail items + @override + State<_ZetaNavigationRailItemContent> createState() => _ZetaNavigationRailItemContentState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(StringProperty('label', label)) + ..add(DiagnosticsProperty('selected', selected)) + ..add(DiagnosticsProperty('disabled', disabled)) + ..add(ObjectFlagProperty.has('onTap', onTap)) + ..add(DiagnosticsProperty('padding', padding)) + ..add(DiagnosticsProperty('wordWrap', wordWrap)); + } +} + +class _ZetaNavigationRailItemContentState extends State<_ZetaNavigationRailItemContent> { + bool _hovered = false; + bool _focused = false; + @override Widget build(BuildContext context) { final zeta = Zeta.of(context); return Semantics( button: true, - enabled: !disabled, - child: MouseRegion( - cursor: disabled ? SystemMouseCursors.forbidden : SystemMouseCursors.click, - child: GestureDetector( - behavior: HitTestBehavior.translucent, - onTap: disabled ? null : onTap, - child: DecoratedBox( - decoration: BoxDecoration( - color: disabled - ? null - : selected - ? zeta.colors.blue.shade10 - : null, - borderRadius: context.rounded ? Zeta.of(context).radius.rounded : null, - ), - child: ConstrainedBox( - constraints: BoxConstraints( - minWidth: Zeta.of(context).spacing.xl_9, - minHeight: Zeta.of(context).spacing.xl_9, + enabled: !widget.disabled, + child: Focus( + onFocusChange: (focused) => setState(() => _focused = focused), + onKeyEvent: (node, event) { + if (event.logicalKey == LogicalKeyboardKey.enter || event.logicalKey == LogicalKeyboardKey.space) { + widget.onTap?.call(); + return KeyEventResult.handled; + } + return KeyEventResult.ignored; + }, + child: MouseRegion( + cursor: widget.disabled ? SystemMouseCursors.forbidden : SystemMouseCursors.click, + onEnter: (_) => setState(() => _hovered = true), + onExit: (_) => setState(() => _hovered = false), + child: GestureDetector( + behavior: HitTestBehavior.translucent, + onTap: widget.disabled ? null : widget.onTap, + child: DecoratedBox( + decoration: BoxDecoration( + color: widget.disabled + ? null + : widget.selected + ? zeta.colors.blue.shade10 + : _hovered + ? zeta.colors.surfaceHover + : null, + border: _focused ? Border.all(color: zeta.colors.blue, width: 2) : null, + borderRadius: context.rounded ? Zeta.of(context).radius.rounded : null, ), - child: SelectionContainer.disabled( - child: Padding( - padding: padding ?? - EdgeInsets.symmetric( - horizontal: Zeta.of(context).spacing.small, - vertical: Zeta.of(context).spacing.medium, - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (icon != null) - IconTheme( - data: IconThemeData( - color: disabled + child: ConstrainedBox( + constraints: BoxConstraints( + minWidth: Zeta.of(context).spacing.xl_9, + minHeight: Zeta.of(context).spacing.xl_9, + ), + child: SelectionContainer.disabled( + child: Padding( + padding: widget.padding ?? + EdgeInsets.symmetric( + horizontal: Zeta.of(context).spacing.small, + vertical: Zeta.of(context).spacing.medium, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (widget.icon != null) + IconTheme( + data: IconThemeData( + color: widget.disabled + ? zeta.colors.cool.shade50 + : widget.selected || _hovered + ? zeta.colors.textDefault + : zeta.colors.cool.shade70, + size: Zeta.of(context).spacing.xl_2, + ), + child: widget.icon!, + ), + Text( + (widget.wordWrap ?? true) ? widget.label.replaceAll(' ', '\n') : widget.label, + textAlign: TextAlign.center, + style: ZetaTextStyles.titleSmall.copyWith( + color: widget.disabled ? zeta.colors.cool.shade50 - : selected + : widget.selected || _hovered ? zeta.colors.textDefault : zeta.colors.cool.shade70, - size: Zeta.of(context).spacing.xl_2, ), - child: icon!, ), - Text( - (wordWrap ?? true) ? label.replaceAll(' ', '\n') : label, - textAlign: TextAlign.center, - style: ZetaTextStyles.titleSmall.copyWith( - color: disabled - ? zeta.colors.cool.shade50 - : selected - ? zeta.colors.textDefault - : zeta.colors.cool.shade70, - ), - ), - ], + ], + ), ), ), ), @@ -217,12 +252,12 @@ class _ZetaNavigationRailItemContent extends ZetaStatelessWidget { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties - ..add(ObjectFlagProperty.has('onTap', onTap)) - ..add(DiagnosticsProperty('disabled', disabled)) - ..add(DiagnosticsProperty('selected', selected)) - ..add(DiagnosticsProperty('padding', padding)) - ..add(StringProperty('label', label)) - ..add(DiagnosticsProperty('wordWrap', wordWrap)); + ..add(ObjectFlagProperty.has('onTap', widget.onTap)) + ..add(DiagnosticsProperty('disabled', widget.disabled)) + ..add(DiagnosticsProperty('selected', widget.selected)) + ..add(DiagnosticsProperty('padding', widget.padding)) + ..add(StringProperty('label', widget.label)) + ..add(DiagnosticsProperty('wordWrap', widget.wordWrap)); } } From 6e135020cbddcf7e448abdfadd7eaca127acff56 Mon Sep 17 00:00:00 2001 From: mikecoomber <58986130+mikecoomber@users.noreply.github.com> Date: Mon, 11 Nov 2024 14:55:50 +0000 Subject: [PATCH 09/29] feat(UX-1310): Added more customization options to ZetaListItem (#205) fix(UX-1309): Wrapped initials with FittedBox inside ZetaAvatar so that the text scales correctly with device text scaling --- .../lib/pages/components/avatar_example.dart | 12 ++ .../pages/components/list_item_example.dart | 8 ++ lib/src/components/avatars/avatar.dart | 30 +++-- .../list_item/dropdown_list_item.dart | 31 ++++- lib/src/components/list_item/list_item.dart | 106 +++++++++++++----- 5 files changed, 139 insertions(+), 48 deletions(-) diff --git a/example/lib/pages/components/avatar_example.dart b/example/lib/pages/components/avatar_example.dart index 990f3c68..ff3aaa90 100644 --- a/example/lib/pages/components/avatar_example.dart +++ b/example/lib/pages/components/avatar_example.dart @@ -18,6 +18,13 @@ class AvatarExample extends StatelessWidget { ); return ExampleScaffold( + actions: [ + ZetaAvatar.initials( + initials: 'W W', + size: ZetaAvatarSize.xxs, + backgroundColor: Zeta.of(context).colors.green, + ), + ], name: AvatarExample.name, child: SingleChildScrollView( scrollDirection: Axis.horizontal, @@ -25,6 +32,11 @@ class AvatarExample extends StatelessWidget { padding: EdgeInsets.all(Zeta.of(context).spacing.medium), child: Column( children: [ + ZetaAvatar.initials( + initials: 'WW', + size: ZetaAvatarSize.xxs, + backgroundColor: Zeta.of(context).colors.green, + ), Column( children: [ Text( diff --git a/example/lib/pages/components/list_item_example.dart b/example/lib/pages/components/list_item_example.dart index cc0cf1d4..7a271232 100644 --- a/example/lib/pages/components/list_item_example.dart +++ b/example/lib/pages/components/list_item_example.dart @@ -38,6 +38,14 @@ class _ListItemExampleState extends State { primaryText: 'List Item', secondaryText: 'Descriptor', )), + _buildListItem( + 'Custom Title', + ZetaListItem( + title: ZetaButton( + label: 'Custom Title Button', + onPressed: () {}, + ), + )), _buildListItem( 'Icon Left', ZetaListItem(primaryText: 'List Item', leading: ZetaIcon(ZetaIcons.star)), diff --git a/lib/src/components/avatars/avatar.dart b/lib/src/components/avatars/avatar.dart index 145d9e7c..7ca1443f 100644 --- a/lib/src/components/avatars/avatar.dart +++ b/lib/src/components/avatars/avatar.dart @@ -228,15 +228,17 @@ class ZetaAvatar extends ZetaStatelessWidget { final innerChild = image ?? (initials != null ? Center( - child: Text( - initials!, - style: initialTextStyle ?? - TextStyle( - fontSize: size.fontSize(context), - letterSpacing: Zeta.of(context).spacing.none, - color: backgroundColor?.onColor, - fontWeight: FontWeight.w500, - ), + child: FittedBox( + child: Text( + initials!, + style: initialTextStyle ?? + TextStyle( + fontSize: size.fontSize(context), + letterSpacing: Zeta.of(context).spacing.none, + color: backgroundColor?.onColor, + fontWeight: FontWeight.w500, + ), + ), ), ) : null); @@ -280,20 +282,14 @@ class ZetaAvatar extends ZetaStatelessWidget { border: Border.all(color: borderColor!, width: borderSize(context)), borderRadius: Zeta.of(context).radius.full, ), - child: ClipRRect( - borderRadius: Zeta.of(context).radius.full, - child: innerContent, - ), + child: innerContent, ) : DecoratedBox( decoration: BoxDecoration( borderRadius: Zeta.of(context).radius.full, color: backgroundColor ?? zetaColors.surfaceHover, ), - child: ClipRRect( - borderRadius: Zeta.of(context).radius.full, - child: innerContent, - ), + child: innerContent, ), ), ), diff --git a/lib/src/components/list_item/dropdown_list_item.dart b/lib/src/components/list_item/dropdown_list_item.dart index 2a922002..8b8d508e 100644 --- a/lib/src/components/list_item/dropdown_list_item.dart +++ b/lib/src/components/list_item/dropdown_list_item.dart @@ -15,24 +15,40 @@ class ZetaDropdownListItem extends ZetaStatefulWidget { const ZetaDropdownListItem({ super.key, super.rounded, - required this.primaryText, required this.items, + this.title, + this.primaryText, this.secondaryText, + this.primaryTextStyle, + this.secondaryTextStyle, this.expanded = false, this.leading, this.showDivider, this.semanticLabel, - }); + }) : assert( + (title != null && primaryText == null && secondaryText == null) || + (title == null && (primaryText != null || secondaryText != null)), + 'Provide one of either title or primaryText/secondaryText', + ); /// The list of [ZetaListItem]s contained within the dropdown. final List items; + /// {@macro list-item-title} + final Widget? title; + /// {@macro list-item-primary-text} - final String primaryText; + final String? primaryText; + + /// {@macro list-item-primary-text-style} + final TextStyle? primaryTextStyle; /// {@macro list-item-secondary-text} final String? secondaryText; + /// {@macro list-item-secondary-text-style} + final TextStyle? secondaryTextStyle; + /// {@macro list-item-leading} final Widget? leading; @@ -61,7 +77,9 @@ class ZetaDropdownListItem extends ZetaStatefulWidget { ..add(DiagnosticsProperty('expanded', expanded)) ..add(DiagnosticsProperty('rounded', rounded)) ..add(DiagnosticsProperty('showDivider', showDivider)) - ..add(StringProperty('semanticLabel', semanticLabel)); + ..add(StringProperty('semanticLabel', semanticLabel)) + ..add(DiagnosticsProperty('primaryTextStyle', primaryTextStyle)) + ..add(DiagnosticsProperty('secondaryTextStyle', secondaryTextStyle)); } } @@ -125,7 +143,7 @@ class _ZetaDropdownListItemState extends State with Single child: Semantics( button: true, selected: _expanded, - label: widget.semanticLabel ?? (widget.primaryText + (widget.secondaryText ?? '')), + label: widget.semanticLabel ?? ((widget.primaryText ?? '') + (widget.secondaryText ?? '')), // DecoratedBox does not correctly animated the border when the widget expands. // ignore: use_decorated_box child: Container( @@ -140,8 +158,11 @@ class _ZetaDropdownListItemState extends State with Single children: [ ExcludeSemantics( child: ZetaListItem( + title: widget.title, primaryText: widget.primaryText, + primaryTextStyle: widget.primaryTextStyle, secondaryText: widget.secondaryText, + secondaryTextStyle: widget.secondaryTextStyle, leading: widget.leading, onTap: _onTap, showDivider: false, diff --git a/lib/src/components/list_item/list_item.dart b/lib/src/components/list_item/list_item.dart index 01d69254..d5b14d02 100644 --- a/lib/src/components/list_item/list_item.dart +++ b/lib/src/components/list_item/list_item.dart @@ -61,22 +61,32 @@ class ZetaList extends ZetaStatelessWidget { class ZetaListItem extends ZetaStatelessWidget { /// Creates a [ZetaListItem]. const ZetaListItem({ - required this.primaryText, + this.title, + this.primaryText, this.secondaryText, + this.primaryTextStyle, + this.secondaryTextStyle, this.leading, this.onTap, this.showDivider, this.trailing, super.key, super.rounded, - }); + }) : assert( + (title != null && primaryText == null && secondaryText == null) || + (title == null && primaryText != null || secondaryText != null), + 'Provide one of either title or primaryText/secondaryText', + ); /// Creates a [ZetaListItem] with a [ZetaSwitch] in the trailing widget space. ZetaListItem.toggle({ super.key, super.rounded, - required this.primaryText, + this.title, + this.primaryText, this.secondaryText, + this.primaryTextStyle, + this.secondaryTextStyle, this.showDivider, this.leading, bool value = false, @@ -86,14 +96,22 @@ class ZetaListItem extends ZetaStatelessWidget { onChanged: onChanged, variant: ZetaSwitchType.android, ), - onTap = (() => onChanged?.call(!value)); + onTap = (() => onChanged?.call(!value)), + assert( + (title != null && primaryText == null && secondaryText == null) || + (title == null && (primaryText != null || secondaryText != null)), + 'Provide one of either title or primaryText/secondaryText', + ); /// Creates a [ZetaListItem] with a [ZetaCheckbox] in the trailing widget space. ZetaListItem.checkbox({ super.key, super.rounded, - required this.primaryText, + this.title, + this.primaryText, this.secondaryText, + this.primaryTextStyle, + this.secondaryTextStyle, this.leading, this.showDivider, bool value = false, @@ -105,13 +123,21 @@ class ZetaListItem extends ZetaStatelessWidget { useIndeterminate: useIndeterminate, rounded: rounded, ), - onTap = (() => onChanged?.call(!value)); + onTap = (() => onChanged?.call(!value)), + assert( + (title != null && primaryText == null && secondaryText == null) || + (title == null && (primaryText != null || secondaryText != null)), + 'Provide one of either title or primaryText/secondaryText', + ); /// Creates a [ZetaListItem] with a [ZetaRadio] in the trailing widget space. ZetaListItem.radio({ - required this.primaryText, required dynamic value, + this.title, + this.primaryText, this.secondaryText, + this.primaryTextStyle, + this.secondaryTextStyle, this.leading, this.showDivider, dynamic groupValue, @@ -123,7 +149,12 @@ class ZetaListItem extends ZetaStatelessWidget { groupValue: groupValue, onChanged: onChanged, ), - onTap = (() => onChanged?.call(value)); + onTap = (() => onChanged?.call(value)), + assert( + (title != null && primaryText == null && secondaryText == null) || + (title == null && (primaryText != null || secondaryText != null)), + 'Provide one of either title or primaryText/secondaryText', + ); /// {@template list-item-leading} /// A widget to display before the title; @@ -133,16 +164,34 @@ class ZetaListItem extends ZetaStatelessWidget { /// Called when user taps on the [ZetaListItem]. final VoidCallback? onTap; + /// {@template list-item-title} + /// The primary content of the list item. + /// Cannot be provided with [primaryText] or [secondaryText]. + /// {@endtemplate} + final Widget? title; + /// {@template list-item-primary-text} /// The primary text of the [ZetaListItem]. + /// Cannot be provided with [title]. + /// {@endtemplate} + final String? primaryText; + + /// {@template list-item-primary-text-style} + /// The text style applied to [primaryText]. /// {@endtemplate} - final String primaryText; + final TextStyle? primaryTextStyle; /// {@template list-item-secondary-text} /// The secondary text of the [ZetaListItem]. + /// Cannot be provided with [title]. /// {@endtemplate} final String? secondaryText; + /// {@template list-item-secondary-text-style} + /// The text style applied to [secondaryText]. + /// {@endtemplate} + final TextStyle? secondaryTextStyle; + /// A widget to display after the primary text. /// If this is a checkbox, radio button, or switch, use the relevant named constructor. final Widget? trailing; @@ -162,7 +211,9 @@ class ZetaListItem extends ZetaStatelessWidget { ..add(DiagnosticsProperty('trailing', trailing)) ..add(StringProperty('label', primaryText)) ..add(StringProperty('secondaryText', secondaryText)) - ..add(DiagnosticsProperty('showDivider', showDivider)); + ..add(DiagnosticsProperty('showDivider', showDivider)) + ..add(DiagnosticsProperty('secondaryTextStyle', secondaryTextStyle)) + ..add(DiagnosticsProperty('primaryTextStyle', primaryTextStyle)); } @override @@ -209,23 +260,26 @@ class ZetaListItem extends ZetaStatelessWidget { child: leadingWidget, ), Flexible( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - primaryText, - maxLines: 1, - overflow: TextOverflow.ellipsis, + child: title ?? + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (primaryText != null && primaryText!.isNotEmpty) + Text( + primaryText!, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: primaryTextStyle, + ), + if (secondaryText != null && secondaryText!.isNotEmpty) + Text( + secondaryText!, + style: secondaryTextStyle ?? ZetaTextStyles.bodySmall, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], ), - if (secondaryText != null && secondaryText!.isNotEmpty) - Text( - secondaryText!, - style: ZetaTextStyles.bodySmall, - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ], - ), ), ], ), From c9c84c0d7b80934e59b76ba3501639d6de37f35a Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Mon, 11 Nov 2024 15:04:24 +0000 Subject: [PATCH 10/29] docs: added more info to global header. Info about where to use the header (#206) --- .../global_header/global_header.dart | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/src/components/global_header/global_header.dart b/lib/src/components/global_header/global_header.dart index b92853bf..f2362c2c 100644 --- a/lib/src/components/global_header/global_header.dart +++ b/lib/src/components/global_header/global_header.dart @@ -5,6 +5,36 @@ import 'package:flutter/rendering.dart'; import '../../../zeta_flutter.dart'; /// Global header component +/// This component should not be used as an appbar in a scaffold. +/// It can be used in custom scroll views and columns. +/// +/// ``` +/// SingleChildScrollView( +/// child: Column(children: [ +/// ZetaGlobalHeader( +/// title: "Title", +/// tabItems: childrenOne, +/// searchBar: ZetaSearchBar(shape: ZetaWidgetBorder.full, size: ZetaWidgetSize.large), +/// onAppsButton: () {}, +/// actionButtons: [ +/// IconButton( +/// onPressed: () {}, +/// icon: const ZetaIcon( +/// ZetaIcons.alert, +/// ), +/// ), +/// IconButton( +/// onPressed: () {}, +/// icon: const ZetaIcon( +/// ZetaIcons.help, +/// ), +/// ), +/// ], +/// avatar: const ZetaAvatar(initials: 'PS'), +/// ), +/// ]), +/// ), +/// ``` /// {@category Components} /// /// Figma: https://www.figma.com/design/JesXQFLaPJLc1BdBM4sisI/%F0%9F%A6%93-ZDS---Components?node-id=1120-26358&node-type=canvas&m=dev From 87a5df158653a7623f09894961fe985635362d95 Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Mon, 11 Nov 2024 15:44:22 +0000 Subject: [PATCH 11/29] deps(automated): Update icons (#207) * deps(automated): Update icons 11 Nov 2024, 15:15:08 * chore(automated): Lint commit and format * fixed test --------- Co-authored-by: zeta-icons-bot Co-authored-by: github-actions Co-authored-by: mikecoomber --- lib/generated/icons/icons.g.dart | 2234 +++++++++-------- lib/generated/icons/zeta-icons-round.ttf | Bin 200040 -> 201212 bytes lib/generated/icons/zeta-icons-sharp.ttf | Bin 151140 -> 152312 bytes .../comms_button/comms_button_test.dart | 2 +- 4 files changed, 1133 insertions(+), 1103 deletions(-) diff --git a/lib/generated/icons/icons.g.dart b/lib/generated/icons/icons.g.dart index d040c869..0e4d6761 100644 --- a/lib/generated/icons/icons.g.dart +++ b/lib/generated/icons/icons.g.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; /// Current version of Zeta Icons // x-release-please-start-version -const zetaIconsVersion = '0.8.0'; +const zetaIconsVersion = '0.9.0'; // x-release-please-end /// Zeta Icons. Full list of icons can be found at [Zeta Icons](https://design.zebra.com/icons/). @@ -535,1106 +535,1115 @@ abstract class ZetaIcons { ///
Columns icon
static const IconData columns = IconData(0xe0aa, fontFamily: family, fontPackage: package); + ///
Comms Chat New icon
+ static const IconData comms_chat_new = IconData(0xe0ab, fontFamily: family, fontPackage: package); + + ///
Comms Chat icon
+ static const IconData comms_chat = IconData(0xe0ac, fontFamily: family, fontPackage: package); + + ///
Comms Chat Unread icon
+ static const IconData comms_chat_unread = IconData(0xe0ad, fontFamily: family, fontPackage: package); + ///
Contactless Pay icon
- static const IconData contactless_pay = IconData(0xe0ab, fontFamily: family, fontPackage: package); + static const IconData contactless_pay = IconData(0xe0ae, fontFamily: family, fontPackage: package); ///
Content icon
- static const IconData content = IconData(0xe0ac, fontFamily: family, fontPackage: package); + static const IconData content = IconData(0xe0af, fontFamily: family, fontPackage: package); ///
Contrast Image icon
- static const IconData contrast_image = IconData(0xe0ad, fontFamily: family, fontPackage: package); + static const IconData contrast_image = IconData(0xe0b0, fontFamily: family, fontPackage: package); ///
Contrast icon
- static const IconData contrast = IconData(0xe0ae, fontFamily: family, fontPackage: package); + static const IconData contrast = IconData(0xe0b1, fontFamily: family, fontPackage: package); ///
Conversation icon
- static const IconData conversation = IconData(0xe0af, fontFamily: family, fontPackage: package); + static const IconData conversation = IconData(0xe0b2, fontFamily: family, fontPackage: package); ///
Copy File icon
- static const IconData copy_file = IconData(0xe0b0, fontFamily: family, fontPackage: package); + static const IconData copy_file = IconData(0xe0b3, fontFamily: family, fontPackage: package); ///
Create New Folder icon
- static const IconData create_new_folder = IconData(0xe0b1, fontFamily: family, fontPackage: package); + static const IconData create_new_folder = IconData(0xe0b4, fontFamily: family, fontPackage: package); ///
Credit Card icon
- static const IconData credit_card = IconData(0xe0b2, fontFamily: family, fontPackage: package); + static const IconData credit_card = IconData(0xe0b5, fontFamily: family, fontPackage: package); ///
Credit Card Swipe icon
- static const IconData credit_card_swipe = IconData(0xe0b3, fontFamily: family, fontPackage: package); + static const IconData credit_card_swipe = IconData(0xe0b6, fontFamily: family, fontPackage: package); ///
Crop icon
- static const IconData crop = IconData(0xe0b4, fontFamily: family, fontPackage: package); + static const IconData crop = IconData(0xe0b7, fontFamily: family, fontPackage: package); ///
Dark Mode icon
- static const IconData dark_mode = IconData(0xe0b5, fontFamily: family, fontPackage: package); + static const IconData dark_mode = IconData(0xe0b8, fontFamily: family, fontPackage: package); ///
Dashboard icon
- static const IconData dashboard = IconData(0xe0b6, fontFamily: family, fontPackage: package); + static const IconData dashboard = IconData(0xe0b9, fontFamily: family, fontPackage: package); ///
Delete Forever icon
- static const IconData delete_forever = IconData(0xe0b7, fontFamily: family, fontPackage: package); + static const IconData delete_forever = IconData(0xe0ba, fontFamily: family, fontPackage: package); ///
Delete Outline icon
- static const IconData delete_outline = IconData(0xe0b8, fontFamily: family, fontPackage: package); + static const IconData delete_outline = IconData(0xe0bb, fontFamily: family, fontPackage: package); ///
Delete icon
- static const IconData delete = IconData(0xe0b9, fontFamily: family, fontPackage: package); + static const IconData delete = IconData(0xe0bc, fontFamily: family, fontPackage: package); ///
Desktop icon
- static const IconData desktop = IconData(0xe0ba, fontFamily: family, fontPackage: package); + static const IconData desktop = IconData(0xe0bd, fontFamily: family, fontPackage: package); ///
Device Settings icon
- static const IconData device_settings = IconData(0xe0bb, fontFamily: family, fontPackage: package); + static const IconData device_settings = IconData(0xe0be, fontFamily: family, fontPackage: package); ///
Devices Ecosystem icon
- static const IconData devices_ecosystem = IconData(0xe0bc, fontFamily: family, fontPackage: package); + static const IconData devices_ecosystem = IconData(0xe0bf, fontFamily: family, fontPackage: package); ///
Devices icon
- static const IconData devices = IconData(0xe0bd, fontFamily: family, fontPackage: package); + static const IconData devices = IconData(0xe0c0, fontFamily: family, fontPackage: package); ///
Dialpad icon
- static const IconData dialpad = IconData(0xe0be, fontFamily: family, fontPackage: package); + static const IconData dialpad = IconData(0xe0c1, fontFamily: family, fontPackage: package); ///
Dislike icon
- static const IconData dislike = IconData(0xe0bf, fontFamily: family, fontPackage: package); + static const IconData dislike = IconData(0xe0c2, fontFamily: family, fontPackage: package); ///
Distribute Horizontal icon
- static const IconData distribute_horizontal = IconData(0xe0c0, fontFamily: family, fontPackage: package); + static const IconData distribute_horizontal = IconData(0xe0c3, fontFamily: family, fontPackage: package); ///
Distribute Vertical icon
- static const IconData distribute_vertical = IconData(0xe0c1, fontFamily: family, fontPackage: package); + static const IconData distribute_vertical = IconData(0xe0c4, fontFamily: family, fontPackage: package); ///
Doc Attach icon
- static const IconData doc_attach = IconData(0xe0c2, fontFamily: family, fontPackage: package); + static const IconData doc_attach = IconData(0xe0c5, fontFamily: family, fontPackage: package); ///
Document icon
- static const IconData document = IconData(0xe0c3, fontFamily: family, fontPackage: package); + static const IconData document = IconData(0xe0c6, fontFamily: family, fontPackage: package); ///
Dollar icon
- static const IconData dollar = IconData(0xe0c4, fontFamily: family, fontPackage: package); + static const IconData dollar = IconData(0xe0c7, fontFamily: family, fontPackage: package); ///
Download icon
- static const IconData download = IconData(0xe0c5, fontFamily: family, fontPackage: package); + static const IconData download = IconData(0xe0c8, fontFamily: family, fontPackage: package); ///
Downloading icon
- static const IconData downloading = IconData(0xe0c6, fontFamily: family, fontPackage: package); + static const IconData downloading = IconData(0xe0c9, fontFamily: family, fontPackage: package); ///
Drop Down Circle icon
- static const IconData drop_down_circle = IconData(0xe0c7, fontFamily: family, fontPackage: package); + static const IconData drop_down_circle = IconData(0xe0ca, fontFamily: family, fontPackage: package); ///
Eas icon
- static const IconData eas = IconData(0xe0c8, fontFamily: family, fontPackage: package); + static const IconData eas = IconData(0xe0cb, fontFamily: family, fontPackage: package); ///
Edit Border icon
- static const IconData edit_border = IconData(0xe0c9, fontFamily: family, fontPackage: package); + static const IconData edit_border = IconData(0xe0cc, fontFamily: family, fontPackage: package); ///
Edit icon
- static const IconData edit = IconData(0xe0ca, fontFamily: family, fontPackage: package); + static const IconData edit = IconData(0xe0cd, fontFamily: family, fontPackage: package); ///
Email Alt icon
- static const IconData email_alt = IconData(0xe0cb, fontFamily: family, fontPackage: package); + static const IconData email_alt = IconData(0xe0ce, fontFamily: family, fontPackage: package); ///
Email Outline icon
- static const IconData email_outline = IconData(0xe0cc, fontFamily: family, fontPackage: package); + static const IconData email_outline = IconData(0xe0cf, fontFamily: family, fontPackage: package); ///
Email Reply All icon
- static const IconData email_reply_all = IconData(0xe0cd, fontFamily: family, fontPackage: package); + static const IconData email_reply_all = IconData(0xe0d0, fontFamily: family, fontPackage: package); ///
Email icon
- static const IconData email = IconData(0xe0ce, fontFamily: family, fontPackage: package); + static const IconData email = IconData(0xe0d1, fontFamily: family, fontPackage: package); ///
End Call icon
- static const IconData end_call = IconData(0xe0cf, fontFamily: family, fontPackage: package); + static const IconData end_call = IconData(0xe0d2, fontFamily: family, fontPackage: package); ///
Enterprise Diagnostics icon
- static const IconData enterprise_diagnostics = IconData(0xe0d0, fontFamily: family, fontPackage: package); + static const IconData enterprise_diagnostics = IconData(0xe0d3, fontFamily: family, fontPackage: package); ///
Environmental icon
- static const IconData environmental = IconData(0xe0d1, fontFamily: family, fontPackage: package); + static const IconData environmental = IconData(0xe0d4, fontFamily: family, fontPackage: package); ///
Error Outline icon
- static const IconData error_outline = IconData(0xe0d2, fontFamily: family, fontPackage: package); + static const IconData error_outline = IconData(0xe0d5, fontFamily: family, fontPackage: package); ///
Error icon
- static const IconData error = IconData(0xe0d3, fontFamily: family, fontPackage: package); + static const IconData error = IconData(0xe0d6, fontFamily: family, fontPackage: package); ///
Ethernet icon
- static const IconData ethernet = IconData(0xe0d4, fontFamily: family, fontPackage: package); + static const IconData ethernet = IconData(0xe0d7, fontFamily: family, fontPackage: package); ///
Exit icon
- static const IconData exit = IconData(0xe0d5, fontFamily: family, fontPackage: package); + static const IconData exit = IconData(0xe0d8, fontFamily: family, fontPackage: package); ///
Expand Less icon
- static const IconData expand_less = IconData(0xe0d6, fontFamily: family, fontPackage: package); + static const IconData expand_less = IconData(0xe0d9, fontFamily: family, fontPackage: package); ///
Expand More icon
- static const IconData expand_more = IconData(0xe0d7, fontFamily: family, fontPackage: package); + static const IconData expand_more = IconData(0xe0da, fontFamily: family, fontPackage: package); ///
Eye Dropper icon
- static const IconData eye_dropper = IconData(0xe0d8, fontFamily: family, fontPackage: package); + static const IconData eye_dropper = IconData(0xe0db, fontFamily: family, fontPackage: package); ///
Eye Preview icon
- static const IconData eye_preview = IconData(0xe0d9, fontFamily: family, fontPackage: package); + static const IconData eye_preview = IconData(0xe0dc, fontFamily: family, fontPackage: package); ///
Face Id icon
- static const IconData face_id = IconData(0xe0da, fontFamily: family, fontPackage: package); + static const IconData face_id = IconData(0xe0dd, fontFamily: family, fontPackage: package); ///
Facebook icon
- static const IconData facebook = IconData(0xe0db, fontFamily: family, fontPackage: package); + static const IconData facebook = IconData(0xe0de, fontFamily: family, fontPackage: package); ///
Factory icon
- static const IconData factory = IconData(0xe0dc, fontFamily: family, fontPackage: package); + static const IconData factory = IconData(0xe0df, fontFamily: family, fontPackage: package); ///
Fast Forward icon
- static const IconData fast_forward = IconData(0xe0dd, fontFamily: family, fontPackage: package); + static const IconData fast_forward = IconData(0xe0e0, fontFamily: family, fontPackage: package); ///
Fast Rewind icon
- static const IconData fast_rewind = IconData(0xe0de, fontFamily: family, fontPackage: package); + static const IconData fast_rewind = IconData(0xe0e1, fontFamily: family, fontPackage: package); ///
File icon
- static const IconData file = IconData(0xe0df, fontFamily: family, fontPackage: package); + static const IconData file = IconData(0xe0e2, fontFamily: family, fontPackage: package); ///
Filter Alt icon
- static const IconData filter_alt = IconData(0xe0e0, fontFamily: family, fontPackage: package); + static const IconData filter_alt = IconData(0xe0e3, fontFamily: family, fontPackage: package); ///
Filter icon
- static const IconData filter = IconData(0xe0e1, fontFamily: family, fontPackage: package); + static const IconData filter = IconData(0xe0e4, fontFamily: family, fontPackage: package); ///
Finished Download icon
- static const IconData finished_download = IconData(0xe0e2, fontFamily: family, fontPackage: package); + static const IconData finished_download = IconData(0xe0e5, fontFamily: family, fontPackage: package); ///
First Page icon
- static const IconData first_page = IconData(0xe0e3, fontFamily: family, fontPackage: package); + static const IconData first_page = IconData(0xe0e6, fontFamily: family, fontPackage: package); ///
Flag icon
- static const IconData flag = IconData(0xe0e4, fontFamily: family, fontPackage: package); + static const IconData flag = IconData(0xe0e7, fontFamily: family, fontPackage: package); ///
Flight Mode icon
- static const IconData flight_mode = IconData(0xe0e5, fontFamily: family, fontPackage: package); + static const IconData flight_mode = IconData(0xe0e8, fontFamily: family, fontPackage: package); ///
Flight icon
- static const IconData flight = IconData(0xe0e6, fontFamily: family, fontPackage: package); + static const IconData flight = IconData(0xe0e9, fontFamily: family, fontPackage: package); ///
Flip icon
- static const IconData flip = IconData(0xe0e7, fontFamily: family, fontPackage: package); + static const IconData flip = IconData(0xe0ea, fontFamily: family, fontPackage: package); ///
Folder File icon
- static const IconData folder_file = IconData(0xe0e8, fontFamily: family, fontPackage: package); + static const IconData folder_file = IconData(0xe0eb, fontFamily: family, fontPackage: package); ///
Folder Outline icon
- static const IconData folder_outline = IconData(0xe0e9, fontFamily: family, fontPackage: package); + static const IconData folder_outline = IconData(0xe0ec, fontFamily: family, fontPackage: package); ///
Folder icon
- static const IconData folder = IconData(0xe0ea, fontFamily: family, fontPackage: package); + static const IconData folder = IconData(0xe0ed, fontFamily: family, fontPackage: package); ///
Font Size Decrease icon
- static const IconData font_size_decrease = IconData(0xe0eb, fontFamily: family, fontPackage: package); + static const IconData font_size_decrease = IconData(0xe0ee, fontFamily: family, fontPackage: package); ///
Font Size Increase icon
- static const IconData font_size_increase = IconData(0xe0ec, fontFamily: family, fontPackage: package); + static const IconData font_size_increase = IconData(0xe0ef, fontFamily: family, fontPackage: package); ///
Format Shapes icon
- static const IconData format_shapes = IconData(0xe0ed, fontFamily: family, fontPackage: package); + static const IconData format_shapes = IconData(0xe0f0, fontFamily: family, fontPackage: package); ///
Forward icon
- static const IconData forward = IconData(0xe0ee, fontFamily: family, fontPackage: package); + static const IconData forward = IconData(0xe0f1, fontFamily: family, fontPackage: package); ///
Freezer icon
- static const IconData freezer = IconData(0xe0ef, fontFamily: family, fontPackage: package); + static const IconData freezer = IconData(0xe0f2, fontFamily: family, fontPackage: package); ///
Full Screen Exit icon
- static const IconData full_screen_exit = IconData(0xe0f0, fontFamily: family, fontPackage: package); + static const IconData full_screen_exit = IconData(0xe0f3, fontFamily: family, fontPackage: package); ///
Full Screen icon
- static const IconData full_screen = IconData(0xe0f1, fontFamily: family, fontPackage: package); + static const IconData full_screen = IconData(0xe0f4, fontFamily: family, fontPackage: package); ///
Gif icon
- static const IconData gif = IconData(0xe0f2, fontFamily: family, fontPackage: package); + static const IconData gif = IconData(0xe0f5, fontFamily: family, fontPackage: package); ///
Glossary icon
- static const IconData glossary = IconData(0xe0f3, fontFamily: family, fontPackage: package); + static const IconData glossary = IconData(0xe0f6, fontFamily: family, fontPackage: package); ///
Grid Off icon
- static const IconData grid_off = IconData(0xe0f4, fontFamily: family, fontPackage: package); + static const IconData grid_off = IconData(0xe0f7, fontFamily: family, fontPackage: package); ///
Grid On icon
- static const IconData grid_on = IconData(0xe0f5, fontFamily: family, fontPackage: package); + static const IconData grid_on = IconData(0xe0f8, fontFamily: family, fontPackage: package); ///
Grid View icon
- static const IconData grid_view = IconData(0xe0f6, fontFamily: family, fontPackage: package); + static const IconData grid_view = IconData(0xe0f9, fontFamily: family, fontPackage: package); ///
Group icon
- static const IconData group = IconData(0xe0f7, fontFamily: family, fontPackage: package); + static const IconData group = IconData(0xe0fa, fontFamily: family, fontPackage: package); ///
Groups icon
- static const IconData groups = IconData(0xe0f8, fontFamily: family, fontPackage: package); + static const IconData groups = IconData(0xe0fb, fontFamily: family, fontPackage: package); ///
Hamburger Menu Navigation Rail icon
- static const IconData hamburger_menu_navigation_rail = IconData(0xe0f9, fontFamily: family, fontPackage: package); + static const IconData hamburger_menu_navigation_rail = IconData(0xe0fc, fontFamily: family, fontPackage: package); ///
Hamburger Menu icon
- static const IconData hamburger_menu = IconData(0xe0fa, fontFamily: family, fontPackage: package); + static const IconData hamburger_menu = IconData(0xe0fd, fontFamily: family, fontPackage: package); ///
Hamburger Menu Thick icon
- static const IconData hamburger_menu_thick = IconData(0xe0fb, fontFamily: family, fontPackage: package); + static const IconData hamburger_menu_thick = IconData(0xe0fe, fontFamily: family, fontPackage: package); ///
Hand icon
- static const IconData hand = IconData(0xe0fc, fontFamily: family, fontPackage: package); + static const IconData hand = IconData(0xe0ff, fontFamily: family, fontPackage: package); ///
Happy icon
- static const IconData happy = IconData(0xe0fd, fontFamily: family, fontPackage: package); + static const IconData happy = IconData(0xe100, fontFamily: family, fontPackage: package); ///
Hdmi icon
- static const IconData hdmi = IconData(0xe0fe, fontFamily: family, fontPackage: package); + static const IconData hdmi = IconData(0xe101, fontFamily: family, fontPackage: package); ///
Hdr icon
- static const IconData hdr = IconData(0xe0ff, fontFamily: family, fontPackage: package); + static const IconData hdr = IconData(0xe102, fontFamily: family, fontPackage: package); ///
Headphones icon
- static const IconData headphones = IconData(0xe100, fontFamily: family, fontPackage: package); + static const IconData headphones = IconData(0xe103, fontFamily: family, fontPackage: package); ///
Headset icon
- static const IconData headset = IconData(0xe101, fontFamily: family, fontPackage: package); + static const IconData headset = IconData(0xe104, fontFamily: family, fontPackage: package); ///
Help Outline icon
- static const IconData help_outline = IconData(0xe102, fontFamily: family, fontPackage: package); + static const IconData help_outline = IconData(0xe105, fontFamily: family, fontPackage: package); ///
Help icon
- static const IconData help = IconData(0xe103, fontFamily: family, fontPackage: package); + static const IconData help = IconData(0xe106, fontFamily: family, fontPackage: package); ///
History icon
- static const IconData history = IconData(0xe104, fontFamily: family, fontPackage: package); + static const IconData history = IconData(0xe107, fontFamily: family, fontPackage: package); ///
Home icon
- static const IconData home = IconData(0xe105, fontFamily: family, fontPackage: package); + static const IconData home = IconData(0xe108, fontFamily: family, fontPackage: package); ///
Hourglass icon
- static const IconData hourglass = IconData(0xe106, fontFamily: family, fontPackage: package); + static const IconData hourglass = IconData(0xe109, fontFamily: family, fontPackage: package); ///
How Do I icon
- static const IconData how_do_i = IconData(0xe107, fontFamily: family, fontPackage: package); + static const IconData how_do_i = IconData(0xe10a, fontFamily: family, fontPackage: package); ///
Image Library icon
- static const IconData image_library = IconData(0xe108, fontFamily: family, fontPackage: package); + static const IconData image_library = IconData(0xe10b, fontFamily: family, fontPackage: package); ///
Image icon
- static const IconData image = IconData(0xe109, fontFamily: family, fontPackage: package); + static const IconData image = IconData(0xe10c, fontFamily: family, fontPackage: package); ///
Important Notification icon
- static const IconData important_notification = IconData(0xe10a, fontFamily: family, fontPackage: package); + static const IconData important_notification = IconData(0xe10d, fontFamily: family, fontPackage: package); ///
Inbox icon
- static const IconData inbox = IconData(0xe10b, fontFamily: family, fontPackage: package); + static const IconData inbox = IconData(0xe10e, fontFamily: family, fontPackage: package); ///
Indent Decrease icon
- static const IconData indent_decrease = IconData(0xe10c, fontFamily: family, fontPackage: package); + static const IconData indent_decrease = IconData(0xe10f, fontFamily: family, fontPackage: package); ///
Indent Increase icon
- static const IconData indent_increase = IconData(0xe10d, fontFamily: family, fontPackage: package); + static const IconData indent_increase = IconData(0xe110, fontFamily: family, fontPackage: package); ///
Indeterminate Check Box icon
- static const IconData indeterminate_check_box = IconData(0xe10e, fontFamily: family, fontPackage: package); + static const IconData indeterminate_check_box = IconData(0xe111, fontFamily: family, fontPackage: package); ///
Info icon
- static const IconData info = IconData(0xe10f, fontFamily: family, fontPackage: package); + static const IconData info = IconData(0xe112, fontFamily: family, fontPackage: package); ///
Instagram icon
- static const IconData instagram = IconData(0xe110, fontFamily: family, fontPackage: package); + static const IconData instagram = IconData(0xe113, fontFamily: family, fontPackage: package); ///
Ios Share icon
- static const IconData ios_share = IconData(0xe111, fontFamily: family, fontPackage: package); + static const IconData ios_share = IconData(0xe114, fontFamily: family, fontPackage: package); ///
Iso icon
- static const IconData iso = IconData(0xe112, fontFamily: family, fontPackage: package); + static const IconData iso = IconData(0xe115, fontFamily: family, fontPackage: package); ///
Issue Audit icon
- static const IconData issue_audit = IconData(0xe113, fontFamily: family, fontPackage: package); + static const IconData issue_audit = IconData(0xe116, fontFamily: family, fontPackage: package); ///
Italic icon
- static const IconData italic = IconData(0xe114, fontFamily: family, fontPackage: package); + static const IconData italic = IconData(0xe117, fontFamily: family, fontPackage: package); ///
Jpg Attach icon
- static const IconData jpg_attach = IconData(0xe115, fontFamily: family, fontPackage: package); + static const IconData jpg_attach = IconData(0xe118, fontFamily: family, fontPackage: package); ///
Justify icon
- static const IconData justify = IconData(0xe116, fontFamily: family, fontPackage: package); + static const IconData justify = IconData(0xe119, fontFamily: family, fontPackage: package); ///
Keyboard icon
- static const IconData keyboard = IconData(0xe117, fontFamily: family, fontPackage: package); + static const IconData keyboard = IconData(0xe11a, fontFamily: family, fontPackage: package); ///
Label icon
- static const IconData label = IconData(0xe118, fontFamily: family, fontPackage: package); + static const IconData label = IconData(0xe11b, fontFamily: family, fontPackage: package); ///
Laptop icon
- static const IconData laptop = IconData(0xe119, fontFamily: family, fontPackage: package); + static const IconData laptop = IconData(0xe11c, fontFamily: family, fontPackage: package); ///
Last Page icon
- static const IconData last_page = IconData(0xe11a, fontFamily: family, fontPackage: package); + static const IconData last_page = IconData(0xe11d, fontFamily: family, fontPackage: package); ///
Layers icon
- static const IconData layers = IconData(0xe11b, fontFamily: family, fontPackage: package); + static const IconData layers = IconData(0xe11e, fontFamily: family, fontPackage: package); ///
Light Mode icon
- static const IconData light_mode = IconData(0xe11c, fontFamily: family, fontPackage: package); + static const IconData light_mode = IconData(0xe11f, fontFamily: family, fontPackage: package); ///
Light Rail Train icon
- static const IconData light_rail_train = IconData(0xe11d, fontFamily: family, fontPackage: package); + static const IconData light_rail_train = IconData(0xe120, fontFamily: family, fontPackage: package); ///
Lightbulb icon
- static const IconData lightbulb = IconData(0xe11e, fontFamily: family, fontPackage: package); + static const IconData lightbulb = IconData(0xe121, fontFamily: family, fontPackage: package); ///
Like icon
- static const IconData like = IconData(0xe11f, fontFamily: family, fontPackage: package); + static const IconData like = IconData(0xe122, fontFamily: family, fontPackage: package); ///
Line Spacing icon
- static const IconData line_spacing = IconData(0xe120, fontFamily: family, fontPackage: package); + static const IconData line_spacing = IconData(0xe123, fontFamily: family, fontPackage: package); ///
Link Add icon
- static const IconData link_add = IconData(0xe121, fontFamily: family, fontPackage: package); + static const IconData link_add = IconData(0xe124, fontFamily: family, fontPackage: package); ///
Link icon
- static const IconData link = IconData(0xe122, fontFamily: family, fontPackage: package); + static const IconData link = IconData(0xe125, fontFamily: family, fontPackage: package); ///
Linkedin icon
- static const IconData linkedin = IconData(0xe123, fontFamily: family, fontPackage: package); + static const IconData linkedin = IconData(0xe126, fontFamily: family, fontPackage: package); ///
List Alt icon
- static const IconData list_alt = IconData(0xe124, fontFamily: family, fontPackage: package); + static const IconData list_alt = IconData(0xe127, fontFamily: family, fontPackage: package); ///
List Bullet Contained icon
- static const IconData list_bullet_contained = IconData(0xe125, fontFamily: family, fontPackage: package); + static const IconData list_bullet_contained = IconData(0xe128, fontFamily: family, fontPackage: package); ///
List Feedback icon
- static const IconData list_feedback = IconData(0xe126, fontFamily: family, fontPackage: package); + static const IconData list_feedback = IconData(0xe129, fontFamily: family, fontPackage: package); ///
List Form icon
- static const IconData list_form = IconData(0xe127, fontFamily: family, fontPackage: package); + static const IconData list_form = IconData(0xe12a, fontFamily: family, fontPackage: package); ///
List icon
- static const IconData list = IconData(0xe128, fontFamily: family, fontPackage: package); + static const IconData list = IconData(0xe12b, fontFamily: family, fontPackage: package); ///
Local Shipping icon
- static const IconData local_shipping = IconData(0xe129, fontFamily: family, fontPackage: package); + static const IconData local_shipping = IconData(0xe12c, fontFamily: family, fontPackage: package); ///
Location Off icon
- static const IconData location_off = IconData(0xe12a, fontFamily: family, fontPackage: package); + static const IconData location_off = IconData(0xe12d, fontFamily: family, fontPackage: package); ///
Location Point icon
- static const IconData location_point = IconData(0xe12b, fontFamily: family, fontPackage: package); + static const IconData location_point = IconData(0xe12e, fontFamily: family, fontPackage: package); ///
Location icon
- static const IconData location = IconData(0xe12c, fontFamily: family, fontPackage: package); + static const IconData location = IconData(0xe12f, fontFamily: family, fontPackage: package); ///
Lock Alt icon
- static const IconData lock_alt = IconData(0xe12d, fontFamily: family, fontPackage: package); + static const IconData lock_alt = IconData(0xe130, fontFamily: family, fontPackage: package); ///
Lock icon
- static const IconData lock = IconData(0xe12e, fontFamily: family, fontPackage: package); + static const IconData lock = IconData(0xe131, fontFamily: family, fontPackage: package); ///
Lock Undo icon
- static const IconData lock_undo = IconData(0xe12f, fontFamily: family, fontPackage: package); + static const IconData lock_undo = IconData(0xe132, fontFamily: family, fontPackage: package); ///
Log In icon
- static const IconData log_in = IconData(0xe130, fontFamily: family, fontPackage: package); + static const IconData log_in = IconData(0xe133, fontFamily: family, fontPackage: package); ///
Log Out icon
- static const IconData log_out = IconData(0xe131, fontFamily: family, fontPackage: package); + static const IconData log_out = IconData(0xe134, fontFamily: family, fontPackage: package); ///
Love Outline icon
- static const IconData love_outline = IconData(0xe132, fontFamily: family, fontPackage: package); + static const IconData love_outline = IconData(0xe135, fontFamily: family, fontPackage: package); ///
Love icon
- static const IconData love = IconData(0xe133, fontFamily: family, fontPackage: package); + static const IconData love = IconData(0xe136, fontFamily: family, fontPackage: package); ///
Maintenance icon
- static const IconData maintenance = IconData(0xe134, fontFamily: family, fontPackage: package); + static const IconData maintenance = IconData(0xe137, fontFamily: family, fontPackage: package); ///
Map icon
- static const IconData map = IconData(0xe135, fontFamily: family, fontPackage: package); + static const IconData map = IconData(0xe138, fontFamily: family, fontPackage: package); ///
Meal icon
- static const IconData meal = IconData(0xe136, fontFamily: family, fontPackage: package); + static const IconData meal = IconData(0xe139, fontFamily: family, fontPackage: package); ///
Medium icon
- static const IconData medium = IconData(0xe137, fontFamily: family, fontPackage: package); + static const IconData medium = IconData(0xe13a, fontFamily: family, fontPackage: package); ///
Memory icon
- static const IconData memory = IconData(0xe138, fontFamily: family, fontPackage: package); + static const IconData memory = IconData(0xe13b, fontFamily: family, fontPackage: package); ///
Message icon
- static const IconData message = IconData(0xe139, fontFamily: family, fontPackage: package); + static const IconData message = IconData(0xe13c, fontFamily: family, fontPackage: package); ///
Microphone Off icon
- static const IconData microphone_off = IconData(0xe13a, fontFamily: family, fontPackage: package); + static const IconData microphone_off = IconData(0xe13d, fontFamily: family, fontPackage: package); ///
Microphone Outline icon
- static const IconData microphone_outline = IconData(0xe13b, fontFamily: family, fontPackage: package); + static const IconData microphone_outline = IconData(0xe13e, fontFamily: family, fontPackage: package); ///
Microphone icon
- static const IconData microphone = IconData(0xe13c, fontFamily: family, fontPackage: package); + static const IconData microphone = IconData(0xe13f, fontFamily: family, fontPackage: package); ///
Mobile Friendly icon
- static const IconData mobile_friendly = IconData(0xe13d, fontFamily: family, fontPackage: package); + static const IconData mobile_friendly = IconData(0xe140, fontFamily: family, fontPackage: package); ///
Money Euro icon
- static const IconData money_euro = IconData(0xe13e, fontFamily: family, fontPackage: package); + static const IconData money_euro = IconData(0xe141, fontFamily: family, fontPackage: package); ///
Money Pound icon
- static const IconData money_pound = IconData(0xe13f, fontFamily: family, fontPackage: package); + static const IconData money_pound = IconData(0xe142, fontFamily: family, fontPackage: package); ///
Money Usd icon
- static const IconData money_usd = IconData(0xe140, fontFamily: family, fontPackage: package); + static const IconData money_usd = IconData(0xe143, fontFamily: family, fontPackage: package); ///
Monitor icon
- static const IconData monitor = IconData(0xe141, fontFamily: family, fontPackage: package); + static const IconData monitor = IconData(0xe144, fontFamily: family, fontPackage: package); ///
More Horizontal icon
- static const IconData more_horizontal = IconData(0xe142, fontFamily: family, fontPackage: package); + static const IconData more_horizontal = IconData(0xe145, fontFamily: family, fontPackage: package); ///
More Vertical icon
- static const IconData more_vertical = IconData(0xe143, fontFamily: family, fontPackage: package); + static const IconData more_vertical = IconData(0xe146, fontFamily: family, fontPackage: package); ///
My Location icon
- static const IconData my_location = IconData(0xe144, fontFamily: family, fontPackage: package); + static const IconData my_location = IconData(0xe147, fontFamily: family, fontPackage: package); ///
Navigate icon
- static const IconData navigate = IconData(0xe145, fontFamily: family, fontPackage: package); + static const IconData navigate = IconData(0xe148, fontFamily: family, fontPackage: package); ///
Navigation icon
- static const IconData navigation = IconData(0xe146, fontFamily: family, fontPackage: package); + static const IconData navigation = IconData(0xe149, fontFamily: family, fontPackage: package); ///
Near Me icon
- static const IconData near_me = IconData(0xe147, fontFamily: family, fontPackage: package); + static const IconData near_me = IconData(0xe14a, fontFamily: family, fontPackage: package); ///
Network Signal icon
- static const IconData network_signal = IconData(0xe148, fontFamily: family, fontPackage: package); + static const IconData network_signal = IconData(0xe14b, fontFamily: family, fontPackage: package); ///
New Chat icon
- static const IconData new_chat = IconData(0xe149, fontFamily: family, fontPackage: package); + static const IconData new_chat = IconData(0xe14c, fontFamily: family, fontPackage: package); ///
Nfc icon
- static const IconData nfc = IconData(0xe14a, fontFamily: family, fontPackage: package); + static const IconData nfc = IconData(0xe14d, fontFamily: family, fontPackage: package); ///
Night icon
- static const IconData night = IconData(0xe14b, fontFamily: family, fontPackage: package); + static const IconData night = IconData(0xe14e, fontFamily: family, fontPackage: package); ///
No Color icon
- static const IconData no_color = IconData(0xe14c, fontFamily: family, fontPackage: package); + static const IconData no_color = IconData(0xe14f, fontFamily: family, fontPackage: package); ///
Note icon
- static const IconData note = IconData(0xe14d, fontFamily: family, fontPackage: package); + static const IconData note = IconData(0xe150, fontFamily: family, fontPackage: package); ///
Notifications Off icon
- static const IconData notifications_off = IconData(0xe14e, fontFamily: family, fontPackage: package); + static const IconData notifications_off = IconData(0xe151, fontFamily: family, fontPackage: package); ///
Numbered List icon
- static const IconData numbered_list = IconData(0xe14f, fontFamily: family, fontPackage: package); + static const IconData numbered_list = IconData(0xe152, fontFamily: family, fontPackage: package); ///
Open In Full icon
- static const IconData open_in_full = IconData(0xe150, fontFamily: family, fontPackage: package); + static const IconData open_in_full = IconData(0xe153, fontFamily: family, fontPackage: package); ///
Open In New Window icon
- static const IconData open_in_new_window = IconData(0xe151, fontFamily: family, fontPackage: package); + static const IconData open_in_new_window = IconData(0xe154, fontFamily: family, fontPackage: package); ///
Open New Off icon
- static const IconData open_new_off = IconData(0xe152, fontFamily: family, fontPackage: package); + static const IconData open_new_off = IconData(0xe155, fontFamily: family, fontPackage: package); ///
Page Height icon
- static const IconData page_height = IconData(0xe153, fontFamily: family, fontPackage: package); + static const IconData page_height = IconData(0xe156, fontFamily: family, fontPackage: package); ///
Page Rotate icon
- static const IconData page_rotate = IconData(0xe154, fontFamily: family, fontPackage: package); + static const IconData page_rotate = IconData(0xe157, fontFamily: family, fontPackage: package); ///
Page Width icon
- static const IconData page_width = IconData(0xe155, fontFamily: family, fontPackage: package); + static const IconData page_width = IconData(0xe158, fontFamily: family, fontPackage: package); ///
Palette icon
- static const IconData palette = IconData(0xe156, fontFamily: family, fontPackage: package); + static const IconData palette = IconData(0xe159, fontFamily: family, fontPackage: package); ///
Partner icon
- static const IconData partner = IconData(0xe157, fontFamily: family, fontPackage: package); + static const IconData partner = IconData(0xe15a, fontFamily: family, fontPackage: package); ///
Pause Circle icon
- static const IconData pause_circle = IconData(0xe158, fontFamily: family, fontPackage: package); + static const IconData pause_circle = IconData(0xe15b, fontFamily: family, fontPackage: package); ///
Pause icon
- static const IconData pause = IconData(0xe159, fontFamily: family, fontPackage: package); + static const IconData pause = IconData(0xe15c, fontFamily: family, fontPackage: package); ///
Pdf Attach icon
- static const IconData pdf_attach = IconData(0xe15a, fontFamily: family, fontPackage: package); + static const IconData pdf_attach = IconData(0xe15d, fontFamily: family, fontPackage: package); ///
Pending icon
- static const IconData pending = IconData(0xe15b, fontFamily: family, fontPackage: package); + static const IconData pending = IconData(0xe15e, fontFamily: family, fontPackage: package); ///
Person Admin icon
- static const IconData person_admin = IconData(0xe15c, fontFamily: family, fontPackage: package); + static const IconData person_admin = IconData(0xe15f, fontFamily: family, fontPackage: package); ///
Person Assign icon
- static const IconData person_assign = IconData(0xe15d, fontFamily: family, fontPackage: package); + static const IconData person_assign = IconData(0xe160, fontFamily: family, fontPackage: package); ///
Person Clock icon
- static const IconData person_clock = IconData(0xe15e, fontFamily: family, fontPackage: package); + static const IconData person_clock = IconData(0xe161, fontFamily: family, fontPackage: package); ///
Person Info icon
- static const IconData person_info = IconData(0xe15f, fontFamily: family, fontPackage: package); + static const IconData person_info = IconData(0xe162, fontFamily: family, fontPackage: package); ///
Person Manager icon
- static const IconData person_manager = IconData(0xe160, fontFamily: family, fontPackage: package); + static const IconData person_manager = IconData(0xe163, fontFamily: family, fontPackage: package); ///
Person Move icon
- static const IconData person_move = IconData(0xe161, fontFamily: family, fontPackage: package); + static const IconData person_move = IconData(0xe164, fontFamily: family, fontPackage: package); ///
Person Outline icon
- static const IconData person_outline = IconData(0xe162, fontFamily: family, fontPackage: package); + static const IconData person_outline = IconData(0xe165, fontFamily: family, fontPackage: package); ///
Person icon
- static const IconData person = IconData(0xe163, fontFamily: family, fontPackage: package); + static const IconData person = IconData(0xe166, fontFamily: family, fontPackage: package); ///
Person Search icon
- static const IconData person_search = IconData(0xe164, fontFamily: family, fontPackage: package); + static const IconData person_search = IconData(0xe167, fontFamily: family, fontPackage: package); ///
Person Swap icon
- static const IconData person_swap = IconData(0xe165, fontFamily: family, fontPackage: package); + static const IconData person_swap = IconData(0xe168, fontFamily: family, fontPackage: package); ///
Person Walk icon
- static const IconData person_walk = IconData(0xe166, fontFamily: family, fontPackage: package); + static const IconData person_walk = IconData(0xe169, fontFamily: family, fontPackage: package); ///
Phone Android icon
- static const IconData phone_android = IconData(0xe167, fontFamily: family, fontPackage: package); + static const IconData phone_android = IconData(0xe16a, fontFamily: family, fontPackage: package); ///
Phone Bluetooth Speaker icon
- static const IconData phone_bluetooth_speaker = IconData(0xe168, fontFamily: family, fontPackage: package); + static const IconData phone_bluetooth_speaker = IconData(0xe16b, fontFamily: family, fontPackage: package); ///
Phone In Talk icon
- static const IconData phone_in_talk = IconData(0xe169, fontFamily: family, fontPackage: package); + static const IconData phone_in_talk = IconData(0xe16c, fontFamily: family, fontPackage: package); ///
Phone Iphone icon
- static const IconData phone_iphone = IconData(0xe16a, fontFamily: family, fontPackage: package); + static const IconData phone_iphone = IconData(0xe16d, fontFamily: family, fontPackage: package); ///
Phone icon
- static const IconData phone = IconData(0xe16b, fontFamily: family, fontPackage: package); + static const IconData phone = IconData(0xe16e, fontFamily: family, fontPackage: package); ///
Phonelink icon
- static const IconData phonelink = IconData(0xe16c, fontFamily: family, fontPackage: package); + static const IconData phonelink = IconData(0xe16f, fontFamily: family, fontPackage: package); ///
Phrase icon
- static const IconData phrase = IconData(0xe16d, fontFamily: family, fontPackage: package); + static const IconData phrase = IconData(0xe170, fontFamily: family, fontPackage: package); ///
Pin icon
- static const IconData pin = IconData(0xe16e, fontFamily: family, fontPackage: package); + static const IconData pin = IconData(0xe171, fontFamily: family, fontPackage: package); ///
Place icon
- static const IconData place = IconData(0xe16f, fontFamily: family, fontPackage: package); + static const IconData place = IconData(0xe172, fontFamily: family, fontPackage: package); ///
Planogram icon
- static const IconData planogram = IconData(0xe170, fontFamily: family, fontPackage: package); + static const IconData planogram = IconData(0xe173, fontFamily: family, fontPackage: package); ///
Play Circle icon
- static const IconData play_circle = IconData(0xe171, fontFamily: family, fontPackage: package); + static const IconData play_circle = IconData(0xe174, fontFamily: family, fontPackage: package); ///
Play Outline icon
- static const IconData play_outline = IconData(0xe172, fontFamily: family, fontPackage: package); + static const IconData play_outline = IconData(0xe175, fontFamily: family, fontPackage: package); ///
Play icon
- static const IconData play = IconData(0xe173, fontFamily: family, fontPackage: package); + static const IconData play = IconData(0xe176, fontFamily: family, fontPackage: package); ///
Png Attach icon
- static const IconData png_attach = IconData(0xe174, fontFamily: family, fontPackage: package); + static const IconData png_attach = IconData(0xe177, fontFamily: family, fontPackage: package); ///
Point Gift icon
- static const IconData point_gift = IconData(0xe175, fontFamily: family, fontPackage: package); + static const IconData point_gift = IconData(0xe178, fontFamily: family, fontPackage: package); ///
Point Heart icon
- static const IconData point_heart = IconData(0xe176, fontFamily: family, fontPackage: package); + static const IconData point_heart = IconData(0xe179, fontFamily: family, fontPackage: package); ///
Point Money icon
- static const IconData point_money = IconData(0xe177, fontFamily: family, fontPackage: package); + static const IconData point_money = IconData(0xe17a, fontFamily: family, fontPackage: package); ///
Point Star icon
- static const IconData point_star = IconData(0xe178, fontFamily: family, fontPackage: package); + static const IconData point_star = IconData(0xe17b, fontFamily: family, fontPackage: package); ///
Point Token icon
- static const IconData point_token = IconData(0xe179, fontFamily: family, fontPackage: package); + static const IconData point_token = IconData(0xe17c, fontFamily: family, fontPackage: package); ///
Portrait icon
- static const IconData portrait = IconData(0xe17a, fontFamily: family, fontPackage: package); + static const IconData portrait = IconData(0xe17d, fontFamily: family, fontPackage: package); ///
Ppt Attach icon
- static const IconData ppt_attach = IconData(0xe17b, fontFamily: family, fontPackage: package); + static const IconData ppt_attach = IconData(0xe17e, fontFamily: family, fontPackage: package); ///
Price icon
- static const IconData price = IconData(0xe17c, fontFamily: family, fontPackage: package); + static const IconData price = IconData(0xe17f, fontFamily: family, fontPackage: package); ///
Printer icon
- static const IconData printer = IconData(0xe17d, fontFamily: family, fontPackage: package); + static const IconData printer = IconData(0xe180, fontFamily: family, fontPackage: package); ///
Priority icon
- static const IconData priority = IconData(0xe17e, fontFamily: family, fontPackage: package); + static const IconData priority = IconData(0xe181, fontFamily: family, fontPackage: package); ///
Pro icon
- static const IconData pro = IconData(0xe17f, fontFamily: family, fontPackage: package); + static const IconData pro = IconData(0xe182, fontFamily: family, fontPackage: package); ///
Productivity Apps icon
- static const IconData productivity_apps = IconData(0xe180, fontFamily: family, fontPackage: package); + static const IconData productivity_apps = IconData(0xe183, fontFamily: family, fontPackage: package); ///
Ptt icon
- static const IconData ptt = IconData(0xe181, fontFamily: family, fontPackage: package); + static const IconData ptt = IconData(0xe184, fontFamily: family, fontPackage: package); ///
Publish icon
- static const IconData publish = IconData(0xe182, fontFamily: family, fontPackage: package); + static const IconData publish = IconData(0xe185, fontFamily: family, fontPackage: package); ///
Push Pin icon
- static const IconData push_pin = IconData(0xe183, fontFamily: family, fontPackage: package); + static const IconData push_pin = IconData(0xe186, fontFamily: family, fontPackage: package); ///
Qr Code icon
- static const IconData qr_code = IconData(0xe184, fontFamily: family, fontPackage: package); + static const IconData qr_code = IconData(0xe187, fontFamily: family, fontPackage: package); ///
Queue icon
- static const IconData queue = IconData(0xe185, fontFamily: family, fontPackage: package); + static const IconData queue = IconData(0xe188, fontFamily: family, fontPackage: package); ///
Radio Button Checked icon
- static const IconData radio_button_checked = IconData(0xe186, fontFamily: family, fontPackage: package); + static const IconData radio_button_checked = IconData(0xe189, fontFamily: family, fontPackage: package); ///
Radio Button Unchecked icon
- static const IconData radio_button_unchecked = IconData(0xe187, fontFamily: family, fontPackage: package); + static const IconData radio_button_unchecked = IconData(0xe18a, fontFamily: family, fontPackage: package); ///
React Add icon
- static const IconData react_add = IconData(0xe188, fontFamily: family, fontPackage: package); + static const IconData react_add = IconData(0xe18b, fontFamily: family, fontPackage: package); ///
React Thumbsup icon
- static const IconData react_thumbsup = IconData(0xe189, fontFamily: family, fontPackage: package); + static const IconData react_thumbsup = IconData(0xe18c, fontFamily: family, fontPackage: package); ///
Recall icon
- static const IconData recall = IconData(0xe18a, fontFamily: family, fontPackage: package); + static const IconData recall = IconData(0xe18d, fontFamily: family, fontPackage: package); ///
Receipt icon
- static const IconData receipt = IconData(0xe18b, fontFamily: family, fontPackage: package); + static const IconData receipt = IconData(0xe18e, fontFamily: family, fontPackage: package); ///
Recording icon
- static const IconData recording = IconData(0xe18c, fontFamily: family, fontPackage: package); + static const IconData recording = IconData(0xe18f, fontFamily: family, fontPackage: package); ///
Redo icon
- static const IconData redo = IconData(0xe18d, fontFamily: family, fontPackage: package); + static const IconData redo = IconData(0xe190, fontFamily: family, fontPackage: package); ///
Refresh icon
- static const IconData refresh = IconData(0xe18e, fontFamily: family, fontPackage: package); + static const IconData refresh = IconData(0xe191, fontFamily: family, fontPackage: package); ///
Remove Box icon
- static const IconData remove_box = IconData(0xe18f, fontFamily: family, fontPackage: package); + static const IconData remove_box = IconData(0xe192, fontFamily: family, fontPackage: package); ///
Remove Circle Outline icon
- static const IconData remove_circle_outline = IconData(0xe190, fontFamily: family, fontPackage: package); + static const IconData remove_circle_outline = IconData(0xe193, fontFamily: family, fontPackage: package); ///
Remove Circle icon
- static const IconData remove_circle = IconData(0xe191, fontFamily: family, fontPackage: package); + static const IconData remove_circle = IconData(0xe194, fontFamily: family, fontPackage: package); ///
Remove Group icon
- static const IconData remove_group = IconData(0xe192, fontFamily: family, fontPackage: package); + static const IconData remove_group = IconData(0xe195, fontFamily: family, fontPackage: package); ///
Remove Person icon
- static const IconData remove_person = IconData(0xe193, fontFamily: family, fontPackage: package); + static const IconData remove_person = IconData(0xe196, fontFamily: family, fontPackage: package); ///
Remove icon
- static const IconData remove = IconData(0xe194, fontFamily: family, fontPackage: package); + static const IconData remove = IconData(0xe197, fontFamily: family, fontPackage: package); ///
Renew icon
- static const IconData renew = IconData(0xe195, fontFamily: family, fontPackage: package); + static const IconData renew = IconData(0xe198, fontFamily: family, fontPackage: package); ///
Reorder icon
- static const IconData reorder = IconData(0xe196, fontFamily: family, fontPackage: package); + static const IconData reorder = IconData(0xe199, fontFamily: family, fontPackage: package); ///
Repeat icon
- static const IconData repeat = IconData(0xe197, fontFamily: family, fontPackage: package); + static const IconData repeat = IconData(0xe19a, fontFamily: family, fontPackage: package); ///
Replay icon
- static const IconData replay = IconData(0xe198, fontFamily: family, fontPackage: package); + static const IconData replay = IconData(0xe19b, fontFamily: family, fontPackage: package); ///
Reply icon
- static const IconData reply = IconData(0xe199, fontFamily: family, fontPackage: package); + static const IconData reply = IconData(0xe19c, fontFamily: family, fontPackage: package); ///
Report icon
- static const IconData report = IconData(0xe19a, fontFamily: family, fontPackage: package); + static const IconData report = IconData(0xe19d, fontFamily: family, fontPackage: package); ///
Restart Alt icon
- static const IconData restart_alt = IconData(0xe19b, fontFamily: family, fontPackage: package); + static const IconData restart_alt = IconData(0xe19e, fontFamily: family, fontPackage: package); ///
Review icon
- static const IconData review = IconData(0xe19c, fontFamily: family, fontPackage: package); + static const IconData review = IconData(0xe19f, fontFamily: family, fontPackage: package); ///
Road Map icon
- static const IconData road_map = IconData(0xe19d, fontFamily: family, fontPackage: package); + static const IconData road_map = IconData(0xe1a0, fontFamily: family, fontPackage: package); ///
Rotate Left icon
- static const IconData rotate_left = IconData(0xe19e, fontFamily: family, fontPackage: package); + static const IconData rotate_left = IconData(0xe1a1, fontFamily: family, fontPackage: package); ///
Rotate Right icon
- static const IconData rotate_right = IconData(0xe19f, fontFamily: family, fontPackage: package); + static const IconData rotate_right = IconData(0xe1a2, fontFamily: family, fontPackage: package); ///
Rss Feed icon
- static const IconData rss_feed = IconData(0xe1a0, fontFamily: family, fontPackage: package); + static const IconData rss_feed = IconData(0xe1a3, fontFamily: family, fontPackage: package); ///
Rules icon
- static const IconData rules = IconData(0xe1a1, fontFamily: family, fontPackage: package); + static const IconData rules = IconData(0xe1a4, fontFamily: family, fontPackage: package); ///
Sad icon
- static const IconData sad = IconData(0xe1a2, fontFamily: family, fontPackage: package); + static const IconData sad = IconData(0xe1a5, fontFamily: family, fontPackage: package); ///
Satisfied icon
- static const IconData satisfied = IconData(0xe1a3, fontFamily: family, fontPackage: package); + static const IconData satisfied = IconData(0xe1a6, fontFamily: family, fontPackage: package); ///
Save Alt icon
- static const IconData save_alt = IconData(0xe1a4, fontFamily: family, fontPackage: package); + static const IconData save_alt = IconData(0xe1a7, fontFamily: family, fontPackage: package); ///
Save Content icon
- static const IconData save_content = IconData(0xe1a5, fontFamily: family, fontPackage: package); + static const IconData save_content = IconData(0xe1a8, fontFamily: family, fontPackage: package); ///
Save icon
- static const IconData save = IconData(0xe1a6, fontFamily: family, fontPackage: package); + static const IconData save = IconData(0xe1a9, fontFamily: family, fontPackage: package); ///
Scan Rate icon
- static const IconData scan_rate = IconData(0xe1a7, fontFamily: family, fontPackage: package); + static const IconData scan_rate = IconData(0xe1aa, fontFamily: family, fontPackage: package); ///
Scanner icon
- static const IconData scanner = IconData(0xe1a8, fontFamily: family, fontPackage: package); + static const IconData scanner = IconData(0xe1ab, fontFamily: family, fontPackage: package); ///
Schedule icon
- static const IconData schedule = IconData(0xe1a9, fontFamily: family, fontPackage: package); + static const IconData schedule = IconData(0xe1ac, fontFamily: family, fontPackage: package); ///
School icon
- static const IconData school = IconData(0xe1aa, fontFamily: family, fontPackage: package); + static const IconData school = IconData(0xe1ad, fontFamily: family, fontPackage: package); ///
Screen Rotation icon
- static const IconData screen_rotation = IconData(0xe1ab, fontFamily: family, fontPackage: package); + static const IconData screen_rotation = IconData(0xe1ae, fontFamily: family, fontPackage: package); ///
Sd Card icon
- static const IconData sd_card = IconData(0xe1ac, fontFamily: family, fontPackage: package); + static const IconData sd_card = IconData(0xe1af, fontFamily: family, fontPackage: package); ///
Search icon
- static const IconData search = IconData(0xe1ad, fontFamily: family, fontPackage: package); + static const IconData search = IconData(0xe1b0, fontFamily: family, fontPackage: package); ///
Security Check icon
- static const IconData security_check = IconData(0xe1ae, fontFamily: family, fontPackage: package); + static const IconData security_check = IconData(0xe1b1, fontFamily: family, fontPackage: package); ///
Security icon
- static const IconData security = IconData(0xe1af, fontFamily: family, fontPackage: package); + static const IconData security = IconData(0xe1b2, fontFamily: family, fontPackage: package); ///
Send icon
- static const IconData send = IconData(0xe1b0, fontFamily: family, fontPackage: package); + static const IconData send = IconData(0xe1b3, fontFamily: family, fontPackage: package); ///
Settings icon
- static const IconData settings = IconData(0xe1b1, fontFamily: family, fontPackage: package); + static const IconData settings = IconData(0xe1b4, fontFamily: family, fontPackage: package); ///
Shape Recognition icon
- static const IconData shape_recognition = IconData(0xe1b2, fontFamily: family, fontPackage: package); + static const IconData shape_recognition = IconData(0xe1b5, fontFamily: family, fontPackage: package); ///
Share icon
- static const IconData share = IconData(0xe1b3, fontFamily: family, fontPackage: package); + static const IconData share = IconData(0xe1b6, fontFamily: family, fontPackage: package); ///
Shared Folder icon
- static const IconData shared_folder = IconData(0xe1b4, fontFamily: family, fontPackage: package); + static const IconData shared_folder = IconData(0xe1b7, fontFamily: family, fontPackage: package); ///
Ship icon
- static const IconData ship = IconData(0xe1b5, fontFamily: family, fontPackage: package); + static const IconData ship = IconData(0xe1b8, fontFamily: family, fontPackage: package); ///
Sim Card icon
- static const IconData sim_card = IconData(0xe1b6, fontFamily: family, fontPackage: package); + static const IconData sim_card = IconData(0xe1b9, fontFamily: family, fontPackage: package); ///
Skip Next icon
- static const IconData skip_next = IconData(0xe1b7, fontFamily: family, fontPackage: package); + static const IconData skip_next = IconData(0xe1ba, fontFamily: family, fontPackage: package); ///
Skip Previous icon
- static const IconData skip_previous = IconData(0xe1b8, fontFamily: family, fontPackage: package); + static const IconData skip_previous = IconData(0xe1bb, fontFamily: family, fontPackage: package); ///
Slide Show icon
- static const IconData slide_show = IconData(0xe1b9, fontFamily: family, fontPackage: package); + static const IconData slide_show = IconData(0xe1bc, fontFamily: family, fontPackage: package); ///
Smart Phone icon
- static const IconData smart_phone = IconData(0xe1ba, fontFamily: family, fontPackage: package); + static const IconData smart_phone = IconData(0xe1bd, fontFamily: family, fontPackage: package); ///
Sms icon
- static const IconData sms = IconData(0xe1bb, fontFamily: family, fontPackage: package); + static const IconData sms = IconData(0xe1be, fontFamily: family, fontPackage: package); ///
Snooze icon
- static const IconData snooze = IconData(0xe1bc, fontFamily: family, fontPackage: package); + static const IconData snooze = IconData(0xe1bf, fontFamily: family, fontPackage: package); ///
Solutions icon
- static const IconData solutions = IconData(0xe1bd, fontFamily: family, fontPackage: package); + static const IconData solutions = IconData(0xe1c0, fontFamily: family, fontPackage: package); ///
Sort Content icon
- static const IconData sort_content = IconData(0xe1be, fontFamily: family, fontPackage: package); + static const IconData sort_content = IconData(0xe1c1, fontFamily: family, fontPackage: package); ///
Sort icon
- static const IconData sort = IconData(0xe1bf, fontFamily: family, fontPackage: package); + static const IconData sort = IconData(0xe1c2, fontFamily: family, fontPackage: package); ///
Speaker icon
- static const IconData speaker = IconData(0xe1c0, fontFamily: family, fontPackage: package); + static const IconData speaker = IconData(0xe1c3, fontFamily: family, fontPackage: package); ///
Star Half icon
- static const IconData star_half = IconData(0xe1c1, fontFamily: family, fontPackage: package); + static const IconData star_half = IconData(0xe1c4, fontFamily: family, fontPackage: package); ///
Star Outline icon
- static const IconData star_outline = IconData(0xe1c2, fontFamily: family, fontPackage: package); + static const IconData star_outline = IconData(0xe1c5, fontFamily: family, fontPackage: package); ///
Star icon
- static const IconData star = IconData(0xe1c3, fontFamily: family, fontPackage: package); + static const IconData star = IconData(0xe1c6, fontFamily: family, fontPackage: package); ///
Steps icon
- static const IconData steps = IconData(0xe1c4, fontFamily: family, fontPackage: package); + static const IconData steps = IconData(0xe1c7, fontFamily: family, fontPackage: package); ///
Sticker icon
- static const IconData sticker = IconData(0xe1c5, fontFamily: family, fontPackage: package); + static const IconData sticker = IconData(0xe1c8, fontFamily: family, fontPackage: package); ///
Stop Circle icon
- static const IconData stop_circle = IconData(0xe1c6, fontFamily: family, fontPackage: package); + static const IconData stop_circle = IconData(0xe1c9, fontFamily: family, fontPackage: package); ///
Stop icon
- static const IconData stop = IconData(0xe1c7, fontFamily: family, fontPackage: package); + static const IconData stop = IconData(0xe1ca, fontFamily: family, fontPackage: package); ///
Store Release icon
- static const IconData store_release = IconData(0xe1c8, fontFamily: family, fontPackage: package); + static const IconData store_release = IconData(0xe1cb, fontFamily: family, fontPackage: package); ///
Store icon
- static const IconData store = IconData(0xe1c9, fontFamily: family, fontPackage: package); + static const IconData store = IconData(0xe1cc, fontFamily: family, fontPackage: package); ///
Store Swap icon
- static const IconData store_swap = IconData(0xe1ca, fontFamily: family, fontPackage: package); + static const IconData store_swap = IconData(0xe1cd, fontFamily: family, fontPackage: package); ///
Store Transfer icon
- static const IconData store_transfer = IconData(0xe1cb, fontFamily: family, fontPackage: package); + static const IconData store_transfer = IconData(0xe1ce, fontFamily: family, fontPackage: package); ///
Straighten icon
- static const IconData straighten = IconData(0xe1cc, fontFamily: family, fontPackage: package); + static const IconData straighten = IconData(0xe1cf, fontFamily: family, fontPackage: package); ///
Strategy icon
- static const IconData strategy = IconData(0xe1cd, fontFamily: family, fontPackage: package); + static const IconData strategy = IconData(0xe1d0, fontFamily: family, fontPackage: package); ///
Strikethrough icon
- static const IconData strikethrough = IconData(0xe1ce, fontFamily: family, fontPackage: package); + static const IconData strikethrough = IconData(0xe1d1, fontFamily: family, fontPackage: package); ///
Subscribe icon
- static const IconData subscribe = IconData(0xe1cf, fontFamily: family, fontPackage: package); + static const IconData subscribe = IconData(0xe1d2, fontFamily: family, fontPackage: package); ///
Swap icon
- static const IconData swap = IconData(0xe1d0, fontFamily: family, fontPackage: package); + static const IconData swap = IconData(0xe1d3, fontFamily: family, fontPackage: package); ///
Switch User icon
- static const IconData switch_user = IconData(0xe1d1, fontFamily: family, fontPackage: package); + static const IconData switch_user = IconData(0xe1d4, fontFamily: family, fontPackage: package); ///
Sync Action icon
- static const IconData sync_action = IconData(0xe1d2, fontFamily: family, fontPackage: package); + static const IconData sync_action = IconData(0xe1d5, fontFamily: family, fontPackage: package); ///
Sync Disabled icon
- static const IconData sync_disabled = IconData(0xe1d3, fontFamily: family, fontPackage: package); + static const IconData sync_disabled = IconData(0xe1d6, fontFamily: family, fontPackage: package); ///
Sync icon
- static const IconData sync = IconData(0xe1d4, fontFamily: family, fontPackage: package); + static const IconData sync = IconData(0xe1d7, fontFamily: family, fontPackage: package); ///
Table icon
- static const IconData table = IconData(0xe1d5, fontFamily: family, fontPackage: package); + static const IconData table = IconData(0xe1d8, fontFamily: family, fontPackage: package); ///
Tablet Mac icon
- static const IconData tablet_mac = IconData(0xe1d6, fontFamily: family, fontPackage: package); + static const IconData tablet_mac = IconData(0xe1d9, fontFamily: family, fontPackage: package); ///
Tablet icon
- static const IconData tablet = IconData(0xe1d7, fontFamily: family, fontPackage: package); + static const IconData tablet = IconData(0xe1da, fontFamily: family, fontPackage: package); ///
Tag Enterprise icon
- static const IconData tag_enterprise = IconData(0xe1d8, fontFamily: family, fontPackage: package); + static const IconData tag_enterprise = IconData(0xe1db, fontFamily: family, fontPackage: package); ///
Tag icon
- static const IconData tag = IconData(0xe1d9, fontFamily: family, fontPackage: package); + static const IconData tag = IconData(0xe1dc, fontFamily: family, fontPackage: package); ///
Tap To Pay icon
- static const IconData tap_to_pay = IconData(0xe1da, fontFamily: family, fontPackage: package); + static const IconData tap_to_pay = IconData(0xe1dd, fontFamily: family, fontPackage: package); ///
Taxi icon
- static const IconData taxi = IconData(0xe1db, fontFamily: family, fontPackage: package); + static const IconData taxi = IconData(0xe1de, fontFamily: family, fontPackage: package); ///
Text Color icon
- static const IconData text_color = IconData(0xe1dc, fontFamily: family, fontPackage: package); + static const IconData text_color = IconData(0xe1df, fontFamily: family, fontPackage: package); ///
Tiers icon
- static const IconData tiers = IconData(0xe1dd, fontFamily: family, fontPackage: package); + static const IconData tiers = IconData(0xe1e0, fontFamily: family, fontPackage: package); ///
Timecard Approve icon
- static const IconData timecard_approve = IconData(0xe1de, fontFamily: family, fontPackage: package); + static const IconData timecard_approve = IconData(0xe1e1, fontFamily: family, fontPackage: package); ///
Timecard icon
- static const IconData timecard = IconData(0xe1df, fontFamily: family, fontPackage: package); + static const IconData timecard = IconData(0xe1e2, fontFamily: family, fontPackage: package); ///
Timecard Warning icon
- static const IconData timecard_warning = IconData(0xe1e0, fontFamily: family, fontPackage: package); + static const IconData timecard_warning = IconData(0xe1e3, fontFamily: family, fontPackage: package); ///
Timer icon
- static const IconData timer = IconData(0xe1e1, fontFamily: family, fontPackage: package); + static const IconData timer = IconData(0xe1e4, fontFamily: family, fontPackage: package); ///
Toggle Off icon
- static const IconData toggle_off = IconData(0xe1e2, fontFamily: family, fontPackage: package); + static const IconData toggle_off = IconData(0xe1e5, fontFamily: family, fontPackage: package); ///
Toggle On icon
- static const IconData toggle_on = IconData(0xe1e3, fontFamily: family, fontPackage: package); + static const IconData toggle_on = IconData(0xe1e6, fontFamily: family, fontPackage: package); ///
Touch icon
- static const IconData touch = IconData(0xe1e4, fontFamily: family, fontPackage: package); + static const IconData touch = IconData(0xe1e7, fontFamily: family, fontPackage: package); ///
Train icon
- static const IconData train = IconData(0xe1e5, fontFamily: family, fontPackage: package); + static const IconData train = IconData(0xe1e8, fontFamily: family, fontPackage: package); ///
Transfer icon
- static const IconData transfer = IconData(0xe1e6, fontFamily: family, fontPackage: package); + static const IconData transfer = IconData(0xe1e9, fontFamily: family, fontPackage: package); ///
Trending Down icon
- static const IconData trending_down = IconData(0xe1e7, fontFamily: family, fontPackage: package); + static const IconData trending_down = IconData(0xe1ea, fontFamily: family, fontPackage: package); ///
Trending Up icon
- static const IconData trending_up = IconData(0xe1e8, fontFamily: family, fontPackage: package); + static const IconData trending_up = IconData(0xe1eb, fontFamily: family, fontPackage: package); ///
Tv icon
- static const IconData tv = IconData(0xe1e9, fontFamily: family, fontPackage: package); + static const IconData tv = IconData(0xe1ec, fontFamily: family, fontPackage: package); ///
Twitter icon
- static const IconData twitter = IconData(0xe1ea, fontFamily: family, fontPackage: package); + static const IconData twitter = IconData(0xe1ed, fontFamily: family, fontPackage: package); ///
Type icon
- static const IconData type = IconData(0xe1eb, fontFamily: family, fontPackage: package); + static const IconData type = IconData(0xe1ee, fontFamily: family, fontPackage: package); ///
Uhf Rfid icon
- static const IconData uhf_rfid = IconData(0xe1ec, fontFamily: family, fontPackage: package); + static const IconData uhf_rfid = IconData(0xe1ef, fontFamily: family, fontPackage: package); ///
Underline icon
- static const IconData underline = IconData(0xe1ed, fontFamily: family, fontPackage: package); + static const IconData underline = IconData(0xe1f0, fontFamily: family, fontPackage: package); ///
Undo icon
- static const IconData undo = IconData(0xe1ee, fontFamily: family, fontPackage: package); + static const IconData undo = IconData(0xe1f1, fontFamily: family, fontPackage: package); ///
Unfold Less icon
- static const IconData unfold_less = IconData(0xe1ef, fontFamily: family, fontPackage: package); + static const IconData unfold_less = IconData(0xe1f2, fontFamily: family, fontPackage: package); ///
Unfold More icon
- static const IconData unfold_more = IconData(0xe1f0, fontFamily: family, fontPackage: package); + static const IconData unfold_more = IconData(0xe1f3, fontFamily: family, fontPackage: package); ///
Unlock Alt icon
- static const IconData unlock_alt = IconData(0xe1f1, fontFamily: family, fontPackage: package); + static const IconData unlock_alt = IconData(0xe1f4, fontFamily: family, fontPackage: package); ///
Unlock icon
- static const IconData unlock = IconData(0xe1f2, fontFamily: family, fontPackage: package); + static const IconData unlock = IconData(0xe1f5, fontFamily: family, fontPackage: package); ///
Unsubscribe icon
- static const IconData unsubscribe = IconData(0xe1f3, fontFamily: family, fontPackage: package); + static const IconData unsubscribe = IconData(0xe1f6, fontFamily: family, fontPackage: package); ///
Update icon
- static const IconData update = IconData(0xe1f4, fontFamily: family, fontPackage: package); + static const IconData update = IconData(0xe1f7, fontFamily: family, fontPackage: package); ///
Upload File icon
- static const IconData upload_file = IconData(0xe1f5, fontFamily: family, fontPackage: package); + static const IconData upload_file = IconData(0xe1f8, fontFamily: family, fontPackage: package); ///
Upload icon
- static const IconData upload = IconData(0xe1f6, fontFamily: family, fontPackage: package); + static const IconData upload = IconData(0xe1f9, fontFamily: family, fontPackage: package); ///
Usb Alt Device icon
- static const IconData usb_alt_device = IconData(0xe1f7, fontFamily: family, fontPackage: package); + static const IconData usb_alt_device = IconData(0xe1fa, fontFamily: family, fontPackage: package); ///
Usb Alt icon
- static const IconData usb_alt = IconData(0xe1f8, fontFamily: family, fontPackage: package); + static const IconData usb_alt = IconData(0xe1fb, fontFamily: family, fontPackage: package); ///
Usb icon
- static const IconData usb = IconData(0xe1f9, fontFamily: family, fontPackage: package); + static const IconData usb = IconData(0xe1fc, fontFamily: family, fontPackage: package); ///
User Circle icon
- static const IconData user_circle = IconData(0xe1fa, fontFamily: family, fontPackage: package); + static const IconData user_circle = IconData(0xe1fd, fontFamily: family, fontPackage: package); ///
User Minor icon
- static const IconData user_minor = IconData(0xe1fb, fontFamily: family, fontPackage: package); + static const IconData user_minor = IconData(0xe1fe, fontFamily: family, fontPackage: package); ///
User icon
- static const IconData user = IconData(0xe1fc, fontFamily: family, fontPackage: package); + static const IconData user = IconData(0xe1ff, fontFamily: family, fontPackage: package); ///
User Settings icon
- static const IconData user_settings = IconData(0xe1fd, fontFamily: family, fontPackage: package); + static const IconData user_settings = IconData(0xe200, fontFamily: family, fontPackage: package); ///
Vacation icon
- static const IconData vacation = IconData(0xe1fe, fontFamily: family, fontPackage: package); + static const IconData vacation = IconData(0xe201, fontFamily: family, fontPackage: package); ///
Verified icon
- static const IconData verified = IconData(0xe1ff, fontFamily: family, fontPackage: package); + static const IconData verified = IconData(0xe202, fontFamily: family, fontPackage: package); ///
Very Satisfied icon
- static const IconData very_satisfied = IconData(0xe200, fontFamily: family, fontPackage: package); + static const IconData very_satisfied = IconData(0xe203, fontFamily: family, fontPackage: package); ///
Video Camera icon
- static const IconData video_camera = IconData(0xe201, fontFamily: family, fontPackage: package); + static const IconData video_camera = IconData(0xe204, fontFamily: family, fontPackage: package); ///
Video Off icon
- static const IconData video_off = IconData(0xe202, fontFamily: family, fontPackage: package); + static const IconData video_off = IconData(0xe205, fontFamily: family, fontPackage: package); ///
Video Play icon
- static const IconData video_play = IconData(0xe203, fontFamily: family, fontPackage: package); + static const IconData video_play = IconData(0xe206, fontFamily: family, fontPackage: package); ///
Video icon
- static const IconData video = IconData(0xe204, fontFamily: family, fontPackage: package); + static const IconData video = IconData(0xe207, fontFamily: family, fontPackage: package); ///
Visibility Off icon
- static const IconData visibility_off = IconData(0xe205, fontFamily: family, fontPackage: package); + static const IconData visibility_off = IconData(0xe208, fontFamily: family, fontPackage: package); ///
Visibility icon
- static const IconData visibility = IconData(0xe206, fontFamily: family, fontPackage: package); + static const IconData visibility = IconData(0xe209, fontFamily: family, fontPackage: package); ///
Volte icon
- static const IconData volte = IconData(0xe207, fontFamily: family, fontPackage: package); + static const IconData volte = IconData(0xe20a, fontFamily: family, fontPackage: package); ///
Volume Down icon
- static const IconData volume_down = IconData(0xe208, fontFamily: family, fontPackage: package); + static const IconData volume_down = IconData(0xe20b, fontFamily: family, fontPackage: package); ///
Volume Mute icon
- static const IconData volume_mute = IconData(0xe209, fontFamily: family, fontPackage: package); + static const IconData volume_mute = IconData(0xe20c, fontFamily: family, fontPackage: package); ///
Volume Off icon
- static const IconData volume_off = IconData(0xe20a, fontFamily: family, fontPackage: package); + static const IconData volume_off = IconData(0xe20d, fontFamily: family, fontPackage: package); ///
Volume Up icon
- static const IconData volume_up = IconData(0xe20b, fontFamily: family, fontPackage: package); + static const IconData volume_up = IconData(0xe20e, fontFamily: family, fontPackage: package); ///
Warning Outline icon
- static const IconData warning_outline = IconData(0xe20c, fontFamily: family, fontPackage: package); + static const IconData warning_outline = IconData(0xe20f, fontFamily: family, fontPackage: package); ///
Warning icon
- static const IconData warning = IconData(0xe20d, fontFamily: family, fontPackage: package); + static const IconData warning = IconData(0xe210, fontFamily: family, fontPackage: package); ///
Watch icon
- static const IconData watch = IconData(0xe20e, fontFamily: family, fontPackage: package); + static const IconData watch = IconData(0xe211, fontFamily: family, fontPackage: package); ///
Wb Image icon
- static const IconData wb_image = IconData(0xe20f, fontFamily: family, fontPackage: package); + static const IconData wb_image = IconData(0xe212, fontFamily: family, fontPackage: package); ///
Wb icon
- static const IconData wb = IconData(0xe210, fontFamily: family, fontPackage: package); + static const IconData wb = IconData(0xe213, fontFamily: family, fontPackage: package); ///
World Action icon
- static const IconData world_action = IconData(0xe211, fontFamily: family, fontPackage: package); + static const IconData world_action = IconData(0xe214, fontFamily: family, fontPackage: package); ///
World icon
- static const IconData world = IconData(0xe212, fontFamily: family, fontPackage: package); + static const IconData world = IconData(0xe215, fontFamily: family, fontPackage: package); ///
Write icon
- static const IconData write = IconData(0xe213, fontFamily: family, fontPackage: package); + static const IconData write = IconData(0xe216, fontFamily: family, fontPackage: package); ///
Youtube icon
- static const IconData youtube = IconData(0xe214, fontFamily: family, fontPackage: package); + static const IconData youtube = IconData(0xe217, fontFamily: family, fontPackage: package); ///
Zero Scale icon
- static const IconData zero_scale = IconData(0xe215, fontFamily: family, fontPackage: package); + static const IconData zero_scale = IconData(0xe218, fontFamily: family, fontPackage: package); ///
Zoom In Map icon
- static const IconData zoom_in_map = IconData(0xe216, fontFamily: family, fontPackage: package); + static const IconData zoom_in_map = IconData(0xe219, fontFamily: family, fontPackage: package); ///
Zoom In icon
- static const IconData zoom_in = IconData(0xe217, fontFamily: family, fontPackage: package); + static const IconData zoom_in = IconData(0xe21a, fontFamily: family, fontPackage: package); ///
Zoom Out Map icon
- static const IconData zoom_out_map = IconData(0xe218, fontFamily: family, fontPackage: package); + static const IconData zoom_out_map = IconData(0xe21b, fontFamily: family, fontPackage: package); ///
Zoom Out icon
- static const IconData zoom_out = IconData(0xe219, fontFamily: family, fontPackage: package); + static const IconData zoom_out = IconData(0xe21c, fontFamily: family, fontPackage: package); // Round Icons ///
Activity icon (round)
@@ -2148,1107 +2157,1116 @@ abstract class ZetaIcons { ///
Columns icon (round)
static const IconData columns_round = IconData(0xe0aa, fontFamily: familyRound, fontPackage: package); + ///
Comms Chat New icon (round)
+ static const IconData comms_chat_new_round = IconData(0xe0ab, fontFamily: familyRound, fontPackage: package); + + ///
Comms Chat icon (round)
+ static const IconData comms_chat_round = IconData(0xe0ac, fontFamily: familyRound, fontPackage: package); + + ///
Comms Chat Unread icon (round)
+ static const IconData comms_chat_unread_round = IconData(0xe0ad, fontFamily: familyRound, fontPackage: package); + ///
Contactless Pay icon (round)
- static const IconData contactless_pay_round = IconData(0xe0ab, fontFamily: familyRound, fontPackage: package); + static const IconData contactless_pay_round = IconData(0xe0ae, fontFamily: familyRound, fontPackage: package); ///
Content icon (round)
- static const IconData content_round = IconData(0xe0ac, fontFamily: familyRound, fontPackage: package); + static const IconData content_round = IconData(0xe0af, fontFamily: familyRound, fontPackage: package); ///
Contrast Image icon (round)
- static const IconData contrast_image_round = IconData(0xe0ad, fontFamily: familyRound, fontPackage: package); + static const IconData contrast_image_round = IconData(0xe0b0, fontFamily: familyRound, fontPackage: package); ///
Contrast icon (round)
- static const IconData contrast_round = IconData(0xe0ae, fontFamily: familyRound, fontPackage: package); + static const IconData contrast_round = IconData(0xe0b1, fontFamily: familyRound, fontPackage: package); ///
Conversation icon (round)
- static const IconData conversation_round = IconData(0xe0af, fontFamily: familyRound, fontPackage: package); + static const IconData conversation_round = IconData(0xe0b2, fontFamily: familyRound, fontPackage: package); ///
Copy File icon (round)
- static const IconData copy_file_round = IconData(0xe0b0, fontFamily: familyRound, fontPackage: package); + static const IconData copy_file_round = IconData(0xe0b3, fontFamily: familyRound, fontPackage: package); ///
Create New Folder icon (round)
- static const IconData create_new_folder_round = IconData(0xe0b1, fontFamily: familyRound, fontPackage: package); + static const IconData create_new_folder_round = IconData(0xe0b4, fontFamily: familyRound, fontPackage: package); ///
Credit Card icon (round)
- static const IconData credit_card_round = IconData(0xe0b2, fontFamily: familyRound, fontPackage: package); + static const IconData credit_card_round = IconData(0xe0b5, fontFamily: familyRound, fontPackage: package); ///
Credit Card Swipe icon (round)
- static const IconData credit_card_swipe_round = IconData(0xe0b3, fontFamily: familyRound, fontPackage: package); + static const IconData credit_card_swipe_round = IconData(0xe0b6, fontFamily: familyRound, fontPackage: package); ///
Crop icon (round)
- static const IconData crop_round = IconData(0xe0b4, fontFamily: familyRound, fontPackage: package); + static const IconData crop_round = IconData(0xe0b7, fontFamily: familyRound, fontPackage: package); ///
Dark Mode icon (round)
- static const IconData dark_mode_round = IconData(0xe0b5, fontFamily: familyRound, fontPackage: package); + static const IconData dark_mode_round = IconData(0xe0b8, fontFamily: familyRound, fontPackage: package); ///
Dashboard icon (round)
- static const IconData dashboard_round = IconData(0xe0b6, fontFamily: familyRound, fontPackage: package); + static const IconData dashboard_round = IconData(0xe0b9, fontFamily: familyRound, fontPackage: package); ///
Delete Forever icon (round)
- static const IconData delete_forever_round = IconData(0xe0b7, fontFamily: familyRound, fontPackage: package); + static const IconData delete_forever_round = IconData(0xe0ba, fontFamily: familyRound, fontPackage: package); ///
Delete Outline icon (round)
- static const IconData delete_outline_round = IconData(0xe0b8, fontFamily: familyRound, fontPackage: package); + static const IconData delete_outline_round = IconData(0xe0bb, fontFamily: familyRound, fontPackage: package); ///
Delete icon (round)
- static const IconData delete_round = IconData(0xe0b9, fontFamily: familyRound, fontPackage: package); + static const IconData delete_round = IconData(0xe0bc, fontFamily: familyRound, fontPackage: package); ///
Desktop icon (round)
- static const IconData desktop_round = IconData(0xe0ba, fontFamily: familyRound, fontPackage: package); + static const IconData desktop_round = IconData(0xe0bd, fontFamily: familyRound, fontPackage: package); ///
Device Settings icon (round)
- static const IconData device_settings_round = IconData(0xe0bb, fontFamily: familyRound, fontPackage: package); + static const IconData device_settings_round = IconData(0xe0be, fontFamily: familyRound, fontPackage: package); ///
Devices Ecosystem icon (round)
- static const IconData devices_ecosystem_round = IconData(0xe0bc, fontFamily: familyRound, fontPackage: package); + static const IconData devices_ecosystem_round = IconData(0xe0bf, fontFamily: familyRound, fontPackage: package); ///
Devices icon (round)
- static const IconData devices_round = IconData(0xe0bd, fontFamily: familyRound, fontPackage: package); + static const IconData devices_round = IconData(0xe0c0, fontFamily: familyRound, fontPackage: package); ///
Dialpad icon (round)
- static const IconData dialpad_round = IconData(0xe0be, fontFamily: familyRound, fontPackage: package); + static const IconData dialpad_round = IconData(0xe0c1, fontFamily: familyRound, fontPackage: package); ///
Dislike icon (round)
- static const IconData dislike_round = IconData(0xe0bf, fontFamily: familyRound, fontPackage: package); + static const IconData dislike_round = IconData(0xe0c2, fontFamily: familyRound, fontPackage: package); ///
Distribute Horizontal icon (round)
- static const IconData distribute_horizontal_round = IconData(0xe0c0, fontFamily: familyRound, fontPackage: package); + static const IconData distribute_horizontal_round = IconData(0xe0c3, fontFamily: familyRound, fontPackage: package); ///
Distribute Vertical icon (round)
- static const IconData distribute_vertical_round = IconData(0xe0c1, fontFamily: familyRound, fontPackage: package); + static const IconData distribute_vertical_round = IconData(0xe0c4, fontFamily: familyRound, fontPackage: package); ///
Doc Attach icon (round)
- static const IconData doc_attach_round = IconData(0xe0c2, fontFamily: familyRound, fontPackage: package); + static const IconData doc_attach_round = IconData(0xe0c5, fontFamily: familyRound, fontPackage: package); ///
Document icon (round)
- static const IconData document_round = IconData(0xe0c3, fontFamily: familyRound, fontPackage: package); + static const IconData document_round = IconData(0xe0c6, fontFamily: familyRound, fontPackage: package); ///
Dollar icon (round)
- static const IconData dollar_round = IconData(0xe0c4, fontFamily: familyRound, fontPackage: package); + static const IconData dollar_round = IconData(0xe0c7, fontFamily: familyRound, fontPackage: package); ///
Download icon (round)
- static const IconData download_round = IconData(0xe0c5, fontFamily: familyRound, fontPackage: package); + static const IconData download_round = IconData(0xe0c8, fontFamily: familyRound, fontPackage: package); ///
Downloading icon (round)
- static const IconData downloading_round = IconData(0xe0c6, fontFamily: familyRound, fontPackage: package); + static const IconData downloading_round = IconData(0xe0c9, fontFamily: familyRound, fontPackage: package); ///
Drop Down Circle icon (round)
- static const IconData drop_down_circle_round = IconData(0xe0c7, fontFamily: familyRound, fontPackage: package); + static const IconData drop_down_circle_round = IconData(0xe0ca, fontFamily: familyRound, fontPackage: package); ///
Eas icon (round)
- static const IconData eas_round = IconData(0xe0c8, fontFamily: familyRound, fontPackage: package); + static const IconData eas_round = IconData(0xe0cb, fontFamily: familyRound, fontPackage: package); ///
Edit Border icon (round)
- static const IconData edit_border_round = IconData(0xe0c9, fontFamily: familyRound, fontPackage: package); + static const IconData edit_border_round = IconData(0xe0cc, fontFamily: familyRound, fontPackage: package); ///
Edit icon (round)
- static const IconData edit_round = IconData(0xe0ca, fontFamily: familyRound, fontPackage: package); + static const IconData edit_round = IconData(0xe0cd, fontFamily: familyRound, fontPackage: package); ///
Email Alt icon (round)
- static const IconData email_alt_round = IconData(0xe0cb, fontFamily: familyRound, fontPackage: package); + static const IconData email_alt_round = IconData(0xe0ce, fontFamily: familyRound, fontPackage: package); ///
Email Outline icon (round)
- static const IconData email_outline_round = IconData(0xe0cc, fontFamily: familyRound, fontPackage: package); + static const IconData email_outline_round = IconData(0xe0cf, fontFamily: familyRound, fontPackage: package); ///
Email Reply All icon (round)
- static const IconData email_reply_all_round = IconData(0xe0cd, fontFamily: familyRound, fontPackage: package); + static const IconData email_reply_all_round = IconData(0xe0d0, fontFamily: familyRound, fontPackage: package); ///
Email icon (round)
- static const IconData email_round = IconData(0xe0ce, fontFamily: familyRound, fontPackage: package); + static const IconData email_round = IconData(0xe0d1, fontFamily: familyRound, fontPackage: package); ///
End Call icon (round)
- static const IconData end_call_round = IconData(0xe0cf, fontFamily: familyRound, fontPackage: package); + static const IconData end_call_round = IconData(0xe0d2, fontFamily: familyRound, fontPackage: package); ///
Enterprise Diagnostics icon (round)
- static const IconData enterprise_diagnostics_round = IconData(0xe0d0, fontFamily: familyRound, fontPackage: package); + static const IconData enterprise_diagnostics_round = IconData(0xe0d3, fontFamily: familyRound, fontPackage: package); ///
Environmental icon (round)
- static const IconData environmental_round = IconData(0xe0d1, fontFamily: familyRound, fontPackage: package); + static const IconData environmental_round = IconData(0xe0d4, fontFamily: familyRound, fontPackage: package); ///
Error Outline icon (round)
- static const IconData error_outline_round = IconData(0xe0d2, fontFamily: familyRound, fontPackage: package); + static const IconData error_outline_round = IconData(0xe0d5, fontFamily: familyRound, fontPackage: package); ///
Error icon (round)
- static const IconData error_round = IconData(0xe0d3, fontFamily: familyRound, fontPackage: package); + static const IconData error_round = IconData(0xe0d6, fontFamily: familyRound, fontPackage: package); ///
Ethernet icon (round)
- static const IconData ethernet_round = IconData(0xe0d4, fontFamily: familyRound, fontPackage: package); + static const IconData ethernet_round = IconData(0xe0d7, fontFamily: familyRound, fontPackage: package); ///
Exit icon (round)
- static const IconData exit_round = IconData(0xe0d5, fontFamily: familyRound, fontPackage: package); + static const IconData exit_round = IconData(0xe0d8, fontFamily: familyRound, fontPackage: package); ///
Expand Less icon (round)
- static const IconData expand_less_round = IconData(0xe0d6, fontFamily: familyRound, fontPackage: package); + static const IconData expand_less_round = IconData(0xe0d9, fontFamily: familyRound, fontPackage: package); ///
Expand More icon (round)
- static const IconData expand_more_round = IconData(0xe0d7, fontFamily: familyRound, fontPackage: package); + static const IconData expand_more_round = IconData(0xe0da, fontFamily: familyRound, fontPackage: package); ///
Eye Dropper icon (round)
- static const IconData eye_dropper_round = IconData(0xe0d8, fontFamily: familyRound, fontPackage: package); + static const IconData eye_dropper_round = IconData(0xe0db, fontFamily: familyRound, fontPackage: package); ///
Eye Preview icon (round)
- static const IconData eye_preview_round = IconData(0xe0d9, fontFamily: familyRound, fontPackage: package); + static const IconData eye_preview_round = IconData(0xe0dc, fontFamily: familyRound, fontPackage: package); ///
Face Id icon (round)
- static const IconData face_id_round = IconData(0xe0da, fontFamily: familyRound, fontPackage: package); + static const IconData face_id_round = IconData(0xe0dd, fontFamily: familyRound, fontPackage: package); ///
Facebook icon (round)
- static const IconData facebook_round = IconData(0xe0db, fontFamily: familyRound, fontPackage: package); + static const IconData facebook_round = IconData(0xe0de, fontFamily: familyRound, fontPackage: package); ///
Factory icon (round)
- static const IconData factory_round = IconData(0xe0dc, fontFamily: familyRound, fontPackage: package); + static const IconData factory_round = IconData(0xe0df, fontFamily: familyRound, fontPackage: package); ///
Fast Forward icon (round)
- static const IconData fast_forward_round = IconData(0xe0dd, fontFamily: familyRound, fontPackage: package); + static const IconData fast_forward_round = IconData(0xe0e0, fontFamily: familyRound, fontPackage: package); ///
Fast Rewind icon (round)
- static const IconData fast_rewind_round = IconData(0xe0de, fontFamily: familyRound, fontPackage: package); + static const IconData fast_rewind_round = IconData(0xe0e1, fontFamily: familyRound, fontPackage: package); ///
File icon (round)
- static const IconData file_round = IconData(0xe0df, fontFamily: familyRound, fontPackage: package); + static const IconData file_round = IconData(0xe0e2, fontFamily: familyRound, fontPackage: package); ///
Filter Alt icon (round)
- static const IconData filter_alt_round = IconData(0xe0e0, fontFamily: familyRound, fontPackage: package); + static const IconData filter_alt_round = IconData(0xe0e3, fontFamily: familyRound, fontPackage: package); ///
Filter icon (round)
- static const IconData filter_round = IconData(0xe0e1, fontFamily: familyRound, fontPackage: package); + static const IconData filter_round = IconData(0xe0e4, fontFamily: familyRound, fontPackage: package); ///
Finished Download icon (round)
- static const IconData finished_download_round = IconData(0xe0e2, fontFamily: familyRound, fontPackage: package); + static const IconData finished_download_round = IconData(0xe0e5, fontFamily: familyRound, fontPackage: package); ///
First Page icon (round)
- static const IconData first_page_round = IconData(0xe0e3, fontFamily: familyRound, fontPackage: package); + static const IconData first_page_round = IconData(0xe0e6, fontFamily: familyRound, fontPackage: package); ///
Flag icon (round)
- static const IconData flag_round = IconData(0xe0e4, fontFamily: familyRound, fontPackage: package); + static const IconData flag_round = IconData(0xe0e7, fontFamily: familyRound, fontPackage: package); ///
Flight Mode icon (round)
- static const IconData flight_mode_round = IconData(0xe0e5, fontFamily: familyRound, fontPackage: package); + static const IconData flight_mode_round = IconData(0xe0e8, fontFamily: familyRound, fontPackage: package); ///
Flight icon (round)
- static const IconData flight_round = IconData(0xe0e6, fontFamily: familyRound, fontPackage: package); + static const IconData flight_round = IconData(0xe0e9, fontFamily: familyRound, fontPackage: package); ///
Flip icon (round)
- static const IconData flip_round = IconData(0xe0e7, fontFamily: familyRound, fontPackage: package); + static const IconData flip_round = IconData(0xe0ea, fontFamily: familyRound, fontPackage: package); ///
Folder File icon (round)
- static const IconData folder_file_round = IconData(0xe0e8, fontFamily: familyRound, fontPackage: package); + static const IconData folder_file_round = IconData(0xe0eb, fontFamily: familyRound, fontPackage: package); ///
Folder Outline icon (round)
- static const IconData folder_outline_round = IconData(0xe0e9, fontFamily: familyRound, fontPackage: package); + static const IconData folder_outline_round = IconData(0xe0ec, fontFamily: familyRound, fontPackage: package); ///
Folder icon (round)
- static const IconData folder_round = IconData(0xe0ea, fontFamily: familyRound, fontPackage: package); + static const IconData folder_round = IconData(0xe0ed, fontFamily: familyRound, fontPackage: package); ///
Font Size Decrease icon (round)
- static const IconData font_size_decrease_round = IconData(0xe0eb, fontFamily: familyRound, fontPackage: package); + static const IconData font_size_decrease_round = IconData(0xe0ee, fontFamily: familyRound, fontPackage: package); ///
Font Size Increase icon (round)
- static const IconData font_size_increase_round = IconData(0xe0ec, fontFamily: familyRound, fontPackage: package); + static const IconData font_size_increase_round = IconData(0xe0ef, fontFamily: familyRound, fontPackage: package); ///
Format Shapes icon (round)
- static const IconData format_shapes_round = IconData(0xe0ed, fontFamily: familyRound, fontPackage: package); + static const IconData format_shapes_round = IconData(0xe0f0, fontFamily: familyRound, fontPackage: package); ///
Forward icon (round)
- static const IconData forward_round = IconData(0xe0ee, fontFamily: familyRound, fontPackage: package); + static const IconData forward_round = IconData(0xe0f1, fontFamily: familyRound, fontPackage: package); ///
Freezer icon (round)
- static const IconData freezer_round = IconData(0xe0ef, fontFamily: familyRound, fontPackage: package); + static const IconData freezer_round = IconData(0xe0f2, fontFamily: familyRound, fontPackage: package); ///
Full Screen Exit icon (round)
- static const IconData full_screen_exit_round = IconData(0xe0f0, fontFamily: familyRound, fontPackage: package); + static const IconData full_screen_exit_round = IconData(0xe0f3, fontFamily: familyRound, fontPackage: package); ///
Full Screen icon (round)
- static const IconData full_screen_round = IconData(0xe0f1, fontFamily: familyRound, fontPackage: package); + static const IconData full_screen_round = IconData(0xe0f4, fontFamily: familyRound, fontPackage: package); ///
Gif icon (round)
- static const IconData gif_round = IconData(0xe0f2, fontFamily: familyRound, fontPackage: package); + static const IconData gif_round = IconData(0xe0f5, fontFamily: familyRound, fontPackage: package); ///
Glossary icon (round)
- static const IconData glossary_round = IconData(0xe0f3, fontFamily: familyRound, fontPackage: package); + static const IconData glossary_round = IconData(0xe0f6, fontFamily: familyRound, fontPackage: package); ///
Grid Off icon (round)
- static const IconData grid_off_round = IconData(0xe0f4, fontFamily: familyRound, fontPackage: package); + static const IconData grid_off_round = IconData(0xe0f7, fontFamily: familyRound, fontPackage: package); ///
Grid On icon (round)
- static const IconData grid_on_round = IconData(0xe0f5, fontFamily: familyRound, fontPackage: package); + static const IconData grid_on_round = IconData(0xe0f8, fontFamily: familyRound, fontPackage: package); ///
Grid View icon (round)
- static const IconData grid_view_round = IconData(0xe0f6, fontFamily: familyRound, fontPackage: package); + static const IconData grid_view_round = IconData(0xe0f9, fontFamily: familyRound, fontPackage: package); ///
Group icon (round)
- static const IconData group_round = IconData(0xe0f7, fontFamily: familyRound, fontPackage: package); + static const IconData group_round = IconData(0xe0fa, fontFamily: familyRound, fontPackage: package); ///
Groups icon (round)
- static const IconData groups_round = IconData(0xe0f8, fontFamily: familyRound, fontPackage: package); + static const IconData groups_round = IconData(0xe0fb, fontFamily: familyRound, fontPackage: package); ///
Hamburger Menu Navigation Rail icon (round)
static const IconData hamburger_menu_navigation_rail_round = - IconData(0xe0f9, fontFamily: familyRound, fontPackage: package); + IconData(0xe0fc, fontFamily: familyRound, fontPackage: package); ///
Hamburger Menu icon (round)
- static const IconData hamburger_menu_round = IconData(0xe0fa, fontFamily: familyRound, fontPackage: package); + static const IconData hamburger_menu_round = IconData(0xe0fd, fontFamily: familyRound, fontPackage: package); ///
Hamburger Menu Thick icon (round)
- static const IconData hamburger_menu_thick_round = IconData(0xe0fb, fontFamily: familyRound, fontPackage: package); + static const IconData hamburger_menu_thick_round = IconData(0xe0fe, fontFamily: familyRound, fontPackage: package); ///
Hand icon (round)
- static const IconData hand_round = IconData(0xe0fc, fontFamily: familyRound, fontPackage: package); + static const IconData hand_round = IconData(0xe0ff, fontFamily: familyRound, fontPackage: package); ///
Happy icon (round)
- static const IconData happy_round = IconData(0xe0fd, fontFamily: familyRound, fontPackage: package); + static const IconData happy_round = IconData(0xe100, fontFamily: familyRound, fontPackage: package); ///
Hdmi icon (round)
- static const IconData hdmi_round = IconData(0xe0fe, fontFamily: familyRound, fontPackage: package); + static const IconData hdmi_round = IconData(0xe101, fontFamily: familyRound, fontPackage: package); ///
Hdr icon (round)
- static const IconData hdr_round = IconData(0xe0ff, fontFamily: familyRound, fontPackage: package); + static const IconData hdr_round = IconData(0xe102, fontFamily: familyRound, fontPackage: package); ///
Headphones icon (round)
- static const IconData headphones_round = IconData(0xe100, fontFamily: familyRound, fontPackage: package); + static const IconData headphones_round = IconData(0xe103, fontFamily: familyRound, fontPackage: package); ///
Headset icon (round)
- static const IconData headset_round = IconData(0xe101, fontFamily: familyRound, fontPackage: package); + static const IconData headset_round = IconData(0xe104, fontFamily: familyRound, fontPackage: package); ///
Help Outline icon (round)
- static const IconData help_outline_round = IconData(0xe102, fontFamily: familyRound, fontPackage: package); + static const IconData help_outline_round = IconData(0xe105, fontFamily: familyRound, fontPackage: package); ///
Help icon (round)
- static const IconData help_round = IconData(0xe103, fontFamily: familyRound, fontPackage: package); + static const IconData help_round = IconData(0xe106, fontFamily: familyRound, fontPackage: package); ///
History icon (round)
- static const IconData history_round = IconData(0xe104, fontFamily: familyRound, fontPackage: package); + static const IconData history_round = IconData(0xe107, fontFamily: familyRound, fontPackage: package); ///
Home icon (round)
- static const IconData home_round = IconData(0xe105, fontFamily: familyRound, fontPackage: package); + static const IconData home_round = IconData(0xe108, fontFamily: familyRound, fontPackage: package); ///
Hourglass icon (round)
- static const IconData hourglass_round = IconData(0xe106, fontFamily: familyRound, fontPackage: package); + static const IconData hourglass_round = IconData(0xe109, fontFamily: familyRound, fontPackage: package); ///
How Do I icon (round)
- static const IconData how_do_i_round = IconData(0xe107, fontFamily: familyRound, fontPackage: package); + static const IconData how_do_i_round = IconData(0xe10a, fontFamily: familyRound, fontPackage: package); ///
Image Library icon (round)
- static const IconData image_library_round = IconData(0xe108, fontFamily: familyRound, fontPackage: package); + static const IconData image_library_round = IconData(0xe10b, fontFamily: familyRound, fontPackage: package); ///
Image icon (round)
- static const IconData image_round = IconData(0xe109, fontFamily: familyRound, fontPackage: package); + static const IconData image_round = IconData(0xe10c, fontFamily: familyRound, fontPackage: package); ///
Important Notification icon (round)
- static const IconData important_notification_round = IconData(0xe10a, fontFamily: familyRound, fontPackage: package); + static const IconData important_notification_round = IconData(0xe10d, fontFamily: familyRound, fontPackage: package); ///
Inbox icon (round)
- static const IconData inbox_round = IconData(0xe10b, fontFamily: familyRound, fontPackage: package); + static const IconData inbox_round = IconData(0xe10e, fontFamily: familyRound, fontPackage: package); ///
Indent Decrease icon (round)
- static const IconData indent_decrease_round = IconData(0xe10c, fontFamily: familyRound, fontPackage: package); + static const IconData indent_decrease_round = IconData(0xe10f, fontFamily: familyRound, fontPackage: package); ///
Indent Increase icon (round)
- static const IconData indent_increase_round = IconData(0xe10d, fontFamily: familyRound, fontPackage: package); + static const IconData indent_increase_round = IconData(0xe110, fontFamily: familyRound, fontPackage: package); ///
Indeterminate Check Box icon (round)
- static const IconData indeterminate_check_box_round = IconData(0xe10e, fontFamily: familyRound, fontPackage: package); + static const IconData indeterminate_check_box_round = IconData(0xe111, fontFamily: familyRound, fontPackage: package); ///
Info icon (round)
- static const IconData info_round = IconData(0xe10f, fontFamily: familyRound, fontPackage: package); + static const IconData info_round = IconData(0xe112, fontFamily: familyRound, fontPackage: package); ///
Instagram icon (round)
- static const IconData instagram_round = IconData(0xe110, fontFamily: familyRound, fontPackage: package); + static const IconData instagram_round = IconData(0xe113, fontFamily: familyRound, fontPackage: package); ///
Ios Share icon (round)
- static const IconData ios_share_round = IconData(0xe111, fontFamily: familyRound, fontPackage: package); + static const IconData ios_share_round = IconData(0xe114, fontFamily: familyRound, fontPackage: package); ///
Iso icon (round)
- static const IconData iso_round = IconData(0xe112, fontFamily: familyRound, fontPackage: package); + static const IconData iso_round = IconData(0xe115, fontFamily: familyRound, fontPackage: package); ///
Issue Audit icon (round)
- static const IconData issue_audit_round = IconData(0xe113, fontFamily: familyRound, fontPackage: package); + static const IconData issue_audit_round = IconData(0xe116, fontFamily: familyRound, fontPackage: package); ///
Italic icon (round)
- static const IconData italic_round = IconData(0xe114, fontFamily: familyRound, fontPackage: package); + static const IconData italic_round = IconData(0xe117, fontFamily: familyRound, fontPackage: package); ///
Jpg Attach icon (round)
- static const IconData jpg_attach_round = IconData(0xe115, fontFamily: familyRound, fontPackage: package); + static const IconData jpg_attach_round = IconData(0xe118, fontFamily: familyRound, fontPackage: package); ///
Justify icon (round)
- static const IconData justify_round = IconData(0xe116, fontFamily: familyRound, fontPackage: package); + static const IconData justify_round = IconData(0xe119, fontFamily: familyRound, fontPackage: package); ///
Keyboard icon (round)
- static const IconData keyboard_round = IconData(0xe117, fontFamily: familyRound, fontPackage: package); + static const IconData keyboard_round = IconData(0xe11a, fontFamily: familyRound, fontPackage: package); ///
Label icon (round)
- static const IconData label_round = IconData(0xe118, fontFamily: familyRound, fontPackage: package); + static const IconData label_round = IconData(0xe11b, fontFamily: familyRound, fontPackage: package); ///
Laptop icon (round)
- static const IconData laptop_round = IconData(0xe119, fontFamily: familyRound, fontPackage: package); + static const IconData laptop_round = IconData(0xe11c, fontFamily: familyRound, fontPackage: package); ///
Last Page icon (round)
- static const IconData last_page_round = IconData(0xe11a, fontFamily: familyRound, fontPackage: package); + static const IconData last_page_round = IconData(0xe11d, fontFamily: familyRound, fontPackage: package); ///
Layers icon (round)
- static const IconData layers_round = IconData(0xe11b, fontFamily: familyRound, fontPackage: package); + static const IconData layers_round = IconData(0xe11e, fontFamily: familyRound, fontPackage: package); ///
Light Mode icon (round)
- static const IconData light_mode_round = IconData(0xe11c, fontFamily: familyRound, fontPackage: package); + static const IconData light_mode_round = IconData(0xe11f, fontFamily: familyRound, fontPackage: package); ///
Light Rail Train icon (round)
- static const IconData light_rail_train_round = IconData(0xe11d, fontFamily: familyRound, fontPackage: package); + static const IconData light_rail_train_round = IconData(0xe120, fontFamily: familyRound, fontPackage: package); ///
Lightbulb icon (round)
- static const IconData lightbulb_round = IconData(0xe11e, fontFamily: familyRound, fontPackage: package); + static const IconData lightbulb_round = IconData(0xe121, fontFamily: familyRound, fontPackage: package); ///
Like icon (round)
- static const IconData like_round = IconData(0xe11f, fontFamily: familyRound, fontPackage: package); + static const IconData like_round = IconData(0xe122, fontFamily: familyRound, fontPackage: package); ///
Line Spacing icon (round)
- static const IconData line_spacing_round = IconData(0xe120, fontFamily: familyRound, fontPackage: package); + static const IconData line_spacing_round = IconData(0xe123, fontFamily: familyRound, fontPackage: package); ///
Link Add icon (round)
- static const IconData link_add_round = IconData(0xe121, fontFamily: familyRound, fontPackage: package); + static const IconData link_add_round = IconData(0xe124, fontFamily: familyRound, fontPackage: package); ///
Link icon (round)
- static const IconData link_round = IconData(0xe122, fontFamily: familyRound, fontPackage: package); + static const IconData link_round = IconData(0xe125, fontFamily: familyRound, fontPackage: package); ///
Linkedin icon (round)
- static const IconData linkedin_round = IconData(0xe123, fontFamily: familyRound, fontPackage: package); + static const IconData linkedin_round = IconData(0xe126, fontFamily: familyRound, fontPackage: package); ///
List Alt icon (round)
- static const IconData list_alt_round = IconData(0xe124, fontFamily: familyRound, fontPackage: package); + static const IconData list_alt_round = IconData(0xe127, fontFamily: familyRound, fontPackage: package); ///
List Bullet Contained icon (round)
- static const IconData list_bullet_contained_round = IconData(0xe125, fontFamily: familyRound, fontPackage: package); + static const IconData list_bullet_contained_round = IconData(0xe128, fontFamily: familyRound, fontPackage: package); ///
List Feedback icon (round)
- static const IconData list_feedback_round = IconData(0xe126, fontFamily: familyRound, fontPackage: package); + static const IconData list_feedback_round = IconData(0xe129, fontFamily: familyRound, fontPackage: package); ///
List Form icon (round)
- static const IconData list_form_round = IconData(0xe127, fontFamily: familyRound, fontPackage: package); + static const IconData list_form_round = IconData(0xe12a, fontFamily: familyRound, fontPackage: package); ///
List icon (round)
- static const IconData list_round = IconData(0xe128, fontFamily: familyRound, fontPackage: package); + static const IconData list_round = IconData(0xe12b, fontFamily: familyRound, fontPackage: package); ///
Local Shipping icon (round)
- static const IconData local_shipping_round = IconData(0xe129, fontFamily: familyRound, fontPackage: package); + static const IconData local_shipping_round = IconData(0xe12c, fontFamily: familyRound, fontPackage: package); ///
Location Off icon (round)
- static const IconData location_off_round = IconData(0xe12a, fontFamily: familyRound, fontPackage: package); + static const IconData location_off_round = IconData(0xe12d, fontFamily: familyRound, fontPackage: package); ///
Location Point icon (round)
- static const IconData location_point_round = IconData(0xe12b, fontFamily: familyRound, fontPackage: package); + static const IconData location_point_round = IconData(0xe12e, fontFamily: familyRound, fontPackage: package); ///
Location icon (round)
- static const IconData location_round = IconData(0xe12c, fontFamily: familyRound, fontPackage: package); + static const IconData location_round = IconData(0xe12f, fontFamily: familyRound, fontPackage: package); ///
Lock Alt icon (round)
- static const IconData lock_alt_round = IconData(0xe12d, fontFamily: familyRound, fontPackage: package); + static const IconData lock_alt_round = IconData(0xe130, fontFamily: familyRound, fontPackage: package); ///
Lock icon (round)
- static const IconData lock_round = IconData(0xe12e, fontFamily: familyRound, fontPackage: package); + static const IconData lock_round = IconData(0xe131, fontFamily: familyRound, fontPackage: package); ///
Lock Undo icon (round)
- static const IconData lock_undo_round = IconData(0xe12f, fontFamily: familyRound, fontPackage: package); + static const IconData lock_undo_round = IconData(0xe132, fontFamily: familyRound, fontPackage: package); ///
Log In icon (round)
- static const IconData log_in_round = IconData(0xe130, fontFamily: familyRound, fontPackage: package); + static const IconData log_in_round = IconData(0xe133, fontFamily: familyRound, fontPackage: package); ///
Log Out icon (round)
- static const IconData log_out_round = IconData(0xe131, fontFamily: familyRound, fontPackage: package); + static const IconData log_out_round = IconData(0xe134, fontFamily: familyRound, fontPackage: package); ///
Love Outline icon (round)
- static const IconData love_outline_round = IconData(0xe132, fontFamily: familyRound, fontPackage: package); + static const IconData love_outline_round = IconData(0xe135, fontFamily: familyRound, fontPackage: package); ///
Love icon (round)
- static const IconData love_round = IconData(0xe133, fontFamily: familyRound, fontPackage: package); + static const IconData love_round = IconData(0xe136, fontFamily: familyRound, fontPackage: package); ///
Maintenance icon (round)
- static const IconData maintenance_round = IconData(0xe134, fontFamily: familyRound, fontPackage: package); + static const IconData maintenance_round = IconData(0xe137, fontFamily: familyRound, fontPackage: package); ///
Map icon (round)
- static const IconData map_round = IconData(0xe135, fontFamily: familyRound, fontPackage: package); + static const IconData map_round = IconData(0xe138, fontFamily: familyRound, fontPackage: package); ///
Meal icon (round)
- static const IconData meal_round = IconData(0xe136, fontFamily: familyRound, fontPackage: package); + static const IconData meal_round = IconData(0xe139, fontFamily: familyRound, fontPackage: package); ///
Medium icon (round)
- static const IconData medium_round = IconData(0xe137, fontFamily: familyRound, fontPackage: package); + static const IconData medium_round = IconData(0xe13a, fontFamily: familyRound, fontPackage: package); ///
Memory icon (round)
- static const IconData memory_round = IconData(0xe138, fontFamily: familyRound, fontPackage: package); + static const IconData memory_round = IconData(0xe13b, fontFamily: familyRound, fontPackage: package); ///
Message icon (round)
- static const IconData message_round = IconData(0xe139, fontFamily: familyRound, fontPackage: package); + static const IconData message_round = IconData(0xe13c, fontFamily: familyRound, fontPackage: package); ///
Microphone Off icon (round)
- static const IconData microphone_off_round = IconData(0xe13a, fontFamily: familyRound, fontPackage: package); + static const IconData microphone_off_round = IconData(0xe13d, fontFamily: familyRound, fontPackage: package); ///
Microphone Outline icon (round)
- static const IconData microphone_outline_round = IconData(0xe13b, fontFamily: familyRound, fontPackage: package); + static const IconData microphone_outline_round = IconData(0xe13e, fontFamily: familyRound, fontPackage: package); ///
Microphone icon (round)
- static const IconData microphone_round = IconData(0xe13c, fontFamily: familyRound, fontPackage: package); + static const IconData microphone_round = IconData(0xe13f, fontFamily: familyRound, fontPackage: package); ///
Mobile Friendly icon (round)
- static const IconData mobile_friendly_round = IconData(0xe13d, fontFamily: familyRound, fontPackage: package); + static const IconData mobile_friendly_round = IconData(0xe140, fontFamily: familyRound, fontPackage: package); ///
Money Euro icon (round)
- static const IconData money_euro_round = IconData(0xe13e, fontFamily: familyRound, fontPackage: package); + static const IconData money_euro_round = IconData(0xe141, fontFamily: familyRound, fontPackage: package); ///
Money Pound icon (round)
- static const IconData money_pound_round = IconData(0xe13f, fontFamily: familyRound, fontPackage: package); + static const IconData money_pound_round = IconData(0xe142, fontFamily: familyRound, fontPackage: package); ///
Money Usd icon (round)
- static const IconData money_usd_round = IconData(0xe140, fontFamily: familyRound, fontPackage: package); + static const IconData money_usd_round = IconData(0xe143, fontFamily: familyRound, fontPackage: package); ///
Monitor icon (round)
- static const IconData monitor_round = IconData(0xe141, fontFamily: familyRound, fontPackage: package); + static const IconData monitor_round = IconData(0xe144, fontFamily: familyRound, fontPackage: package); ///
More Horizontal icon (round)
- static const IconData more_horizontal_round = IconData(0xe142, fontFamily: familyRound, fontPackage: package); + static const IconData more_horizontal_round = IconData(0xe145, fontFamily: familyRound, fontPackage: package); ///
More Vertical icon (round)
- static const IconData more_vertical_round = IconData(0xe143, fontFamily: familyRound, fontPackage: package); + static const IconData more_vertical_round = IconData(0xe146, fontFamily: familyRound, fontPackage: package); ///
My Location icon (round)
- static const IconData my_location_round = IconData(0xe144, fontFamily: familyRound, fontPackage: package); + static const IconData my_location_round = IconData(0xe147, fontFamily: familyRound, fontPackage: package); ///
Navigate icon (round)
- static const IconData navigate_round = IconData(0xe145, fontFamily: familyRound, fontPackage: package); + static const IconData navigate_round = IconData(0xe148, fontFamily: familyRound, fontPackage: package); ///
Navigation icon (round)
- static const IconData navigation_round = IconData(0xe146, fontFamily: familyRound, fontPackage: package); + static const IconData navigation_round = IconData(0xe149, fontFamily: familyRound, fontPackage: package); ///
Near Me icon (round)
- static const IconData near_me_round = IconData(0xe147, fontFamily: familyRound, fontPackage: package); + static const IconData near_me_round = IconData(0xe14a, fontFamily: familyRound, fontPackage: package); ///
Network Signal icon (round)
- static const IconData network_signal_round = IconData(0xe148, fontFamily: familyRound, fontPackage: package); + static const IconData network_signal_round = IconData(0xe14b, fontFamily: familyRound, fontPackage: package); ///
New Chat icon (round)
- static const IconData new_chat_round = IconData(0xe149, fontFamily: familyRound, fontPackage: package); + static const IconData new_chat_round = IconData(0xe14c, fontFamily: familyRound, fontPackage: package); ///
Nfc icon (round)
- static const IconData nfc_round = IconData(0xe14a, fontFamily: familyRound, fontPackage: package); + static const IconData nfc_round = IconData(0xe14d, fontFamily: familyRound, fontPackage: package); ///
Night icon (round)
- static const IconData night_round = IconData(0xe14b, fontFamily: familyRound, fontPackage: package); + static const IconData night_round = IconData(0xe14e, fontFamily: familyRound, fontPackage: package); ///
No Color icon (round)
- static const IconData no_color_round = IconData(0xe14c, fontFamily: familyRound, fontPackage: package); + static const IconData no_color_round = IconData(0xe14f, fontFamily: familyRound, fontPackage: package); ///
Note icon (round)
- static const IconData note_round = IconData(0xe14d, fontFamily: familyRound, fontPackage: package); + static const IconData note_round = IconData(0xe150, fontFamily: familyRound, fontPackage: package); ///
Notifications Off icon (round)
- static const IconData notifications_off_round = IconData(0xe14e, fontFamily: familyRound, fontPackage: package); + static const IconData notifications_off_round = IconData(0xe151, fontFamily: familyRound, fontPackage: package); ///
Numbered List icon (round)
- static const IconData numbered_list_round = IconData(0xe14f, fontFamily: familyRound, fontPackage: package); + static const IconData numbered_list_round = IconData(0xe152, fontFamily: familyRound, fontPackage: package); ///
Open In Full icon (round)
- static const IconData open_in_full_round = IconData(0xe150, fontFamily: familyRound, fontPackage: package); + static const IconData open_in_full_round = IconData(0xe153, fontFamily: familyRound, fontPackage: package); ///
Open In New Window icon (round)
- static const IconData open_in_new_window_round = IconData(0xe151, fontFamily: familyRound, fontPackage: package); + static const IconData open_in_new_window_round = IconData(0xe154, fontFamily: familyRound, fontPackage: package); ///
Open New Off icon (round)
- static const IconData open_new_off_round = IconData(0xe152, fontFamily: familyRound, fontPackage: package); + static const IconData open_new_off_round = IconData(0xe155, fontFamily: familyRound, fontPackage: package); ///
Page Height icon (round)
- static const IconData page_height_round = IconData(0xe153, fontFamily: familyRound, fontPackage: package); + static const IconData page_height_round = IconData(0xe156, fontFamily: familyRound, fontPackage: package); ///
Page Rotate icon (round)
- static const IconData page_rotate_round = IconData(0xe154, fontFamily: familyRound, fontPackage: package); + static const IconData page_rotate_round = IconData(0xe157, fontFamily: familyRound, fontPackage: package); ///
Page Width icon (round)
- static const IconData page_width_round = IconData(0xe155, fontFamily: familyRound, fontPackage: package); + static const IconData page_width_round = IconData(0xe158, fontFamily: familyRound, fontPackage: package); ///
Palette icon (round)
- static const IconData palette_round = IconData(0xe156, fontFamily: familyRound, fontPackage: package); + static const IconData palette_round = IconData(0xe159, fontFamily: familyRound, fontPackage: package); ///
Partner icon (round)
- static const IconData partner_round = IconData(0xe157, fontFamily: familyRound, fontPackage: package); + static const IconData partner_round = IconData(0xe15a, fontFamily: familyRound, fontPackage: package); ///
Pause Circle icon (round)
- static const IconData pause_circle_round = IconData(0xe158, fontFamily: familyRound, fontPackage: package); + static const IconData pause_circle_round = IconData(0xe15b, fontFamily: familyRound, fontPackage: package); ///
Pause icon (round)
- static const IconData pause_round = IconData(0xe159, fontFamily: familyRound, fontPackage: package); + static const IconData pause_round = IconData(0xe15c, fontFamily: familyRound, fontPackage: package); ///
Pdf Attach icon (round)
- static const IconData pdf_attach_round = IconData(0xe15a, fontFamily: familyRound, fontPackage: package); + static const IconData pdf_attach_round = IconData(0xe15d, fontFamily: familyRound, fontPackage: package); ///
Pending icon (round)
- static const IconData pending_round = IconData(0xe15b, fontFamily: familyRound, fontPackage: package); + static const IconData pending_round = IconData(0xe15e, fontFamily: familyRound, fontPackage: package); ///
Person Admin icon (round)
- static const IconData person_admin_round = IconData(0xe15c, fontFamily: familyRound, fontPackage: package); + static const IconData person_admin_round = IconData(0xe15f, fontFamily: familyRound, fontPackage: package); ///
Person Assign icon (round)
- static const IconData person_assign_round = IconData(0xe15d, fontFamily: familyRound, fontPackage: package); + static const IconData person_assign_round = IconData(0xe160, fontFamily: familyRound, fontPackage: package); ///
Person Clock icon (round)
- static const IconData person_clock_round = IconData(0xe15e, fontFamily: familyRound, fontPackage: package); + static const IconData person_clock_round = IconData(0xe161, fontFamily: familyRound, fontPackage: package); ///
Person Info icon (round)
- static const IconData person_info_round = IconData(0xe15f, fontFamily: familyRound, fontPackage: package); + static const IconData person_info_round = IconData(0xe162, fontFamily: familyRound, fontPackage: package); ///
Person Manager icon (round)
- static const IconData person_manager_round = IconData(0xe160, fontFamily: familyRound, fontPackage: package); + static const IconData person_manager_round = IconData(0xe163, fontFamily: familyRound, fontPackage: package); ///
Person Move icon (round)
- static const IconData person_move_round = IconData(0xe161, fontFamily: familyRound, fontPackage: package); + static const IconData person_move_round = IconData(0xe164, fontFamily: familyRound, fontPackage: package); ///
Person Outline icon (round)
- static const IconData person_outline_round = IconData(0xe162, fontFamily: familyRound, fontPackage: package); + static const IconData person_outline_round = IconData(0xe165, fontFamily: familyRound, fontPackage: package); ///
Person icon (round)
- static const IconData person_round = IconData(0xe163, fontFamily: familyRound, fontPackage: package); + static const IconData person_round = IconData(0xe166, fontFamily: familyRound, fontPackage: package); ///
Person Search icon (round)
- static const IconData person_search_round = IconData(0xe164, fontFamily: familyRound, fontPackage: package); + static const IconData person_search_round = IconData(0xe167, fontFamily: familyRound, fontPackage: package); ///
Person Swap icon (round)
- static const IconData person_swap_round = IconData(0xe165, fontFamily: familyRound, fontPackage: package); + static const IconData person_swap_round = IconData(0xe168, fontFamily: familyRound, fontPackage: package); ///
Person Walk icon (round)
- static const IconData person_walk_round = IconData(0xe166, fontFamily: familyRound, fontPackage: package); + static const IconData person_walk_round = IconData(0xe169, fontFamily: familyRound, fontPackage: package); ///
Phone Android icon (round)
- static const IconData phone_android_round = IconData(0xe167, fontFamily: familyRound, fontPackage: package); + static const IconData phone_android_round = IconData(0xe16a, fontFamily: familyRound, fontPackage: package); ///
Phone Bluetooth Speaker icon (round)
- static const IconData phone_bluetooth_speaker_round = IconData(0xe168, fontFamily: familyRound, fontPackage: package); + static const IconData phone_bluetooth_speaker_round = IconData(0xe16b, fontFamily: familyRound, fontPackage: package); ///
Phone In Talk icon (round)
- static const IconData phone_in_talk_round = IconData(0xe169, fontFamily: familyRound, fontPackage: package); + static const IconData phone_in_talk_round = IconData(0xe16c, fontFamily: familyRound, fontPackage: package); ///
Phone Iphone icon (round)
- static const IconData phone_iphone_round = IconData(0xe16a, fontFamily: familyRound, fontPackage: package); + static const IconData phone_iphone_round = IconData(0xe16d, fontFamily: familyRound, fontPackage: package); ///
Phone icon (round)
- static const IconData phone_round = IconData(0xe16b, fontFamily: familyRound, fontPackage: package); + static const IconData phone_round = IconData(0xe16e, fontFamily: familyRound, fontPackage: package); ///
Phonelink icon (round)
- static const IconData phonelink_round = IconData(0xe16c, fontFamily: familyRound, fontPackage: package); + static const IconData phonelink_round = IconData(0xe16f, fontFamily: familyRound, fontPackage: package); ///
Phrase icon (round)
- static const IconData phrase_round = IconData(0xe16d, fontFamily: familyRound, fontPackage: package); + static const IconData phrase_round = IconData(0xe170, fontFamily: familyRound, fontPackage: package); ///
Pin icon (round)
- static const IconData pin_round = IconData(0xe16e, fontFamily: familyRound, fontPackage: package); + static const IconData pin_round = IconData(0xe171, fontFamily: familyRound, fontPackage: package); ///
Place icon (round)
- static const IconData place_round = IconData(0xe16f, fontFamily: familyRound, fontPackage: package); + static const IconData place_round = IconData(0xe172, fontFamily: familyRound, fontPackage: package); ///
Planogram icon (round)
- static const IconData planogram_round = IconData(0xe170, fontFamily: familyRound, fontPackage: package); + static const IconData planogram_round = IconData(0xe173, fontFamily: familyRound, fontPackage: package); ///
Play Circle icon (round)
- static const IconData play_circle_round = IconData(0xe171, fontFamily: familyRound, fontPackage: package); + static const IconData play_circle_round = IconData(0xe174, fontFamily: familyRound, fontPackage: package); ///
Play Outline icon (round)
- static const IconData play_outline_round = IconData(0xe172, fontFamily: familyRound, fontPackage: package); + static const IconData play_outline_round = IconData(0xe175, fontFamily: familyRound, fontPackage: package); ///
Play icon (round)
- static const IconData play_round = IconData(0xe173, fontFamily: familyRound, fontPackage: package); + static const IconData play_round = IconData(0xe176, fontFamily: familyRound, fontPackage: package); ///
Png Attach icon (round)
- static const IconData png_attach_round = IconData(0xe174, fontFamily: familyRound, fontPackage: package); + static const IconData png_attach_round = IconData(0xe177, fontFamily: familyRound, fontPackage: package); ///
Point Gift icon (round)
- static const IconData point_gift_round = IconData(0xe175, fontFamily: familyRound, fontPackage: package); + static const IconData point_gift_round = IconData(0xe178, fontFamily: familyRound, fontPackage: package); ///
Point Heart icon (round)
- static const IconData point_heart_round = IconData(0xe176, fontFamily: familyRound, fontPackage: package); + static const IconData point_heart_round = IconData(0xe179, fontFamily: familyRound, fontPackage: package); ///
Point Money icon (round)
- static const IconData point_money_round = IconData(0xe177, fontFamily: familyRound, fontPackage: package); + static const IconData point_money_round = IconData(0xe17a, fontFamily: familyRound, fontPackage: package); ///
Point Star icon (round)
- static const IconData point_star_round = IconData(0xe178, fontFamily: familyRound, fontPackage: package); + static const IconData point_star_round = IconData(0xe17b, fontFamily: familyRound, fontPackage: package); ///
Point Token icon (round)
- static const IconData point_token_round = IconData(0xe179, fontFamily: familyRound, fontPackage: package); + static const IconData point_token_round = IconData(0xe17c, fontFamily: familyRound, fontPackage: package); ///
Portrait icon (round)
- static const IconData portrait_round = IconData(0xe17a, fontFamily: familyRound, fontPackage: package); + static const IconData portrait_round = IconData(0xe17d, fontFamily: familyRound, fontPackage: package); ///
Ppt Attach icon (round)
- static const IconData ppt_attach_round = IconData(0xe17b, fontFamily: familyRound, fontPackage: package); + static const IconData ppt_attach_round = IconData(0xe17e, fontFamily: familyRound, fontPackage: package); ///
Price icon (round)
- static const IconData price_round = IconData(0xe17c, fontFamily: familyRound, fontPackage: package); + static const IconData price_round = IconData(0xe17f, fontFamily: familyRound, fontPackage: package); ///
Printer icon (round)
- static const IconData printer_round = IconData(0xe17d, fontFamily: familyRound, fontPackage: package); + static const IconData printer_round = IconData(0xe180, fontFamily: familyRound, fontPackage: package); ///
Priority icon (round)
- static const IconData priority_round = IconData(0xe17e, fontFamily: familyRound, fontPackage: package); + static const IconData priority_round = IconData(0xe181, fontFamily: familyRound, fontPackage: package); ///
Pro icon (round)
- static const IconData pro_round = IconData(0xe17f, fontFamily: familyRound, fontPackage: package); + static const IconData pro_round = IconData(0xe182, fontFamily: familyRound, fontPackage: package); ///
Productivity Apps icon (round)
- static const IconData productivity_apps_round = IconData(0xe180, fontFamily: familyRound, fontPackage: package); + static const IconData productivity_apps_round = IconData(0xe183, fontFamily: familyRound, fontPackage: package); ///
Ptt icon (round)
- static const IconData ptt_round = IconData(0xe181, fontFamily: familyRound, fontPackage: package); + static const IconData ptt_round = IconData(0xe184, fontFamily: familyRound, fontPackage: package); ///
Publish icon (round)
- static const IconData publish_round = IconData(0xe182, fontFamily: familyRound, fontPackage: package); + static const IconData publish_round = IconData(0xe185, fontFamily: familyRound, fontPackage: package); ///
Push Pin icon (round)
- static const IconData push_pin_round = IconData(0xe183, fontFamily: familyRound, fontPackage: package); + static const IconData push_pin_round = IconData(0xe186, fontFamily: familyRound, fontPackage: package); ///
Qr Code icon (round)
- static const IconData qr_code_round = IconData(0xe184, fontFamily: familyRound, fontPackage: package); + static const IconData qr_code_round = IconData(0xe187, fontFamily: familyRound, fontPackage: package); ///
Queue icon (round)
- static const IconData queue_round = IconData(0xe185, fontFamily: familyRound, fontPackage: package); + static const IconData queue_round = IconData(0xe188, fontFamily: familyRound, fontPackage: package); ///
Radio Button Checked icon (round)
- static const IconData radio_button_checked_round = IconData(0xe186, fontFamily: familyRound, fontPackage: package); + static const IconData radio_button_checked_round = IconData(0xe189, fontFamily: familyRound, fontPackage: package); ///
Radio Button Unchecked icon (round)
- static const IconData radio_button_unchecked_round = IconData(0xe187, fontFamily: familyRound, fontPackage: package); + static const IconData radio_button_unchecked_round = IconData(0xe18a, fontFamily: familyRound, fontPackage: package); ///
React Add icon (round)
- static const IconData react_add_round = IconData(0xe188, fontFamily: familyRound, fontPackage: package); + static const IconData react_add_round = IconData(0xe18b, fontFamily: familyRound, fontPackage: package); ///
React Thumbsup icon (round)
- static const IconData react_thumbsup_round = IconData(0xe189, fontFamily: familyRound, fontPackage: package); + static const IconData react_thumbsup_round = IconData(0xe18c, fontFamily: familyRound, fontPackage: package); ///
Recall icon (round)
- static const IconData recall_round = IconData(0xe18a, fontFamily: familyRound, fontPackage: package); + static const IconData recall_round = IconData(0xe18d, fontFamily: familyRound, fontPackage: package); ///
Receipt icon (round)
- static const IconData receipt_round = IconData(0xe18b, fontFamily: familyRound, fontPackage: package); + static const IconData receipt_round = IconData(0xe18e, fontFamily: familyRound, fontPackage: package); ///
Recording icon (round)
- static const IconData recording_round = IconData(0xe18c, fontFamily: familyRound, fontPackage: package); + static const IconData recording_round = IconData(0xe18f, fontFamily: familyRound, fontPackage: package); ///
Redo icon (round)
- static const IconData redo_round = IconData(0xe18d, fontFamily: familyRound, fontPackage: package); + static const IconData redo_round = IconData(0xe190, fontFamily: familyRound, fontPackage: package); ///
Refresh icon (round)
- static const IconData refresh_round = IconData(0xe18e, fontFamily: familyRound, fontPackage: package); + static const IconData refresh_round = IconData(0xe191, fontFamily: familyRound, fontPackage: package); ///
Remove Box icon (round)
- static const IconData remove_box_round = IconData(0xe18f, fontFamily: familyRound, fontPackage: package); + static const IconData remove_box_round = IconData(0xe192, fontFamily: familyRound, fontPackage: package); ///
Remove Circle Outline icon (round)
- static const IconData remove_circle_outline_round = IconData(0xe190, fontFamily: familyRound, fontPackage: package); + static const IconData remove_circle_outline_round = IconData(0xe193, fontFamily: familyRound, fontPackage: package); ///
Remove Circle icon (round)
- static const IconData remove_circle_round = IconData(0xe191, fontFamily: familyRound, fontPackage: package); + static const IconData remove_circle_round = IconData(0xe194, fontFamily: familyRound, fontPackage: package); ///
Remove Group icon (round)
- static const IconData remove_group_round = IconData(0xe192, fontFamily: familyRound, fontPackage: package); + static const IconData remove_group_round = IconData(0xe195, fontFamily: familyRound, fontPackage: package); ///
Remove Person icon (round)
- static const IconData remove_person_round = IconData(0xe193, fontFamily: familyRound, fontPackage: package); + static const IconData remove_person_round = IconData(0xe196, fontFamily: familyRound, fontPackage: package); ///
Remove icon (round)
- static const IconData remove_round = IconData(0xe194, fontFamily: familyRound, fontPackage: package); + static const IconData remove_round = IconData(0xe197, fontFamily: familyRound, fontPackage: package); ///
Renew icon (round)
- static const IconData renew_round = IconData(0xe195, fontFamily: familyRound, fontPackage: package); + static const IconData renew_round = IconData(0xe198, fontFamily: familyRound, fontPackage: package); ///
Reorder icon (round)
- static const IconData reorder_round = IconData(0xe196, fontFamily: familyRound, fontPackage: package); + static const IconData reorder_round = IconData(0xe199, fontFamily: familyRound, fontPackage: package); ///
Repeat icon (round)
- static const IconData repeat_round = IconData(0xe197, fontFamily: familyRound, fontPackage: package); + static const IconData repeat_round = IconData(0xe19a, fontFamily: familyRound, fontPackage: package); ///
Replay icon (round)
- static const IconData replay_round = IconData(0xe198, fontFamily: familyRound, fontPackage: package); + static const IconData replay_round = IconData(0xe19b, fontFamily: familyRound, fontPackage: package); ///
Reply icon (round)
- static const IconData reply_round = IconData(0xe199, fontFamily: familyRound, fontPackage: package); + static const IconData reply_round = IconData(0xe19c, fontFamily: familyRound, fontPackage: package); ///
Report icon (round)
- static const IconData report_round = IconData(0xe19a, fontFamily: familyRound, fontPackage: package); + static const IconData report_round = IconData(0xe19d, fontFamily: familyRound, fontPackage: package); ///
Restart Alt icon (round)
- static const IconData restart_alt_round = IconData(0xe19b, fontFamily: familyRound, fontPackage: package); + static const IconData restart_alt_round = IconData(0xe19e, fontFamily: familyRound, fontPackage: package); ///
Review icon (round)
- static const IconData review_round = IconData(0xe19c, fontFamily: familyRound, fontPackage: package); + static const IconData review_round = IconData(0xe19f, fontFamily: familyRound, fontPackage: package); ///
Road Map icon (round)
- static const IconData road_map_round = IconData(0xe19d, fontFamily: familyRound, fontPackage: package); + static const IconData road_map_round = IconData(0xe1a0, fontFamily: familyRound, fontPackage: package); ///
Rotate Left icon (round)
- static const IconData rotate_left_round = IconData(0xe19e, fontFamily: familyRound, fontPackage: package); + static const IconData rotate_left_round = IconData(0xe1a1, fontFamily: familyRound, fontPackage: package); ///
Rotate Right icon (round)
- static const IconData rotate_right_round = IconData(0xe19f, fontFamily: familyRound, fontPackage: package); + static const IconData rotate_right_round = IconData(0xe1a2, fontFamily: familyRound, fontPackage: package); ///
Rss Feed icon (round)
- static const IconData rss_feed_round = IconData(0xe1a0, fontFamily: familyRound, fontPackage: package); + static const IconData rss_feed_round = IconData(0xe1a3, fontFamily: familyRound, fontPackage: package); ///
Rules icon (round)
- static const IconData rules_round = IconData(0xe1a1, fontFamily: familyRound, fontPackage: package); + static const IconData rules_round = IconData(0xe1a4, fontFamily: familyRound, fontPackage: package); ///
Sad icon (round)
- static const IconData sad_round = IconData(0xe1a2, fontFamily: familyRound, fontPackage: package); + static const IconData sad_round = IconData(0xe1a5, fontFamily: familyRound, fontPackage: package); ///
Satisfied icon (round)
- static const IconData satisfied_round = IconData(0xe1a3, fontFamily: familyRound, fontPackage: package); + static const IconData satisfied_round = IconData(0xe1a6, fontFamily: familyRound, fontPackage: package); ///
Save Alt icon (round)
- static const IconData save_alt_round = IconData(0xe1a4, fontFamily: familyRound, fontPackage: package); + static const IconData save_alt_round = IconData(0xe1a7, fontFamily: familyRound, fontPackage: package); ///
Save Content icon (round)
- static const IconData save_content_round = IconData(0xe1a5, fontFamily: familyRound, fontPackage: package); + static const IconData save_content_round = IconData(0xe1a8, fontFamily: familyRound, fontPackage: package); ///
Save icon (round)
- static const IconData save_round = IconData(0xe1a6, fontFamily: familyRound, fontPackage: package); + static const IconData save_round = IconData(0xe1a9, fontFamily: familyRound, fontPackage: package); ///
Scan Rate icon (round)
- static const IconData scan_rate_round = IconData(0xe1a7, fontFamily: familyRound, fontPackage: package); + static const IconData scan_rate_round = IconData(0xe1aa, fontFamily: familyRound, fontPackage: package); ///
Scanner icon (round)
- static const IconData scanner_round = IconData(0xe1a8, fontFamily: familyRound, fontPackage: package); + static const IconData scanner_round = IconData(0xe1ab, fontFamily: familyRound, fontPackage: package); ///
Schedule icon (round)
- static const IconData schedule_round = IconData(0xe1a9, fontFamily: familyRound, fontPackage: package); + static const IconData schedule_round = IconData(0xe1ac, fontFamily: familyRound, fontPackage: package); ///
School icon (round)
- static const IconData school_round = IconData(0xe1aa, fontFamily: familyRound, fontPackage: package); + static const IconData school_round = IconData(0xe1ad, fontFamily: familyRound, fontPackage: package); ///
Screen Rotation icon (round)
- static const IconData screen_rotation_round = IconData(0xe1ab, fontFamily: familyRound, fontPackage: package); + static const IconData screen_rotation_round = IconData(0xe1ae, fontFamily: familyRound, fontPackage: package); ///
Sd Card icon (round)
- static const IconData sd_card_round = IconData(0xe1ac, fontFamily: familyRound, fontPackage: package); + static const IconData sd_card_round = IconData(0xe1af, fontFamily: familyRound, fontPackage: package); ///
Search icon (round)
- static const IconData search_round = IconData(0xe1ad, fontFamily: familyRound, fontPackage: package); + static const IconData search_round = IconData(0xe1b0, fontFamily: familyRound, fontPackage: package); ///
Security Check icon (round)
- static const IconData security_check_round = IconData(0xe1ae, fontFamily: familyRound, fontPackage: package); + static const IconData security_check_round = IconData(0xe1b1, fontFamily: familyRound, fontPackage: package); ///
Security icon (round)
- static const IconData security_round = IconData(0xe1af, fontFamily: familyRound, fontPackage: package); + static const IconData security_round = IconData(0xe1b2, fontFamily: familyRound, fontPackage: package); ///
Send icon (round)
- static const IconData send_round = IconData(0xe1b0, fontFamily: familyRound, fontPackage: package); + static const IconData send_round = IconData(0xe1b3, fontFamily: familyRound, fontPackage: package); ///
Settings icon (round)
- static const IconData settings_round = IconData(0xe1b1, fontFamily: familyRound, fontPackage: package); + static const IconData settings_round = IconData(0xe1b4, fontFamily: familyRound, fontPackage: package); ///
Shape Recognition icon (round)
- static const IconData shape_recognition_round = IconData(0xe1b2, fontFamily: familyRound, fontPackage: package); + static const IconData shape_recognition_round = IconData(0xe1b5, fontFamily: familyRound, fontPackage: package); ///
Share icon (round)
- static const IconData share_round = IconData(0xe1b3, fontFamily: familyRound, fontPackage: package); + static const IconData share_round = IconData(0xe1b6, fontFamily: familyRound, fontPackage: package); ///
Shared Folder icon (round)
- static const IconData shared_folder_round = IconData(0xe1b4, fontFamily: familyRound, fontPackage: package); + static const IconData shared_folder_round = IconData(0xe1b7, fontFamily: familyRound, fontPackage: package); ///
Ship icon (round)
- static const IconData ship_round = IconData(0xe1b5, fontFamily: familyRound, fontPackage: package); + static const IconData ship_round = IconData(0xe1b8, fontFamily: familyRound, fontPackage: package); ///
Sim Card icon (round)
- static const IconData sim_card_round = IconData(0xe1b6, fontFamily: familyRound, fontPackage: package); + static const IconData sim_card_round = IconData(0xe1b9, fontFamily: familyRound, fontPackage: package); ///
Skip Next icon (round)
- static const IconData skip_next_round = IconData(0xe1b7, fontFamily: familyRound, fontPackage: package); + static const IconData skip_next_round = IconData(0xe1ba, fontFamily: familyRound, fontPackage: package); ///
Skip Previous icon (round)
- static const IconData skip_previous_round = IconData(0xe1b8, fontFamily: familyRound, fontPackage: package); + static const IconData skip_previous_round = IconData(0xe1bb, fontFamily: familyRound, fontPackage: package); ///
Slide Show icon (round)
- static const IconData slide_show_round = IconData(0xe1b9, fontFamily: familyRound, fontPackage: package); + static const IconData slide_show_round = IconData(0xe1bc, fontFamily: familyRound, fontPackage: package); ///
Smart Phone icon (round)
- static const IconData smart_phone_round = IconData(0xe1ba, fontFamily: familyRound, fontPackage: package); + static const IconData smart_phone_round = IconData(0xe1bd, fontFamily: familyRound, fontPackage: package); ///
Sms icon (round)
- static const IconData sms_round = IconData(0xe1bb, fontFamily: familyRound, fontPackage: package); + static const IconData sms_round = IconData(0xe1be, fontFamily: familyRound, fontPackage: package); ///
Snooze icon (round)
- static const IconData snooze_round = IconData(0xe1bc, fontFamily: familyRound, fontPackage: package); + static const IconData snooze_round = IconData(0xe1bf, fontFamily: familyRound, fontPackage: package); ///
Solutions icon (round)
- static const IconData solutions_round = IconData(0xe1bd, fontFamily: familyRound, fontPackage: package); + static const IconData solutions_round = IconData(0xe1c0, fontFamily: familyRound, fontPackage: package); ///
Sort Content icon (round)
- static const IconData sort_content_round = IconData(0xe1be, fontFamily: familyRound, fontPackage: package); + static const IconData sort_content_round = IconData(0xe1c1, fontFamily: familyRound, fontPackage: package); ///
Sort icon (round)
- static const IconData sort_round = IconData(0xe1bf, fontFamily: familyRound, fontPackage: package); + static const IconData sort_round = IconData(0xe1c2, fontFamily: familyRound, fontPackage: package); ///
Speaker icon (round)
- static const IconData speaker_round = IconData(0xe1c0, fontFamily: familyRound, fontPackage: package); + static const IconData speaker_round = IconData(0xe1c3, fontFamily: familyRound, fontPackage: package); ///
Star Half icon (round)
- static const IconData star_half_round = IconData(0xe1c1, fontFamily: familyRound, fontPackage: package); + static const IconData star_half_round = IconData(0xe1c4, fontFamily: familyRound, fontPackage: package); ///
Star Outline icon (round)
- static const IconData star_outline_round = IconData(0xe1c2, fontFamily: familyRound, fontPackage: package); + static const IconData star_outline_round = IconData(0xe1c5, fontFamily: familyRound, fontPackage: package); ///
Star icon (round)
- static const IconData star_round = IconData(0xe1c3, fontFamily: familyRound, fontPackage: package); + static const IconData star_round = IconData(0xe1c6, fontFamily: familyRound, fontPackage: package); ///
Steps icon (round)
- static const IconData steps_round = IconData(0xe1c4, fontFamily: familyRound, fontPackage: package); + static const IconData steps_round = IconData(0xe1c7, fontFamily: familyRound, fontPackage: package); ///
Sticker icon (round)
- static const IconData sticker_round = IconData(0xe1c5, fontFamily: familyRound, fontPackage: package); + static const IconData sticker_round = IconData(0xe1c8, fontFamily: familyRound, fontPackage: package); ///
Stop Circle icon (round)
- static const IconData stop_circle_round = IconData(0xe1c6, fontFamily: familyRound, fontPackage: package); + static const IconData stop_circle_round = IconData(0xe1c9, fontFamily: familyRound, fontPackage: package); ///
Stop icon (round)
- static const IconData stop_round = IconData(0xe1c7, fontFamily: familyRound, fontPackage: package); + static const IconData stop_round = IconData(0xe1ca, fontFamily: familyRound, fontPackage: package); ///
Store Release icon (round)
- static const IconData store_release_round = IconData(0xe1c8, fontFamily: familyRound, fontPackage: package); + static const IconData store_release_round = IconData(0xe1cb, fontFamily: familyRound, fontPackage: package); ///
Store icon (round)
- static const IconData store_round = IconData(0xe1c9, fontFamily: familyRound, fontPackage: package); + static const IconData store_round = IconData(0xe1cc, fontFamily: familyRound, fontPackage: package); ///
Store Swap icon (round)
- static const IconData store_swap_round = IconData(0xe1ca, fontFamily: familyRound, fontPackage: package); + static const IconData store_swap_round = IconData(0xe1cd, fontFamily: familyRound, fontPackage: package); ///
Store Transfer icon (round)
- static const IconData store_transfer_round = IconData(0xe1cb, fontFamily: familyRound, fontPackage: package); + static const IconData store_transfer_round = IconData(0xe1ce, fontFamily: familyRound, fontPackage: package); ///
Straighten icon (round)
- static const IconData straighten_round = IconData(0xe1cc, fontFamily: familyRound, fontPackage: package); + static const IconData straighten_round = IconData(0xe1cf, fontFamily: familyRound, fontPackage: package); ///
Strategy icon (round)
- static const IconData strategy_round = IconData(0xe1cd, fontFamily: familyRound, fontPackage: package); + static const IconData strategy_round = IconData(0xe1d0, fontFamily: familyRound, fontPackage: package); ///
Strikethrough icon (round)
- static const IconData strikethrough_round = IconData(0xe1ce, fontFamily: familyRound, fontPackage: package); + static const IconData strikethrough_round = IconData(0xe1d1, fontFamily: familyRound, fontPackage: package); ///
Subscribe icon (round)
- static const IconData subscribe_round = IconData(0xe1cf, fontFamily: familyRound, fontPackage: package); + static const IconData subscribe_round = IconData(0xe1d2, fontFamily: familyRound, fontPackage: package); ///
Swap icon (round)
- static const IconData swap_round = IconData(0xe1d0, fontFamily: familyRound, fontPackage: package); + static const IconData swap_round = IconData(0xe1d3, fontFamily: familyRound, fontPackage: package); ///
Switch User icon (round)
- static const IconData switch_user_round = IconData(0xe1d1, fontFamily: familyRound, fontPackage: package); + static const IconData switch_user_round = IconData(0xe1d4, fontFamily: familyRound, fontPackage: package); ///
Sync Action icon (round)
- static const IconData sync_action_round = IconData(0xe1d2, fontFamily: familyRound, fontPackage: package); + static const IconData sync_action_round = IconData(0xe1d5, fontFamily: familyRound, fontPackage: package); ///
Sync Disabled icon (round)
- static const IconData sync_disabled_round = IconData(0xe1d3, fontFamily: familyRound, fontPackage: package); + static const IconData sync_disabled_round = IconData(0xe1d6, fontFamily: familyRound, fontPackage: package); ///
Sync icon (round)
- static const IconData sync_round = IconData(0xe1d4, fontFamily: familyRound, fontPackage: package); + static const IconData sync_round = IconData(0xe1d7, fontFamily: familyRound, fontPackage: package); ///
Table icon (round)
- static const IconData table_round = IconData(0xe1d5, fontFamily: familyRound, fontPackage: package); + static const IconData table_round = IconData(0xe1d8, fontFamily: familyRound, fontPackage: package); ///
Tablet Mac icon (round)
- static const IconData tablet_mac_round = IconData(0xe1d6, fontFamily: familyRound, fontPackage: package); + static const IconData tablet_mac_round = IconData(0xe1d9, fontFamily: familyRound, fontPackage: package); ///
Tablet icon (round)
- static const IconData tablet_round = IconData(0xe1d7, fontFamily: familyRound, fontPackage: package); + static const IconData tablet_round = IconData(0xe1da, fontFamily: familyRound, fontPackage: package); ///
Tag Enterprise icon (round)
- static const IconData tag_enterprise_round = IconData(0xe1d8, fontFamily: familyRound, fontPackage: package); + static const IconData tag_enterprise_round = IconData(0xe1db, fontFamily: familyRound, fontPackage: package); ///
Tag icon (round)
- static const IconData tag_round = IconData(0xe1d9, fontFamily: familyRound, fontPackage: package); + static const IconData tag_round = IconData(0xe1dc, fontFamily: familyRound, fontPackage: package); ///
Tap To Pay icon (round)
- static const IconData tap_to_pay_round = IconData(0xe1da, fontFamily: familyRound, fontPackage: package); + static const IconData tap_to_pay_round = IconData(0xe1dd, fontFamily: familyRound, fontPackage: package); ///
Taxi icon (round)
- static const IconData taxi_round = IconData(0xe1db, fontFamily: familyRound, fontPackage: package); + static const IconData taxi_round = IconData(0xe1de, fontFamily: familyRound, fontPackage: package); ///
Text Color icon (round)
- static const IconData text_color_round = IconData(0xe1dc, fontFamily: familyRound, fontPackage: package); + static const IconData text_color_round = IconData(0xe1df, fontFamily: familyRound, fontPackage: package); ///
Tiers icon (round)
- static const IconData tiers_round = IconData(0xe1dd, fontFamily: familyRound, fontPackage: package); + static const IconData tiers_round = IconData(0xe1e0, fontFamily: familyRound, fontPackage: package); ///
Timecard Approve icon (round)
- static const IconData timecard_approve_round = IconData(0xe1de, fontFamily: familyRound, fontPackage: package); + static const IconData timecard_approve_round = IconData(0xe1e1, fontFamily: familyRound, fontPackage: package); ///
Timecard icon (round)
- static const IconData timecard_round = IconData(0xe1df, fontFamily: familyRound, fontPackage: package); + static const IconData timecard_round = IconData(0xe1e2, fontFamily: familyRound, fontPackage: package); ///
Timecard Warning icon (round)
- static const IconData timecard_warning_round = IconData(0xe1e0, fontFamily: familyRound, fontPackage: package); + static const IconData timecard_warning_round = IconData(0xe1e3, fontFamily: familyRound, fontPackage: package); ///
Timer icon (round)
- static const IconData timer_round = IconData(0xe1e1, fontFamily: familyRound, fontPackage: package); + static const IconData timer_round = IconData(0xe1e4, fontFamily: familyRound, fontPackage: package); ///
Toggle Off icon (round)
- static const IconData toggle_off_round = IconData(0xe1e2, fontFamily: familyRound, fontPackage: package); + static const IconData toggle_off_round = IconData(0xe1e5, fontFamily: familyRound, fontPackage: package); ///
Toggle On icon (round)
- static const IconData toggle_on_round = IconData(0xe1e3, fontFamily: familyRound, fontPackage: package); + static const IconData toggle_on_round = IconData(0xe1e6, fontFamily: familyRound, fontPackage: package); ///
Touch icon (round)
- static const IconData touch_round = IconData(0xe1e4, fontFamily: familyRound, fontPackage: package); + static const IconData touch_round = IconData(0xe1e7, fontFamily: familyRound, fontPackage: package); ///
Train icon (round)
- static const IconData train_round = IconData(0xe1e5, fontFamily: familyRound, fontPackage: package); + static const IconData train_round = IconData(0xe1e8, fontFamily: familyRound, fontPackage: package); ///
Transfer icon (round)
- static const IconData transfer_round = IconData(0xe1e6, fontFamily: familyRound, fontPackage: package); + static const IconData transfer_round = IconData(0xe1e9, fontFamily: familyRound, fontPackage: package); ///
Trending Down icon (round)
- static const IconData trending_down_round = IconData(0xe1e7, fontFamily: familyRound, fontPackage: package); + static const IconData trending_down_round = IconData(0xe1ea, fontFamily: familyRound, fontPackage: package); ///
Trending Up icon (round)
- static const IconData trending_up_round = IconData(0xe1e8, fontFamily: familyRound, fontPackage: package); + static const IconData trending_up_round = IconData(0xe1eb, fontFamily: familyRound, fontPackage: package); ///
Tv icon (round)
- static const IconData tv_round = IconData(0xe1e9, fontFamily: familyRound, fontPackage: package); + static const IconData tv_round = IconData(0xe1ec, fontFamily: familyRound, fontPackage: package); ///
Twitter icon (round)
- static const IconData twitter_round = IconData(0xe1ea, fontFamily: familyRound, fontPackage: package); + static const IconData twitter_round = IconData(0xe1ed, fontFamily: familyRound, fontPackage: package); ///
Type icon (round)
- static const IconData type_round = IconData(0xe1eb, fontFamily: familyRound, fontPackage: package); + static const IconData type_round = IconData(0xe1ee, fontFamily: familyRound, fontPackage: package); ///
Uhf Rfid icon (round)
- static const IconData uhf_rfid_round = IconData(0xe1ec, fontFamily: familyRound, fontPackage: package); + static const IconData uhf_rfid_round = IconData(0xe1ef, fontFamily: familyRound, fontPackage: package); ///
Underline icon (round)
- static const IconData underline_round = IconData(0xe1ed, fontFamily: familyRound, fontPackage: package); + static const IconData underline_round = IconData(0xe1f0, fontFamily: familyRound, fontPackage: package); ///
Undo icon (round)
- static const IconData undo_round = IconData(0xe1ee, fontFamily: familyRound, fontPackage: package); + static const IconData undo_round = IconData(0xe1f1, fontFamily: familyRound, fontPackage: package); ///
Unfold Less icon (round)
- static const IconData unfold_less_round = IconData(0xe1ef, fontFamily: familyRound, fontPackage: package); + static const IconData unfold_less_round = IconData(0xe1f2, fontFamily: familyRound, fontPackage: package); ///
Unfold More icon (round)
- static const IconData unfold_more_round = IconData(0xe1f0, fontFamily: familyRound, fontPackage: package); + static const IconData unfold_more_round = IconData(0xe1f3, fontFamily: familyRound, fontPackage: package); ///
Unlock Alt icon (round)
- static const IconData unlock_alt_round = IconData(0xe1f1, fontFamily: familyRound, fontPackage: package); + static const IconData unlock_alt_round = IconData(0xe1f4, fontFamily: familyRound, fontPackage: package); ///
Unlock icon (round)
- static const IconData unlock_round = IconData(0xe1f2, fontFamily: familyRound, fontPackage: package); + static const IconData unlock_round = IconData(0xe1f5, fontFamily: familyRound, fontPackage: package); ///
Unsubscribe icon (round)
- static const IconData unsubscribe_round = IconData(0xe1f3, fontFamily: familyRound, fontPackage: package); + static const IconData unsubscribe_round = IconData(0xe1f6, fontFamily: familyRound, fontPackage: package); ///
Update icon (round)
- static const IconData update_round = IconData(0xe1f4, fontFamily: familyRound, fontPackage: package); + static const IconData update_round = IconData(0xe1f7, fontFamily: familyRound, fontPackage: package); ///
Upload File icon (round)
- static const IconData upload_file_round = IconData(0xe1f5, fontFamily: familyRound, fontPackage: package); + static const IconData upload_file_round = IconData(0xe1f8, fontFamily: familyRound, fontPackage: package); ///
Upload icon (round)
- static const IconData upload_round = IconData(0xe1f6, fontFamily: familyRound, fontPackage: package); + static const IconData upload_round = IconData(0xe1f9, fontFamily: familyRound, fontPackage: package); ///
Usb Alt Device icon (round)
- static const IconData usb_alt_device_round = IconData(0xe1f7, fontFamily: familyRound, fontPackage: package); + static const IconData usb_alt_device_round = IconData(0xe1fa, fontFamily: familyRound, fontPackage: package); ///
Usb Alt icon (round)
- static const IconData usb_alt_round = IconData(0xe1f8, fontFamily: familyRound, fontPackage: package); + static const IconData usb_alt_round = IconData(0xe1fb, fontFamily: familyRound, fontPackage: package); ///
Usb icon (round)
- static const IconData usb_round = IconData(0xe1f9, fontFamily: familyRound, fontPackage: package); + static const IconData usb_round = IconData(0xe1fc, fontFamily: familyRound, fontPackage: package); ///
User Circle icon (round)
- static const IconData user_circle_round = IconData(0xe1fa, fontFamily: familyRound, fontPackage: package); + static const IconData user_circle_round = IconData(0xe1fd, fontFamily: familyRound, fontPackage: package); ///
User Minor icon (round)
- static const IconData user_minor_round = IconData(0xe1fb, fontFamily: familyRound, fontPackage: package); + static const IconData user_minor_round = IconData(0xe1fe, fontFamily: familyRound, fontPackage: package); ///
User icon (round)
- static const IconData user_round = IconData(0xe1fc, fontFamily: familyRound, fontPackage: package); + static const IconData user_round = IconData(0xe1ff, fontFamily: familyRound, fontPackage: package); ///
User Settings icon (round)
- static const IconData user_settings_round = IconData(0xe1fd, fontFamily: familyRound, fontPackage: package); + static const IconData user_settings_round = IconData(0xe200, fontFamily: familyRound, fontPackage: package); ///
Vacation icon (round)
- static const IconData vacation_round = IconData(0xe1fe, fontFamily: familyRound, fontPackage: package); + static const IconData vacation_round = IconData(0xe201, fontFamily: familyRound, fontPackage: package); ///
Verified icon (round)
- static const IconData verified_round = IconData(0xe1ff, fontFamily: familyRound, fontPackage: package); + static const IconData verified_round = IconData(0xe202, fontFamily: familyRound, fontPackage: package); ///
Very Satisfied icon (round)
- static const IconData very_satisfied_round = IconData(0xe200, fontFamily: familyRound, fontPackage: package); + static const IconData very_satisfied_round = IconData(0xe203, fontFamily: familyRound, fontPackage: package); ///
Video Camera icon (round)
- static const IconData video_camera_round = IconData(0xe201, fontFamily: familyRound, fontPackage: package); + static const IconData video_camera_round = IconData(0xe204, fontFamily: familyRound, fontPackage: package); ///
Video Off icon (round)
- static const IconData video_off_round = IconData(0xe202, fontFamily: familyRound, fontPackage: package); + static const IconData video_off_round = IconData(0xe205, fontFamily: familyRound, fontPackage: package); ///
Video Play icon (round)
- static const IconData video_play_round = IconData(0xe203, fontFamily: familyRound, fontPackage: package); + static const IconData video_play_round = IconData(0xe206, fontFamily: familyRound, fontPackage: package); ///
Video icon (round)
- static const IconData video_round = IconData(0xe204, fontFamily: familyRound, fontPackage: package); + static const IconData video_round = IconData(0xe207, fontFamily: familyRound, fontPackage: package); ///
Visibility Off icon (round)
- static const IconData visibility_off_round = IconData(0xe205, fontFamily: familyRound, fontPackage: package); + static const IconData visibility_off_round = IconData(0xe208, fontFamily: familyRound, fontPackage: package); ///
Visibility icon (round)
- static const IconData visibility_round = IconData(0xe206, fontFamily: familyRound, fontPackage: package); + static const IconData visibility_round = IconData(0xe209, fontFamily: familyRound, fontPackage: package); ///
Volte icon (round)
- static const IconData volte_round = IconData(0xe207, fontFamily: familyRound, fontPackage: package); + static const IconData volte_round = IconData(0xe20a, fontFamily: familyRound, fontPackage: package); ///
Volume Down icon (round)
- static const IconData volume_down_round = IconData(0xe208, fontFamily: familyRound, fontPackage: package); + static const IconData volume_down_round = IconData(0xe20b, fontFamily: familyRound, fontPackage: package); ///
Volume Mute icon (round)
- static const IconData volume_mute_round = IconData(0xe209, fontFamily: familyRound, fontPackage: package); + static const IconData volume_mute_round = IconData(0xe20c, fontFamily: familyRound, fontPackage: package); ///
Volume Off icon (round)
- static const IconData volume_off_round = IconData(0xe20a, fontFamily: familyRound, fontPackage: package); + static const IconData volume_off_round = IconData(0xe20d, fontFamily: familyRound, fontPackage: package); ///
Volume Up icon (round)
- static const IconData volume_up_round = IconData(0xe20b, fontFamily: familyRound, fontPackage: package); + static const IconData volume_up_round = IconData(0xe20e, fontFamily: familyRound, fontPackage: package); ///
Warning Outline icon (round)
- static const IconData warning_outline_round = IconData(0xe20c, fontFamily: familyRound, fontPackage: package); + static const IconData warning_outline_round = IconData(0xe20f, fontFamily: familyRound, fontPackage: package); ///
Warning icon (round)
- static const IconData warning_round = IconData(0xe20d, fontFamily: familyRound, fontPackage: package); + static const IconData warning_round = IconData(0xe210, fontFamily: familyRound, fontPackage: package); ///
Watch icon (round)
- static const IconData watch_round = IconData(0xe20e, fontFamily: familyRound, fontPackage: package); + static const IconData watch_round = IconData(0xe211, fontFamily: familyRound, fontPackage: package); ///
Wb Image icon (round)
- static const IconData wb_image_round = IconData(0xe20f, fontFamily: familyRound, fontPackage: package); + static const IconData wb_image_round = IconData(0xe212, fontFamily: familyRound, fontPackage: package); ///
Wb icon (round)
- static const IconData wb_round = IconData(0xe210, fontFamily: familyRound, fontPackage: package); + static const IconData wb_round = IconData(0xe213, fontFamily: familyRound, fontPackage: package); ///
World Action icon (round)
- static const IconData world_action_round = IconData(0xe211, fontFamily: familyRound, fontPackage: package); + static const IconData world_action_round = IconData(0xe214, fontFamily: familyRound, fontPackage: package); ///
World icon (round)
- static const IconData world_round = IconData(0xe212, fontFamily: familyRound, fontPackage: package); + static const IconData world_round = IconData(0xe215, fontFamily: familyRound, fontPackage: package); ///
Write icon (round)
- static const IconData write_round = IconData(0xe213, fontFamily: familyRound, fontPackage: package); + static const IconData write_round = IconData(0xe216, fontFamily: familyRound, fontPackage: package); ///
Youtube icon (round)
- static const IconData youtube_round = IconData(0xe214, fontFamily: familyRound, fontPackage: package); + static const IconData youtube_round = IconData(0xe217, fontFamily: familyRound, fontPackage: package); ///
Zero Scale icon (round)
- static const IconData zero_scale_round = IconData(0xe215, fontFamily: familyRound, fontPackage: package); + static const IconData zero_scale_round = IconData(0xe218, fontFamily: familyRound, fontPackage: package); ///
Zoom In Map icon (round)
- static const IconData zoom_in_map_round = IconData(0xe216, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_in_map_round = IconData(0xe219, fontFamily: familyRound, fontPackage: package); ///
Zoom In icon (round)
- static const IconData zoom_in_round = IconData(0xe217, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_in_round = IconData(0xe21a, fontFamily: familyRound, fontPackage: package); ///
Zoom Out Map icon (round)
- static const IconData zoom_out_map_round = IconData(0xe218, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_out_map_round = IconData(0xe21b, fontFamily: familyRound, fontPackage: package); ///
Zoom Out icon (round)
- static const IconData zoom_out_round = IconData(0xe219, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_out_round = IconData(0xe21c, fontFamily: familyRound, fontPackage: package); // Sharp Icons ///
Activity icon (sharp)
@@ -3762,1107 +3780,1116 @@ abstract class ZetaIcons { ///
Columns icon (sharp)
static const IconData columns_sharp = IconData(0xe0aa, fontFamily: familySharp, fontPackage: package); + ///
Comms Chat New icon (sharp)
+ static const IconData comms_chat_new_sharp = IconData(0xe0ab, fontFamily: familySharp, fontPackage: package); + + ///
Comms Chat icon (sharp)
+ static const IconData comms_chat_sharp = IconData(0xe0ac, fontFamily: familySharp, fontPackage: package); + + ///
Comms Chat Unread icon (sharp)
+ static const IconData comms_chat_unread_sharp = IconData(0xe0ad, fontFamily: familySharp, fontPackage: package); + ///
Contactless Pay icon (sharp)
- static const IconData contactless_pay_sharp = IconData(0xe0ab, fontFamily: familySharp, fontPackage: package); + static const IconData contactless_pay_sharp = IconData(0xe0ae, fontFamily: familySharp, fontPackage: package); ///
Content icon (sharp)
- static const IconData content_sharp = IconData(0xe0ac, fontFamily: familySharp, fontPackage: package); + static const IconData content_sharp = IconData(0xe0af, fontFamily: familySharp, fontPackage: package); ///
Contrast Image icon (sharp)
- static const IconData contrast_image_sharp = IconData(0xe0ad, fontFamily: familySharp, fontPackage: package); + static const IconData contrast_image_sharp = IconData(0xe0b0, fontFamily: familySharp, fontPackage: package); ///
Contrast icon (sharp)
- static const IconData contrast_sharp = IconData(0xe0ae, fontFamily: familySharp, fontPackage: package); + static const IconData contrast_sharp = IconData(0xe0b1, fontFamily: familySharp, fontPackage: package); ///
Conversation icon (sharp)
- static const IconData conversation_sharp = IconData(0xe0af, fontFamily: familySharp, fontPackage: package); + static const IconData conversation_sharp = IconData(0xe0b2, fontFamily: familySharp, fontPackage: package); ///
Copy File icon (sharp)
- static const IconData copy_file_sharp = IconData(0xe0b0, fontFamily: familySharp, fontPackage: package); + static const IconData copy_file_sharp = IconData(0xe0b3, fontFamily: familySharp, fontPackage: package); ///
Create New Folder icon (sharp)
- static const IconData create_new_folder_sharp = IconData(0xe0b1, fontFamily: familySharp, fontPackage: package); + static const IconData create_new_folder_sharp = IconData(0xe0b4, fontFamily: familySharp, fontPackage: package); ///
Credit Card icon (sharp)
- static const IconData credit_card_sharp = IconData(0xe0b2, fontFamily: familySharp, fontPackage: package); + static const IconData credit_card_sharp = IconData(0xe0b5, fontFamily: familySharp, fontPackage: package); ///
Credit Card Swipe icon (sharp)
- static const IconData credit_card_swipe_sharp = IconData(0xe0b3, fontFamily: familySharp, fontPackage: package); + static const IconData credit_card_swipe_sharp = IconData(0xe0b6, fontFamily: familySharp, fontPackage: package); ///
Crop icon (sharp)
- static const IconData crop_sharp = IconData(0xe0b4, fontFamily: familySharp, fontPackage: package); + static const IconData crop_sharp = IconData(0xe0b7, fontFamily: familySharp, fontPackage: package); ///
Dark Mode icon (sharp)
- static const IconData dark_mode_sharp = IconData(0xe0b5, fontFamily: familySharp, fontPackage: package); + static const IconData dark_mode_sharp = IconData(0xe0b8, fontFamily: familySharp, fontPackage: package); ///
Dashboard icon (sharp)
- static const IconData dashboard_sharp = IconData(0xe0b6, fontFamily: familySharp, fontPackage: package); + static const IconData dashboard_sharp = IconData(0xe0b9, fontFamily: familySharp, fontPackage: package); ///
Delete Forever icon (sharp)
- static const IconData delete_forever_sharp = IconData(0xe0b7, fontFamily: familySharp, fontPackage: package); + static const IconData delete_forever_sharp = IconData(0xe0ba, fontFamily: familySharp, fontPackage: package); ///
Delete Outline icon (sharp)
- static const IconData delete_outline_sharp = IconData(0xe0b8, fontFamily: familySharp, fontPackage: package); + static const IconData delete_outline_sharp = IconData(0xe0bb, fontFamily: familySharp, fontPackage: package); ///
Delete icon (sharp)
- static const IconData delete_sharp = IconData(0xe0b9, fontFamily: familySharp, fontPackage: package); + static const IconData delete_sharp = IconData(0xe0bc, fontFamily: familySharp, fontPackage: package); ///
Desktop icon (sharp)
- static const IconData desktop_sharp = IconData(0xe0ba, fontFamily: familySharp, fontPackage: package); + static const IconData desktop_sharp = IconData(0xe0bd, fontFamily: familySharp, fontPackage: package); ///
Device Settings icon (sharp)
- static const IconData device_settings_sharp = IconData(0xe0bb, fontFamily: familySharp, fontPackage: package); + static const IconData device_settings_sharp = IconData(0xe0be, fontFamily: familySharp, fontPackage: package); ///
Devices Ecosystem icon (sharp)
- static const IconData devices_ecosystem_sharp = IconData(0xe0bc, fontFamily: familySharp, fontPackage: package); + static const IconData devices_ecosystem_sharp = IconData(0xe0bf, fontFamily: familySharp, fontPackage: package); ///
Devices icon (sharp)
- static const IconData devices_sharp = IconData(0xe0bd, fontFamily: familySharp, fontPackage: package); + static const IconData devices_sharp = IconData(0xe0c0, fontFamily: familySharp, fontPackage: package); ///
Dialpad icon (sharp)
- static const IconData dialpad_sharp = IconData(0xe0be, fontFamily: familySharp, fontPackage: package); + static const IconData dialpad_sharp = IconData(0xe0c1, fontFamily: familySharp, fontPackage: package); ///
Dislike icon (sharp)
- static const IconData dislike_sharp = IconData(0xe0bf, fontFamily: familySharp, fontPackage: package); + static const IconData dislike_sharp = IconData(0xe0c2, fontFamily: familySharp, fontPackage: package); ///
Distribute Horizontal icon (sharp)
- static const IconData distribute_horizontal_sharp = IconData(0xe0c0, fontFamily: familySharp, fontPackage: package); + static const IconData distribute_horizontal_sharp = IconData(0xe0c3, fontFamily: familySharp, fontPackage: package); ///
Distribute Vertical icon (sharp)
- static const IconData distribute_vertical_sharp = IconData(0xe0c1, fontFamily: familySharp, fontPackage: package); + static const IconData distribute_vertical_sharp = IconData(0xe0c4, fontFamily: familySharp, fontPackage: package); ///
Doc Attach icon (sharp)
- static const IconData doc_attach_sharp = IconData(0xe0c2, fontFamily: familySharp, fontPackage: package); + static const IconData doc_attach_sharp = IconData(0xe0c5, fontFamily: familySharp, fontPackage: package); ///
Document icon (sharp)
- static const IconData document_sharp = IconData(0xe0c3, fontFamily: familySharp, fontPackage: package); + static const IconData document_sharp = IconData(0xe0c6, fontFamily: familySharp, fontPackage: package); ///
Dollar icon (sharp)
- static const IconData dollar_sharp = IconData(0xe0c4, fontFamily: familySharp, fontPackage: package); + static const IconData dollar_sharp = IconData(0xe0c7, fontFamily: familySharp, fontPackage: package); ///
Download icon (sharp)
- static const IconData download_sharp = IconData(0xe0c5, fontFamily: familySharp, fontPackage: package); + static const IconData download_sharp = IconData(0xe0c8, fontFamily: familySharp, fontPackage: package); ///
Downloading icon (sharp)
- static const IconData downloading_sharp = IconData(0xe0c6, fontFamily: familySharp, fontPackage: package); + static const IconData downloading_sharp = IconData(0xe0c9, fontFamily: familySharp, fontPackage: package); ///
Drop Down Circle icon (sharp)
- static const IconData drop_down_circle_sharp = IconData(0xe0c7, fontFamily: familySharp, fontPackage: package); + static const IconData drop_down_circle_sharp = IconData(0xe0ca, fontFamily: familySharp, fontPackage: package); ///
Eas icon (sharp)
- static const IconData eas_sharp = IconData(0xe0c8, fontFamily: familySharp, fontPackage: package); + static const IconData eas_sharp = IconData(0xe0cb, fontFamily: familySharp, fontPackage: package); ///
Edit Border icon (sharp)
- static const IconData edit_border_sharp = IconData(0xe0c9, fontFamily: familySharp, fontPackage: package); + static const IconData edit_border_sharp = IconData(0xe0cc, fontFamily: familySharp, fontPackage: package); ///
Edit icon (sharp)
- static const IconData edit_sharp = IconData(0xe0ca, fontFamily: familySharp, fontPackage: package); + static const IconData edit_sharp = IconData(0xe0cd, fontFamily: familySharp, fontPackage: package); ///
Email Alt icon (sharp)
- static const IconData email_alt_sharp = IconData(0xe0cb, fontFamily: familySharp, fontPackage: package); + static const IconData email_alt_sharp = IconData(0xe0ce, fontFamily: familySharp, fontPackage: package); ///
Email Outline icon (sharp)
- static const IconData email_outline_sharp = IconData(0xe0cc, fontFamily: familySharp, fontPackage: package); + static const IconData email_outline_sharp = IconData(0xe0cf, fontFamily: familySharp, fontPackage: package); ///
Email Reply All icon (sharp)
- static const IconData email_reply_all_sharp = IconData(0xe0cd, fontFamily: familySharp, fontPackage: package); + static const IconData email_reply_all_sharp = IconData(0xe0d0, fontFamily: familySharp, fontPackage: package); ///
Email icon (sharp)
- static const IconData email_sharp = IconData(0xe0ce, fontFamily: familySharp, fontPackage: package); + static const IconData email_sharp = IconData(0xe0d1, fontFamily: familySharp, fontPackage: package); ///
End Call icon (sharp)
- static const IconData end_call_sharp = IconData(0xe0cf, fontFamily: familySharp, fontPackage: package); + static const IconData end_call_sharp = IconData(0xe0d2, fontFamily: familySharp, fontPackage: package); ///
Enterprise Diagnostics icon (sharp)
- static const IconData enterprise_diagnostics_sharp = IconData(0xe0d0, fontFamily: familySharp, fontPackage: package); + static const IconData enterprise_diagnostics_sharp = IconData(0xe0d3, fontFamily: familySharp, fontPackage: package); ///
Environmental icon (sharp)
- static const IconData environmental_sharp = IconData(0xe0d1, fontFamily: familySharp, fontPackage: package); + static const IconData environmental_sharp = IconData(0xe0d4, fontFamily: familySharp, fontPackage: package); ///
Error Outline icon (sharp)
- static const IconData error_outline_sharp = IconData(0xe0d2, fontFamily: familySharp, fontPackage: package); + static const IconData error_outline_sharp = IconData(0xe0d5, fontFamily: familySharp, fontPackage: package); ///
Error icon (sharp)
- static const IconData error_sharp = IconData(0xe0d3, fontFamily: familySharp, fontPackage: package); + static const IconData error_sharp = IconData(0xe0d6, fontFamily: familySharp, fontPackage: package); ///
Ethernet icon (sharp)
- static const IconData ethernet_sharp = IconData(0xe0d4, fontFamily: familySharp, fontPackage: package); + static const IconData ethernet_sharp = IconData(0xe0d7, fontFamily: familySharp, fontPackage: package); ///
Exit icon (sharp)
- static const IconData exit_sharp = IconData(0xe0d5, fontFamily: familySharp, fontPackage: package); + static const IconData exit_sharp = IconData(0xe0d8, fontFamily: familySharp, fontPackage: package); ///
Expand Less icon (sharp)
- static const IconData expand_less_sharp = IconData(0xe0d6, fontFamily: familySharp, fontPackage: package); + static const IconData expand_less_sharp = IconData(0xe0d9, fontFamily: familySharp, fontPackage: package); ///
Expand More icon (sharp)
- static const IconData expand_more_sharp = IconData(0xe0d7, fontFamily: familySharp, fontPackage: package); + static const IconData expand_more_sharp = IconData(0xe0da, fontFamily: familySharp, fontPackage: package); ///
Eye Dropper icon (sharp)
- static const IconData eye_dropper_sharp = IconData(0xe0d8, fontFamily: familySharp, fontPackage: package); + static const IconData eye_dropper_sharp = IconData(0xe0db, fontFamily: familySharp, fontPackage: package); ///
Eye Preview icon (sharp)
- static const IconData eye_preview_sharp = IconData(0xe0d9, fontFamily: familySharp, fontPackage: package); + static const IconData eye_preview_sharp = IconData(0xe0dc, fontFamily: familySharp, fontPackage: package); ///
Face Id icon (sharp)
- static const IconData face_id_sharp = IconData(0xe0da, fontFamily: familySharp, fontPackage: package); + static const IconData face_id_sharp = IconData(0xe0dd, fontFamily: familySharp, fontPackage: package); ///
Facebook icon (sharp)
- static const IconData facebook_sharp = IconData(0xe0db, fontFamily: familySharp, fontPackage: package); + static const IconData facebook_sharp = IconData(0xe0de, fontFamily: familySharp, fontPackage: package); ///
Factory icon (sharp)
- static const IconData factory_sharp = IconData(0xe0dc, fontFamily: familySharp, fontPackage: package); + static const IconData factory_sharp = IconData(0xe0df, fontFamily: familySharp, fontPackage: package); ///
Fast Forward icon (sharp)
- static const IconData fast_forward_sharp = IconData(0xe0dd, fontFamily: familySharp, fontPackage: package); + static const IconData fast_forward_sharp = IconData(0xe0e0, fontFamily: familySharp, fontPackage: package); ///
Fast Rewind icon (sharp)
- static const IconData fast_rewind_sharp = IconData(0xe0de, fontFamily: familySharp, fontPackage: package); + static const IconData fast_rewind_sharp = IconData(0xe0e1, fontFamily: familySharp, fontPackage: package); ///
File icon (sharp)
- static const IconData file_sharp = IconData(0xe0df, fontFamily: familySharp, fontPackage: package); + static const IconData file_sharp = IconData(0xe0e2, fontFamily: familySharp, fontPackage: package); ///
Filter Alt icon (sharp)
- static const IconData filter_alt_sharp = IconData(0xe0e0, fontFamily: familySharp, fontPackage: package); + static const IconData filter_alt_sharp = IconData(0xe0e3, fontFamily: familySharp, fontPackage: package); ///
Filter icon (sharp)
- static const IconData filter_sharp = IconData(0xe0e1, fontFamily: familySharp, fontPackage: package); + static const IconData filter_sharp = IconData(0xe0e4, fontFamily: familySharp, fontPackage: package); ///
Finished Download icon (sharp)
- static const IconData finished_download_sharp = IconData(0xe0e2, fontFamily: familySharp, fontPackage: package); + static const IconData finished_download_sharp = IconData(0xe0e5, fontFamily: familySharp, fontPackage: package); ///
First Page icon (sharp)
- static const IconData first_page_sharp = IconData(0xe0e3, fontFamily: familySharp, fontPackage: package); + static const IconData first_page_sharp = IconData(0xe0e6, fontFamily: familySharp, fontPackage: package); ///
Flag icon (sharp)
- static const IconData flag_sharp = IconData(0xe0e4, fontFamily: familySharp, fontPackage: package); + static const IconData flag_sharp = IconData(0xe0e7, fontFamily: familySharp, fontPackage: package); ///
Flight Mode icon (sharp)
- static const IconData flight_mode_sharp = IconData(0xe0e5, fontFamily: familySharp, fontPackage: package); + static const IconData flight_mode_sharp = IconData(0xe0e8, fontFamily: familySharp, fontPackage: package); ///
Flight icon (sharp)
- static const IconData flight_sharp = IconData(0xe0e6, fontFamily: familySharp, fontPackage: package); + static const IconData flight_sharp = IconData(0xe0e9, fontFamily: familySharp, fontPackage: package); ///
Flip icon (sharp)
- static const IconData flip_sharp = IconData(0xe0e7, fontFamily: familySharp, fontPackage: package); + static const IconData flip_sharp = IconData(0xe0ea, fontFamily: familySharp, fontPackage: package); ///
Folder File icon (sharp)
- static const IconData folder_file_sharp = IconData(0xe0e8, fontFamily: familySharp, fontPackage: package); + static const IconData folder_file_sharp = IconData(0xe0eb, fontFamily: familySharp, fontPackage: package); ///
Folder Outline icon (sharp)
- static const IconData folder_outline_sharp = IconData(0xe0e9, fontFamily: familySharp, fontPackage: package); + static const IconData folder_outline_sharp = IconData(0xe0ec, fontFamily: familySharp, fontPackage: package); ///
Folder icon (sharp)
- static const IconData folder_sharp = IconData(0xe0ea, fontFamily: familySharp, fontPackage: package); + static const IconData folder_sharp = IconData(0xe0ed, fontFamily: familySharp, fontPackage: package); ///
Font Size Decrease icon (sharp)
- static const IconData font_size_decrease_sharp = IconData(0xe0eb, fontFamily: familySharp, fontPackage: package); + static const IconData font_size_decrease_sharp = IconData(0xe0ee, fontFamily: familySharp, fontPackage: package); ///
Font Size Increase icon (sharp)
- static const IconData font_size_increase_sharp = IconData(0xe0ec, fontFamily: familySharp, fontPackage: package); + static const IconData font_size_increase_sharp = IconData(0xe0ef, fontFamily: familySharp, fontPackage: package); ///
Format Shapes icon (sharp)
- static const IconData format_shapes_sharp = IconData(0xe0ed, fontFamily: familySharp, fontPackage: package); + static const IconData format_shapes_sharp = IconData(0xe0f0, fontFamily: familySharp, fontPackage: package); ///
Forward icon (sharp)
- static const IconData forward_sharp = IconData(0xe0ee, fontFamily: familySharp, fontPackage: package); + static const IconData forward_sharp = IconData(0xe0f1, fontFamily: familySharp, fontPackage: package); ///
Freezer icon (sharp)
- static const IconData freezer_sharp = IconData(0xe0ef, fontFamily: familySharp, fontPackage: package); + static const IconData freezer_sharp = IconData(0xe0f2, fontFamily: familySharp, fontPackage: package); ///
Full Screen Exit icon (sharp)
- static const IconData full_screen_exit_sharp = IconData(0xe0f0, fontFamily: familySharp, fontPackage: package); + static const IconData full_screen_exit_sharp = IconData(0xe0f3, fontFamily: familySharp, fontPackage: package); ///
Full Screen icon (sharp)
- static const IconData full_screen_sharp = IconData(0xe0f1, fontFamily: familySharp, fontPackage: package); + static const IconData full_screen_sharp = IconData(0xe0f4, fontFamily: familySharp, fontPackage: package); ///
Gif icon (sharp)
- static const IconData gif_sharp = IconData(0xe0f2, fontFamily: familySharp, fontPackage: package); + static const IconData gif_sharp = IconData(0xe0f5, fontFamily: familySharp, fontPackage: package); ///
Glossary icon (sharp)
- static const IconData glossary_sharp = IconData(0xe0f3, fontFamily: familySharp, fontPackage: package); + static const IconData glossary_sharp = IconData(0xe0f6, fontFamily: familySharp, fontPackage: package); ///
Grid Off icon (sharp)
- static const IconData grid_off_sharp = IconData(0xe0f4, fontFamily: familySharp, fontPackage: package); + static const IconData grid_off_sharp = IconData(0xe0f7, fontFamily: familySharp, fontPackage: package); ///
Grid On icon (sharp)
- static const IconData grid_on_sharp = IconData(0xe0f5, fontFamily: familySharp, fontPackage: package); + static const IconData grid_on_sharp = IconData(0xe0f8, fontFamily: familySharp, fontPackage: package); ///
Grid View icon (sharp)
- static const IconData grid_view_sharp = IconData(0xe0f6, fontFamily: familySharp, fontPackage: package); + static const IconData grid_view_sharp = IconData(0xe0f9, fontFamily: familySharp, fontPackage: package); ///
Group icon (sharp)
- static const IconData group_sharp = IconData(0xe0f7, fontFamily: familySharp, fontPackage: package); + static const IconData group_sharp = IconData(0xe0fa, fontFamily: familySharp, fontPackage: package); ///
Groups icon (sharp)
- static const IconData groups_sharp = IconData(0xe0f8, fontFamily: familySharp, fontPackage: package); + static const IconData groups_sharp = IconData(0xe0fb, fontFamily: familySharp, fontPackage: package); ///
Hamburger Menu Navigation Rail icon (sharp)
static const IconData hamburger_menu_navigation_rail_sharp = - IconData(0xe0f9, fontFamily: familySharp, fontPackage: package); + IconData(0xe0fc, fontFamily: familySharp, fontPackage: package); ///
Hamburger Menu icon (sharp)
- static const IconData hamburger_menu_sharp = IconData(0xe0fa, fontFamily: familySharp, fontPackage: package); + static const IconData hamburger_menu_sharp = IconData(0xe0fd, fontFamily: familySharp, fontPackage: package); ///
Hamburger Menu Thick icon (sharp)
- static const IconData hamburger_menu_thick_sharp = IconData(0xe0fb, fontFamily: familySharp, fontPackage: package); + static const IconData hamburger_menu_thick_sharp = IconData(0xe0fe, fontFamily: familySharp, fontPackage: package); ///
Hand icon (sharp)
- static const IconData hand_sharp = IconData(0xe0fc, fontFamily: familySharp, fontPackage: package); + static const IconData hand_sharp = IconData(0xe0ff, fontFamily: familySharp, fontPackage: package); ///
Happy icon (sharp)
- static const IconData happy_sharp = IconData(0xe0fd, fontFamily: familySharp, fontPackage: package); + static const IconData happy_sharp = IconData(0xe100, fontFamily: familySharp, fontPackage: package); ///
Hdmi icon (sharp)
- static const IconData hdmi_sharp = IconData(0xe0fe, fontFamily: familySharp, fontPackage: package); + static const IconData hdmi_sharp = IconData(0xe101, fontFamily: familySharp, fontPackage: package); ///
Hdr icon (sharp)
- static const IconData hdr_sharp = IconData(0xe0ff, fontFamily: familySharp, fontPackage: package); + static const IconData hdr_sharp = IconData(0xe102, fontFamily: familySharp, fontPackage: package); ///
Headphones icon (sharp)
- static const IconData headphones_sharp = IconData(0xe100, fontFamily: familySharp, fontPackage: package); + static const IconData headphones_sharp = IconData(0xe103, fontFamily: familySharp, fontPackage: package); ///
Headset icon (sharp)
- static const IconData headset_sharp = IconData(0xe101, fontFamily: familySharp, fontPackage: package); + static const IconData headset_sharp = IconData(0xe104, fontFamily: familySharp, fontPackage: package); ///
Help Outline icon (sharp)
- static const IconData help_outline_sharp = IconData(0xe102, fontFamily: familySharp, fontPackage: package); + static const IconData help_outline_sharp = IconData(0xe105, fontFamily: familySharp, fontPackage: package); ///
Help icon (sharp)
- static const IconData help_sharp = IconData(0xe103, fontFamily: familySharp, fontPackage: package); + static const IconData help_sharp = IconData(0xe106, fontFamily: familySharp, fontPackage: package); ///
History icon (sharp)
- static const IconData history_sharp = IconData(0xe104, fontFamily: familySharp, fontPackage: package); + static const IconData history_sharp = IconData(0xe107, fontFamily: familySharp, fontPackage: package); ///
Home icon (sharp)
- static const IconData home_sharp = IconData(0xe105, fontFamily: familySharp, fontPackage: package); + static const IconData home_sharp = IconData(0xe108, fontFamily: familySharp, fontPackage: package); ///
Hourglass icon (sharp)
- static const IconData hourglass_sharp = IconData(0xe106, fontFamily: familySharp, fontPackage: package); + static const IconData hourglass_sharp = IconData(0xe109, fontFamily: familySharp, fontPackage: package); ///
How Do I icon (sharp)
- static const IconData how_do_i_sharp = IconData(0xe107, fontFamily: familySharp, fontPackage: package); + static const IconData how_do_i_sharp = IconData(0xe10a, fontFamily: familySharp, fontPackage: package); ///
Image Library icon (sharp)
- static const IconData image_library_sharp = IconData(0xe108, fontFamily: familySharp, fontPackage: package); + static const IconData image_library_sharp = IconData(0xe10b, fontFamily: familySharp, fontPackage: package); ///
Image icon (sharp)
- static const IconData image_sharp = IconData(0xe109, fontFamily: familySharp, fontPackage: package); + static const IconData image_sharp = IconData(0xe10c, fontFamily: familySharp, fontPackage: package); ///
Important Notification icon (sharp)
- static const IconData important_notification_sharp = IconData(0xe10a, fontFamily: familySharp, fontPackage: package); + static const IconData important_notification_sharp = IconData(0xe10d, fontFamily: familySharp, fontPackage: package); ///
Inbox icon (sharp)
- static const IconData inbox_sharp = IconData(0xe10b, fontFamily: familySharp, fontPackage: package); + static const IconData inbox_sharp = IconData(0xe10e, fontFamily: familySharp, fontPackage: package); ///
Indent Decrease icon (sharp)
- static const IconData indent_decrease_sharp = IconData(0xe10c, fontFamily: familySharp, fontPackage: package); + static const IconData indent_decrease_sharp = IconData(0xe10f, fontFamily: familySharp, fontPackage: package); ///
Indent Increase icon (sharp)
- static const IconData indent_increase_sharp = IconData(0xe10d, fontFamily: familySharp, fontPackage: package); + static const IconData indent_increase_sharp = IconData(0xe110, fontFamily: familySharp, fontPackage: package); ///
Indeterminate Check Box icon (sharp)
- static const IconData indeterminate_check_box_sharp = IconData(0xe10e, fontFamily: familySharp, fontPackage: package); + static const IconData indeterminate_check_box_sharp = IconData(0xe111, fontFamily: familySharp, fontPackage: package); ///
Info icon (sharp)
- static const IconData info_sharp = IconData(0xe10f, fontFamily: familySharp, fontPackage: package); + static const IconData info_sharp = IconData(0xe112, fontFamily: familySharp, fontPackage: package); ///
Instagram icon (sharp)
- static const IconData instagram_sharp = IconData(0xe110, fontFamily: familySharp, fontPackage: package); + static const IconData instagram_sharp = IconData(0xe113, fontFamily: familySharp, fontPackage: package); ///
Ios Share icon (sharp)
- static const IconData ios_share_sharp = IconData(0xe111, fontFamily: familySharp, fontPackage: package); + static const IconData ios_share_sharp = IconData(0xe114, fontFamily: familySharp, fontPackage: package); ///
Iso icon (sharp)
- static const IconData iso_sharp = IconData(0xe112, fontFamily: familySharp, fontPackage: package); + static const IconData iso_sharp = IconData(0xe115, fontFamily: familySharp, fontPackage: package); ///
Issue Audit icon (sharp)
- static const IconData issue_audit_sharp = IconData(0xe113, fontFamily: familySharp, fontPackage: package); + static const IconData issue_audit_sharp = IconData(0xe116, fontFamily: familySharp, fontPackage: package); ///
Italic icon (sharp)
- static const IconData italic_sharp = IconData(0xe114, fontFamily: familySharp, fontPackage: package); + static const IconData italic_sharp = IconData(0xe117, fontFamily: familySharp, fontPackage: package); ///
Jpg Attach icon (sharp)
- static const IconData jpg_attach_sharp = IconData(0xe115, fontFamily: familySharp, fontPackage: package); + static const IconData jpg_attach_sharp = IconData(0xe118, fontFamily: familySharp, fontPackage: package); ///
Justify icon (sharp)
- static const IconData justify_sharp = IconData(0xe116, fontFamily: familySharp, fontPackage: package); + static const IconData justify_sharp = IconData(0xe119, fontFamily: familySharp, fontPackage: package); ///
Keyboard icon (sharp)
- static const IconData keyboard_sharp = IconData(0xe117, fontFamily: familySharp, fontPackage: package); + static const IconData keyboard_sharp = IconData(0xe11a, fontFamily: familySharp, fontPackage: package); ///
Label icon (sharp)
- static const IconData label_sharp = IconData(0xe118, fontFamily: familySharp, fontPackage: package); + static const IconData label_sharp = IconData(0xe11b, fontFamily: familySharp, fontPackage: package); ///
Laptop icon (sharp)
- static const IconData laptop_sharp = IconData(0xe119, fontFamily: familySharp, fontPackage: package); + static const IconData laptop_sharp = IconData(0xe11c, fontFamily: familySharp, fontPackage: package); ///
Last Page icon (sharp)
- static const IconData last_page_sharp = IconData(0xe11a, fontFamily: familySharp, fontPackage: package); + static const IconData last_page_sharp = IconData(0xe11d, fontFamily: familySharp, fontPackage: package); ///
Layers icon (sharp)
- static const IconData layers_sharp = IconData(0xe11b, fontFamily: familySharp, fontPackage: package); + static const IconData layers_sharp = IconData(0xe11e, fontFamily: familySharp, fontPackage: package); ///
Light Mode icon (sharp)
- static const IconData light_mode_sharp = IconData(0xe11c, fontFamily: familySharp, fontPackage: package); + static const IconData light_mode_sharp = IconData(0xe11f, fontFamily: familySharp, fontPackage: package); ///
Light Rail Train icon (sharp)
- static const IconData light_rail_train_sharp = IconData(0xe11d, fontFamily: familySharp, fontPackage: package); + static const IconData light_rail_train_sharp = IconData(0xe120, fontFamily: familySharp, fontPackage: package); ///
Lightbulb icon (sharp)
- static const IconData lightbulb_sharp = IconData(0xe11e, fontFamily: familySharp, fontPackage: package); + static const IconData lightbulb_sharp = IconData(0xe121, fontFamily: familySharp, fontPackage: package); ///
Like icon (sharp)
- static const IconData like_sharp = IconData(0xe11f, fontFamily: familySharp, fontPackage: package); + static const IconData like_sharp = IconData(0xe122, fontFamily: familySharp, fontPackage: package); ///
Line Spacing icon (sharp)
- static const IconData line_spacing_sharp = IconData(0xe120, fontFamily: familySharp, fontPackage: package); + static const IconData line_spacing_sharp = IconData(0xe123, fontFamily: familySharp, fontPackage: package); ///
Link Add icon (sharp)
- static const IconData link_add_sharp = IconData(0xe121, fontFamily: familySharp, fontPackage: package); + static const IconData link_add_sharp = IconData(0xe124, fontFamily: familySharp, fontPackage: package); ///
Link icon (sharp)
- static const IconData link_sharp = IconData(0xe122, fontFamily: familySharp, fontPackage: package); + static const IconData link_sharp = IconData(0xe125, fontFamily: familySharp, fontPackage: package); ///
Linkedin icon (sharp)
- static const IconData linkedin_sharp = IconData(0xe123, fontFamily: familySharp, fontPackage: package); + static const IconData linkedin_sharp = IconData(0xe126, fontFamily: familySharp, fontPackage: package); ///
List Alt icon (sharp)
- static const IconData list_alt_sharp = IconData(0xe124, fontFamily: familySharp, fontPackage: package); + static const IconData list_alt_sharp = IconData(0xe127, fontFamily: familySharp, fontPackage: package); ///
List Bullet Contained icon (sharp)
- static const IconData list_bullet_contained_sharp = IconData(0xe125, fontFamily: familySharp, fontPackage: package); + static const IconData list_bullet_contained_sharp = IconData(0xe128, fontFamily: familySharp, fontPackage: package); ///
List Feedback icon (sharp)
- static const IconData list_feedback_sharp = IconData(0xe126, fontFamily: familySharp, fontPackage: package); + static const IconData list_feedback_sharp = IconData(0xe129, fontFamily: familySharp, fontPackage: package); ///
List Form icon (sharp)
- static const IconData list_form_sharp = IconData(0xe127, fontFamily: familySharp, fontPackage: package); + static const IconData list_form_sharp = IconData(0xe12a, fontFamily: familySharp, fontPackage: package); ///
List icon (sharp)
- static const IconData list_sharp = IconData(0xe128, fontFamily: familySharp, fontPackage: package); + static const IconData list_sharp = IconData(0xe12b, fontFamily: familySharp, fontPackage: package); ///
Local Shipping icon (sharp)
- static const IconData local_shipping_sharp = IconData(0xe129, fontFamily: familySharp, fontPackage: package); + static const IconData local_shipping_sharp = IconData(0xe12c, fontFamily: familySharp, fontPackage: package); ///
Location Off icon (sharp)
- static const IconData location_off_sharp = IconData(0xe12a, fontFamily: familySharp, fontPackage: package); + static const IconData location_off_sharp = IconData(0xe12d, fontFamily: familySharp, fontPackage: package); ///
Location Point icon (sharp)
- static const IconData location_point_sharp = IconData(0xe12b, fontFamily: familySharp, fontPackage: package); + static const IconData location_point_sharp = IconData(0xe12e, fontFamily: familySharp, fontPackage: package); ///
Location icon (sharp)
- static const IconData location_sharp = IconData(0xe12c, fontFamily: familySharp, fontPackage: package); + static const IconData location_sharp = IconData(0xe12f, fontFamily: familySharp, fontPackage: package); ///
Lock Alt icon (sharp)
- static const IconData lock_alt_sharp = IconData(0xe12d, fontFamily: familySharp, fontPackage: package); + static const IconData lock_alt_sharp = IconData(0xe130, fontFamily: familySharp, fontPackage: package); ///
Lock icon (sharp)
- static const IconData lock_sharp = IconData(0xe12e, fontFamily: familySharp, fontPackage: package); + static const IconData lock_sharp = IconData(0xe131, fontFamily: familySharp, fontPackage: package); ///
Lock Undo icon (sharp)
- static const IconData lock_undo_sharp = IconData(0xe12f, fontFamily: familySharp, fontPackage: package); + static const IconData lock_undo_sharp = IconData(0xe132, fontFamily: familySharp, fontPackage: package); ///
Log In icon (sharp)
- static const IconData log_in_sharp = IconData(0xe130, fontFamily: familySharp, fontPackage: package); + static const IconData log_in_sharp = IconData(0xe133, fontFamily: familySharp, fontPackage: package); ///
Log Out icon (sharp)
- static const IconData log_out_sharp = IconData(0xe131, fontFamily: familySharp, fontPackage: package); + static const IconData log_out_sharp = IconData(0xe134, fontFamily: familySharp, fontPackage: package); ///
Love Outline icon (sharp)
- static const IconData love_outline_sharp = IconData(0xe132, fontFamily: familySharp, fontPackage: package); + static const IconData love_outline_sharp = IconData(0xe135, fontFamily: familySharp, fontPackage: package); ///
Love icon (sharp)
- static const IconData love_sharp = IconData(0xe133, fontFamily: familySharp, fontPackage: package); + static const IconData love_sharp = IconData(0xe136, fontFamily: familySharp, fontPackage: package); ///
Maintenance icon (sharp)
- static const IconData maintenance_sharp = IconData(0xe134, fontFamily: familySharp, fontPackage: package); + static const IconData maintenance_sharp = IconData(0xe137, fontFamily: familySharp, fontPackage: package); ///
Map icon (sharp)
- static const IconData map_sharp = IconData(0xe135, fontFamily: familySharp, fontPackage: package); + static const IconData map_sharp = IconData(0xe138, fontFamily: familySharp, fontPackage: package); ///
Meal icon (sharp)
- static const IconData meal_sharp = IconData(0xe136, fontFamily: familySharp, fontPackage: package); + static const IconData meal_sharp = IconData(0xe139, fontFamily: familySharp, fontPackage: package); ///
Medium icon (sharp)
- static const IconData medium_sharp = IconData(0xe137, fontFamily: familySharp, fontPackage: package); + static const IconData medium_sharp = IconData(0xe13a, fontFamily: familySharp, fontPackage: package); ///
Memory icon (sharp)
- static const IconData memory_sharp = IconData(0xe138, fontFamily: familySharp, fontPackage: package); + static const IconData memory_sharp = IconData(0xe13b, fontFamily: familySharp, fontPackage: package); ///
Message icon (sharp)
- static const IconData message_sharp = IconData(0xe139, fontFamily: familySharp, fontPackage: package); + static const IconData message_sharp = IconData(0xe13c, fontFamily: familySharp, fontPackage: package); ///
Microphone Off icon (sharp)
- static const IconData microphone_off_sharp = IconData(0xe13a, fontFamily: familySharp, fontPackage: package); + static const IconData microphone_off_sharp = IconData(0xe13d, fontFamily: familySharp, fontPackage: package); ///
Microphone Outline icon (sharp)
- static const IconData microphone_outline_sharp = IconData(0xe13b, fontFamily: familySharp, fontPackage: package); + static const IconData microphone_outline_sharp = IconData(0xe13e, fontFamily: familySharp, fontPackage: package); ///
Microphone icon (sharp)
- static const IconData microphone_sharp = IconData(0xe13c, fontFamily: familySharp, fontPackage: package); + static const IconData microphone_sharp = IconData(0xe13f, fontFamily: familySharp, fontPackage: package); ///
Mobile Friendly icon (sharp)
- static const IconData mobile_friendly_sharp = IconData(0xe13d, fontFamily: familySharp, fontPackage: package); + static const IconData mobile_friendly_sharp = IconData(0xe140, fontFamily: familySharp, fontPackage: package); ///
Money Euro icon (sharp)
- static const IconData money_euro_sharp = IconData(0xe13e, fontFamily: familySharp, fontPackage: package); + static const IconData money_euro_sharp = IconData(0xe141, fontFamily: familySharp, fontPackage: package); ///
Money Pound icon (sharp)
- static const IconData money_pound_sharp = IconData(0xe13f, fontFamily: familySharp, fontPackage: package); + static const IconData money_pound_sharp = IconData(0xe142, fontFamily: familySharp, fontPackage: package); ///
Money Usd icon (sharp)
- static const IconData money_usd_sharp = IconData(0xe140, fontFamily: familySharp, fontPackage: package); + static const IconData money_usd_sharp = IconData(0xe143, fontFamily: familySharp, fontPackage: package); ///
Monitor icon (sharp)
- static const IconData monitor_sharp = IconData(0xe141, fontFamily: familySharp, fontPackage: package); + static const IconData monitor_sharp = IconData(0xe144, fontFamily: familySharp, fontPackage: package); ///
More Horizontal icon (sharp)
- static const IconData more_horizontal_sharp = IconData(0xe142, fontFamily: familySharp, fontPackage: package); + static const IconData more_horizontal_sharp = IconData(0xe145, fontFamily: familySharp, fontPackage: package); ///
More Vertical icon (sharp)
- static const IconData more_vertical_sharp = IconData(0xe143, fontFamily: familySharp, fontPackage: package); + static const IconData more_vertical_sharp = IconData(0xe146, fontFamily: familySharp, fontPackage: package); ///
My Location icon (sharp)
- static const IconData my_location_sharp = IconData(0xe144, fontFamily: familySharp, fontPackage: package); + static const IconData my_location_sharp = IconData(0xe147, fontFamily: familySharp, fontPackage: package); ///
Navigate icon (sharp)
- static const IconData navigate_sharp = IconData(0xe145, fontFamily: familySharp, fontPackage: package); + static const IconData navigate_sharp = IconData(0xe148, fontFamily: familySharp, fontPackage: package); ///
Navigation icon (sharp)
- static const IconData navigation_sharp = IconData(0xe146, fontFamily: familySharp, fontPackage: package); + static const IconData navigation_sharp = IconData(0xe149, fontFamily: familySharp, fontPackage: package); ///
Near Me icon (sharp)
- static const IconData near_me_sharp = IconData(0xe147, fontFamily: familySharp, fontPackage: package); + static const IconData near_me_sharp = IconData(0xe14a, fontFamily: familySharp, fontPackage: package); ///
Network Signal icon (sharp)
- static const IconData network_signal_sharp = IconData(0xe148, fontFamily: familySharp, fontPackage: package); + static const IconData network_signal_sharp = IconData(0xe14b, fontFamily: familySharp, fontPackage: package); ///
New Chat icon (sharp)
- static const IconData new_chat_sharp = IconData(0xe149, fontFamily: familySharp, fontPackage: package); + static const IconData new_chat_sharp = IconData(0xe14c, fontFamily: familySharp, fontPackage: package); ///
Nfc icon (sharp)
- static const IconData nfc_sharp = IconData(0xe14a, fontFamily: familySharp, fontPackage: package); + static const IconData nfc_sharp = IconData(0xe14d, fontFamily: familySharp, fontPackage: package); ///
Night icon (sharp)
- static const IconData night_sharp = IconData(0xe14b, fontFamily: familySharp, fontPackage: package); + static const IconData night_sharp = IconData(0xe14e, fontFamily: familySharp, fontPackage: package); ///
No Color icon (sharp)
- static const IconData no_color_sharp = IconData(0xe14c, fontFamily: familySharp, fontPackage: package); + static const IconData no_color_sharp = IconData(0xe14f, fontFamily: familySharp, fontPackage: package); ///
Note icon (sharp)
- static const IconData note_sharp = IconData(0xe14d, fontFamily: familySharp, fontPackage: package); + static const IconData note_sharp = IconData(0xe150, fontFamily: familySharp, fontPackage: package); ///
Notifications Off icon (sharp)
- static const IconData notifications_off_sharp = IconData(0xe14e, fontFamily: familySharp, fontPackage: package); + static const IconData notifications_off_sharp = IconData(0xe151, fontFamily: familySharp, fontPackage: package); ///
Numbered List icon (sharp)
- static const IconData numbered_list_sharp = IconData(0xe14f, fontFamily: familySharp, fontPackage: package); + static const IconData numbered_list_sharp = IconData(0xe152, fontFamily: familySharp, fontPackage: package); ///
Open In Full icon (sharp)
- static const IconData open_in_full_sharp = IconData(0xe150, fontFamily: familySharp, fontPackage: package); + static const IconData open_in_full_sharp = IconData(0xe153, fontFamily: familySharp, fontPackage: package); ///
Open In New Window icon (sharp)
- static const IconData open_in_new_window_sharp = IconData(0xe151, fontFamily: familySharp, fontPackage: package); + static const IconData open_in_new_window_sharp = IconData(0xe154, fontFamily: familySharp, fontPackage: package); ///
Open New Off icon (sharp)
- static const IconData open_new_off_sharp = IconData(0xe152, fontFamily: familySharp, fontPackage: package); + static const IconData open_new_off_sharp = IconData(0xe155, fontFamily: familySharp, fontPackage: package); ///
Page Height icon (sharp)
- static const IconData page_height_sharp = IconData(0xe153, fontFamily: familySharp, fontPackage: package); + static const IconData page_height_sharp = IconData(0xe156, fontFamily: familySharp, fontPackage: package); ///
Page Rotate icon (sharp)
- static const IconData page_rotate_sharp = IconData(0xe154, fontFamily: familySharp, fontPackage: package); + static const IconData page_rotate_sharp = IconData(0xe157, fontFamily: familySharp, fontPackage: package); ///
Page Width icon (sharp)
- static const IconData page_width_sharp = IconData(0xe155, fontFamily: familySharp, fontPackage: package); + static const IconData page_width_sharp = IconData(0xe158, fontFamily: familySharp, fontPackage: package); ///
Palette icon (sharp)
- static const IconData palette_sharp = IconData(0xe156, fontFamily: familySharp, fontPackage: package); + static const IconData palette_sharp = IconData(0xe159, fontFamily: familySharp, fontPackage: package); ///
Partner icon (sharp)
- static const IconData partner_sharp = IconData(0xe157, fontFamily: familySharp, fontPackage: package); + static const IconData partner_sharp = IconData(0xe15a, fontFamily: familySharp, fontPackage: package); ///
Pause Circle icon (sharp)
- static const IconData pause_circle_sharp = IconData(0xe158, fontFamily: familySharp, fontPackage: package); + static const IconData pause_circle_sharp = IconData(0xe15b, fontFamily: familySharp, fontPackage: package); ///
Pause icon (sharp)
- static const IconData pause_sharp = IconData(0xe159, fontFamily: familySharp, fontPackage: package); + static const IconData pause_sharp = IconData(0xe15c, fontFamily: familySharp, fontPackage: package); ///
Pdf Attach icon (sharp)
- static const IconData pdf_attach_sharp = IconData(0xe15a, fontFamily: familySharp, fontPackage: package); + static const IconData pdf_attach_sharp = IconData(0xe15d, fontFamily: familySharp, fontPackage: package); ///
Pending icon (sharp)
- static const IconData pending_sharp = IconData(0xe15b, fontFamily: familySharp, fontPackage: package); + static const IconData pending_sharp = IconData(0xe15e, fontFamily: familySharp, fontPackage: package); ///
Person Admin icon (sharp)
- static const IconData person_admin_sharp = IconData(0xe15c, fontFamily: familySharp, fontPackage: package); + static const IconData person_admin_sharp = IconData(0xe15f, fontFamily: familySharp, fontPackage: package); ///
Person Assign icon (sharp)
- static const IconData person_assign_sharp = IconData(0xe15d, fontFamily: familySharp, fontPackage: package); + static const IconData person_assign_sharp = IconData(0xe160, fontFamily: familySharp, fontPackage: package); ///
Person Clock icon (sharp)
- static const IconData person_clock_sharp = IconData(0xe15e, fontFamily: familySharp, fontPackage: package); + static const IconData person_clock_sharp = IconData(0xe161, fontFamily: familySharp, fontPackage: package); ///
Person Info icon (sharp)
- static const IconData person_info_sharp = IconData(0xe15f, fontFamily: familySharp, fontPackage: package); + static const IconData person_info_sharp = IconData(0xe162, fontFamily: familySharp, fontPackage: package); ///
Person Manager icon (sharp)
- static const IconData person_manager_sharp = IconData(0xe160, fontFamily: familySharp, fontPackage: package); + static const IconData person_manager_sharp = IconData(0xe163, fontFamily: familySharp, fontPackage: package); ///
Person Move icon (sharp)
- static const IconData person_move_sharp = IconData(0xe161, fontFamily: familySharp, fontPackage: package); + static const IconData person_move_sharp = IconData(0xe164, fontFamily: familySharp, fontPackage: package); ///
Person Outline icon (sharp)
- static const IconData person_outline_sharp = IconData(0xe162, fontFamily: familySharp, fontPackage: package); + static const IconData person_outline_sharp = IconData(0xe165, fontFamily: familySharp, fontPackage: package); ///
Person Search icon (sharp)
- static const IconData person_search_sharp = IconData(0xe163, fontFamily: familySharp, fontPackage: package); + static const IconData person_search_sharp = IconData(0xe166, fontFamily: familySharp, fontPackage: package); ///
Person icon (sharp)
- static const IconData person_sharp = IconData(0xe164, fontFamily: familySharp, fontPackage: package); + static const IconData person_sharp = IconData(0xe167, fontFamily: familySharp, fontPackage: package); ///
Person Swap icon (sharp)
- static const IconData person_swap_sharp = IconData(0xe165, fontFamily: familySharp, fontPackage: package); + static const IconData person_swap_sharp = IconData(0xe168, fontFamily: familySharp, fontPackage: package); ///
Person Walk icon (sharp)
- static const IconData person_walk_sharp = IconData(0xe166, fontFamily: familySharp, fontPackage: package); + static const IconData person_walk_sharp = IconData(0xe169, fontFamily: familySharp, fontPackage: package); ///
Phone Android icon (sharp)
- static const IconData phone_android_sharp = IconData(0xe167, fontFamily: familySharp, fontPackage: package); + static const IconData phone_android_sharp = IconData(0xe16a, fontFamily: familySharp, fontPackage: package); ///
Phone Bluetooth Speaker icon (sharp)
- static const IconData phone_bluetooth_speaker_sharp = IconData(0xe168, fontFamily: familySharp, fontPackage: package); + static const IconData phone_bluetooth_speaker_sharp = IconData(0xe16b, fontFamily: familySharp, fontPackage: package); ///
Phone In Talk icon (sharp)
- static const IconData phone_in_talk_sharp = IconData(0xe169, fontFamily: familySharp, fontPackage: package); + static const IconData phone_in_talk_sharp = IconData(0xe16c, fontFamily: familySharp, fontPackage: package); ///
Phone Iphone icon (sharp)
- static const IconData phone_iphone_sharp = IconData(0xe16a, fontFamily: familySharp, fontPackage: package); + static const IconData phone_iphone_sharp = IconData(0xe16d, fontFamily: familySharp, fontPackage: package); ///
Phone icon (sharp)
- static const IconData phone_sharp = IconData(0xe16b, fontFamily: familySharp, fontPackage: package); + static const IconData phone_sharp = IconData(0xe16e, fontFamily: familySharp, fontPackage: package); ///
Phonelink icon (sharp)
- static const IconData phonelink_sharp = IconData(0xe16c, fontFamily: familySharp, fontPackage: package); + static const IconData phonelink_sharp = IconData(0xe16f, fontFamily: familySharp, fontPackage: package); ///
Phrase icon (sharp)
- static const IconData phrase_sharp = IconData(0xe16d, fontFamily: familySharp, fontPackage: package); + static const IconData phrase_sharp = IconData(0xe170, fontFamily: familySharp, fontPackage: package); ///
Pin icon (sharp)
- static const IconData pin_sharp = IconData(0xe16e, fontFamily: familySharp, fontPackage: package); + static const IconData pin_sharp = IconData(0xe171, fontFamily: familySharp, fontPackage: package); ///
Place icon (sharp)
- static const IconData place_sharp = IconData(0xe16f, fontFamily: familySharp, fontPackage: package); + static const IconData place_sharp = IconData(0xe172, fontFamily: familySharp, fontPackage: package); ///
Planogram icon (sharp)
- static const IconData planogram_sharp = IconData(0xe170, fontFamily: familySharp, fontPackage: package); + static const IconData planogram_sharp = IconData(0xe173, fontFamily: familySharp, fontPackage: package); ///
Play Circle icon (sharp)
- static const IconData play_circle_sharp = IconData(0xe171, fontFamily: familySharp, fontPackage: package); + static const IconData play_circle_sharp = IconData(0xe174, fontFamily: familySharp, fontPackage: package); ///
Play Outline icon (sharp)
- static const IconData play_outline_sharp = IconData(0xe172, fontFamily: familySharp, fontPackage: package); + static const IconData play_outline_sharp = IconData(0xe175, fontFamily: familySharp, fontPackage: package); ///
Play icon (sharp)
- static const IconData play_sharp = IconData(0xe173, fontFamily: familySharp, fontPackage: package); + static const IconData play_sharp = IconData(0xe176, fontFamily: familySharp, fontPackage: package); ///
Png Attach icon (sharp)
- static const IconData png_attach_sharp = IconData(0xe174, fontFamily: familySharp, fontPackage: package); + static const IconData png_attach_sharp = IconData(0xe177, fontFamily: familySharp, fontPackage: package); ///
Point Gift icon (sharp)
- static const IconData point_gift_sharp = IconData(0xe175, fontFamily: familySharp, fontPackage: package); + static const IconData point_gift_sharp = IconData(0xe178, fontFamily: familySharp, fontPackage: package); ///
Point Heart icon (sharp)
- static const IconData point_heart_sharp = IconData(0xe176, fontFamily: familySharp, fontPackage: package); + static const IconData point_heart_sharp = IconData(0xe179, fontFamily: familySharp, fontPackage: package); ///
Point Money icon (sharp)
- static const IconData point_money_sharp = IconData(0xe177, fontFamily: familySharp, fontPackage: package); + static const IconData point_money_sharp = IconData(0xe17a, fontFamily: familySharp, fontPackage: package); ///
Point Star icon (sharp)
- static const IconData point_star_sharp = IconData(0xe178, fontFamily: familySharp, fontPackage: package); + static const IconData point_star_sharp = IconData(0xe17b, fontFamily: familySharp, fontPackage: package); ///
Point Token icon (sharp)
- static const IconData point_token_sharp = IconData(0xe179, fontFamily: familySharp, fontPackage: package); + static const IconData point_token_sharp = IconData(0xe17c, fontFamily: familySharp, fontPackage: package); ///
Portrait icon (sharp)
- static const IconData portrait_sharp = IconData(0xe17a, fontFamily: familySharp, fontPackage: package); + static const IconData portrait_sharp = IconData(0xe17d, fontFamily: familySharp, fontPackage: package); ///
Ppt Attach icon (sharp)
- static const IconData ppt_attach_sharp = IconData(0xe17b, fontFamily: familySharp, fontPackage: package); + static const IconData ppt_attach_sharp = IconData(0xe17e, fontFamily: familySharp, fontPackage: package); ///
Price icon (sharp)
- static const IconData price_sharp = IconData(0xe17c, fontFamily: familySharp, fontPackage: package); + static const IconData price_sharp = IconData(0xe17f, fontFamily: familySharp, fontPackage: package); ///
Printer icon (sharp)
- static const IconData printer_sharp = IconData(0xe17d, fontFamily: familySharp, fontPackage: package); + static const IconData printer_sharp = IconData(0xe180, fontFamily: familySharp, fontPackage: package); ///
Priority icon (sharp)
- static const IconData priority_sharp = IconData(0xe17e, fontFamily: familySharp, fontPackage: package); + static const IconData priority_sharp = IconData(0xe181, fontFamily: familySharp, fontPackage: package); ///
Pro icon (sharp)
- static const IconData pro_sharp = IconData(0xe17f, fontFamily: familySharp, fontPackage: package); + static const IconData pro_sharp = IconData(0xe182, fontFamily: familySharp, fontPackage: package); ///
Productivity Apps icon (sharp)
- static const IconData productivity_apps_sharp = IconData(0xe180, fontFamily: familySharp, fontPackage: package); + static const IconData productivity_apps_sharp = IconData(0xe183, fontFamily: familySharp, fontPackage: package); ///
Ptt icon (sharp)
- static const IconData ptt_sharp = IconData(0xe181, fontFamily: familySharp, fontPackage: package); + static const IconData ptt_sharp = IconData(0xe184, fontFamily: familySharp, fontPackage: package); ///
Publish icon (sharp)
- static const IconData publish_sharp = IconData(0xe182, fontFamily: familySharp, fontPackage: package); + static const IconData publish_sharp = IconData(0xe185, fontFamily: familySharp, fontPackage: package); ///
Push Pin icon (sharp)
- static const IconData push_pin_sharp = IconData(0xe183, fontFamily: familySharp, fontPackage: package); + static const IconData push_pin_sharp = IconData(0xe186, fontFamily: familySharp, fontPackage: package); ///
Qr Code icon (sharp)
- static const IconData qr_code_sharp = IconData(0xe184, fontFamily: familySharp, fontPackage: package); + static const IconData qr_code_sharp = IconData(0xe187, fontFamily: familySharp, fontPackage: package); ///
Queue icon (sharp)
- static const IconData queue_sharp = IconData(0xe185, fontFamily: familySharp, fontPackage: package); + static const IconData queue_sharp = IconData(0xe188, fontFamily: familySharp, fontPackage: package); ///
Radio Button Checked icon (sharp)
- static const IconData radio_button_checked_sharp = IconData(0xe186, fontFamily: familySharp, fontPackage: package); + static const IconData radio_button_checked_sharp = IconData(0xe189, fontFamily: familySharp, fontPackage: package); ///
Radio Button Unchecked icon (sharp)
- static const IconData radio_button_unchecked_sharp = IconData(0xe187, fontFamily: familySharp, fontPackage: package); + static const IconData radio_button_unchecked_sharp = IconData(0xe18a, fontFamily: familySharp, fontPackage: package); ///
React Add icon (sharp)
- static const IconData react_add_sharp = IconData(0xe188, fontFamily: familySharp, fontPackage: package); + static const IconData react_add_sharp = IconData(0xe18b, fontFamily: familySharp, fontPackage: package); ///
React Thumbsup icon (sharp)
- static const IconData react_thumbsup_sharp = IconData(0xe189, fontFamily: familySharp, fontPackage: package); + static const IconData react_thumbsup_sharp = IconData(0xe18c, fontFamily: familySharp, fontPackage: package); ///
Recall icon (sharp)
- static const IconData recall_sharp = IconData(0xe18a, fontFamily: familySharp, fontPackage: package); + static const IconData recall_sharp = IconData(0xe18d, fontFamily: familySharp, fontPackage: package); ///
Receipt icon (sharp)
- static const IconData receipt_sharp = IconData(0xe18b, fontFamily: familySharp, fontPackage: package); + static const IconData receipt_sharp = IconData(0xe18e, fontFamily: familySharp, fontPackage: package); ///
Recording icon (sharp)
- static const IconData recording_sharp = IconData(0xe18c, fontFamily: familySharp, fontPackage: package); + static const IconData recording_sharp = IconData(0xe18f, fontFamily: familySharp, fontPackage: package); ///
Redo icon (sharp)
- static const IconData redo_sharp = IconData(0xe18d, fontFamily: familySharp, fontPackage: package); + static const IconData redo_sharp = IconData(0xe190, fontFamily: familySharp, fontPackage: package); ///
Refresh icon (sharp)
- static const IconData refresh_sharp = IconData(0xe18e, fontFamily: familySharp, fontPackage: package); + static const IconData refresh_sharp = IconData(0xe191, fontFamily: familySharp, fontPackage: package); ///
Remove Box icon (sharp)
- static const IconData remove_box_sharp = IconData(0xe18f, fontFamily: familySharp, fontPackage: package); + static const IconData remove_box_sharp = IconData(0xe192, fontFamily: familySharp, fontPackage: package); ///
Remove Circle Outline icon (sharp)
- static const IconData remove_circle_outline_sharp = IconData(0xe190, fontFamily: familySharp, fontPackage: package); + static const IconData remove_circle_outline_sharp = IconData(0xe193, fontFamily: familySharp, fontPackage: package); ///
Remove Circle icon (sharp)
- static const IconData remove_circle_sharp = IconData(0xe191, fontFamily: familySharp, fontPackage: package); + static const IconData remove_circle_sharp = IconData(0xe194, fontFamily: familySharp, fontPackage: package); ///
Remove Group icon (sharp)
- static const IconData remove_group_sharp = IconData(0xe192, fontFamily: familySharp, fontPackage: package); + static const IconData remove_group_sharp = IconData(0xe195, fontFamily: familySharp, fontPackage: package); ///
Remove Person icon (sharp)
- static const IconData remove_person_sharp = IconData(0xe193, fontFamily: familySharp, fontPackage: package); + static const IconData remove_person_sharp = IconData(0xe196, fontFamily: familySharp, fontPackage: package); ///
Remove icon (sharp)
- static const IconData remove_sharp = IconData(0xe194, fontFamily: familySharp, fontPackage: package); + static const IconData remove_sharp = IconData(0xe197, fontFamily: familySharp, fontPackage: package); ///
Renew icon (sharp)
- static const IconData renew_sharp = IconData(0xe195, fontFamily: familySharp, fontPackage: package); + static const IconData renew_sharp = IconData(0xe198, fontFamily: familySharp, fontPackage: package); ///
Reorder icon (sharp)
- static const IconData reorder_sharp = IconData(0xe196, fontFamily: familySharp, fontPackage: package); + static const IconData reorder_sharp = IconData(0xe199, fontFamily: familySharp, fontPackage: package); ///
Repeat icon (sharp)
- static const IconData repeat_sharp = IconData(0xe197, fontFamily: familySharp, fontPackage: package); + static const IconData repeat_sharp = IconData(0xe19a, fontFamily: familySharp, fontPackage: package); ///
Replay icon (sharp)
- static const IconData replay_sharp = IconData(0xe198, fontFamily: familySharp, fontPackage: package); + static const IconData replay_sharp = IconData(0xe19b, fontFamily: familySharp, fontPackage: package); ///
Reply icon (sharp)
- static const IconData reply_sharp = IconData(0xe199, fontFamily: familySharp, fontPackage: package); + static const IconData reply_sharp = IconData(0xe19c, fontFamily: familySharp, fontPackage: package); ///
Report icon (sharp)
- static const IconData report_sharp = IconData(0xe19a, fontFamily: familySharp, fontPackage: package); + static const IconData report_sharp = IconData(0xe19d, fontFamily: familySharp, fontPackage: package); ///
Restart Alt icon (sharp)
- static const IconData restart_alt_sharp = IconData(0xe19b, fontFamily: familySharp, fontPackage: package); + static const IconData restart_alt_sharp = IconData(0xe19e, fontFamily: familySharp, fontPackage: package); ///
Review icon (sharp)
- static const IconData review_sharp = IconData(0xe19c, fontFamily: familySharp, fontPackage: package); + static const IconData review_sharp = IconData(0xe19f, fontFamily: familySharp, fontPackage: package); ///
Road Map icon (sharp)
- static const IconData road_map_sharp = IconData(0xe19d, fontFamily: familySharp, fontPackage: package); + static const IconData road_map_sharp = IconData(0xe1a0, fontFamily: familySharp, fontPackage: package); ///
Rotate Left icon (sharp)
- static const IconData rotate_left_sharp = IconData(0xe19e, fontFamily: familySharp, fontPackage: package); + static const IconData rotate_left_sharp = IconData(0xe1a1, fontFamily: familySharp, fontPackage: package); ///
Rotate Right icon (sharp)
- static const IconData rotate_right_sharp = IconData(0xe19f, fontFamily: familySharp, fontPackage: package); + static const IconData rotate_right_sharp = IconData(0xe1a2, fontFamily: familySharp, fontPackage: package); ///
Rss Feed icon (sharp)
- static const IconData rss_feed_sharp = IconData(0xe1a0, fontFamily: familySharp, fontPackage: package); + static const IconData rss_feed_sharp = IconData(0xe1a3, fontFamily: familySharp, fontPackage: package); ///
Rules icon (sharp)
- static const IconData rules_sharp = IconData(0xe1a1, fontFamily: familySharp, fontPackage: package); + static const IconData rules_sharp = IconData(0xe1a4, fontFamily: familySharp, fontPackage: package); ///
Sad icon (sharp)
- static const IconData sad_sharp = IconData(0xe1a2, fontFamily: familySharp, fontPackage: package); + static const IconData sad_sharp = IconData(0xe1a5, fontFamily: familySharp, fontPackage: package); ///
Satisfied icon (sharp)
- static const IconData satisfied_sharp = IconData(0xe1a3, fontFamily: familySharp, fontPackage: package); + static const IconData satisfied_sharp = IconData(0xe1a6, fontFamily: familySharp, fontPackage: package); ///
Save Alt icon (sharp)
- static const IconData save_alt_sharp = IconData(0xe1a4, fontFamily: familySharp, fontPackage: package); + static const IconData save_alt_sharp = IconData(0xe1a7, fontFamily: familySharp, fontPackage: package); ///
Save Content icon (sharp)
- static const IconData save_content_sharp = IconData(0xe1a5, fontFamily: familySharp, fontPackage: package); + static const IconData save_content_sharp = IconData(0xe1a8, fontFamily: familySharp, fontPackage: package); ///
Save icon (sharp)
- static const IconData save_sharp = IconData(0xe1a6, fontFamily: familySharp, fontPackage: package); + static const IconData save_sharp = IconData(0xe1a9, fontFamily: familySharp, fontPackage: package); ///
Scan Rate icon (sharp)
- static const IconData scan_rate_sharp = IconData(0xe1a7, fontFamily: familySharp, fontPackage: package); + static const IconData scan_rate_sharp = IconData(0xe1aa, fontFamily: familySharp, fontPackage: package); ///
Scanner icon (sharp)
- static const IconData scanner_sharp = IconData(0xe1a8, fontFamily: familySharp, fontPackage: package); + static const IconData scanner_sharp = IconData(0xe1ab, fontFamily: familySharp, fontPackage: package); ///
Schedule icon (sharp)
- static const IconData schedule_sharp = IconData(0xe1a9, fontFamily: familySharp, fontPackage: package); + static const IconData schedule_sharp = IconData(0xe1ac, fontFamily: familySharp, fontPackage: package); ///
School icon (sharp)
- static const IconData school_sharp = IconData(0xe1aa, fontFamily: familySharp, fontPackage: package); + static const IconData school_sharp = IconData(0xe1ad, fontFamily: familySharp, fontPackage: package); ///
Screen Rotation icon (sharp)
- static const IconData screen_rotation_sharp = IconData(0xe1ab, fontFamily: familySharp, fontPackage: package); + static const IconData screen_rotation_sharp = IconData(0xe1ae, fontFamily: familySharp, fontPackage: package); ///
Sd Card icon (sharp)
- static const IconData sd_card_sharp = IconData(0xe1ac, fontFamily: familySharp, fontPackage: package); + static const IconData sd_card_sharp = IconData(0xe1af, fontFamily: familySharp, fontPackage: package); ///
Search icon (sharp)
- static const IconData search_sharp = IconData(0xe1ad, fontFamily: familySharp, fontPackage: package); + static const IconData search_sharp = IconData(0xe1b0, fontFamily: familySharp, fontPackage: package); ///
Security Check icon (sharp)
- static const IconData security_check_sharp = IconData(0xe1ae, fontFamily: familySharp, fontPackage: package); + static const IconData security_check_sharp = IconData(0xe1b1, fontFamily: familySharp, fontPackage: package); ///
Security icon (sharp)
- static const IconData security_sharp = IconData(0xe1af, fontFamily: familySharp, fontPackage: package); + static const IconData security_sharp = IconData(0xe1b2, fontFamily: familySharp, fontPackage: package); ///
Send icon (sharp)
- static const IconData send_sharp = IconData(0xe1b0, fontFamily: familySharp, fontPackage: package); + static const IconData send_sharp = IconData(0xe1b3, fontFamily: familySharp, fontPackage: package); ///
Settings icon (sharp)
- static const IconData settings_sharp = IconData(0xe1b1, fontFamily: familySharp, fontPackage: package); + static const IconData settings_sharp = IconData(0xe1b4, fontFamily: familySharp, fontPackage: package); ///
Shape Recognition icon (sharp)
- static const IconData shape_recognition_sharp = IconData(0xe1b2, fontFamily: familySharp, fontPackage: package); + static const IconData shape_recognition_sharp = IconData(0xe1b5, fontFamily: familySharp, fontPackage: package); ///
Share icon (sharp)
- static const IconData share_sharp = IconData(0xe1b3, fontFamily: familySharp, fontPackage: package); + static const IconData share_sharp = IconData(0xe1b6, fontFamily: familySharp, fontPackage: package); ///
Shared Folder icon (sharp)
- static const IconData shared_folder_sharp = IconData(0xe1b4, fontFamily: familySharp, fontPackage: package); + static const IconData shared_folder_sharp = IconData(0xe1b7, fontFamily: familySharp, fontPackage: package); ///
Ship icon (sharp)
- static const IconData ship_sharp = IconData(0xe1b5, fontFamily: familySharp, fontPackage: package); + static const IconData ship_sharp = IconData(0xe1b8, fontFamily: familySharp, fontPackage: package); ///
Sim Card icon (sharp)
- static const IconData sim_card_sharp = IconData(0xe1b6, fontFamily: familySharp, fontPackage: package); + static const IconData sim_card_sharp = IconData(0xe1b9, fontFamily: familySharp, fontPackage: package); ///
Skip Next icon (sharp)
- static const IconData skip_next_sharp = IconData(0xe1b7, fontFamily: familySharp, fontPackage: package); + static const IconData skip_next_sharp = IconData(0xe1ba, fontFamily: familySharp, fontPackage: package); ///
Skip Previous icon (sharp)
- static const IconData skip_previous_sharp = IconData(0xe1b8, fontFamily: familySharp, fontPackage: package); + static const IconData skip_previous_sharp = IconData(0xe1bb, fontFamily: familySharp, fontPackage: package); ///
Slide Show icon (sharp)
- static const IconData slide_show_sharp = IconData(0xe1b9, fontFamily: familySharp, fontPackage: package); + static const IconData slide_show_sharp = IconData(0xe1bc, fontFamily: familySharp, fontPackage: package); ///
Smart Phone icon (sharp)
- static const IconData smart_phone_sharp = IconData(0xe1ba, fontFamily: familySharp, fontPackage: package); + static const IconData smart_phone_sharp = IconData(0xe1bd, fontFamily: familySharp, fontPackage: package); ///
Sms icon (sharp)
- static const IconData sms_sharp = IconData(0xe1bb, fontFamily: familySharp, fontPackage: package); + static const IconData sms_sharp = IconData(0xe1be, fontFamily: familySharp, fontPackage: package); ///
Snooze icon (sharp)
- static const IconData snooze_sharp = IconData(0xe1bc, fontFamily: familySharp, fontPackage: package); + static const IconData snooze_sharp = IconData(0xe1bf, fontFamily: familySharp, fontPackage: package); ///
Solutions icon (sharp)
- static const IconData solutions_sharp = IconData(0xe1bd, fontFamily: familySharp, fontPackage: package); + static const IconData solutions_sharp = IconData(0xe1c0, fontFamily: familySharp, fontPackage: package); ///
Sort Content icon (sharp)
- static const IconData sort_content_sharp = IconData(0xe1be, fontFamily: familySharp, fontPackage: package); + static const IconData sort_content_sharp = IconData(0xe1c1, fontFamily: familySharp, fontPackage: package); ///
Sort icon (sharp)
- static const IconData sort_sharp = IconData(0xe1bf, fontFamily: familySharp, fontPackage: package); + static const IconData sort_sharp = IconData(0xe1c2, fontFamily: familySharp, fontPackage: package); ///
Speaker icon (sharp)
- static const IconData speaker_sharp = IconData(0xe1c0, fontFamily: familySharp, fontPackage: package); + static const IconData speaker_sharp = IconData(0xe1c3, fontFamily: familySharp, fontPackage: package); ///
Star Half icon (sharp)
- static const IconData star_half_sharp = IconData(0xe1c1, fontFamily: familySharp, fontPackage: package); + static const IconData star_half_sharp = IconData(0xe1c4, fontFamily: familySharp, fontPackage: package); ///
Star Outline icon (sharp)
- static const IconData star_outline_sharp = IconData(0xe1c2, fontFamily: familySharp, fontPackage: package); + static const IconData star_outline_sharp = IconData(0xe1c5, fontFamily: familySharp, fontPackage: package); ///
Star icon (sharp)
- static const IconData star_sharp = IconData(0xe1c3, fontFamily: familySharp, fontPackage: package); + static const IconData star_sharp = IconData(0xe1c6, fontFamily: familySharp, fontPackage: package); ///
Steps icon (sharp)
- static const IconData steps_sharp = IconData(0xe1c4, fontFamily: familySharp, fontPackage: package); + static const IconData steps_sharp = IconData(0xe1c7, fontFamily: familySharp, fontPackage: package); ///
Sticker icon (sharp)
- static const IconData sticker_sharp = IconData(0xe1c5, fontFamily: familySharp, fontPackage: package); + static const IconData sticker_sharp = IconData(0xe1c8, fontFamily: familySharp, fontPackage: package); ///
Stop Circle icon (sharp)
- static const IconData stop_circle_sharp = IconData(0xe1c6, fontFamily: familySharp, fontPackage: package); + static const IconData stop_circle_sharp = IconData(0xe1c9, fontFamily: familySharp, fontPackage: package); ///
Stop icon (sharp)
- static const IconData stop_sharp = IconData(0xe1c7, fontFamily: familySharp, fontPackage: package); + static const IconData stop_sharp = IconData(0xe1ca, fontFamily: familySharp, fontPackage: package); ///
Store Release icon (sharp)
- static const IconData store_release_sharp = IconData(0xe1c8, fontFamily: familySharp, fontPackage: package); + static const IconData store_release_sharp = IconData(0xe1cb, fontFamily: familySharp, fontPackage: package); ///
Store icon (sharp)
- static const IconData store_sharp = IconData(0xe1c9, fontFamily: familySharp, fontPackage: package); + static const IconData store_sharp = IconData(0xe1cc, fontFamily: familySharp, fontPackage: package); ///
Store Swap icon (sharp)
- static const IconData store_swap_sharp = IconData(0xe1ca, fontFamily: familySharp, fontPackage: package); + static const IconData store_swap_sharp = IconData(0xe1cd, fontFamily: familySharp, fontPackage: package); ///
Store Transfer icon (sharp)
- static const IconData store_transfer_sharp = IconData(0xe1cb, fontFamily: familySharp, fontPackage: package); + static const IconData store_transfer_sharp = IconData(0xe1ce, fontFamily: familySharp, fontPackage: package); ///
Straighten icon (sharp)
- static const IconData straighten_sharp = IconData(0xe1cc, fontFamily: familySharp, fontPackage: package); + static const IconData straighten_sharp = IconData(0xe1cf, fontFamily: familySharp, fontPackage: package); ///
Strategy icon (sharp)
- static const IconData strategy_sharp = IconData(0xe1cd, fontFamily: familySharp, fontPackage: package); + static const IconData strategy_sharp = IconData(0xe1d0, fontFamily: familySharp, fontPackage: package); ///
Strikethrough icon (sharp)
- static const IconData strikethrough_sharp = IconData(0xe1ce, fontFamily: familySharp, fontPackage: package); + static const IconData strikethrough_sharp = IconData(0xe1d1, fontFamily: familySharp, fontPackage: package); ///
Subscribe icon (sharp)
- static const IconData subscribe_sharp = IconData(0xe1cf, fontFamily: familySharp, fontPackage: package); + static const IconData subscribe_sharp = IconData(0xe1d2, fontFamily: familySharp, fontPackage: package); ///
Swap icon (sharp)
- static const IconData swap_sharp = IconData(0xe1d0, fontFamily: familySharp, fontPackage: package); + static const IconData swap_sharp = IconData(0xe1d3, fontFamily: familySharp, fontPackage: package); ///
Switch User icon (sharp)
- static const IconData switch_user_sharp = IconData(0xe1d1, fontFamily: familySharp, fontPackage: package); + static const IconData switch_user_sharp = IconData(0xe1d4, fontFamily: familySharp, fontPackage: package); ///
Sync Action icon (sharp)
- static const IconData sync_action_sharp = IconData(0xe1d2, fontFamily: familySharp, fontPackage: package); + static const IconData sync_action_sharp = IconData(0xe1d5, fontFamily: familySharp, fontPackage: package); ///
Sync Disabled icon (sharp)
- static const IconData sync_disabled_sharp = IconData(0xe1d3, fontFamily: familySharp, fontPackage: package); + static const IconData sync_disabled_sharp = IconData(0xe1d6, fontFamily: familySharp, fontPackage: package); ///
Sync icon (sharp)
- static const IconData sync_sharp = IconData(0xe1d4, fontFamily: familySharp, fontPackage: package); + static const IconData sync_sharp = IconData(0xe1d7, fontFamily: familySharp, fontPackage: package); ///
Table icon (sharp)
- static const IconData table_sharp = IconData(0xe1d5, fontFamily: familySharp, fontPackage: package); + static const IconData table_sharp = IconData(0xe1d8, fontFamily: familySharp, fontPackage: package); ///
Tablet Mac icon (sharp)
- static const IconData tablet_mac_sharp = IconData(0xe1d6, fontFamily: familySharp, fontPackage: package); + static const IconData tablet_mac_sharp = IconData(0xe1d9, fontFamily: familySharp, fontPackage: package); ///
Tablet icon (sharp)
- static const IconData tablet_sharp = IconData(0xe1d7, fontFamily: familySharp, fontPackage: package); + static const IconData tablet_sharp = IconData(0xe1da, fontFamily: familySharp, fontPackage: package); ///
Tag Enterprise icon (sharp)
- static const IconData tag_enterprise_sharp = IconData(0xe1d8, fontFamily: familySharp, fontPackage: package); + static const IconData tag_enterprise_sharp = IconData(0xe1db, fontFamily: familySharp, fontPackage: package); ///
Tag icon (sharp)
- static const IconData tag_sharp = IconData(0xe1d9, fontFamily: familySharp, fontPackage: package); + static const IconData tag_sharp = IconData(0xe1dc, fontFamily: familySharp, fontPackage: package); ///
Tap To Pay icon (sharp)
- static const IconData tap_to_pay_sharp = IconData(0xe1da, fontFamily: familySharp, fontPackage: package); + static const IconData tap_to_pay_sharp = IconData(0xe1dd, fontFamily: familySharp, fontPackage: package); ///
Taxi icon (sharp)
- static const IconData taxi_sharp = IconData(0xe1db, fontFamily: familySharp, fontPackage: package); + static const IconData taxi_sharp = IconData(0xe1de, fontFamily: familySharp, fontPackage: package); ///
Text Color icon (sharp)
- static const IconData text_color_sharp = IconData(0xe1dc, fontFamily: familySharp, fontPackage: package); + static const IconData text_color_sharp = IconData(0xe1df, fontFamily: familySharp, fontPackage: package); ///
Tiers icon (sharp)
- static const IconData tiers_sharp = IconData(0xe1dd, fontFamily: familySharp, fontPackage: package); + static const IconData tiers_sharp = IconData(0xe1e0, fontFamily: familySharp, fontPackage: package); ///
Timecard Approve icon (sharp)
- static const IconData timecard_approve_sharp = IconData(0xe1de, fontFamily: familySharp, fontPackage: package); + static const IconData timecard_approve_sharp = IconData(0xe1e1, fontFamily: familySharp, fontPackage: package); ///
Timecard icon (sharp)
- static const IconData timecard_sharp = IconData(0xe1df, fontFamily: familySharp, fontPackage: package); + static const IconData timecard_sharp = IconData(0xe1e2, fontFamily: familySharp, fontPackage: package); ///
Timecard Warning icon (sharp)
- static const IconData timecard_warning_sharp = IconData(0xe1e0, fontFamily: familySharp, fontPackage: package); + static const IconData timecard_warning_sharp = IconData(0xe1e3, fontFamily: familySharp, fontPackage: package); ///
Timer icon (sharp)
- static const IconData timer_sharp = IconData(0xe1e1, fontFamily: familySharp, fontPackage: package); + static const IconData timer_sharp = IconData(0xe1e4, fontFamily: familySharp, fontPackage: package); ///
Toggle Off icon (sharp)
- static const IconData toggle_off_sharp = IconData(0xe1e2, fontFamily: familySharp, fontPackage: package); + static const IconData toggle_off_sharp = IconData(0xe1e5, fontFamily: familySharp, fontPackage: package); ///
Toggle On icon (sharp)
- static const IconData toggle_on_sharp = IconData(0xe1e3, fontFamily: familySharp, fontPackage: package); + static const IconData toggle_on_sharp = IconData(0xe1e6, fontFamily: familySharp, fontPackage: package); ///
Touch icon (sharp)
- static const IconData touch_sharp = IconData(0xe1e4, fontFamily: familySharp, fontPackage: package); + static const IconData touch_sharp = IconData(0xe1e7, fontFamily: familySharp, fontPackage: package); ///
Train icon (sharp)
- static const IconData train_sharp = IconData(0xe1e5, fontFamily: familySharp, fontPackage: package); + static const IconData train_sharp = IconData(0xe1e8, fontFamily: familySharp, fontPackage: package); ///
Transfer icon (sharp)
- static const IconData transfer_sharp = IconData(0xe1e6, fontFamily: familySharp, fontPackage: package); + static const IconData transfer_sharp = IconData(0xe1e9, fontFamily: familySharp, fontPackage: package); ///
Trending Down icon (sharp)
- static const IconData trending_down_sharp = IconData(0xe1e7, fontFamily: familySharp, fontPackage: package); + static const IconData trending_down_sharp = IconData(0xe1ea, fontFamily: familySharp, fontPackage: package); ///
Trending Up icon (sharp)
- static const IconData trending_up_sharp = IconData(0xe1e8, fontFamily: familySharp, fontPackage: package); + static const IconData trending_up_sharp = IconData(0xe1eb, fontFamily: familySharp, fontPackage: package); ///
Tv icon (sharp)
- static const IconData tv_sharp = IconData(0xe1e9, fontFamily: familySharp, fontPackage: package); + static const IconData tv_sharp = IconData(0xe1ec, fontFamily: familySharp, fontPackage: package); ///
Twitter icon (sharp)
- static const IconData twitter_sharp = IconData(0xe1ea, fontFamily: familySharp, fontPackage: package); + static const IconData twitter_sharp = IconData(0xe1ed, fontFamily: familySharp, fontPackage: package); ///
Type icon (sharp)
- static const IconData type_sharp = IconData(0xe1eb, fontFamily: familySharp, fontPackage: package); + static const IconData type_sharp = IconData(0xe1ee, fontFamily: familySharp, fontPackage: package); ///
Uhf Rfid icon (sharp)
- static const IconData uhf_rfid_sharp = IconData(0xe1ec, fontFamily: familySharp, fontPackage: package); + static const IconData uhf_rfid_sharp = IconData(0xe1ef, fontFamily: familySharp, fontPackage: package); ///
Underline icon (sharp)
- static const IconData underline_sharp = IconData(0xe1ed, fontFamily: familySharp, fontPackage: package); + static const IconData underline_sharp = IconData(0xe1f0, fontFamily: familySharp, fontPackage: package); ///
Undo icon (sharp)
- static const IconData undo_sharp = IconData(0xe1ee, fontFamily: familySharp, fontPackage: package); + static const IconData undo_sharp = IconData(0xe1f1, fontFamily: familySharp, fontPackage: package); ///
Unfold Less icon (sharp)
- static const IconData unfold_less_sharp = IconData(0xe1ef, fontFamily: familySharp, fontPackage: package); + static const IconData unfold_less_sharp = IconData(0xe1f2, fontFamily: familySharp, fontPackage: package); ///
Unfold More icon (sharp)
- static const IconData unfold_more_sharp = IconData(0xe1f0, fontFamily: familySharp, fontPackage: package); + static const IconData unfold_more_sharp = IconData(0xe1f3, fontFamily: familySharp, fontPackage: package); ///
Unlock Alt icon (sharp)
- static const IconData unlock_alt_sharp = IconData(0xe1f1, fontFamily: familySharp, fontPackage: package); + static const IconData unlock_alt_sharp = IconData(0xe1f4, fontFamily: familySharp, fontPackage: package); ///
Unlock icon (sharp)
- static const IconData unlock_sharp = IconData(0xe1f2, fontFamily: familySharp, fontPackage: package); + static const IconData unlock_sharp = IconData(0xe1f5, fontFamily: familySharp, fontPackage: package); ///
Unsubscribe icon (sharp)
- static const IconData unsubscribe_sharp = IconData(0xe1f3, fontFamily: familySharp, fontPackage: package); + static const IconData unsubscribe_sharp = IconData(0xe1f6, fontFamily: familySharp, fontPackage: package); ///
Update icon (sharp)
- static const IconData update_sharp = IconData(0xe1f4, fontFamily: familySharp, fontPackage: package); + static const IconData update_sharp = IconData(0xe1f7, fontFamily: familySharp, fontPackage: package); ///
Upload File icon (sharp)
- static const IconData upload_file_sharp = IconData(0xe1f5, fontFamily: familySharp, fontPackage: package); + static const IconData upload_file_sharp = IconData(0xe1f8, fontFamily: familySharp, fontPackage: package); ///
Upload icon (sharp)
- static const IconData upload_sharp = IconData(0xe1f6, fontFamily: familySharp, fontPackage: package); + static const IconData upload_sharp = IconData(0xe1f9, fontFamily: familySharp, fontPackage: package); ///
Usb Alt Device icon (sharp)
- static const IconData usb_alt_device_sharp = IconData(0xe1f7, fontFamily: familySharp, fontPackage: package); + static const IconData usb_alt_device_sharp = IconData(0xe1fa, fontFamily: familySharp, fontPackage: package); ///
Usb Alt icon (sharp)
- static const IconData usb_alt_sharp = IconData(0xe1f8, fontFamily: familySharp, fontPackage: package); + static const IconData usb_alt_sharp = IconData(0xe1fb, fontFamily: familySharp, fontPackage: package); ///
Usb icon (sharp)
- static const IconData usb_sharp = IconData(0xe1f9, fontFamily: familySharp, fontPackage: package); + static const IconData usb_sharp = IconData(0xe1fc, fontFamily: familySharp, fontPackage: package); ///
User Circle icon (sharp)
- static const IconData user_circle_sharp = IconData(0xe1fa, fontFamily: familySharp, fontPackage: package); + static const IconData user_circle_sharp = IconData(0xe1fd, fontFamily: familySharp, fontPackage: package); ///
User Minor icon (sharp)
- static const IconData user_minor_sharp = IconData(0xe1fb, fontFamily: familySharp, fontPackage: package); + static const IconData user_minor_sharp = IconData(0xe1fe, fontFamily: familySharp, fontPackage: package); ///
User Settings icon (sharp)
- static const IconData user_settings_sharp = IconData(0xe1fc, fontFamily: familySharp, fontPackage: package); + static const IconData user_settings_sharp = IconData(0xe1ff, fontFamily: familySharp, fontPackage: package); ///
User icon (sharp)
- static const IconData user_sharp = IconData(0xe1fd, fontFamily: familySharp, fontPackage: package); + static const IconData user_sharp = IconData(0xe200, fontFamily: familySharp, fontPackage: package); ///
Vacation icon (sharp)
- static const IconData vacation_sharp = IconData(0xe1fe, fontFamily: familySharp, fontPackage: package); + static const IconData vacation_sharp = IconData(0xe201, fontFamily: familySharp, fontPackage: package); ///
Verified icon (sharp)
- static const IconData verified_sharp = IconData(0xe1ff, fontFamily: familySharp, fontPackage: package); + static const IconData verified_sharp = IconData(0xe202, fontFamily: familySharp, fontPackage: package); ///
Very Satisfied icon (sharp)
- static const IconData very_satisfied_sharp = IconData(0xe200, fontFamily: familySharp, fontPackage: package); + static const IconData very_satisfied_sharp = IconData(0xe203, fontFamily: familySharp, fontPackage: package); ///
Video Camera icon (sharp)
- static const IconData video_camera_sharp = IconData(0xe201, fontFamily: familySharp, fontPackage: package); + static const IconData video_camera_sharp = IconData(0xe204, fontFamily: familySharp, fontPackage: package); ///
Video Off icon (sharp)
- static const IconData video_off_sharp = IconData(0xe202, fontFamily: familySharp, fontPackage: package); + static const IconData video_off_sharp = IconData(0xe205, fontFamily: familySharp, fontPackage: package); ///
Video Play icon (sharp)
- static const IconData video_play_sharp = IconData(0xe203, fontFamily: familySharp, fontPackage: package); + static const IconData video_play_sharp = IconData(0xe206, fontFamily: familySharp, fontPackage: package); ///
Video icon (sharp)
- static const IconData video_sharp = IconData(0xe204, fontFamily: familySharp, fontPackage: package); + static const IconData video_sharp = IconData(0xe207, fontFamily: familySharp, fontPackage: package); ///
Visibility Off icon (sharp)
- static const IconData visibility_off_sharp = IconData(0xe205, fontFamily: familySharp, fontPackage: package); + static const IconData visibility_off_sharp = IconData(0xe208, fontFamily: familySharp, fontPackage: package); ///
Visibility icon (sharp)
- static const IconData visibility_sharp = IconData(0xe206, fontFamily: familySharp, fontPackage: package); + static const IconData visibility_sharp = IconData(0xe209, fontFamily: familySharp, fontPackage: package); ///
Volte icon (sharp)
- static const IconData volte_sharp = IconData(0xe207, fontFamily: familySharp, fontPackage: package); + static const IconData volte_sharp = IconData(0xe20a, fontFamily: familySharp, fontPackage: package); ///
Volume Down icon (sharp)
- static const IconData volume_down_sharp = IconData(0xe208, fontFamily: familySharp, fontPackage: package); + static const IconData volume_down_sharp = IconData(0xe20b, fontFamily: familySharp, fontPackage: package); ///
Volume Mute icon (sharp)
- static const IconData volume_mute_sharp = IconData(0xe209, fontFamily: familySharp, fontPackage: package); + static const IconData volume_mute_sharp = IconData(0xe20c, fontFamily: familySharp, fontPackage: package); ///
Volume Off icon (sharp)
- static const IconData volume_off_sharp = IconData(0xe20a, fontFamily: familySharp, fontPackage: package); + static const IconData volume_off_sharp = IconData(0xe20d, fontFamily: familySharp, fontPackage: package); ///
Volume Up icon (sharp)
- static const IconData volume_up_sharp = IconData(0xe20b, fontFamily: familySharp, fontPackage: package); + static const IconData volume_up_sharp = IconData(0xe20e, fontFamily: familySharp, fontPackage: package); ///
Warning Outline icon (sharp)
- static const IconData warning_outline_sharp = IconData(0xe20c, fontFamily: familySharp, fontPackage: package); + static const IconData warning_outline_sharp = IconData(0xe20f, fontFamily: familySharp, fontPackage: package); ///
Warning icon (sharp)
- static const IconData warning_sharp = IconData(0xe20d, fontFamily: familySharp, fontPackage: package); + static const IconData warning_sharp = IconData(0xe210, fontFamily: familySharp, fontPackage: package); ///
Watch icon (sharp)
- static const IconData watch_sharp = IconData(0xe20e, fontFamily: familySharp, fontPackage: package); + static const IconData watch_sharp = IconData(0xe211, fontFamily: familySharp, fontPackage: package); ///
Wb Image icon (sharp)
- static const IconData wb_image_sharp = IconData(0xe20f, fontFamily: familySharp, fontPackage: package); + static const IconData wb_image_sharp = IconData(0xe212, fontFamily: familySharp, fontPackage: package); ///
Wb icon (sharp)
- static const IconData wb_sharp = IconData(0xe210, fontFamily: familySharp, fontPackage: package); + static const IconData wb_sharp = IconData(0xe213, fontFamily: familySharp, fontPackage: package); ///
World Action icon (sharp)
- static const IconData world_action_sharp = IconData(0xe211, fontFamily: familySharp, fontPackage: package); + static const IconData world_action_sharp = IconData(0xe214, fontFamily: familySharp, fontPackage: package); ///
World icon (sharp)
- static const IconData world_sharp = IconData(0xe212, fontFamily: familySharp, fontPackage: package); + static const IconData world_sharp = IconData(0xe215, fontFamily: familySharp, fontPackage: package); ///
Write icon (sharp)
- static const IconData write_sharp = IconData(0xe213, fontFamily: familySharp, fontPackage: package); + static const IconData write_sharp = IconData(0xe216, fontFamily: familySharp, fontPackage: package); ///
Youtube icon (sharp)
- static const IconData youtube_sharp = IconData(0xe214, fontFamily: familySharp, fontPackage: package); + static const IconData youtube_sharp = IconData(0xe217, fontFamily: familySharp, fontPackage: package); ///
Zero Scale icon (sharp)
- static const IconData zero_scale_sharp = IconData(0xe215, fontFamily: familySharp, fontPackage: package); + static const IconData zero_scale_sharp = IconData(0xe218, fontFamily: familySharp, fontPackage: package); ///
Zoom In Map icon (sharp)
- static const IconData zoom_in_map_sharp = IconData(0xe216, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_in_map_sharp = IconData(0xe219, fontFamily: familySharp, fontPackage: package); ///
Zoom In icon (sharp)
- static const IconData zoom_in_sharp = IconData(0xe217, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_in_sharp = IconData(0xe21a, fontFamily: familySharp, fontPackage: package); ///
Zoom Out Map icon (sharp)
- static const IconData zoom_out_map_sharp = IconData(0xe218, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_out_map_sharp = IconData(0xe21b, fontFamily: familySharp, fontPackage: package); ///
Zoom Out icon (sharp)
- static const IconData zoom_out_sharp = IconData(0xe219, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_out_sharp = IconData(0xe21c, fontFamily: familySharp, fontPackage: package); } /// List of all icons. @@ -5037,6 +5064,9 @@ const Map icons = { 'cloud_upload': ZetaIcons.cloud_upload, 'color_fill': ZetaIcons.color_fill, 'columns': ZetaIcons.columns, + 'comms_chat_new': ZetaIcons.comms_chat_new, + 'comms_chat': ZetaIcons.comms_chat, + 'comms_chat_unread': ZetaIcons.comms_chat_unread, 'contactless_pay': ZetaIcons.contactless_pay, 'content': ZetaIcons.content, 'contrast_image': ZetaIcons.contrast_image, diff --git a/lib/generated/icons/zeta-icons-round.ttf b/lib/generated/icons/zeta-icons-round.ttf index e40044dc908fec21e8920447c28d5c56815a40cb..9a311921fee3b189bd412dbbbdb0b0e541573f65 100644 GIT binary patch delta 16257 zcmb_j3w)H-l|SdsWHL#HBtXby!b~zr$diNw2ycwM1XKhRR9=ESjV&N5Dx&p6rIuRi zDzVjC+PX@utuI!rTG!oDOD$_@m$tU0u2oQK@lk7)T5758|9|f{ub6K4x4$jD&i&54 z_uPBl=brD&vAZHC?~Qn(B2pwAA z8f{4Tx{aHDSo6_ef$v(8@bhagS$WEG^WoD6MV6ib;Ly6|n>GaInhqSG0t=Gsm#|#k_Y�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 K(c9gf$o~Q@PC$nM diff --git a/lib/generated/icons/zeta-icons-sharp.ttf b/lib/generated/icons/zeta-icons-sharp.ttf index 6c7e6a5b6e53f3ea625dcb5cf90d14ee6d49db36..ea7a9d3d040cab9ae4a9427fda76bc00e89d161f 100644 GIT binary patch delta 15591 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 delta 14403 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 Date: Mon, 11 Nov 2024 15:58:34 +0000 Subject: [PATCH 12/29] chore(main): release 0.18.0 (#198) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 55 ++++++++++++++++++++++ example/lib/home.dart | 2 +- example/widgetbook/pages/introduction.dart | 2 +- pubspec.yaml | 2 +- 5 files changed, 59 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6db19b95..4ad3fef3 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.17.0" + ".": "0.18.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index ccda1008..29076497 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,60 @@ # Changelog +## [0.18.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.17.0...v0.18.0) (2024-11-11) + + +### ✨ New Features + +* Added disabled variant to chip ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* Added label prop to progress circle which overrides default percentage label ([e035a47](https://github.com/ZebraDevs/zeta_flutter/commit/e035a47178efd5b1528c86fc4f5c46bd7ad179f5)) +* added maxValue to progress circle ([e035a47](https://github.com/ZebraDevs/zeta_flutter/commit/e035a47178efd5b1528c86fc4f5c46bd7ad179f5)) +* Added mouse region to avatar for give click pointer ([37b0f8e](https://github.com/ZebraDevs/zeta_flutter/commit/37b0f8e284d0b734a1ca9b3e17fccbbca6c60fa5)) +* Added NavRail focus state ([39c5cdf](https://github.com/ZebraDevs/zeta_flutter/commit/39c5cdf4a150b6aae1c57cfc4a7daa1c70f09883)) +* Added NavRail hover state ([#204](https://github.com/ZebraDevs/zeta_flutter/issues/204)) ([39c5cdf](https://github.com/ZebraDevs/zeta_flutter/commit/39c5cdf4a150b6aae1c57cfc4a7daa1c70f09883)) +* added onTap to widgetbook ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* Added onTaps to chips in example app ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* added rounded to widgetbook ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* created status chip ([c69d3b7](https://github.com/ZebraDevs/zeta_flutter/commit/c69d3b76afcd14a8ffa5777483687f818ac70876)) +* implemented status chip widgetbook use case ([c69d3b7](https://github.com/ZebraDevs/zeta_flutter/commit/c69d3b76afcd14a8ffa5777483687f818ac70876)) +* **UX-1233:** Added disabled variant to chip ([#203](https://github.com/ZebraDevs/zeta_flutter/issues/203)) ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* **UX-1234:** Status Chip ([#201](https://github.com/ZebraDevs/zeta_flutter/issues/201)) ([c69d3b7](https://github.com/ZebraDevs/zeta_flutter/commit/c69d3b76afcd14a8ffa5777483687f818ac70876)) +* **UX-1247:** extend ZetaProgressCircle ([#199](https://github.com/ZebraDevs/zeta_flutter/issues/199)) ([e035a47](https://github.com/ZebraDevs/zeta_flutter/commit/e035a47178efd5b1528c86fc4f5c46bd7ad179f5)) +* **UX-1310:** Added more customization options to ZetaListItem ([#205](https://github.com/ZebraDevs/zeta_flutter/issues/205)) ([6e13502](https://github.com/ZebraDevs/zeta_flutter/commit/6e135020cbddcf7e448abdfadd7eaca127acff56)) + + +### 🪲 Bug Fixes + +* Banner title alignment when centered ([044ed2e](https://github.com/ZebraDevs/zeta_flutter/commit/044ed2ea47ae9e82ce7433ff251582a2fc861271)) +* changed _updateControllerState to _handleDisabledState ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* converted child widget function to a stateless widget class in status chip ([c69d3b7](https://github.com/ZebraDevs/zeta_flutter/commit/c69d3b76afcd14a8ffa5777483687f818ac70876)) +* Removed hit test behavior from avatar rail ([37b0f8e](https://github.com/ZebraDevs/zeta_flutter/commit/37b0f8e284d0b734a1ca9b3e17fccbbca6c60fa5)) +* removed hit test behaviour from avatar rail ([#197](https://github.com/ZebraDevs/zeta_flutter/issues/197)) ([37b0f8e](https://github.com/ZebraDevs/zeta_flutter/commit/37b0f8e284d0b734a1ca9b3e17fccbbca6c60fa5)) +* set rounded to default to true ([c69d3b7](https://github.com/ZebraDevs/zeta_flutter/commit/c69d3b76afcd14a8ffa5777483687f818ac70876)) +* used variable ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* **UX-1161:** banner title alignment when centered ([#200](https://github.com/ZebraDevs/zeta_flutter/issues/200)) ([044ed2e](https://github.com/ZebraDevs/zeta_flutter/commit/044ed2ea47ae9e82ce7433ff251582a2fc861271)) +* **UX-1298:** ZetaDialog button overflow ([51b4172](https://github.com/ZebraDevs/zeta_flutter/commit/51b4172d3e926e9fa2c87fd1be4f2c2ec5b4a71b)) +* **UX-1303:** Update avatar boarder width ([#202](https://github.com/ZebraDevs/zeta_flutter/issues/202)) ([51b4172](https://github.com/ZebraDevs/zeta_flutter/commit/51b4172d3e926e9fa2c87fd1be4f2c2ec5b4a71b)) +* **UX-1309:** Wrapped initials with FittedBox inside ZetaAvatar so that the text scales correctly with device text scaling ([6e13502](https://github.com/ZebraDevs/zeta_flutter/commit/6e135020cbddcf7e448abdfadd7eaca127acff56)) + + +### 📈 Documentation + +* added description for status chip ([c69d3b7](https://github.com/ZebraDevs/zeta_flutter/commit/c69d3b76afcd14a8ffa5777483687f818ac70876)) +* added more info to global header. Info about where to use the header ([#206](https://github.com/ZebraDevs/zeta_flutter/issues/206)) ([c9c84c0](https://github.com/ZebraDevs/zeta_flutter/commit/c9c84c0d7b80934e59b76ba3501639d6de37f35a)) + + +### ⛓️ Dependencies + +* **automated:** Update icons ([#207](https://github.com/ZebraDevs/zeta_flutter/issues/207)) ([87a5df1](https://github.com/ZebraDevs/zeta_flutter/commit/87a5df158653a7623f09894961fe985635362d95)) + + +### 🧪 Tests + +* Add a log on debugFillPropertiesTest if it fails ([51b4172](https://github.com/ZebraDevs/zeta_flutter/commit/51b4172d3e926e9fa2c87fd1be4f2c2ec5b4a71b)) +* Added debugfillproperties test to chip_test ([321b57d](https://github.com/ZebraDevs/zeta_flutter/commit/321b57de1cfc39cc940d28716fa1a49efc577d84)) +* **UX-1305:** Update avatar test ([51b4172](https://github.com/ZebraDevs/zeta_flutter/commit/51b4172d3e926e9fa2c87fd1be4f2c2ec5b4a71b)) +* wrote tests for status chip ([c69d3b7](https://github.com/ZebraDevs/zeta_flutter/commit/c69d3b76afcd14a8ffa5777483687f818ac70876)) + ## [0.17.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.16.0...v0.17.0) (2024-10-28) diff --git a/example/lib/home.dart b/example/lib/home.dart index faba05a5..0534fd37 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -160,7 +160,7 @@ class _HomeState extends State { final _theme = theme..sort((a, b) => a.name.compareTo(b.name)); return ExampleScaffold( // x-release-please-start-version - name: 'zeta_flutter v0.17.0', + name: 'zeta_flutter v0.18.0', // x-release-please-end child: SingleChildScrollView( child: Column( diff --git a/example/widgetbook/pages/introduction.dart b/example/widgetbook/pages/introduction.dart index 1e0c7d32..71309e2b 100644 --- a/example/widgetbook/pages/introduction.dart +++ b/example/widgetbook/pages/introduction.dart @@ -71,7 +71,7 @@ class _IntroductionWidgetbookState extends State { Expanded( child: Text( // x-release-please-start-version - 'zeta_flutter v0.17.0', + 'zeta_flutter v0.18.0', // x-release-please-end style: ZetaTextStyles.displayLarge.copyWith(fontSize: largeScreen ? null : 24), ), diff --git a/pubspec.yaml b/pubspec.yaml index 61a7234c..fbb6c220 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: zeta_flutter -version: 0.17.0 +version: 0.18.0 description: Zeta is the new, formal, standardized Zebra Design System based off the successes of ZDS (Zebra Design System). This package is in pre-release, and so many aspects are incomplete. From bfbfa238f3356368d1f36d32d15ba8de4706646e Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Tue, 12 Nov 2024 11:12:55 +0000 Subject: [PATCH 13/29] fix(UX-1315): Update license (#208) fix(UX-1316): Update macro desciption ci(UX-1272): Update release action workflow dispath --- .github/workflows/on-release.yml | 2 +- LICENSE | 22 ++++++++++++++++++---- lib/src/theme/color_swatch.dart | 8 +++++++- lib/src/theme/colors_base.dart | 7 +------ 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml index dc3d299c..ddfc4c8b 100644 --- a/.github/workflows/on-release.yml +++ b/.github/workflows/on-release.yml @@ -38,5 +38,5 @@ jobs: repo: 'zeta', workflow_id: 'deploy.yml', ref: 'main', - environment: 'stage', + environment: 'production', }) diff --git a/LICENSE b/LICENSE index d4f367ee..ced46520 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,21 @@ -Copyright 2024 Zebra Technologies +MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Copyright (c) 2024 Zebra Technologies Inc. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/lib/src/theme/color_swatch.dart b/lib/src/theme/color_swatch.dart index 25b247f3..529ecf8b 100644 --- a/lib/src/theme/color_swatch.dart +++ b/lib/src/theme/color_swatch.dart @@ -5,7 +5,13 @@ import 'color_extensions.dart'; import 'colors_base.dart'; import 'contrast.dart'; -/// A swatch of colors with values from 10 (light) to 100 (dark). +/// {@template zeta-color-swatch} +/// A swatch of colors with values from 10 (light) to 100 (dark). +/// +/// See also: +/// * [MaterialColor]. +/// {@endtemplate} +/// /// {@category Theme} @immutable class ZetaColorSwatch extends ColorSwatch with EquatableMixin { diff --git a/lib/src/theme/colors_base.dart b/lib/src/theme/colors_base.dart index 96402a2e..b8918412 100644 --- a/lib/src/theme/colors_base.dart +++ b/lib/src/theme/colors_base.dart @@ -52,12 +52,7 @@ abstract final class ZetaColorBase { /// Pure /// - /// {@template zeta-color-swatch} - /// Contains shades from 10 (light) to 100 (dark). - /// - /// See also: - /// * [ZetaColorSwatch]. - /// {@endtemplate} + /// {@macro zeta-color-swatch} static const ZetaColorSwatch pure = ZetaColorSwatch( primary: 0xFF151519, swatch: { From 5a785f0cd35a827297ca2d8b96a7f96cf45215cc Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Tue, 12 Nov 2024 15:13:54 +0000 Subject: [PATCH 14/29] feat(UX-1096): Added shrink items to navigation bar so the items can expand or shrink. To match web (#210) feat: Added shrink items to navigation bar so the items can expand to fill the space and shrink fix: added shrink items to widgetbook --- .../components/navigation_bar_widgetbook.dart | 2 ++ .../navigation bar/navigation_bar.dart | 34 +++++++++++++------ 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/example/widgetbook/pages/components/navigation_bar_widgetbook.dart b/example/widgetbook/pages/components/navigation_bar_widgetbook.dart index 9012b129..6cde9ff3 100644 --- a/example/widgetbook/pages/components/navigation_bar_widgetbook.dart +++ b/example/widgetbook/pages/components/navigation_bar_widgetbook.dart @@ -15,6 +15,7 @@ Widget navigationBarUseCase(BuildContext context) { bool showButton = context.knobs.boolean(label: 'Button'); int? dividerIndex = context.knobs.intOrNull.slider(label: 'Divider', min: 0, max: 6, initialValue: null); bool showSplit = context.knobs.boolean(label: 'Split Items'); + bool shrinkItems = context.knobs.boolean(label: 'Shrink Items'); return StatefulBuilder(builder: (context, setState) { return WidgetbookScaffold( builder: (context, _) => ZetaNavigationBar( @@ -24,6 +25,7 @@ Widget navigationBarUseCase(BuildContext context) { currentIndex: currIndex, splitItems: showSplit, dividerIndex: dividerIndex, + shrinkItems: shrinkItems, ), ); }); diff --git a/lib/src/components/navigation bar/navigation_bar.dart b/lib/src/components/navigation bar/navigation_bar.dart index 3e820713..e30f522c 100644 --- a/lib/src/components/navigation bar/navigation_bar.dart +++ b/lib/src/components/navigation bar/navigation_bar.dart @@ -42,6 +42,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.dividerIndex, this.action, this.semanticLabel, + this.shrinkItems = false, }) : assert( items.length >= 2 && items.length <= 6, 'The number of items should be between 2 and 6', @@ -56,6 +57,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.onTap, this.dividerIndex, this.semanticLabel, + this.shrinkItems = false, }) : splitItems = false, action = null; @@ -70,7 +72,8 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.dividerIndex, this.semanticLabel, }) : splitItems = true, - action = null; + action = null, + shrinkItems = true; /// Creates a [ZetaNavigationBar] with an action. const ZetaNavigationBar.action({ @@ -81,6 +84,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.currentIndex, this.onTap, this.semanticLabel, + this.shrinkItems = false, }) : dividerIndex = null, splitItems = false; @@ -107,16 +111,25 @@ class ZetaNavigationBar extends ZetaStatelessWidget { /// {@macro zeta-widget-semantic-label} final String? semanticLabel; + /// When set to true the items will shrink to take up less space. + /// This is useful when there are many items in the navigation bar. + /// Defaults to false. + /// When set to false the items will take up equal space and will expand to fill the bar. + final bool shrinkItems; + Row _generateNavigationItemRow(List items, BuildContext context) { return Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: items.map((navItem) { final index = items.indexOf(navItem); - return _NavigationItem( - selected: index == currentIndex, - item: navItem, - onTap: () => onTap?.call(index), - context: context, + return Expanded( + flex: !shrinkItems ? 1 : 0, + child: _NavigationItem( + selected: index == currentIndex, + item: navItem, + onTap: () => onTap?.call(index), + context: context, + ), ); }).toList(), ); @@ -143,21 +156,21 @@ class ZetaNavigationBar extends ZetaStatelessWidget { child = Row( mainAxisAlignment: splitItems ? MainAxisAlignment.spaceBetween : MainAxisAlignment.spaceAround, children: [ - _generateNavigationItemRow(leftItems, context), + Expanded(flex: !shrinkItems ? 1 : 0, child: _generateNavigationItemRow(leftItems, context)), if (dividerIndex != null) Container( color: colors.borderSubtle, width: _navigationItemBorderWidth, height: Zeta.of(context).spacing.xl_7, ), - _generateNavigationItemRow(rightItems, context), + Expanded(flex: !shrinkItems ? 1 : 0, child: _generateNavigationItemRow(rightItems, context)), ], ); } else if (action != null) { child = Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - _generateNavigationItemRow(items, context), + Expanded(flex: !shrinkItems ? 1 : 0, child: _generateNavigationItemRow(items, context)), action!, ], ); @@ -186,7 +199,8 @@ class ZetaNavigationBar extends ZetaStatelessWidget { ..add(ObjectFlagProperty.has('onTap', onTap)) ..add(DiagnosticsProperty('splitItems', splitItems)) ..add(IntProperty('dividerIndex', dividerIndex)) - ..add(StringProperty('semanticLabel', semanticLabel)); + ..add(StringProperty('semanticLabel', semanticLabel)) + ..add(DiagnosticsProperty('shrinkItems', shrinkItems)); } } From aa7a1e4eff10274f4fb11111a825e21a496522a6 Mon Sep 17 00:00:00 2001 From: Prashant Sawant <75819349+ps9310@users.noreply.github.com> Date: Wed, 13 Nov 2024 07:09:01 -0500 Subject: [PATCH 15/29] fix: add SafeArea to ZetaNavigationBar (#211) --- lib/src/components/navigation bar/navigation_bar.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/src/components/navigation bar/navigation_bar.dart b/lib/src/components/navigation bar/navigation_bar.dart index e30f522c..06dfe081 100644 --- a/lib/src/components/navigation bar/navigation_bar.dart +++ b/lib/src/components/navigation bar/navigation_bar.dart @@ -185,7 +185,9 @@ class ZetaNavigationBar extends ZetaStatelessWidget { border: Border(top: BorderSide(color: colors.borderSubtle)), ), child: Semantics( - child: child, + child: SafeArea( + child: child, + ), ), ); } @@ -246,7 +248,7 @@ class _NavigationItem extends ZetaStatelessWidget { return Material( color: colors.surfacePrimary, - child: InkWell( + child: InkResponse( borderRadius: context.rounded ? Zeta.of(context).radius.rounded : Zeta.of(context).radius.none, onTap: onTap, child: Semantics( From 179c2cba6ef0f65523d273d8dad2399f8292e220 Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Thu, 14 Nov 2024 14:15:05 +0000 Subject: [PATCH 16/29] deps: Update example app android dependencies (#212) Co-authored-by: github-actions --- example/.metadata | 10 +++--- example/android/.gitignore | 2 +- example/android/app/build.gradle | 34 ++++++------------- example/android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- example/android/settings.gradle | 4 +-- example/ios/Podfile.lock | 10 +++--- example/ios/Runner/AppDelegate.swift | 2 +- .../navigation bar/navigation_bar.dart | 16 +++++---- 9 files changed, 36 insertions(+), 46 deletions(-) diff --git a/example/.metadata b/example/.metadata index 8973d6ca..706ff779 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49" + revision: "603104015dd692ea3403755b55d07813d5cf8965" channel: "stable" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 - platform: android - create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 # User provided section diff --git a/example/android/.gitignore b/example/android/.gitignore index 6f568019..55afd919 100644 --- a/example/android/.gitignore +++ b/example/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 6b8eb878..b189d473 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -5,43 +5,29 @@ plugins { id "dev.flutter.flutter-gradle-plugin" } -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - android { namespace = "com.zebra.zeta.example" compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion + ndkVersion = "25.1.8937393" compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17 } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.zebra.zeta.example" // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 3b5b324f..25971708 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index e1ca574e..9c5194d3 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip \ No newline at end of file diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 536165d3..a00f9ea7 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false + id "com.android.application" version "8.3.1" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false } include ":app" diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 15073017..47f4958e 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -6,7 +6,7 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - sqflite (0.0.3): + - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS - url_launcher_ios (0.0.1): @@ -16,7 +16,7 @@ DEPENDENCIES: - Flutter (from `Flutter`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - sqflite (from `.symlinks/plugins/sqflite/darwin`) + - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) EXTERNAL SOURCES: @@ -26,8 +26,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/path_provider_foundation/darwin" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" - sqflite: - :path: ".symlinks/plugins/sqflite/darwin" + sqflite_darwin: + :path: ".symlinks/plugins/sqflite_darwin/darwin" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" @@ -35,7 +35,7 @@ SPEC CHECKSUMS: Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 - sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec + sqflite_darwin: a553b1fd6fe66f53bbb0fe5b4f5bab93f08d7a13 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011 diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift index 70693e4a..b6363034 100644 --- a/example/ios/Runner/AppDelegate.swift +++ b/example/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import UIKit import Flutter -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/lib/src/components/navigation bar/navigation_bar.dart b/lib/src/components/navigation bar/navigation_bar.dart index 06dfe081..5d530614 100644 --- a/lib/src/components/navigation bar/navigation_bar.dart +++ b/lib/src/components/navigation bar/navigation_bar.dart @@ -43,6 +43,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.action, this.semanticLabel, this.shrinkItems = false, + this.useSafeArea = true, }) : assert( items.length >= 2 && items.length <= 6, 'The number of items should be between 2 and 6', @@ -58,6 +59,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.dividerIndex, this.semanticLabel, this.shrinkItems = false, + this.useSafeArea = true, }) : splitItems = false, action = null; @@ -71,6 +73,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.onTap, this.dividerIndex, this.semanticLabel, + this.useSafeArea = true, }) : splitItems = true, action = null, shrinkItems = true; @@ -85,6 +88,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { this.onTap, this.semanticLabel, this.shrinkItems = false, + this.useSafeArea = true, }) : dividerIndex = null, splitItems = false; @@ -117,6 +121,9 @@ class ZetaNavigationBar extends ZetaStatelessWidget { /// When set to false the items will take up equal space and will expand to fill the bar. final bool shrinkItems; + /// Whether the child should be wrapped in a [SafeArea]. + final bool useSafeArea; + Row _generateNavigationItemRow(List items, BuildContext context) { return Row( mainAxisAlignment: MainAxisAlignment.spaceAround, @@ -184,11 +191,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { color: colors.surfacePrimary, border: Border(top: BorderSide(color: colors.borderSubtle)), ), - child: Semantics( - child: SafeArea( - child: child, - ), - ), + child: Semantics(child: useSafeArea ? SafeArea(child: child) : child), ); } @@ -202,7 +205,8 @@ class ZetaNavigationBar extends ZetaStatelessWidget { ..add(DiagnosticsProperty('splitItems', splitItems)) ..add(IntProperty('dividerIndex', dividerIndex)) ..add(StringProperty('semanticLabel', semanticLabel)) - ..add(DiagnosticsProperty('shrinkItems', shrinkItems)); + ..add(DiagnosticsProperty('shrinkItems', shrinkItems)) + ..add(DiagnosticsProperty('useSafeArea', useSafeArea)); } } From 9f6ed48a91d5a0f681d7c3df43da49dc40852f1d Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Mon, 18 Nov 2024 13:11:22 +0000 Subject: [PATCH 17/29] test: Navigation Bar (#213) tests: changed test group names to fit with standard group names test: writing tests for navigation bar fix: made NavigationItem visible for testing fix: Changed font size of medium indicator from 12 to 11 fix: hover color on navigation item test: added more tests for navigation bar test: Uncommented text contrast tests fix: set navigation item highlight shape to rectangle test: edited test to pass after merge test: ran test counter fix: indicator semantic labels fix: navigation bar semantic labels chore(automated): Lint commit and format test: navigation item calls onTap when an item is tapped off center chore(automated): Lint commit and format test: hardcoded offset fix: Extra verbose semantic label test: fixed debug fill props avatar --- .../components/notification_list_example.dart | 1 + lib/src/components/avatars/avatar.dart | 12 +- lib/src/components/badges/indicator.dart | 37 +- lib/src/components/components.dart | 2 +- .../navigation bar/navigation_bar.dart | 27 +- test/scripts/output/test_table.md | 11 +- test/src/components/avatar/avatar_test.dart | 8 +- .../indicator_notification_with_value.png | Bin 0 -> 3469 bytes test/src/components/badge/indicator_test.dart | 46 +- .../golden/navigation_bar_action.png | Bin 0 -> 4463 bytes .../golden/navigation_bar_current_index_0.png | Bin 0 -> 4073 bytes .../golden/navigation_bar_current_index_1.png | Bin 0 -> 4094 bytes .../golden/navigation_bar_current_index_2.png | Bin 0 -> 4093 bytes .../golden/navigation_bar_current_index_3.png | Bin 0 -> 4094 bytes .../golden/navigation_bar_default.png | Bin 0 -> 4023 bytes .../golden/navigation_bar_divider.png | Bin 0 -> 4238 bytes .../golden/navigation_bar_divider_at_0.png | Bin 0 -> 4226 bytes .../golden/navigation_bar_divider_at_1.png | Bin 0 -> 4267 bytes .../golden/navigation_bar_divider_at_2.png | Bin 0 -> 4238 bytes .../golden/navigation_bar_divider_at_3.png | Bin 0 -> 4269 bytes .../golden/navigation_bar_shrink_items.png | Bin 0 -> 4023 bytes .../golden/navigation_bar_split.png | Bin 0 -> 4083 bytes .../navigation_bar/navigation_bar_test.dart | 521 ++++++++++++++++++ test/src/components/stepper/stepper_test.dart | 12 +- .../top_app_bar/top_app_bar_test.dart | 14 +- 25 files changed, 642 insertions(+), 49 deletions(-) create mode 100644 test/src/components/badge/golden/indicator_notification_with_value.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_action.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_current_index_0.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_current_index_1.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_current_index_2.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_current_index_3.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_default.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_divider.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_divider_at_0.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_divider_at_1.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_divider_at_2.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_divider_at_3.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_shrink_items.png create mode 100644 test/src/components/navigation_bar/golden/navigation_bar_split.png create mode 100644 test/src/components/navigation_bar/navigation_bar_test.dart diff --git a/example/lib/pages/components/notification_list_example.dart b/example/lib/pages/components/notification_list_example.dart index a13ae1ad..1b203145 100644 --- a/example/lib/pages/components/notification_list_example.dart +++ b/example/lib/pages/components/notification_list_example.dart @@ -86,6 +86,7 @@ class NotificationListItemExample extends StatelessWidget { leading: ZetaNotificationBadge.avatar( avatar: ZetaAvatar.initials( initials: "JS", + semanticUpperBadgeLabel: 'Urgent', lowerBadge: ZetaAvatarBadge.icon( color: ZetaColors().surfacePositive, icon: Icons.check, diff --git a/lib/src/components/avatars/avatar.dart b/lib/src/components/avatars/avatar.dart index 7ca1443f..726c381b 100644 --- a/lib/src/components/avatars/avatar.dart +++ b/lib/src/components/avatars/avatar.dart @@ -53,9 +53,9 @@ class ZetaAvatar extends ZetaStatelessWidget { this.lowerBadge, this.upperBadge, this.borderColor, - this.semanticLabel = 'avatar', - this.semanticUpperBadgeLabel = 'upperBadge', - this.semanticLowerBadgeLabel = 'lowerBadge', + this.semanticLabel, + this.semanticUpperBadgeLabel, + this.semanticLowerBadgeLabel, this.initialTextStyle, this.label, this.labelTextStyle, @@ -149,17 +149,17 @@ class ZetaAvatar extends ZetaStatelessWidget { /// {@template zeta-widget-semantic-label} /// This label is used by accessibility frameworks (e.g. TalkBack on Android) to describe the component. /// {@endtemplate} - final String semanticLabel; + final String? semanticLabel; /// Value passed into wrapping [Semantics] widget for lower badge. /// /// {@macro zeta-widget-semantic-label} - final String semanticLowerBadgeLabel; + final String? semanticLowerBadgeLabel; /// Value passed into wrapping [Semantics] widget for upper badge. /// /// {@macro zeta-widget-semantic-label} - final String semanticUpperBadgeLabel; + final String? semanticUpperBadgeLabel; /// Text style for initials. /// diff --git a/lib/src/components/badges/indicator.dart b/lib/src/components/badges/indicator.dart index abb04172..efbb3d4e 100644 --- a/lib/src/components/badges/indicator.dart +++ b/lib/src/components/badges/indicator.dart @@ -92,6 +92,7 @@ class ZetaIndicator extends ZetaStatelessWidget { int? value, bool? inverse, Key? key, + String? semanticLabel, }) { return ZetaIndicator( key: key ?? this.key, @@ -100,6 +101,7 @@ class ZetaIndicator extends ZetaStatelessWidget { icon: icon ?? this.icon, value: value ?? this.value, inverse: inverse ?? this.inverse, + semanticLabel: semanticLabel ?? this.semanticLabel, ); } @@ -111,18 +113,21 @@ class ZetaIndicator extends ZetaStatelessWidget { final sizePixels = _getSizePixels(size, type, context); return Semantics( - value: semanticLabel ?? value?.toString() ?? '', + label: semanticLabel, + container: true, child: Container( width: sizePixels + Zeta.of(context).spacing.minimum, height: sizePixels + Zeta.of(context).spacing.minimum, - decoration: BoxDecoration( - border: Border.all( - width: ZetaBorders.medium, - color: Zeta.of(context).colors.borderSubtle, - ), - color: (inverse ? foregroundColor : Colors.transparent), - borderRadius: Zeta.of(context).radius.full, - ), + decoration: type == ZetaIndicatorType.icon + ? BoxDecoration( + border: Border.all( + width: ZetaBorders.medium, + color: Zeta.of(context).colors.borderSubtle, + ), + color: (inverse ? foregroundColor : Colors.transparent), + borderRadius: Zeta.of(context).radius.full, + ) + : null, child: Center( child: Container( width: sizePixels, @@ -155,11 +160,15 @@ class ZetaIndicator extends ZetaStatelessWidget { ); case ZetaIndicatorType.notification: return Center( - child: Text( - value.formatMaxChars(), - style: ZetaTextStyles.labelIndicator.copyWith( - color: foregroundColor, - height: size == ZetaWidgetSize.large ? 1 : (12 / 16), + child: ExcludeSemantics( + excluding: semanticLabel != null, + child: Text( + value.formatMaxChars(), + style: ZetaTextStyles.labelIndicator.copyWith( + color: foregroundColor, + fontSize: size == ZetaWidgetSize.large ? 12 : 11, + height: size == ZetaWidgetSize.large ? 1 : (0.5 / 16), + ), ), ), ); diff --git a/lib/src/components/components.dart b/lib/src/components/components.dart index 63bae3a4..af26f8cd 100644 --- a/lib/src/components/components.dart +++ b/lib/src/components/components.dart @@ -32,7 +32,7 @@ export 'in_page_banner/in_page_banner.dart'; export 'list_item/dropdown_list_item.dart'; export 'list_item/list_item.dart'; export 'list_item/notification_list_item.dart'; -export 'navigation bar/navigation_bar.dart'; +export 'navigation bar/navigation_bar.dart' hide NavigationItem; export 'navigation_rail/navigation_rail.dart'; export 'pagination/pagination.dart'; export 'password/password_input.dart'; diff --git a/lib/src/components/navigation bar/navigation_bar.dart b/lib/src/components/navigation bar/navigation_bar.dart index 5d530614..e8f16866 100644 --- a/lib/src/components/navigation bar/navigation_bar.dart +++ b/lib/src/components/navigation bar/navigation_bar.dart @@ -131,7 +131,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { final index = items.indexOf(navItem); return Expanded( flex: !shrinkItems ? 1 : 0, - child: _NavigationItem( + child: NavigationItem( selected: index == currentIndex, item: navItem, onTap: () => onTap?.call(index), @@ -186,7 +186,7 @@ class ZetaNavigationBar extends ZetaStatelessWidget { } return Container( - padding: EdgeInsets.symmetric(horizontal: Zeta.of(context).spacing.medium), + padding: EdgeInsets.symmetric(horizontal: Zeta.of(context).spacing.large), decoration: BoxDecoration( color: colors.surfacePrimary, border: Border(top: BorderSide(color: colors.borderSubtle)), @@ -210,19 +210,32 @@ class ZetaNavigationBar extends ZetaStatelessWidget { } } -class _NavigationItem extends ZetaStatelessWidget { - const _NavigationItem({ +/// A single item in a [ZetaNavigationBar]. +@visibleForTesting +@protected +class NavigationItem extends ZetaStatelessWidget { + /// Creates a new [NavigationItem]. + const NavigationItem({ + super.key, required this.selected, required this.item, required this.onTap, required this.context, }); + /// Whether the item is selected. final bool selected; + + /// The item to display. final ZetaNavigationBarItem item; + + /// Called when the item is tapped. final VoidCallback onTap; + + /// The build context of the [ZetaNavigationBar]. final BuildContext context; + /// The badge to show on the navigation item. Widget get badge { final ZetaColors colors = Zeta.of(context).colors; return Positioned( @@ -230,7 +243,7 @@ class _NavigationItem extends ZetaStatelessWidget { right: Zeta.of(context).spacing.minimum, child: DecoratedBox( decoration: BoxDecoration( - color: colors.surfacePrimary, + color: colors.surfaceDefault, borderRadius: Zeta.of(context).radius.full, ), child: item.badge?.copyWith( @@ -240,6 +253,7 @@ class _NavigationItem extends ZetaStatelessWidget { ? ZetaWidgetSize.medium : null, type: ZetaIndicatorType.notification, + semanticLabel: item.badge?.semanticLabel, ), ), ); @@ -255,9 +269,10 @@ class _NavigationItem extends ZetaStatelessWidget { child: InkResponse( borderRadius: context.rounded ? Zeta.of(context).radius.rounded : Zeta.of(context).radius.none, onTap: onTap, + hoverColor: colors.surfaceHover, + highlightShape: BoxShape.rectangle, child: Semantics( button: true, - explicitChildNodes: true, label: item.label, child: Container( padding: EdgeInsets.only( diff --git a/test/scripts/output/test_table.md b/test/scripts/output/test_table.md index 307b28b7..4c298e67 100644 --- a/test/scripts/output/test_table.md +++ b/test/scripts/output/test_table.md @@ -1,6 +1,7 @@ | Component | Accessibility | Content | Dimensions | Styling | Interaction | Golden | Performance | Unorganised | Total Tests | | -------------- | ------------- | ------- | ---------- | ------- | ----------- | ------ | ----------- | ----------- | ----------- | | Accordion | 0 | 2 | 0 | 1 | 2 | 0 | 0 | 0 | 5 | +| Avatar Rail | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 0 | 10 | | Avatar | 1 | 3 | 6 | 5 | 0 | 6 | 0 | 0 | 21 | | Indicator | 0 | 7 | 0 | 0 | 0 | 5 | 0 | 0 | 12 | | Label | 0 | 8 | 0 | 0 | 0 | 7 | 0 | 0 | 15 | @@ -11,17 +12,19 @@ | Button | 0 | 10 | 0 | 2 | 1 | 8 | 0 | 0 | 21 | | Chat Item | 0 | 10 | 0 | 0 | 0 | 8 | 0 | 0 | 18 | | Checkbox | 0 | 3 | 0 | 0 | 3 | 3 | 0 | 0 | 9 | -| Chip | 0 | 1 | 0 | 0 | 5 | 0 | 0 | 0 | 6 | +| Chip | 0 | 2 | 0 | 0 | 5 | 0 | 0 | 0 | 7 | +| Status Chip | 1 | 3 | 1 | 3 | 1 | 3 | 0 | 0 | 12 | | Comms Button | 2 | 7 | 0 | 0 | 0 | 1 | 0 | 0 | 10 | | Dialpad | 0 | 2 | 0 | 1 | 2 | 3 | 0 | 0 | 8 | | Fab | 0 | 6 | 0 | 1 | 1 | 6 | 0 | 0 | 14 | | Icon | 1 | 4 | 1 | 6 | 0 | 0 | 0 | 0 | 12 | | In Page Banner | 0 | 4 | 0 | 4 | 2 | 4 | 0 | 0 | 14 | +| Navigation Bar | 5 | 7 | 3 | 4 | 2 | 6 | 0 | 0 | 27 | | Password Input | 0 | 4 | 0 | 0 | 0 | 2 | 0 | 0 | 6 | | Search Bar | 0 | 5 | 0 | 0 | 5 | 5 | 0 | 0 | 15 | | Slider | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | -| Stepper | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 30 | 30 | +| Stepper | 4 | 8 | 4 | 6 | 2 | 6 | 0 | 0 | 30 | | Stepper Input | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | | Tooltip | 0 | 3 | 1 | 3 | 0 | 4 | 0 | 0 | 11 | -| Top App Bar | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 25 | 25 | -| Total Tests | 7 | 95 | 11 | 26 | 23 | 71 | 0 | 55 | 288 | +| Top App Bar | 2 | 6 | 1 | 1 | 6 | 9 | 0 | 0 | 25 | +| Total Tests | 20 | 122 | 22 | 41 | 36 | 96 | 1 | 0 | 338 | diff --git a/test/src/components/avatar/avatar_test.dart b/test/src/components/avatar/avatar_test.dart index 528d5aca..25459f90 100644 --- a/test/src/components/avatar/avatar_test.dart +++ b/test/src/components/avatar/avatar_test.dart @@ -17,7 +17,7 @@ void main() { }); group('Accessibility Tests', () { - testWidgets('ZetaAvatar meets accessibility requirements', (WidgetTester tester) async { + testWidgets('ZetaAvatar meets accessibility requirements', (WidgetTester tester) async { final SemanticsHandle handle = tester.ensureSemantics(); await tester.pumpWidget( const TestApp( @@ -52,9 +52,9 @@ void main() { 'lowerBadge': 'null', 'backgroundColor': 'null', 'statusColor': 'null', - 'semanticUpperBadgeValue': '"upperBadge"', - 'semanticValue': '"avatar"', - 'semanticLowerBadgeValue': '"lowerBadge"', + 'semanticUpperBadgeValue': 'null', + 'semanticValue': 'null', + 'semanticLowerBadgeValue': 'null', 'initialTextStyle': 'null', }; debugFillPropertiesTest( diff --git a/test/src/components/badge/golden/indicator_notification_with_value.png b/test/src/components/badge/golden/indicator_notification_with_value.png new file mode 100644 index 0000000000000000000000000000000000000000..edd743bff2bd5ed3167069eb8694ad4586cc0a83 GIT binary patch literal 3469 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9ji|sL9;Z#WAE}&f7a1vqTa_8ZO!^c4vHHbP;qpcuA?XKOr;u`RSuhO$o^_ zl_PF&hGlVF%S`G?b6HzvsIe>hiSV`JQxD^Iyk$4uTv%20s}^Lw+5fMM3=9YUC%-P| z@1JKQef)fUkG_6#B1^MYY_B-s?*;GZ`XJ=qoGqHDm{J~#U9};8slz#5#R?olR zzgGHs_iYA-2Ge3ShqTQ%gS;=B%zf?)G;dZ^4Rg_#A1^O?uRg=Xz;H&F>B*&Ycb85N zo5{++Fe94f#Po}2GsU~otiRG2+|`}FvzL@@@2ggilo`S;)I@7;1r z2WZ-y`yYUY%rw5=P*e5y*?MmE-|WvT`572C96QHy;?23YhQ60A?%e&I`k|ma-{-Q) zwso<(@0l4GuAP_}z5(dTbCbdPB^iN+q_A)>Fia3s0NUu*0F)aQ91W1s#4wr>MoWg# tQgO6K7_ALQYs1mnaI`iYX0_o=`9>Z;>+98Pp8}(n!PC{xWt~$(69CsK_A~$h literal 0 HcmV?d00001 diff --git a/test/src/components/badge/indicator_test.dart b/test/src/components/badge/indicator_test.dart index 43c683a8..ba73efff 100644 --- a/test/src/components/badge/indicator_test.dart +++ b/test/src/components/badge/indicator_test.dart @@ -13,7 +13,46 @@ void main() { goldenFileComparator = TolerantComparator(goldenFile.uri); }); - group('Accessibility Tests', () {}); + group('Accessibility Tests', () { + for (int i = 0; i < 10; i++) { + testWidgets('medium notification value $i meets accessibility standards', (tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + await tester.pumpWidget( + TestApp( + home: ZetaIndicator( + size: ZetaWidgetSize.medium, + value: i, + ), + ), + ); + + await expectLater(tester, meetsGuideline(androidTapTargetGuideline)); + await expectLater(tester, meetsGuideline(iOSTapTargetGuideline)); + await expectLater(tester, meetsGuideline(labeledTapTargetGuideline)); + await expectLater(tester, meetsGuideline(textContrastGuideline)); + + handle.dispose(); + }); + + testWidgets('default notification value $i meets accessibility standards', (tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + await tester.pumpWidget( + TestApp( + home: ZetaIndicator( + value: i, + ), + ), + ); + + await expectLater(tester, meetsGuideline(androidTapTargetGuideline)); + await expectLater(tester, meetsGuideline(iOSTapTargetGuideline)); + await expectLater(tester, meetsGuideline(labeledTapTargetGuideline)); + await expectLater(tester, meetsGuideline(textContrastGuideline)); + + handle.dispose(); + }); + } + }); group('Content Tests', () { final debugFillProperties = { 'color': 'MaterialColor(primary value: Color(0xffff9800))', @@ -170,6 +209,11 @@ void main() { 'indicator_icon_values', ); goldenTest(goldenFile, const ZetaIndicator.notification(), 'indicator_notification_default'); + goldenTest( + goldenFile, + const ZetaIndicator.notification(value: 3, size: ZetaWidgetSize.medium), + 'indicator_notification_with_value', + ); goldenTest( goldenFile, const ZetaIndicator.notification( diff --git a/test/src/components/navigation_bar/golden/navigation_bar_action.png b/test/src/components/navigation_bar/golden/navigation_bar_action.png new file mode 100644 index 0000000000000000000000000000000000000000..4639ee1c9b7a790b5443852bfdcc824eb2818c1b GIT binary patch literal 4463 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 literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_current_index_1.png b/test/src/components/navigation_bar/golden/navigation_bar_current_index_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb765806e83f97ae627a1565dd8af3ac1420f53 GIT binary patch literal 4094 zcmeH}drVVz6vt0_NC%+^>bl88qS<1GgCQG;2t@`%NbDA(8B7FM*@cCNl>!Pal(B4} zEQ5q8T+3r-VaR|MR;9y2OS2JWTv`&PJOs*$Qh5}V3kBNJ?&31GKUucFmfnBv@1Feb z@B2IFe9pxEQ$7_Z9gHpZ zcCY{Z;E`Z}0vg!ZvZo&FIvRnr`;IeUj6Aa_Pv4u;VEg z(w4ePz?!(0xEM$PhplV??l)_f zA>Q2_B7UbqVN7k8*YH|ea6dnxL~_YrsYF=#mm{J!$%6w{(CU!;Qhv{&%D%wdS*$wG zuy671!ZX&I(26E*e}@z2ipk}BGM65rxpNQE5nP|Bc{h?~;-{8L*LWSwd)iF_x4_$I zKN-3gUJvDeTy{)9+&(mc&xkcbCoZ8BVw9Z`Wn*4~+A0(c$}n`NHM8AIQv1};hXnU? zud6zzu2$PcSF+690NR@A5@GxHu|6?hQgmm(N2ghWqH*lm$VVZFwlNt&rk7{933oaG zCTnc&Up;d9*(8RIaTE>h`B?v|TMde~ur&P9cz|d0T5$)xbI4!)T-xbN^^UJ{Xi%gX zs;TrkwBr-+{O_s!)0Ku-2CwCD9Qd}xs+U;V@@@I%!6dt+h)#iEM(^SS;7s~)zqce@ zqUqL2Q?f6%PzOkGiwMa@-~AKD@qL7@t8`;=)X{vE0-@oB%_Y{n06C+rinXc|YtPGR z%ta#nfvveepRREP@OJU^Vx*@p*3)(yahCM5V&xup-GHKjnJFx#ZlP-yCqXy4d@%Fr zq>0FENMG4lprA94k-%2>n&a@%UGK{`M?#zW72a26Ab$-5>O5D88y?oEg8193y6wV9I zp#X(ny#Urjc9(u^>FN2PV5|A6o+-iNGP(8qn0cf>-rUqn*#z9#lfWGzaIXvsCg^Sr z8YXR#PTmRNdEl?pUf{od<7S}@l~$V8mN@H8i7K65Tvm{YAO$A1fJhOQX6{(m?NW&s zxKpl)hF`~4+JZz~wW%tFDJy5eAm=?wFn6DI_4C6kD&-l5stduK6v^_##yL|!f&L4g zW}+-3jU7A`vdUdGk7Fx~dght^ucb3sI>Uc899mfV cKe1%AdxJxL%!`)&Ld?Ms6+sW@hn*|>9TCy7Z2$lO literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_current_index_2.png b/test/src/components/navigation_bar/golden/navigation_bar_current_index_2.png new file mode 100644 index 0000000000000000000000000000000000000000..382e1066a5047855e0ad87deb7a3d7f92430e017 GIT binary patch literal 4093 zcmeH~YfO_@7{^b!j1D4brZC2J!N@Xha}6LO7ZJvo0XHNAqzn{NqEHJIxz{q80zxdt z5Acp&FvQ^o6wFI0*Fq-N_jS-=zWAd3QssBTEp2NVJtd2?jb!F+xvy}Qc9$f#fx%GuvPh0cJ`)9)y z&gM~xCal9mrpbfS6FHe#mmh@Kn0nm2@`X_39CJA`-MhW^yNVj-(bm$VhriJd9+Tbc zl_L-;L3VG|m##mN8WdH}j$3`Xqj5Mn>farh* z_INi+bm<*qth$yKgg}4=f;^weNfH&gHN$@-7 zW5L{uj8ogw9aHm&qDKx}(XpKZb;1PxHL+VOyB31{ukH+FG#A;Ir;C<#sBF|qfJ)u6 z9Y64Jr0Z`p)3!$axg!PjOWXb1y{745r}9x6R;_k|(Loc>o|lNlV#PSxdxeSv1O9JU zAIW;TAcUZ|J+i}ZpNPh#gsHc^}zt)CY& zkU$j?3nRUVO`dsn`p?L+$GnAXN<()vpCaT9tkb<`aPf!KN^IS}Mh=95NN&o>1+0Z;|vJ<2Rs zIW#*ZtQ%n=KR3Cq@LbtCj(2Oo+EVYU=M`O<&pcpC3eD1CuHOa5&d9%DJAY^{S9JHU z!>6v^PpJ{)UjOOLFp0GCCkI-mI5SYNHy6-?%$Gh8DVCF!?2rerkDJputiZ0I~yiePg~GRo&{&R;|AWSg_G zD_n-OOSMki(V==Y59a6AN}8a1fk#@*=EVDG0YnKGJuG%s8DW5@{Kh?N~Fd4E?vJA0DR+j$0h+R2?FpqjQ<4Fl$|L&g$W!tDJ}-&TK`dOFzlpNM22&)>7=7({zzxDF=s+VC?F9m^@0nmD&5mx=2*J`tYNq; zU*6!;=DJ3!G{H!f32Y=1X|~_*<-Kbe^t`!21nD{5?ajz+H%BKQm8YUj<$-*(;m}ZI z;vLk`vZlBx|G;F;!th2+lPpjd*6xWoiwa1jnwb~Hb^O*R`*a9`h)HNqof4q0!t)XF zv~8+iELPg337Ph?atk?(L@GDwINiwrQ#5IVlGdmXafq54LkPiiNfA@awo3^*Nrf_v zSa6*nKXAyg_Hp|;zL(s~8pSh|M()a~4KN<(k#UAiFZKFtfrtRY^I+ISRK=<-Z5>S~ zbJA}S+Hg>bFF7`l6x(QTh+^5xw&gpGwHb@6H@-Dqe#^MM=)rNVvA}YvS~;ar)g0b3 z+~)A@rfdL6{w(^8sI=5|8BLth>0AR;z05Xb!BRf*&`~vRY?_$Gfd*gFoAzqzKKXVX zrKPxsT-|ssi_RN(j2@ZoT9u&PTrHIpDSAV_I}S22tBvB-AXGi>Zf-y_75)|fR6oQN zNXfSwwZXg*8-nOzh5T|vb ze8ci8ZU5W`ll3U4>}uTd)&YT_fdC+vtSUJ+rZlBoF-Z%)8%AxbHUo4LX>VZqGvEM1 z1Mc6WMa+zx2&a0CuXV~)$RacNXvCs}R;&p-<>3L4>WK#^IkM$)%Mi^E^BDJi&)dTj z;L*Rxe|zMID>sKzHFE>kqSO&7i(`64HQ9dOnlk%9SHM=g{+gFNjkbq+ zb!e_&T)VZ})Wt-*QJ&bvK`m)f&gV*{C7i>~b1lie)rueqbc$jqLp?Y3kUx6!x!%QD zc)e_!P8E2pd&Z$cK7A9)${>K~T|xj@hkF;_e<;NdvXse_uQ7^iUiNu@T+mf4Hhc25 z59S)s|B3Xn literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_default.png b/test/src/components/navigation_bar/golden/navigation_bar_default.png new file mode 100644 index 0000000000000000000000000000000000000000..3f278f56d10a238ca4ce3e9671aaf7ab38c6f0e7 GIT binary patch literal 4023 zcmeH}ZA?>F7{^ZwtQCgJ6p(?GVKSGvU?y|Ix=Lj*WJ7R_ArJ+|$YoC6q}YxXXos5! z3}@mpDAZP579r3Y?9jBl2JC=wOEreKQm7!bU`wHt7TVr&cln|pr)Hm)o-Zfo$$6ff z=YM|xlT&drHp<=gO;-Sbd-U;$cmSLN0Kg{^U&A7G^s;`k{LxhYK#s+;2*y*!a5qO0Jn;8Nw;x&&E_`ode=ehMeI$wCLo z{jFVmhEUoWD%O^)i!bLLteyl9%ge#?J0{EU4jj?R-I~cTg&?DzDSd)6(z8 z!NX00y&(xazRtum}0&!Y4r+Xi%$@97YPm4rJP zs`HITJjnl(c-6CDW_G^FI6I%rwC5Qsg83!#HchH^NvC2g>$r-#N4M_Y@xg%*h4a7( zU28u-WJN*f-smY_YEI*DIB}(j-ic!TyIGS3sk@j*KdAQ=I-RFk0&Hj}GS?r594{q& zY7UFy*t@MAF6SaYT3xAuAjrPR-@Cyv-Qr*8a6YTqywIn{12*H0fCCv!CKH16#Vc-v zQuQ!F4#Tj1dfL6-4S?xEbV?aGy}ZYuOjFg`?e>Z8LQ7A#n6)@ z9(jkM9TiNieOU-VAU-patCW;@RY`Re}x7#j`AS6wUPN(x&R$+N3Q4fh?#02*lKy#p`;qdTn?x zxww(Bjt4yijdNxs1?{aeB5ntV5faIO18iUEHX;C5Jpurr{?(m673j}ID*F6!+pF#J z&mold>jc_7_ZA^B$V# zynm~SPuKte9~>TlOy_5v{aes$XuhCm{9`OL>f)}K>qXSn-p(8k-b(%PB~xEruosus zv6K3$R63+{NcUg8a1NFnEIC-hKE4hkIE>&h!vD<(sEfYOyI!ek{sv$pIx;pw7@l7C E540edXaE2J literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_divider.png b/test/src/components/navigation_bar/golden/navigation_bar_divider.png new file mode 100644 index 0000000000000000000000000000000000000000..006174fc114b83c30a0406776265a20426b0d73a GIT binary patch literal 4238 zcmeH~ZA?>F7{^a5C}>o)^KCX1HYa978f2p&U{M^5sBAGfVHB!@#RLVVVueEKm@Ssl7HCVMlzVqEi!Rw0HT&4}<>ox+Jh|um zpZ_m;&Z#dV!WJ)lcOd{^arkH3cLOlb4FG(U(|jy)IX(X<_Q5fChiwCV2~mSh9GKg} zBb~6pa!M!!z{M|o`_{!gVSh`D=lu2GDjgXs=9RXMJ`Ua-8XDt$At_^T8Yeoz zKkoXj;f#@qK)JQa2(45sk+BCQ>K++iY$bC!8Ib87l%~6g zPPf5TrHWBQW)k?Qi$2ob}6@1l{&qb zO2&^3(;9N)CsPzO^J+j0!9P3kw6E`SY3cE5$j?;KMasmIMs>R8gG`)9_bqLXpc%R` z;tl-1v8`3a51lfwEo9_yJxyY4o}TsO)49iGbgC)Ii=LIHwzW~V{I(?QaZTKnJFzmM z@|U`vq)4IGx{~N9%q|*9j~yJUQ8_$Y=RbDL6@at8xKw=O_y@S zv=>ExD(81t+kkew3n>LgWyi*IT)6?VQ93k;KdIi3tVYt zryI*Z51KtQ2u0iqBjvE>Jh7)3_tE&Hd&RtL2L(Rj6*H$*sr59o3m}rAY)y}U4kHQs zEzP_E5Pkl&3-16xhm#8cZtuTJef=N?rm}9TM<5l4ETyJCH_y2ih6Bwep8|!kipV~8z?lm2dbwiF61-ZD8=DTDL^Zhe&*l2%-?p7Ch148(jT9Um)7 z$(`vC$y|F9=LiTiWuGmWA!UyJ@Pzxl#n?Q&hC4O&AX&5K>P5m^AN-X%GXCJDq9Su| z6rKJ;oEMj`%Xb7I!Qo{ELh}FsYjF7g21|=XBGDcxwp_ma|I_vLD`4OG)*i4+XP53} xi(xl|-3)d!V7;~-1Um?J5bPkl$+N&ls$H=|Tlp)Y5$l6N_@@!u`P=s8{|%4n5EB3Z literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_divider_at_0.png b/test/src/components/navigation_bar/golden/navigation_bar_divider_at_0.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ab82e03a6d9ba83802885c8f26fd66c6124ead GIT binary patch literal 4226 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 literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_divider_at_2.png b/test/src/components/navigation_bar/golden/navigation_bar_divider_at_2.png new file mode 100644 index 0000000000000000000000000000000000000000..006174fc114b83c30a0406776265a20426b0d73a GIT binary patch literal 4238 zcmeH~ZA?>F7{^a5C}>o)^KCX1HYa978f2p&U{M^5sBAGfVHB!@#RLVVVueEKm@Ssl7HCVMlzVqEi!Rw0HT&4}<>ox+Jh|um zpZ_m;&Z#dV!WJ)lcOd{^arkH3cLOlb4FG(U(|jy)IX(X<_Q5fChiwCV2~mSh9GKg} zBb~6pa!M!!z{M|o`_{!gVSh`D=lu2GDjgXs=9RXMJ`Ua-8XDt$At_^T8Yeoz zKkoXj;f#@qK)JQa2(45sk+BCQ>K++iY$bC!8Ib87l%~6g zPPf5TrHWBQW)k?Qi$2ob}6@1l{&qb zO2&^3(;9N)CsPzO^J+j0!9P3kw6E`SY3cE5$j?;KMasmIMs>R8gG`)9_bqLXpc%R` z;tl-1v8`3a51lfwEo9_yJxyY4o}TsO)49iGbgC)Ii=LIHwzW~V{I(?QaZTKnJFzmM z@|U`vq)4IGx{~N9%q|*9j~yJUQ8_$Y=RbDL6@at8xKw=O_y@S zv=>ExD(81t+kkew3n>LgWyi*IT)6?VQ93k;KdIi3tVYt zryI*Z51KtQ2u0iqBjvE>Jh7)3_tE&Hd&RtL2L(Rj6*H$*sr59o3m}rAY)y}U4kHQs zEzP_E5Pkl&3-16xhm#8cZtuTJef=N?rm}9TM<5l4ETyJCH_y2ih6Bwep8|!kipV~8z?lm2dbwiF61-ZD8=DTDL^Zhe&*l2%-?p7Ch148(jT9Um)7 z$(`vC$y|F9=LiTiWuGmWA!UyJ@Pzxl#n?Q&hC4O&AX&5K>P5m^AN-X%GXCJDq9Su| z6rKJ;oEMj`%Xb7I!Qo{ELh}FsYjF7g21|=XBGDcxwp_ma|I_vLD`4OG)*i4+XP53} xi(xl|-3)d!V7;~-1Um?J5bPkl$+N&ls$H=|Tlp)Y5$l6N_@@!u`P=s8{|%4n5EB3Z literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_divider_at_3.png b/test/src/components/navigation_bar/golden/navigation_bar_divider_at_3.png new file mode 100644 index 0000000000000000000000000000000000000000..af3022af4d315f4d484ee13d67abdf02a38730c1 GIT binary patch literal 4269 zcmeHJZA?>F7(T6R1tZ{Oh(ZI1PWQn_W`|G#tH@+51JsEqB2`D)IFLd+DW!!HSt6u5 zzs8`H(&(ZrLyFRfl$O?5su)VEA%aDq6(|)cy~;<(^#uz{>QbgdO{e>ZXQL|1uaDcU~C>*|@E=`xC*Dt-oK}z}wvwA9C3j9eKFo zVK_Q`B;@?al?{z$0qcYz**@-{`nS9LW}azu~O9Soa90qd_X8r~_h_dS{vqr3@X-JW>VQwNwNWnq#1Tu^oW2&c16HWSkd- zb_1ZxeI)?FBGCjYFD+dtBUG~sPI`HH8TBvoS96pmvq@z(TTB8Ot&rXt6&C`)nAD@B z=Z|iKbk1^>F+a_e7xo;xStBB+^l%+9y;=Z{^tyHVhgEl5n*|+s%;_LiresSDypT#O za-N=XatO7`$_}jrmT8@LiK=Ht=Px9ZIa(YgXU=Pr&v^o{7S*zgBAYWynbr=i?N#>- zhHcp-FPKsWIi7|>GNzh8ByjZ7vvFu}XQRh?o&G{%&>_Z@!rNhuUC@`~FqoOs?AgVy zrWkX#qDVInsGt(lpedJ`+O=o;QZy4a1@Ml#<1mnY)~blCgg4c$93Lz}|Vkf3wfv_pIf8wXrYn%;ls7@x1pB ziyR6z*FeQrhZDt>mr&PrRgIA58Kx1IEh{6g3eKTUcRt{9#TFe!C^ecjtYQ)g;g~Xz z38EBLjTl-{(TU!lK>iBrnql7(NDDa!nh^rU3pNe8VD3d|#NjM!WHppot0gcU$&=WF zQN?F}KHPsh+COjB|8cvJf=X1J&H6K=e=e-83XeKit~~ZNN2#LH>7-ZdEV?t70noc6 zFj^!coak00=f?&Fax@J=VXKKAGg(dnd(y^%ZKGT+ zo?ggqZDj=j&=$AQO+Txy$45$Ho{H?FsXdK;?5)jkPje}?Z&Kq_NNocFBI%@1JUTXv ztUR`h^bsgaerYyFW`wS$L2<_MrrQxcl4>1K5n(qhy$!P;83SvOjnet}NV-E;=>foC zcwO0bEuu!6TtqNxh&A+Kt3X^hRjwV#P+2T}b+I?278{@%CWPO#4M7!#M~Rc_3GAaw z_xNqQ&rYPsk4B*Y*!?OlIkU4(SuA_Si>O_1w(4FX0U^1}kAJ1?c4 zD0XWz{AW%m;tgu=PLMB^I@AU{;}|8S{>jkn=KzaKS#sYQ@Mihf)?5ER#TZ`Tku(Cs zTE!T7(6B!X)-FOkF4r%Mb=(j~bWF-?Qr~mS=8na_pU^ zzCZ161Jm`P4-xf0A}gb&mkxI)zxsvoM)bZP1TtR)qU4joPII9D!4 Q+GYTfzD-FG#veKL55qYVWB>pF literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_shrink_items.png b/test/src/components/navigation_bar/golden/navigation_bar_shrink_items.png new file mode 100644 index 0000000000000000000000000000000000000000..3f278f56d10a238ca4ce3e9671aaf7ab38c6f0e7 GIT binary patch literal 4023 zcmeH}ZA?>F7{^ZwtQCgJ6p(?GVKSGvU?y|Ix=Lj*WJ7R_ArJ+|$YoC6q}YxXXos5! z3}@mpDAZP579r3Y?9jBl2JC=wOEreKQm7!bU`wHt7TVr&cln|pr)Hm)o-Zfo$$6ff z=YM|xlT&drHp<=gO;-Sbd-U;$cmSLN0Kg{^U&A7G^s;`k{LxhYK#s+;2*y*!a5qO0Jn;8Nw;x&&E_`ode=ehMeI$wCLo z{jFVmhEUoWD%O^)i!bLLteyl9%ge#?J0{EU4jj?R-I~cTg&?DzDSd)6(z8 z!NX00y&(xazRtum}0&!Y4r+Xi%$@97YPm4rJP zs`HITJjnl(c-6CDW_G^FI6I%rwC5Qsg83!#HchH^NvC2g>$r-#N4M_Y@xg%*h4a7( zU28u-WJN*f-smY_YEI*DIB}(j-ic!TyIGS3sk@j*KdAQ=I-RFk0&Hj}GS?r594{q& zY7UFy*t@MAF6SaYT3xAuAjrPR-@Cyv-Qr*8a6YTqywIn{12*H0fCCv!CKH16#Vc-v zQuQ!F4#Tj1dfL6-4S?xEbV?aGy}ZYuOjFg`?e>Z8LQ7A#n6)@ z9(jkM9TiNieOU-VAU-patCW;@RY`Re}x7#j`AS6wUPN(x&R$+N3Q4fh?#02*lKy#p`;qdTn?x zxww(Bjt4yijdNxs1?{aeB5ntV5faIO18iUEHX;C5Jpurr{?(m673j}ID*F6!+pF#J z&mold>jc_7_ZA^B$V# zynm~SPuKte9~>TlOy_5v{aes$XuhCm{9`OL>f)}K>qXSn-p(8k-b(%PB~xEruosus zv6K3$R63+{NcUg8a1NFnEIC-hKE4hkIE>&h!vD<(sEfYOyI!ek{sv$pIx;pw7@l7C E540edXaE2J literal 0 HcmV?d00001 diff --git a/test/src/components/navigation_bar/golden/navigation_bar_split.png b/test/src/components/navigation_bar/golden/navigation_bar_split.png new file mode 100644 index 0000000000000000000000000000000000000000..04c0963812bb4e73f86ce19b499531dfbd40d88a GIT binary patch literal 4083 zcmeHKTToL+82*#cf;xZ<43wh4jLh^Qmmi477G9%F~M zJiF7E0355sLl4Jf-_(ppT&hWRFPutsu>AVO$LHhZ;<)p%&s>g%DnC7UE1IfxafvCv z%?mj@7h>ZSy7Tar$y>+W#+#i&|9o&P_UP53kuOgAZo3`)_^U7XA%=wOmmhY2^q0Q0 zk0CXh6uCK6c>zX|Z<5PuO#K-+2qL+EF1ipO6c6)61b`&VPH%ui$6kiG&v~M+E${Tt zWtfe!9f)~zN9Ce zjB^9Y9CqX`+FlP2p*=v|x4`AjGYvflR)$at1vSo|Kv%1m21br_)ClB1b06M0m3nrb zminTvOrkBGp-^nGI9r0u~p zFXJS?PB7pR=~*@WN&O%|=UlUvI2%SczmQovzsXIs{N|sZ?|P*qKG$#$=}%Z{nKdHx z%~5rmiH+tw=$7S8FOX%LMok80Og?CCaKvmUvXrPTB)VhTQnbC9VjAfPQ#}}0peB3B9-B9nq zd5D!h??8k@y^CpBFg=Q{lkqpF#NrLPXx%H%C>Ebux-Jk@w{*2GP+|i-^BTKzLws7r z+3iiCP;zGzd^2VrHNkMwo`(kmP=*1{3PdmZo2IW7Qir;4jDC}4GE^=GW>N?xZiWHsU8YY$$&*+}E z^jLBq7tf$^%qr)eQgQe9DI_Q)PhDGk!^1)q2)<*}bSKihW=S)S|~9Z!%L#}?mp zRUt_!ffpUwlFNOz0E|Gws#j)arb4yOVJWt^2jIqQ{)1z2z#$Ggy;QYAXm;jrcx9(+ z3nsgGq7qJ5JgKwsA=)~_XFjsA0qC{c3E++1W%yOb<~rjFGA9vnl26;@r;*~Mn z39k{1FA$_HSJY2X9Zic=T#VdSdZ65($XahROR_|`l!VPaqV>EBn2K47PHY4xDsgbU zE;M&(eK|-u7Nm*@B;W?!OZ*4to e as ZetaIcon).toList(); + for (final icon in icons) { + expect(icon.icon, ZetaIcons.star); + } + }); + testWidgets('passes the correct badge content for each item', (WidgetTester tester) async { + const items1 = [ + ZetaNavigationBarItem(icon: ZetaIcons.star, label: 'Label0', badge: ZetaIndicator(value: 0)), + ZetaNavigationBarItem(icon: ZetaIcons.star, label: 'Label1', badge: ZetaIndicator(value: 1)), + ZetaNavigationBarItem(icon: ZetaIcons.star, label: 'Label2', badge: ZetaIndicator(value: 2)), + ZetaNavigationBarItem(icon: ZetaIcons.star, label: 'Label3', badge: ZetaIndicator(value: 3)), + ]; + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items1, + ), + ), + ); + + final badgeFinder = find.byType(ZetaIndicator); + final badges = tester.widgetList(badgeFinder).map((e) => e as ZetaIndicator).toList(); + for (int i = 0; i < badges.length; i++) { + expect(badges[i].value, i); + } + }); + + testWidgets('renders the action', (WidgetTester tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar.action( + items: items, + action: action, + ), + ), + ); + + final buttonFinder = find.byType(ZetaButton); + expect(buttonFinder, findsOneWidget); + }); + + testWidgets('renders the divider', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaNavigationBar.divided( + items: items, + dividerIndex: 2, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final dividerFinder = find.byWidgetPredicate( + (widget) => widget is Container && widget.color == Zeta.of(context).colors.borderSubtle, + ); + + expect(dividerFinder, findsOneWidget); + }); + }); + + group('Dimensions Tests', () { + testWidgets('renders the correct padding', (WidgetTester tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final containerFinder = find.byType(Container).first; + + expect( + tester.widget(containerFinder).padding, + EdgeInsets.symmetric(horizontal: Zeta.of(context).spacing.large), + ); + }); + + testWidgets('items render the correct padding', (WidgetTester tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final itemFinder = find.byType(NavigationItem); + if (itemFinder.evaluate().isEmpty) { + fail('No items found'); + } else if (itemFinder.evaluate().length != items.length) { + fail('Incorrect number of items found'); + } else { + for (int i = 0; i < items.length; i++) { + expect( + tester + .widget(find.descendant(of: itemFinder.at(i), matching: find.byType(Container)).first) + .padding, + EdgeInsets.only( + left: Zeta.of(context).spacing.small, + right: Zeta.of(context).spacing.small, + bottom: Zeta.of(context).spacing.small, + ), + ); + } + } + }); + + testWidgets('the divider is the correct size', (WidgetTester tester) async { + await tester.pumpWidget( + const TestApp( + home: ZetaNavigationBar.divided( + items: items, + dividerIndex: 2, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final dividerFinder = find.byWidgetPredicate( + (widget) => widget is Container && widget.color == Zeta.of(context).colors.borderSubtle, + ); + + expect(dividerFinder, findsOneWidget); + + expect(dividerFinder.evaluate().first.size?.height, Zeta.of(context).spacing.xl_7); + expect(dividerFinder.evaluate().first.size?.width, 1); + }); + }); + + group('Styling Tests', () { + testWidgets('renders the correct background color', (WidgetTester tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final containerFinder = find.byType(Container).first; + + final containerWidget = tester.widget(containerFinder); + final boxDecoration = containerWidget.decoration! as BoxDecoration; + + expect(boxDecoration.color, Zeta.of(context).colors.surfacePrimary); + }); + + testWidgets('items are the correct color', (WidgetTester tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final itemFinder = find.byType(NavigationItem); + final icon = + tester.widget(find.descendant(of: itemFinder.first, matching: find.byType(ZetaIcon)).first); + final label = tester.widget(find.descendant(of: itemFinder.first, matching: find.text('Label0'))); + + expect(icon.color, Zeta.of(context).colors.textSubtle); + expect(label.style, Theme.of(context).textTheme.labelSmall?.copyWith(color: Zeta.of(context).colors.textSubtle)); + }); + + testWidgets('selected item is the correct color', (WidgetTester tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + currentIndex: 0, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final itemFinder = find.byType(NavigationItem); + final icon = + tester.widget(find.descendant(of: itemFinder.first, matching: find.byType(ZetaIcon)).first); + final label = tester.widget(find.descendant(of: itemFinder.first, matching: find.text('Label0'))); + + expect(icon.color, Zeta.of(context).colors.primary); + expect(label.style, Theme.of(context).textTheme.labelSmall?.copyWith(color: Zeta.of(context).colors.primary)); + }); + + testWidgets('hover background color is correct', (WidgetTester tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + currentIndex: 0, + ), + ), + ); + final context = getBuildContext(tester, ZetaNavigationBar); + + final itemFinder = find.byType(NavigationItem).first; + + final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); + await gesture.addPointer(location: tester.getCenter(itemFinder)); + addTearDown(gesture.removePointer); + + await tester.pumpAndSettle(); + + final inkResponse = + tester.widget(find.descendant(of: itemFinder, matching: find.byType(InkResponse)).first); + + expect(inkResponse.hoverColor, Zeta.of(context).colors.surfaceHover); + }); + }); + + group('Interaction Tests', () { + testWidgets('calls onTap when an item is tapped', (WidgetTester tester) async { + var tappedIndex = -1; + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + onTap: (index) => tappedIndex = index, + ), + ), + ); + + final itemFinder = find.byType(NavigationItem).first; + await tester.tap(itemFinder); + + expect(tappedIndex, 0); + + final lastItemFinder = find.byType(NavigationItem).last; + await tester.tap(lastItemFinder); + + expect(tappedIndex, 3); + }); + + testWidgets('calls onTap when an item is tapped off center', (WidgetTester tester) async { + var tappedIndex = -1; + await tester.pumpWidget( + TestApp( + home: ZetaNavigationBar( + items: items, + onTap: (index) => tappedIndex = index, + ), + ), + ); + + final itemFinder = find.byType(NavigationItem).first; + + await tester.tapAt(tester.getCenter(itemFinder) + const Offset(80, 0)); + expect(tappedIndex, 0); + + final lastItemFinder = find.byType(NavigationItem).last; + + await tester.tapAt(tester.getCenter(lastItemFinder) + const Offset(-80, 0)); + expect(tappedIndex, 3); + }); + + testWidgets('updates the selected item when an item is tapped', (WidgetTester tester) async { + var selectedIndex = -1; + await tester.pumpWidget( + StatefulBuilder( + builder: (context, setState) { + return TestApp( + home: ZetaNavigationBar( + items: items, + currentIndex: selectedIndex, + onTap: (val) => setState(() { + selectedIndex = val; + }), + ), + ); + }, + ), + ); + + final itemFinder = find.byType(NavigationItem).first; + await tester.tap(itemFinder); + expect(selectedIndex, 0); + + final lastItemFinder = find.byType(NavigationItem).last; + await tester.tap(lastItemFinder); + expect(selectedIndex, 3); + }); + }); + + group('Golden Tests', () { + goldenTest( + goldenFile, + ZetaNavigationBar(items: items), + 'navigation_bar_default', + ); + goldenTest( + goldenFile, + ZetaNavigationBar( + items: items, + shrinkItems: true, + ), + 'navigation_bar_shrink_items', + ); + for (int i = 0; i < items.length; i++) { + goldenTest( + goldenFile, + ZetaNavigationBar( + items: items, + currentIndex: i, + ), + 'navigation_bar_current_index_$i', + ); + + goldenTest( + goldenFile, + ZetaNavigationBar.divided( + items: items, + dividerIndex: i, + ), + 'navigation_bar_divider_at_$i', + ); + } + goldenTest( + goldenFile, + const ZetaNavigationBar.action( + items: items, + action: ZetaButton(label: 'Button'), + ), + 'navigation_bar_action', + ); + goldenTest( + goldenFile, + const ZetaNavigationBar.split( + items: items, + ), + 'navigation_bar_split', + ); + }); + + group('Performance Tests', () {}); +} diff --git a/test/src/components/stepper/stepper_test.dart b/test/src/components/stepper/stepper_test.dart index 8dd9a0bb..53d4734e 100644 --- a/test/src/components/stepper/stepper_test.dart +++ b/test/src/components/stepper/stepper_test.dart @@ -15,7 +15,7 @@ void main() { goldenFileComparator = TolerantComparator(goldenFile.uri); }); - group('ZetaStepper Accessibility Tests', () { + group('Accessibility Tests', () { testWidgets('Horizontal stepper meets accessibility requirements', (WidgetTester tester) async { final SemanticsHandle handle = tester.ensureSemantics(); await tester.pumpWidget( @@ -91,7 +91,7 @@ void main() { }); }); - group('ZetaStepper Content Tests', () { + group('Content Tests', () { testWidgets('Horizontal stepper renders the correct steps', (WidgetTester tester) async { await tester.pumpWidget( TestApp( @@ -202,7 +202,7 @@ void main() { ); }); - group('ZetaStepper Dimensions Tests', () { + group('Dimensions Tests', () { testWidgets('StepIcon horiztonal has the correct size', (WidgetTester tester) async { await tester.pumpWidget( const TestApp( @@ -275,7 +275,7 @@ void main() { }); }); - group('ZetaStepper Styling Tests', () { + group('Styling Tests', () { testWidgets( 'StepIcon has the correct colour when enabled', (WidgetTester tester) async { @@ -401,7 +401,7 @@ void main() { ); }); - group('ZetaStepper Interaction Tests', () { + group('Interaction Tests', () { testWidgets('Horizontal stepper calls onStepTapped when a step is tapped', (WidgetTester tester) async { int tappedStep = -1; await tester.pumpWidget( @@ -448,7 +448,7 @@ void main() { }); }); - group('ZetaStepper Golden Tests', () { + group('Golden Tests', () { goldenTest( goldenFile, const ZetaStepper( diff --git a/test/src/components/top_app_bar/top_app_bar_test.dart b/test/src/components/top_app_bar/top_app_bar_test.dart index 8ae60e83..921ab1cb 100644 --- a/test/src/components/top_app_bar/top_app_bar_test.dart +++ b/test/src/components/top_app_bar/top_app_bar_test.dart @@ -14,7 +14,7 @@ void main() { goldenFileComparator = TolerantComparator(goldenFile.uri); }); - group('ZetaTopAppBar Accessibility Tests', () { + group('Accessibility Tests', () { testWidgets('ZetaTopAppBar meets accessibility requirements', (WidgetTester tester) async { final SemanticsHandle handle = tester.ensureSemantics(); await tester.pumpWidget( @@ -87,7 +87,7 @@ void main() { }); }); - group('ZetaTopAppBar Content Tests', () { + group('Content Tests', () { final debugFillProperties = { 'titleTextStyle': 'null', 'onSearch': 'null', @@ -216,7 +216,7 @@ void main() { }); }); - group('ZetaTopAppBar Dimensions Tests', () { + group('Dimensions Tests', () { testWidgets('ZetaTopAppBar has the correct height', (WidgetTester tester) async { await tester.pumpWidget( const TestApp( @@ -231,7 +231,7 @@ void main() { }); }); - group('ZetaTopAppBar Styling Tests', () { + group('Styling Tests', () { testWidgets('ZetaTopAppBar has the correct background color', (WidgetTester tester) async { await tester.pumpWidget( const TestApp( @@ -247,7 +247,7 @@ void main() { }); }); - group('ZetaTopAppBar Interaction Tests', () { + group('Interaction Tests', () { late ZetaSearchController searchController; const searchLabel = 'Search'; const clearLabel = 'Clear'; @@ -430,7 +430,7 @@ void main() { }); }); - group('ZetaTopAppBar Golden Tests', () { + group('Golden Tests', () { goldenTest( goldenFile, const ZetaTopAppBar( @@ -553,5 +553,5 @@ void main() { ); }); - group('ZetaTopAppBar Performance Tests', () {}); + group('Performance Tests', () {}); } From d97440b6acde461ed615b1ea827064b4b53af351 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Mon, 18 Nov 2024 15:46:43 +0000 Subject: [PATCH 18/29] fix(UX-1232): Breadcrumb Issues (#214) fix: breadcrumb now removes the items after the one that is clicked fix: removed active icon prop fix: rounded now affects breadcrumb icons fix: The icon that was passed in now shows on breadcrumb fix: truncated only hides any breadcrumbs over the maxItemsShown number fix: intruduced a value listenable builder to handle hover and pressed states on breadcrumb item test: wrote content and accessibility tests test: breadcrumb label and icon default colors test: breadcrumb items are spaced equally fix: breadcrumb select index fix: typo ";abel" => "label" --- example/lib/home.dart | 4 +- .../pages/components/breadcrumb_example.dart | 57 +++ .../pages/components/breadcrumbs_example.dart | 58 --- example/widgetbook/main.dart | 4 +- .../components/breadcrumb_widgetbook.dart | 58 +++ .../components/breadcrumbs_widgetbook.dart | 63 --- lib/src/components/breadcrumb/breadcrumb.dart | 367 ++++++++++++++++++ .../components/breadcrumbs/breadcrumbs.dart | 364 ----------------- lib/src/components/components.dart | 2 +- .../breadcrumb/breadcrumb_test.dart | 228 +++++++++++ 10 files changed, 715 insertions(+), 490 deletions(-) create mode 100644 example/lib/pages/components/breadcrumb_example.dart delete mode 100644 example/lib/pages/components/breadcrumbs_example.dart create mode 100644 example/widgetbook/pages/components/breadcrumb_widgetbook.dart delete mode 100644 example/widgetbook/pages/components/breadcrumbs_widgetbook.dart create mode 100644 lib/src/components/breadcrumb/breadcrumb.dart delete mode 100644 lib/src/components/breadcrumbs/breadcrumbs.dart create mode 100644 test/src/components/breadcrumb/breadcrumb_test.dart diff --git a/example/lib/home.dart b/example/lib/home.dart index 0534fd37..a36d7091 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -6,7 +6,7 @@ import 'package:zeta_example/pages/components/avatar_example.dart'; import 'package:zeta_example/pages/components/badges_example.dart'; import 'package:zeta_example/pages/components/banner_example.dart'; import 'package:zeta_example/pages/components/bottom_sheet_example.dart'; -import 'package:zeta_example/pages/components/breadcrumbs_example.dart'; +import 'package:zeta_example/pages/components/breadcrumb_example.dart'; import 'package:zeta_example/pages/components/button_example.dart'; import 'package:zeta_example/pages/components/chat_item_example.dart'; import 'package:zeta_example/pages/components/checkbox_example.dart'; @@ -67,7 +67,7 @@ final List components = [ Component(BannerExample.name, (context) => const BannerExample()), Component(BadgesExample.name, (context) => const BadgesExample()), Component(BottomSheetExample.name, (context) => const BottomSheetExample()), - Component(BreadCrumbsExample.name, (context) => const BreadCrumbsExample()), + Component(BreadcrumbExample.name, (context) => const BreadcrumbExample()), Component(ButtonExample.name, (context) => const ButtonExample()), Component(ChatItemExample.name, (context) => const ChatItemExample()), Component(CheckBoxExample.name, (context) => const CheckBoxExample()), diff --git a/example/lib/pages/components/breadcrumb_example.dart b/example/lib/pages/components/breadcrumb_example.dart new file mode 100644 index 00000000..948f0ceb --- /dev/null +++ b/example/lib/pages/components/breadcrumb_example.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; +import 'package:zeta_example/widgets.dart'; +import 'package:zeta_flutter/zeta_flutter.dart'; + +class BreadcrumbExample extends StatefulWidget { + static const String name = 'Breadcrumb'; + + const BreadcrumbExample({super.key}); + + @override + State createState() => _BreadcrumbExampleState(); +} + +class _BreadcrumbExampleState extends State { + List _children = []; + + @override + void initState() { + super.initState(); + _children = [ + ZetaBreadcrumbItem(label: 'Breadcrumb', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 1', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 2', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 3', icon: ZetaIcons.star, onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 4', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 5', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 6', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 7', onPressed: () {}), + ]; + } + + @override + Widget build(BuildContext context) { + return ExampleScaffold( + name: 'Breadcrumb', + child: Center( + child: SingleChildScrollView( + child: SizedBox( + width: double.infinity, + child: Column( + children: [ + ZetaBreadcrumb(children: _children.sublist(0, 1)), + ZetaBreadcrumb(children: _children.sublist(0, 2)), + ZetaBreadcrumb(children: _children.sublist(0, 3)), + ZetaBreadcrumb(children: _children.sublist(0, 4), maxItemsShown: 3), + ZetaBreadcrumb(children: _children.sublist(0, 5), maxItemsShown: 5), + ZetaBreadcrumb(children: _children.sublist(0, 6), maxItemsShown: 3), + ZetaBreadcrumb(children: _children.sublist(0, 7)), + ZetaBreadcrumb(children: _children, maxItemsShown: 1), + ].gap(50), + ), + ), + ), + ), + ); + } +} diff --git a/example/lib/pages/components/breadcrumbs_example.dart b/example/lib/pages/components/breadcrumbs_example.dart deleted file mode 100644 index b6e0c7fc..00000000 --- a/example/lib/pages/components/breadcrumbs_example.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:zeta_example/widgets.dart'; -import 'package:zeta_flutter/zeta_flutter.dart'; - -class BreadCrumbsExample extends StatefulWidget { - static const String name = 'Breadcrumbs'; - - const BreadCrumbsExample({super.key}); - - @override - State createState() => _BreadCrumbsExampleState(); -} - -class _BreadCrumbsExampleState extends State { - List _children = [ - ZetaBreadCrumb( - label: 'Icon before with separator', - onPressed: () { - print("Breadcrumb " + 0.toString() + "Clicked"); - }, - ), - ]; - int index = 1; - - @override - Widget build(BuildContext context) { - return ExampleScaffold( - name: 'Breadcrumbs', - child: Center( - child: SingleChildScrollView( - child: SizedBox( - width: double.infinity, - child: Column(children: [ - ZetaBreadCrumbs(children: _children), - SizedBox( - height: 50, - ), - FilledButton( - onPressed: () { - setState(() { - _children.add( - ZetaBreadCrumb( - label: 'Icon before with seperator', - onPressed: () { - print("Breadcrumb clicked"); - }, - ), - ); - index++; - }); - }, - child: Text("Add Breadcrumb")) - ])), - ), - ), - ); - } -} diff --git a/example/widgetbook/main.dart b/example/widgetbook/main.dart index 7eeba843..740cb129 100644 --- a/example/widgetbook/main.dart +++ b/example/widgetbook/main.dart @@ -16,7 +16,7 @@ import 'pages/components/avatar_widgetbook.dart'; import 'pages/components/badges_widgetbook.dart'; import 'pages/components/banner_widgetbook.dart'; import 'pages/components/bottom_sheet_widgetbook.dart'; -import 'pages/components/breadcrumbs_widgetbook.dart'; +import 'pages/components/breadcrumb_widgetbook.dart'; import 'pages/components/button_widgetbook.dart'; import 'pages/components/chat_item_widgetbook.dart'; import 'pages/components/checkbox_widgetbook.dart'; @@ -192,7 +192,7 @@ class _HotReloadState extends State { WidgetbookUseCase(name: 'Accordion', builder: (context) => accordionUseCase(context)), WidgetbookUseCase(name: 'Banners', builder: (context) => bannerUseCase(context)), WidgetbookUseCase(name: 'Bottom Sheet', builder: (context) => bottomSheetContentUseCase(context)), - WidgetbookUseCase(name: 'BreadCrumbs', builder: (context) => breadCrumbsUseCase(context)), + WidgetbookUseCase(name: 'Breadcrumb', builder: (context) => breadcrumbUseCase(context)), WidgetbookUseCase(name: 'Checkbox', builder: (context) => checkboxUseCase(context)), WidgetbookUseCase(name: 'Comms Button', builder: (context) => commsButtonUseCase(context)), WidgetbookUseCase(name: 'Date Input', builder: (context) => dateInputUseCase(context)), diff --git a/example/widgetbook/pages/components/breadcrumb_widgetbook.dart b/example/widgetbook/pages/components/breadcrumb_widgetbook.dart new file mode 100644 index 00000000..1dc8c1d4 --- /dev/null +++ b/example/widgetbook/pages/components/breadcrumb_widgetbook.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:zeta_flutter/zeta_flutter.dart'; + +import '../../utils/scaffold.dart'; +import 'package:widgetbook/widgetbook.dart'; + +final List children = [ + ZetaBreadcrumbItem(label: 'Breadcrumb', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 1', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 2', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 3', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 4', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 5', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 6', onPressed: () {}) +]; + +Widget breadcrumbUseCase(BuildContext context) => WidgetbookScaffold( + builder: (context, _) => Center( + child: BreadcrumbExample(context, children), + ), + ); + +class BreadcrumbExample extends StatelessWidget { + BreadcrumbExample(this.context, this.children); + final BuildContext context; + final List children; + + @override + Widget build(BuildContext _) { + return SingleChildScrollView( + child: SizedBox( + width: double.infinity, + child: Column( + children: [ + ZetaBreadcrumb( + rounded: context.knobs.boolean(label: 'Rounded', initialValue: true), + children: context.knobs.list( + label: 'Items', + labelBuilder: (value) => value.length.toString(), + initialOption: children.sublist(0, 4), + options: List.generate( + children.length, + (index) => children.sublist(0, index + 1), + ), + ), + maxItemsShown: context.knobs.int.slider( + label: 'Max Items Shown', + initialValue: 2, + min: 1, + max: children.length, + ), + ), + ], + ), + ), + ); + } +} diff --git a/example/widgetbook/pages/components/breadcrumbs_widgetbook.dart b/example/widgetbook/pages/components/breadcrumbs_widgetbook.dart deleted file mode 100644 index 63c99216..00000000 --- a/example/widgetbook/pages/components/breadcrumbs_widgetbook.dart +++ /dev/null @@ -1,63 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:zeta_flutter/zeta_flutter.dart'; - -import '../../utils/scaffold.dart'; -import '../../utils/utils.dart'; - -Widget breadCrumbsUseCase(BuildContext context) => WidgetbookScaffold( - builder: (context, _) => Center( - child: BreadCrumbExample(context), - ), - ); - -class BreadCrumbExample extends StatefulWidget { - const BreadCrumbExample(this.c); - final BuildContext c; - - @override - State createState() => _BreadCrumbExampleState(); -} - -class _BreadCrumbExampleState extends State { - List _children = [ - ZetaBreadCrumb( - label: 'Icon before with seperator', - onPressed: () { - print("Breadcrumb " + 0.toString() + "Clicked"); - }, - ), - ]; - int index = 1; - - @override - Widget build(BuildContext _) { - return SingleChildScrollView( - child: SizedBox( - width: double.infinity, - child: Column(children: [ - ZetaBreadCrumbs( - children: _children, - activeIcon: iconKnob(context), - ), - SizedBox( - height: 50, - ), - FilledButton( - onPressed: () { - setState(() { - _children.add( - ZetaBreadCrumb( - label: 'Icon before with seperator', - onPressed: () { - print("Breadcrumb clicked"); - }, - ), - ); - index++; - }); - }, - child: Text("Add Breadcrumb")) - ])), - ); - } -} diff --git a/lib/src/components/breadcrumb/breadcrumb.dart b/lib/src/components/breadcrumb/breadcrumb.dart new file mode 100644 index 00000000..f52f6184 --- /dev/null +++ b/lib/src/components/breadcrumb/breadcrumb.dart @@ -0,0 +1,367 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import '../../../zeta_flutter.dart'; + +/// The breadcrumb is a secondary navigation pattern that helps a user understand the hierarchy among levels and navigate back through them. +/// +/// [children] should consist of [ZetaBreadcrumbItem]s. +/// +/// {@category Components} +/// +/// Figma: https://www.figma.com/design/JesXQFLaPJLc1BdBM4sisI/%F0%9F%A6%93-ZDS---Components?node-id=229-5&node-type=canvas&m=dev +/// +/// Widgetbook: https://zeta-ds.web.app/flutter/widgetbook/index.html#/?path=components/breadcrumbs +class ZetaBreadcrumb extends ZetaStatefulWidget { + ///Constructor for [ZetaBreadcrumb] + const ZetaBreadcrumb({ + super.key, + super.rounded, + required this.children, + this.moreSemanticLabel, + this.maxItemsShown = 2, + }); + + /// Breadcrumb children + final List children; + + /// Semantic label passed to [_TruncatedItem]. + /// {@macro zeta-widget-semantic-label} + final String? moreSemanticLabel; + + /// Maximum number of items shown in the breadcrumb that aren't truncated. + final int maxItemsShown; + + @override + State createState() => _ZetaBreadcrumbsState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(IterableProperty('children', children)) + ..add(DiagnosticsProperty('rounded', rounded)) + ..add(StringProperty('moreSemanticLabel', moreSemanticLabel)) + ..add(IntProperty('maxItemsShown', maxItemsShown)); + } +} + +class _ZetaBreadcrumbsState extends State { + late int _selectedIndex; + late List _children; + + @override + void initState() { + super.initState(); + + _selectedIndex = widget.children.length - 1; + _children = [...widget.children]; + } + + @override + void didUpdateWidget(ZetaBreadcrumb oldWidget) { + super.didUpdateWidget(oldWidget); + + _selectedIndex = widget.children.length - 1; + _children = [...widget.children]; + } + + @override + Widget build(BuildContext context) { + final rounded = context.rounded; + return ZetaRoundedScope( + rounded: rounded, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: renderedChildren(_children) + .divide( + Row( + children: [ + SizedBox(width: Zeta.of(context).spacing.small), + ZetaIcon( + ZetaIcons.chevron_right, + size: Zeta.of(context).spacing.xl, + rounded: rounded, + color: Zeta.of(context).colors.textSubtle, + ), + SizedBox(width: Zeta.of(context).spacing.small), + ], + ), + ) + .toList(), + ), + ), + ); + } + + ///Creates breadcrumb widget + ZetaBreadcrumbItem createBreadCrumb(ZetaBreadcrumbItem input, int index) { + return ZetaBreadcrumbItem( + label: input.label, + isSelected: _selectedIndex == index, + icon: input.icon, + onPressed: () { + setState(() { + _selectedIndex = index; + _children = _children.sublist(0, index + 1); + }); + input.onPressed.call(); + }, + ); + } + + List renderedChildren(List children) { + final List returnList = []; + if (children.length > widget.maxItemsShown) { + returnList.add(createBreadCrumb(children.first, 0)); + + final List truncatedChildren = []; + + for (final (index, element) in children.sublist(1, children.length - (widget.maxItemsShown - 1)).indexed) { + truncatedChildren.add(createBreadCrumb(element, index + 1)); + } + returnList + .add(_TruncatedItem(semanticLabel: widget.moreSemanticLabel ?? 'View More', children: truncatedChildren)); + + for (final (index, element) in children.sublist(children.length - (widget.maxItemsShown - 1)).indexed) { + returnList.add(createBreadCrumb(element, index + children.length - (widget.maxItemsShown) + 1)); + } + } else { + for (final (index, element) in children.indexed) { + returnList.add(createBreadCrumb(element, index)); + } + } + return returnList; + } +} + +/// Class for untruncated [ZetaBreadcrumbItem]. +/// +/// Should be a child of [ZetaBreadcrumb]. +class ZetaBreadcrumbItem extends ZetaStatelessWidget { + ///Constructor for [ZetaBreadcrumbItem] + ZetaBreadcrumbItem({ + super.key, + super.rounded, + required this.label, + this.icon, + this.isSelected = false, + required this.onPressed, + this.semanticLabel, + }); + + /// [ZetaBreadcrumbItem] label. + final String label; + + /// Selected icon. + final IconData? icon; + + /// Is [ZetaBreadcrumbItem] selected. + final bool isSelected; + + /// Handles press for [ZetaBreadcrumbItem] + final VoidCallback onPressed; + + /// Label passed to wrapping [Semantics] widget. + /// + /// {@macro zeta-widget-semantic-label} + /// + /// If null, [label] is used. + final String? semanticLabel; + + // /// If true, the [ZetaBreadcrumbItem] icon will be rounded. + // final bool? rounded; + + /// Controller for [InkWell] states to control hover and pressed states. + final controller = WidgetStatesController(); + + @override + Widget build(BuildContext context) { + final colors = Zeta.of(context).colors; + final rounded = context.rounded; + return ZetaRoundedScope( + rounded: rounded, + child: Semantics( + label: semanticLabel ?? label, + selected: isSelected, + child: InkWell( + statesController: controller, + onTap: onPressed, + enableFeedback: false, + splashColor: Colors.transparent, + overlayColor: WidgetStateProperty.resolveWith((states) { + return Colors.transparent; + }), + child: ValueListenableBuilder( + valueListenable: controller, + builder: (context, value, child) => Row( + children: [ + if (icon != null) + ZetaIcon( + icon, + rounded: rounded, + color: getColor(value, colors), + ), + SizedBox( + width: Zeta.of(context).spacing.small, + ), + Text( + label, + style: ZetaTextStyles.bodySmall.apply(color: getColor(controller.value, colors)), + ), + if (child != null) child, + ], + ), + ), + ), + ), + ); + } + + /// Get color of breadcrumb based on state. + Color getColor(Set states, ZetaColors colors) { + if (states.contains(WidgetState.hovered)) { + return colors.blue; + } + if (isSelected) return colors.black; + return colors.textSubtle; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add( + DiagnosticsProperty( + 'controller', + controller, + ), + ) + ..add(StringProperty('label', label)) + ..add(DiagnosticsProperty('icon', icon)) + ..add(DiagnosticsProperty('isSelected', isSelected)) + ..add(ObjectFlagProperty.has('onPressed', onPressed)) + ..add(StringProperty('semanticLabel', semanticLabel)) + ..add(DiagnosticsProperty('rounded', rounded)); + } +} + +/// Class for [_TruncatedItem] +@Deprecated('This functionality is not needed anymore. Use [ZetaBreadcrumb] instead. ' 'Deprecated since 0.14.1') +typedef TruncatedItem = _TruncatedItem; + +class _TruncatedItem extends StatefulWidget { + ///Constructor for [_TruncatedItem] + const _TruncatedItem({ + required this.children, + required this.semanticLabel, + }); + + ///Breadcrumb children + final List children; + + /// Label passed to wrapping [Semantics] widget. + /// + /// {@macro zeta-widget-semantic-label} + final String semanticLabel; + + @override + State<_TruncatedItem> createState() => _TruncatedItemState(); + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(StringProperty('semanticLabel', semanticLabel)); + } +} + +class _TruncatedItemState extends State<_TruncatedItem> { + bool _expanded = false; + + @override + Widget build(BuildContext context) { + final colors = Zeta.of(context).colors; + final rounded = context.rounded; + + return _expanded + ? expandedBreadcrumb() + : ZetaRoundedScope( + rounded: rounded, + child: Semantics( + label: widget.semanticLabel, + button: true, + excludeSemantics: true, + child: FilledButton( + onPressed: () { + setState(() { + _expanded = true; + }); + }, + style: ButtonStyle( + backgroundColor: WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.hovered)) { + return colors.surfaceHover; + } + if (states.contains(WidgetState.pressed)) { + return colors.primary.shade10; + } + if (states.contains(WidgetState.disabled)) { + return colors.surfaceDisabled; + } + return colors.warm.shade10; + }), + foregroundColor: WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.disabled)) { + return colors.textDisabled; + } + return colors.textDefault; + }), + shape: WidgetStatePropertyAll( + RoundedRectangleBorder( + borderRadius: (rounded ? Zeta.of(context).radius.minimal : Zeta.of(context).radius.none), + ), + ), + side: WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.focused)) { + return BorderSide( + width: ZetaBorders.medium, + color: colors.primary.shade100, + ); + } + if (states.isEmpty) { + return BorderSide(color: colors.borderDefault, width: 0.5); + } + return null; + }), + padding: WidgetStateProperty.all(EdgeInsets.zero), + minimumSize: WidgetStateProperty.all(Size.zero), + elevation: WidgetStatePropertyAll(Zeta.of(context).spacing.none), + ), + child: Icon( + rounded ? ZetaIcons.more_horizontal_round : ZetaIcons.more_horizontal_sharp, + size: Zeta.of(context).spacing.large, + ).paddingHorizontal(Zeta.of(context).spacing.small).paddingVertical(Zeta.of(context).spacing.minimum), + ), + ), + ); + } + + Widget expandedBreadcrumb() { + return Row( + children: widget.children + .divide( + Row( + children: [ + SizedBox(width: Zeta.of(context).spacing.small), + ZetaIcon( + ZetaIcons.chevron_right, + size: Zeta.of(context).spacing.xl, + color: Zeta.of(context).colors.textSubtle, + ), + SizedBox(width: Zeta.of(context).spacing.small), + ], + ), + ) + .toList(), + ); + } +} diff --git a/lib/src/components/breadcrumbs/breadcrumbs.dart b/lib/src/components/breadcrumbs/breadcrumbs.dart deleted file mode 100644 index 6f0f4aca..00000000 --- a/lib/src/components/breadcrumbs/breadcrumbs.dart +++ /dev/null @@ -1,364 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import '../../../zeta_flutter.dart'; - -// TODO(UX-1131): Refactor this to make BreadCrumbItem a class, not a widget. - -/// The breadcrumb is a secondary navigation pattern that helps a user understand the hierarchy among levels and navigate back through them. -/// -/// [children] should consist of [ZetaBreadCrumb]s. -/// -/// {@category Components} -/// -/// Figma: https://www.figma.com/design/JesXQFLaPJLc1BdBM4sisI/%F0%9F%A6%93-ZDS---Components?node-id=229-5&node-type=canvas&m=dev -/// -/// Widgetbook: https://zeta-ds.web.app/flutter/widgetbook/index.html#/?path=components/breadcrumbs -class ZetaBreadCrumbs extends ZetaStatefulWidget { - ///Constructor for [ZetaBreadCrumbs] - const ZetaBreadCrumbs({ - super.key, - super.rounded, - required this.children, - this.activeIcon, - this.moreSemanticLabel, - }); - - /// Breadcrumb children - final List children; - - /// Active icon for breadcrumb - final IconData? activeIcon; - - /// Label passed to wrapping [Semantics] widget. - /// {@macro zeta-widget-semantic-label} - final String? moreSemanticLabel; - - @override - State createState() => _ZetaBreadCrumbsState(); - - @override - void debugFillProperties(DiagnosticPropertiesBuilder properties) { - super.debugFillProperties(properties); - properties - ..add(IterableProperty('children', children)) - ..add(DiagnosticsProperty('rounded', rounded)) - ..add(DiagnosticsProperty('activeIcon', activeIcon)) - ..add(StringProperty('moreSemanticLabel', moreSemanticLabel)); - } -} - -class _ZetaBreadCrumbsState extends State { - late int _selectedIndex; - late List _children; - - @override - void initState() { - super.initState(); - _selectedIndex = widget.children.length - 1; - _children = [...widget.children]; - } - - @override - void didUpdateWidget(ZetaBreadCrumbs oldWidget) { - super.didUpdateWidget(oldWidget); - if (widget.children.length != _children.length) { - _selectedIndex = widget.children.length - 1; - _children = [...widget.children]; - } - } - - @override - Widget build(BuildContext context) { - final rounded = context.rounded; - return ZetaRoundedScope( - rounded: rounded, - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Row( - children: renderedChildren(widget.children) - .divide( - Row( - children: [ - SizedBox(width: Zeta.of(context).spacing.small), - ZetaIcon(ZetaIcons.chevron_right, size: Zeta.of(context).spacing.xl), - SizedBox(width: Zeta.of(context).spacing.small), - ], - ), - ) - .toList(), - ), - ), - ); - } - - ///Creates breadcrumb widget - ZetaBreadCrumb createBreadCrumb(ZetaBreadCrumb input, int index) { - return ZetaBreadCrumb( - label: input.label, - isSelected: _selectedIndex == index, - onPressed: () { - setState(() { - _selectedIndex = index; - }); - input.onPressed.call(); - }, - activeIcon: widget.activeIcon, - ); - } - - List renderedChildren(List children) { - final List returnList = []; - if (children.length > 3) { - returnList.add(createBreadCrumb(children.first, 0)); - - final List truncatedChildren = []; - - for (final (index, element) in children.sublist(1, children.length - 1).indexed) { - truncatedChildren.add(createBreadCrumb(element, index + 1)); - } - returnList - ..add(_BreadCrumbsTruncated(semanticLabel: widget.moreSemanticLabel, children: truncatedChildren)) - ..add(createBreadCrumb(children.last, children.length - 1)); - } else { - for (final (index, element) in children.indexed) { - returnList.add(createBreadCrumb(element, index)); - } - } - return returnList; - } -} - -// TODO(UX-1131): Rename to breadcrumbitem - -/// Class for untruncated [ZetaBreadCrumb]. -/// -/// Should be a child of [ZetaBreadCrumbs]. -class ZetaBreadCrumb extends StatefulWidget { - ///Constructor for [ZetaBreadCrumb] - const ZetaBreadCrumb({ - super.key, - required this.label, - this.icon, - this.isSelected = false, - required this.onPressed, - this.activeIcon, - this.semanticLabel, - }); - - /// [ZetaBreadCrumb] label. - final String label; - - /// Selected icon. - final IconData? icon; - - /// Is [ZetaBreadCrumb] selected. - final bool isSelected; - - /// Handles press for [ZetaBreadCrumb] - final VoidCallback onPressed; - - /// Active icon for [ZetaBreadCrumb] - final IconData? activeIcon; - - /// Label passed to wrapping [Semantics] widget. - /// - /// {@macro zeta-widget-semantic-label} - /// - /// If null, [label] is used. - final String? semanticLabel; - - @override - State createState() => _ZetaBreadCrumbState(); - - @override - void debugFillProperties(DiagnosticPropertiesBuilder properties) { - super.debugFillProperties(properties); - properties - ..add(ObjectFlagProperty.has('onPressed', onPressed)) - ..add(StringProperty('label', label)) - ..add(DiagnosticsProperty('icon', icon)) - ..add(DiagnosticsProperty('isSelected', isSelected)) - ..add(DiagnosticsProperty('activeIcon', activeIcon)) - ..add(StringProperty('semanticLabel', semanticLabel)); - } -} - -class _ZetaBreadCrumbState extends State { - final controller = WidgetStatesController(); - - @override - void initState() { - super.initState(); - controller.addListener(() { - if (context.mounted && mounted) { - setState(() {}); - } - }); - } - - @override - Widget build(BuildContext context) { - final colors = Zeta.of(context).colors; - return Semantics( - label: widget.semanticLabel ?? widget.label, - selected: widget.isSelected, - child: InkWell( - statesController: controller, - onTap: widget.onPressed, - enableFeedback: false, - splashColor: Colors.transparent, - overlayColor: WidgetStateProperty.resolveWith((states) { - return Colors.transparent; - }), - child: Row( - children: [ - if (widget.isSelected) - Icon( - widget.activeIcon ?? ZetaIcons.star_round, - color: getColor(controller.value, colors), - ), - SizedBox( - width: Zeta.of(context).spacing.small, - ), - Text( - widget.label, - style: ZetaTextStyles.bodySmall.apply(color: getColor(controller.value, colors)), - ), - ], - ), - ), - ); - } - - /// Get color of breadcrumb based on state. - Color getColor(Set states, ZetaColors colors) { - if (states.contains(WidgetState.hovered)) { - return colors.blue; - } - if (widget.isSelected) return colors.black; - return colors.textSubtle; - } - - @override - void debugFillProperties(DiagnosticPropertiesBuilder properties) { - super.debugFillProperties(properties); - properties.add( - DiagnosticsProperty( - 'controller', - controller, - ), - ); - } -} - -/// Class for [_BreadCrumbsTruncated] -@Deprecated('This functionality is not needed anymore. Use [ZetaBreadCrumb] instead. ' 'Deprecated since 0.14.1') -typedef BreadCrumbsTruncated = _BreadCrumbsTruncated; - -class _BreadCrumbsTruncated extends StatefulWidget { - ///Constructor for [_BreadCrumbsTruncated] - const _BreadCrumbsTruncated({ - required this.children, - this.semanticLabel, - }); - - ///Breadcrumb children - final List children; - - /// Label passed to wrapping [Semantics] widget. - /// - /// {@macro zeta-widget-semantic-label} - final String? semanticLabel; - - @override - State<_BreadCrumbsTruncated> createState() => _BreadCrumbsTruncatedState(); - @override - void debugFillProperties(DiagnosticPropertiesBuilder properties) { - super.debugFillProperties(properties); - properties.add(StringProperty('semanticLabel', semanticLabel)); - } -} - -class _BreadCrumbsTruncatedState extends State<_BreadCrumbsTruncated> { - bool _expanded = false; - - @override - Widget build(BuildContext context) { - final colors = Zeta.of(context).colors; - final rounded = context.rounded; - - return _expanded - ? expandedBreadcrumb() - : Semantics( - label: widget.semanticLabel, - button: true, - child: FilledButton( - onPressed: () { - setState(() { - _expanded = true; - }); - }, - style: ButtonStyle( - backgroundColor: WidgetStateProperty.resolveWith((states) { - if (states.contains(WidgetState.hovered)) { - return colors.surfaceHover; - } - if (states.contains(WidgetState.pressed)) { - return colors.primary.shade10; - } - if (states.contains(WidgetState.disabled)) { - return colors.surfaceDisabled; - } - return colors.warm.shade10; - }), - foregroundColor: WidgetStateProperty.resolveWith((states) { - if (states.contains(WidgetState.disabled)) { - return colors.textDisabled; - } - return colors.textDefault; - }), - shape: WidgetStatePropertyAll( - RoundedRectangleBorder( - borderRadius: (rounded ? Zeta.of(context).radius.minimal : Zeta.of(context).radius.none), - ), - ), - side: WidgetStateProperty.resolveWith((states) { - if (states.contains(WidgetState.focused)) { - return BorderSide( - width: ZetaBorders.medium, - color: colors.primary.shade100, - ); - } - if (states.isEmpty) { - return BorderSide(color: colors.borderDefault, width: 0.5); - } - return null; - }), - padding: WidgetStateProperty.all(EdgeInsets.zero), - minimumSize: WidgetStateProperty.all(Size.zero), - elevation: WidgetStatePropertyAll(Zeta.of(context).spacing.none), - ), - child: Icon( - rounded ? ZetaIcons.more_horizontal_round : ZetaIcons.more_horizontal_sharp, - size: Zeta.of(context).spacing.large, - ).paddingHorizontal(Zeta.of(context).spacing.small).paddingVertical(Zeta.of(context).spacing.minimum), - ), - ); - } - - Widget expandedBreadcrumb() { - return Row( - children: widget.children - .divide( - Row( - children: [ - SizedBox(width: Zeta.of(context).spacing.small), - ZetaIcon(ZetaIcons.chevron_right, size: Zeta.of(context).spacing.xl), - SizedBox(width: Zeta.of(context).spacing.small), - ], - ), - ) - .toList(), - ); - } -} diff --git a/lib/src/components/components.dart b/lib/src/components/components.dart index af26f8cd..01ad7ba4 100644 --- a/lib/src/components/components.dart +++ b/lib/src/components/components.dart @@ -9,7 +9,7 @@ export 'badges/tag.dart'; export 'banner/banner.dart'; export 'bottom sheets/bottom_sheet.dart'; export 'bottom sheets/menu_items.dart'; -export 'breadcrumbs/breadcrumbs.dart'; +export 'breadcrumb/breadcrumb.dart'; export 'button_group/button_group.dart'; export 'buttons/button.dart'; export 'buttons/button_style.dart'; diff --git a/test/src/components/breadcrumb/breadcrumb_test.dart b/test/src/components/breadcrumb/breadcrumb_test.dart new file mode 100644 index 00000000..bff2fc5f --- /dev/null +++ b/test/src/components/breadcrumb/breadcrumb_test.dart @@ -0,0 +1,228 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:zeta_flutter/zeta_flutter.dart'; + +import '../../../test_utils/test_app.dart'; +import '../../../test_utils/tolerant_comparator.dart'; +import '../../../test_utils/utils.dart'; + +void main() { + const String parentFolder = 'breadcrumb'; + + const goldenFile = GoldenFiles(component: parentFolder); + setUpAll(() { + goldenFileComparator = TolerantComparator(goldenFile.uri); + }); + + final List children = [ + ZetaBreadcrumbItem( + label: 'Breadcrumb', + onPressed: () {}, + icon: ZetaIcons.star, + ), + ZetaBreadcrumbItem(label: 'Item 1', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 2', onPressed: () {}), + ZetaBreadcrumbItem( + label: 'Item 3', + onPressed: () {}, + icon: ZetaIcons.star, + ), + ZetaBreadcrumbItem(label: 'Item 4', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 5', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 6', onPressed: () {}), + ]; + + group('Accessibility Tests', () { + testWidgets('ZetaBreadcrumb meets accessibility standards', (tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + await tester.pumpWidget( + TestApp( + home: ZetaBreadcrumb( + children: children, + ), + ), + ); + + await expectLater(tester, meetsGuideline(androidTapTargetGuideline)); + await expectLater(tester, meetsGuideline(iOSTapTargetGuideline)); + await expectLater(tester, meetsGuideline(labeledTapTargetGuideline)); + await expectLater(tester, meetsGuideline(textContrastGuideline)); + + handle.dispose(); + }); + }); + + group('Content Tests', () { + final debugFillProperties = { + 'children': children.toString().replaceAll('[', '').replaceAll(']', ''), + }; + debugFillPropertiesTest( + ZetaBreadcrumb(children: children), + debugFillProperties, + ); + + // has the correct number of children + testWidgets('ZetaBreadcrumb has the correct number of children', (tester) async { + const maxItemsShown = 2; + + await tester.pumpWidget( + TestApp( + home: ZetaBreadcrumb( + children: children, + ), + ), + ); + expect(find.byType(ZetaBreadcrumbItem), findsNWidgets(maxItemsShown)); + + // ignore: deprecated_member_use_from_same_package + await tester.tap(find.byType(TruncatedItem)); + await tester.pumpAndSettle(); + + expect(find.byType(ZetaBreadcrumbItem), findsNWidgets(children.length)); + }); + + // children have the correct labels + testWidgets('ZetaBreadcrumb children have the correct labels', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaBreadcrumb( + children: children, + ), + ), + ); + + expect(find.text('Breadcrumb'), findsOneWidget); + expect(find.text('Item ${children.length - 1}'), findsOneWidget); + + // ignore: deprecated_member_use_from_same_package + await tester.tap(find.byType(TruncatedItem)); + await tester.pumpAndSettle(); + + for (int i = 0; i < children.length; i++) { + expect(find.text(children[i].label), findsOneWidget); + } + }); + + // children have the correct icons (if any) + testWidgets(' ZetaBreadcrumb children have the correct icons', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaBreadcrumb( + children: children, + ), + ), + ); + + final iconFinder = find.byWidgetPredicate((widget) { + if (widget is ZetaIcon) { + return widget.icon == ZetaIcons.star; + } + return false; + }); + expect(iconFinder, findsOneWidget); + + // ignore: deprecated_member_use_from_same_package + await tester.tap(find.byType(TruncatedItem)); + await tester.pumpAndSettle(); + + final iconFinder1 = find.byWidgetPredicate((widget) { + if (widget is ZetaIcon) { + return widget.icon == ZetaIcons.star; + } + return false; + }); + expect(iconFinder1, findsNWidgets(2)); + }); + }); + + group('Dimensions Tests', () { + // each item is equally spaced + testWidgets('ZetaBreadcrumb items are equally spaced', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaBreadcrumb( + maxItemsShown: 7, + children: [ + ZetaBreadcrumbItem(label: 'Item 0', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 1', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 2', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 3', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 4', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 5', onPressed: () {}), + ZetaBreadcrumbItem(label: 'Item 6', onPressed: () {}), + ], + ), + ), + ); + + final itemFinder = find.byType(ZetaBreadcrumbItem); + + final List itemPositions = []; + for (int i = 0; i < children.length; i++) { + expect(itemFinder.at(i), findsOneWidget); + itemPositions.add(tester.getTopLeft(itemFinder.at(i)).dx); + } + + final double distance = itemPositions[1] - itemPositions[0]; + for (int i = 1; i < itemPositions.length; i++) { + expect(itemPositions[i] - itemPositions[i - 1], distance); + } + }); + }); + + group('Styling Tests', () { + testWidgets('ZetaBreadcrumb label and icon colors are correct', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaBreadcrumb( + maxItemsShown: 7, + children: children, + ), + ), + ); + final context = getBuildContext(tester, ZetaBreadcrumb); + final colors = Zeta.of(context).colors; + + final labelFinder = find.byType(Text); + final iconFinder = find.byType(ZetaIcon); + + for (int i = 0; i < children.length; i++) { + if (i == children.length - 1) { + expect( + (tester.firstWidget(labelFinder.at(i)) as Text).style?.color, + colors.black, + ); + } else { + expect( + (tester.firstWidget(labelFinder.at(i)) as Text).style?.color, + colors.textSubtle, + ); + } + } + + for (int i = 0; i < iconFinder.evaluate().length; i++) { + expect( + (tester.firstWidget(iconFinder.at(i)) as ZetaIcon).color, + colors.textSubtle, + ); + } + }); + + // label font styles are correct + // icon sizes are correct + + // hovered state label and icon colors are correct + // selected state label and icon colors are correct + }); + + group('Interaction Tests', () { + // clicking on an item calls the onPressed callback + // clicking on an item removes the children list after it + }); + + group('Golden Tests', () { + // goldenTest(goldenFile, widget, 'PNG_FILE_NAME'); + }); + + group('Performance Tests', () {}); +} From fd9aada13ce5814f3bfb0e05139fc43514f657e7 Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Mon, 18 Nov 2024 15:54:24 +0000 Subject: [PATCH 19/29] chore(main): release 0.19.0 (#209) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 59 ++++++++++++++++++++++ example/lib/home.dart | 2 +- example/widgetbook/pages/introduction.dart | 2 +- pubspec.yaml | 2 +- 5 files changed, 63 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4ad3fef3..e7562934 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.18.0" + ".": "0.19.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 29076497..f8be4f99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,64 @@ # Changelog +## [0.19.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.18.0...v0.19.0) (2024-11-18) + + +### ✨ New Features + +* Added shrink items to navigation bar so the items can expand to fill the space and shrink ([5a785f0](https://github.com/ZebraDevs/zeta_flutter/commit/5a785f0cd35a827297ca2d8b96a7f96cf45215cc)) +* **UX-1096:** Added shrink items to navigation bar so the items can expand or shrink. To match web ([#210](https://github.com/ZebraDevs/zeta_flutter/issues/210)) ([5a785f0](https://github.com/ZebraDevs/zeta_flutter/commit/5a785f0cd35a827297ca2d8b96a7f96cf45215cc)) + + +### 🪲 Bug Fixes + +* add SafeArea to ZetaNavigationBar ([#211](https://github.com/ZebraDevs/zeta_flutter/issues/211)) ([aa7a1e4](https://github.com/ZebraDevs/zeta_flutter/commit/aa7a1e4eff10274f4fb11111a825e21a496522a6)) +* added shrink items to widgetbook ([5a785f0](https://github.com/ZebraDevs/zeta_flutter/commit/5a785f0cd35a827297ca2d8b96a7f96cf45215cc)) +* breadcrumb now removes the items after the one that is clicked ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* breadcrumb select index ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* Changed font size of medium indicator from 12 to 11 ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* Extra verbose semantic label ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* hover color on navigation item ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* indicator semantic labels ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* intruduced a value listenable builder to handle hover and pressed states on breadcrumb item ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* made NavigationItem visible for testing ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* navigation bar semantic labels ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* removed active icon prop ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* rounded now affects breadcrumb icons ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* set navigation item highlight shape to rectangle ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* The icon that was passed in now shows on breadcrumb ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* truncated only hides any breadcrumbs over the maxItemsShown number ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* typo ";abel" => "label" ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* **UX-1232:** Breadcrumb Issues ([#214](https://github.com/ZebraDevs/zeta_flutter/issues/214)) ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* **UX-1315:** Update license ([#208](https://github.com/ZebraDevs/zeta_flutter/issues/208)) ([bfbfa23](https://github.com/ZebraDevs/zeta_flutter/commit/bfbfa238f3356368d1f36d32d15ba8de4706646e)) +* **UX-1316:** Update macro desciption ([bfbfa23](https://github.com/ZebraDevs/zeta_flutter/commit/bfbfa238f3356368d1f36d32d15ba8de4706646e)) + + +### ⛓️ Dependencies + +* Update example app android dependencies ([#212](https://github.com/ZebraDevs/zeta_flutter/issues/212)) ([179c2cb](https://github.com/ZebraDevs/zeta_flutter/commit/179c2cba6ef0f65523d273d8dad2399f8292e220)) + + +### 🧪 Tests + +* added more tests for navigation bar ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* breadcrumb items are spaced equally ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* breadcrumb label and icon default colors ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) +* edited test to pass after merge ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* fixed debug fill props avatar ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* hardcoded offset ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* Navigation Bar ([#213](https://github.com/ZebraDevs/zeta_flutter/issues/213)) ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* navigation item calls onTap when an item is tapped off center ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* ran test counter ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* Uncommented text contrast tests ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* writing tests for navigation bar ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* wrote content and accessibility tests ([d97440b](https://github.com/ZebraDevs/zeta_flutter/commit/d97440b6acde461ed615b1ea827064b4b53af351)) + + +### 🧹 Miscellaneous Chores + +* **automated:** Lint commit and format ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) +* **automated:** Lint commit and format ([9f6ed48](https://github.com/ZebraDevs/zeta_flutter/commit/9f6ed48a91d5a0f681d7c3df43da49dc40852f1d)) + ## [0.18.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.17.0...v0.18.0) (2024-11-11) diff --git a/example/lib/home.dart b/example/lib/home.dart index a36d7091..b60898e3 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -160,7 +160,7 @@ class _HomeState extends State { final _theme = theme..sort((a, b) => a.name.compareTo(b.name)); return ExampleScaffold( // x-release-please-start-version - name: 'zeta_flutter v0.18.0', + name: 'zeta_flutter v0.19.0', // x-release-please-end child: SingleChildScrollView( child: Column( diff --git a/example/widgetbook/pages/introduction.dart b/example/widgetbook/pages/introduction.dart index 71309e2b..168bd91d 100644 --- a/example/widgetbook/pages/introduction.dart +++ b/example/widgetbook/pages/introduction.dart @@ -71,7 +71,7 @@ class _IntroductionWidgetbookState extends State { Expanded( child: Text( // x-release-please-start-version - 'zeta_flutter v0.18.0', + 'zeta_flutter v0.19.0', // x-release-please-end style: ZetaTextStyles.displayLarge.copyWith(fontSize: largeScreen ? null : 24), ), diff --git a/pubspec.yaml b/pubspec.yaml index fbb6c220..cbd34be0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: zeta_flutter -version: 0.18.0 +version: 0.19.0 description: Zeta is the new, formal, standardized Zebra Design System based off the successes of ZDS (Zebra Design System). This package is in pre-release, and so many aspects are incomplete. From 7b374b7e929c07d20220d9ab8e9ee09a12206442 Mon Sep 17 00:00:00 2001 From: mikecoomber <58986130+mikecoomber@users.noreply.github.com> Date: Wed, 20 Nov 2024 16:21:59 +0000 Subject: [PATCH 20/29] fix: Top app bar padding (#215) --- .../components/top_app_bar/top_app_bar.dart | 37 ++++++++++-------- .../golden/top_app_bar_centered.png | Bin 3318 -> 3294 bytes .../golden/top_app_bar_centered_actions.png | Bin 3368 -> 3343 bytes .../golden/top_app_bar_default.png | Bin 3320 -> 3296 bytes .../golden/top_app_bar_default_actions.png | Bin 3368 -> 3343 bytes .../top_app_bar/golden/top_app_bar_search.png | Bin 3320 -> 3295 bytes .../golden/top_app_bar_search_active.png | Bin 3512 -> 3483 bytes .../golden/top_app_bar_search_centered.png | Bin 3319 -> 3295 bytes 8 files changed, 20 insertions(+), 17 deletions(-) diff --git a/lib/src/components/top_app_bar/top_app_bar.dart b/lib/src/components/top_app_bar/top_app_bar.dart index 07030848..107caf1d 100644 --- a/lib/src/components/top_app_bar/top_app_bar.dart +++ b/lib/src/components/top_app_bar/top_app_bar.dart @@ -329,23 +329,26 @@ class _ZetaTopAppBarState extends State { return ZetaRoundedScope( rounded: context.rounded, - child: Padding( - padding: EdgeInsets.symmetric(horizontal: spacing.minimum), - child: AppBar( - elevation: 0, - scrolledUnderElevation: 0, - backgroundColor: colors.surfacePrimary, - iconTheme: IconThemeData(color: colors.iconDefault), - leading: leading, - toolbarHeight: spacing.xl_9, - automaticallyImplyLeading: widget.automaticallyImplyLeading, - surfaceTintColor: Colors.transparent, - centerTitle: widget.type == ZetaTopAppBarType.centered, - titleTextStyle: widget.titleTextStyle == null - ? ZetaTextStyles.bodyLarge.copyWith(color: colors.textDefault) - : widget.titleTextStyle!.copyWith(color: colors.textDefault), - title: title, - actions: actions, + child: ColoredBox( + color: colors.surfaceDefault, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: spacing.minimum), + child: AppBar( + elevation: 0, + scrolledUnderElevation: 0, + backgroundColor: colors.surfacePrimary, + iconTheme: IconThemeData(color: colors.iconDefault), + leading: leading, + toolbarHeight: spacing.xl_9, + automaticallyImplyLeading: widget.automaticallyImplyLeading, + surfaceTintColor: Colors.transparent, + centerTitle: widget.type == ZetaTopAppBarType.centered, + titleTextStyle: widget.titleTextStyle == null + ? ZetaTextStyles.bodyLarge.copyWith(color: colors.textDefault) + : widget.titleTextStyle!.copyWith(color: colors.textDefault), + title: title, + actions: actions, + ), ), ), ); diff --git a/test/src/components/top_app_bar/golden/top_app_bar_centered.png b/test/src/components/top_app_bar/golden/top_app_bar_centered.png index ce49f58563ba5a831032df874441bb0e9c561617..c25bab98ecc3cd81d7305ade8e4863d9f5787032 100644 GIT binary patch literal 3294 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq|#P)5S5QV$R!}8wC$J2(UQ12(}lTuvfCwn0Q#Vsq*n|<%sgE{+Tn` z85kTM?5qMBuz{bEiGd-7g@b`%f}jFW*sTF5DoHcJxYg_oZ=TiEhxtD^|95YgKf{eK zb`}PP6C45z3<}B)3=9oD42%p6Mod%{JY#6Qxe93F26ldWd6aG;I%*LelI>_9j|MVL w%f-PBBMEOG{=qRI2z@+y01C>D>oRXg1Q(Cp00i_>zopr0I%ea`Tzg` literal 3318 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`d%r;B4q#hkY{4fC7~MO+;_9_3DG`@6nFEwU}v;rGjn8>iS`whiBI z`>FKY&pk3dhI&9V=5M%GwR`_IT}B25KlcWpfFvUm149Z62Lr{CZ^id*8=LpvKmLxBVfiC=76yhB90Cjs3d#-)3=KUDKzA82QC08^(DycWJ%-=b z0?qz6b?dd;Z|PtwEqpR+CUsNBXn2l>Cryi<(F8V{z(x}ojq3H$%r%<1Ml;u7&RqI8 YoJG68O?jIO>}D`{y85}Sb4q9e0BEq&TL1t6 diff --git a/test/src/components/top_app_bar/golden/top_app_bar_centered_actions.png b/test/src/components/top_app_bar/golden/top_app_bar_centered_actions.png index 2e6ac8905707721ac0468b183533928959430eaf..720ceb82e5e81c971a3c8a66ee48d768343b7df8 100644 GIT binary patch delta 243 zcmZ1>)h{){(Q>D!i(^Q|oVT|&@*Xk}a0qOg!7TM{eutV)Qj|+$%aj_Or+XRo)+yD` zoo;x{f{}rN<=lTe1_p)#nTZ!gC+^XjxJTZy_-65suVwdB&K1|@7_l=j^ram8y@Qv7 zfnkE60t16X+I97a_jR$ibGGU+&FKAqJI3ZSYhThdppwZK87;hLdVgK``fXe-7X!l& zgVVKl*jN}CPH+e?Feq$(ExhLWuN%cS3=AKR_Ixjt1_>%VFfcUqFaTX*!~{~Qlic(1 ry))27#}k-0KV&rIo_v7OL~N#bte4{YWBM~vfieu9u6{1-oD!M<{jObR delta 266 zcmeB|S|K&T(e09_i(^Q|oVT|O^A0(PI5>9P$aXmV*WZQt_y+DvvqUB;-Q?FkQ&P6^ z^{HFS_aD!kHLtzZ@E9WlLjvz-oBcNRd*6C9Ff{Z}T&D#_+*ZqV#qHzQtzPqa$NjKK zb_NE!lXB-Dt0^!rIJh-1Ffh#YU7w))w=`$-wH+J@`G4+zJ8ByLAo$Hwn>?n;flL-5 z&q8ub_QkAT3p7;zTalbOBhV@%CKd*U6FF6^uM79*?zCZG_|R=T@3^l6P)!d5T%JRK zfkB~o&a#&~YYdN7+`kUA?Efj7^ZMu2HXAaX;F>JJG*9d&n}eeIM6SiZK(Y*;u6{1- HoD!MX^K{bj=L_t(|obB1M4Z=_m1wq@Q4oK*~A`)oi$Y=m-f8dz{PA^^E zJ~Oic000Dz)dK(kfa?&Gu>oxq=63eM`{Q}`N&fJ8zgABG0DvDKk)KnMo)8NA%*^T$ o006)>__Lt_K?{?R0VNjZ3vOHwsepI)?EnA(07*qoM6N<$f>DMzi~s-t delta 164 zcmaDL`9pGoqw^w97srr_Id5-n%w;wdU~t^4xGhor-F_w2BFU5w=U6nqCCg7p-;`Xi zqvT-jxt;OzdJOd#7#Q3mviF{mUmnZE!0^X#TpX zFfdenV4m2RB$76}_}zK_gTe~DWM4fV9i6j diff --git a/test/src/components/top_app_bar/golden/top_app_bar_default_actions.png b/test/src/components/top_app_bar/golden/top_app_bar_default_actions.png index 725391c67186a18f8874677ea7a215d9400ffff5..482097c63727e3936a77560d0dffd82817d6e434 100644 GIT binary patch delta 227 zcmV<90383Q8jl)~K{&ZdL_t(|obB4N4FWL`06{=s2PE`g5eYP6Qbd42`d=*lOaW(y zUY(C)jBx+}00^A^eE|RfU_X(eM3K-Hke_ zkK2F%000>Q0ssJHHvNM2xZk!M4*&psFynjN29x0d6b#2P#`yOo004k}umQ920U-;M dzyU-S%o8>ZA+PIR9|Zsa002ovPDHLkV1gsyScw1t delta 274 zcmeB|S|K&T(e09_i(^Q|oVT|O^A0(PI5>8EFkSHQpZcQ4om6LF}Jnl+MPds7R9E_ zJ^pvw2`dJM4eHT*`e!!)HAyluF)*Zr)i#-azrOKo(Bnl*bHBz^KdqEwIPgB_sa+n^ zWJN{|pcw)o&q8ub_QkAT%fQfJ9=#Jy_tzcwuf@nQF#I?u_WrS&0t17C8^UxJ4hDt^ zmVJ+Z%=s_T_ON(4BLl;~shP9l_W5pBWV*pMS%9fe>@%;#6ZMI`kshHyM=^N1`njxg HN@xNAe#>j% diff --git a/test/src/components/top_app_bar/golden/top_app_bar_search.png b/test/src/components/top_app_bar/golden/top_app_bar_search.png index 00604a3329e24a8be851d99fc2a14ac196194b0c..d4dc30acab12bc932ae64b9fc32d1fa18bfdde4f 100644 GIT binary patch literal 3295 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq|#f)5S5QV$R!}8+i`}2(UW#tT?RlC0>xzq{t-kt@$S(#^ux3<;|YC zlM$%(-D-BA3D*@J7#JFQ7=R*1Oe_oxCpZKc7!;IgC3xoXi{{^-OTT#fJ^5X^ejWqE z0r}62w6}Zn*)wb8fY!t`^K&pTOb}FHU~q72U|?X7WMpDsNMRWj91W1s#4wr>MoWg# sQgO6K7_ALQYs1mnaI`k0pf;?VGnaqmU$=-kz&196r>mdKI;Vst0P)C``~Uy| literal 3320 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`d{r;B4q#hkY{cjq!23OG1=8r+^B^fi8>@NOQX372;N`EYLj%p6G_ zv)Tux=YHc-WDoSE> zSs55&g4ZPgHA{wX0J=>q`b_%aB)i*R%>G4YH_VwocU^H6P`Is-m0KHV_M4u^7I{^| z+izYy{N1k^=vht<1_l8kkni0Z7=VVH2b1cX6PX;jCof=D5c|gz@!0mxr+rHn1Em=} MUHx3vIVCg!0F$1ww*UYD delta 437 zcmV;m0ZRUx8@L;gL26=2L_t(|obBDAZc|YJfZ;nrB_YemGC?*HCQt}6IWdbz5uO0a zgCKbV9t43T2oz!@Y(bC(vJhM=h8o%2xM}~6_4{0#o^x;O{+@Gk*QV3y*>J&RG8q5> z0Onyfn_YT+YiV}^0068UlfeRBf4RNL$+vfQ=Q7Xn(cxU?S%&l9;D7!O001yARzLs% zfXqTyKmY)M<$Cx2!|?Ib=TT#yJbpAB?C;I>ezE}h*DXl%+P(z<09+qdKq9Z-yd5=e zYjb1xe)4nlbss*sKYaQ6ZS?rfd+Wo=kJF`HfBo*A;q=$<(c`x^H-_iW8=j6H4*aYoP&hd~~?T=>Y(M|BNkI002N{Z91KvU3_CQnJn*a zZlLqS_f~@d09Zw{+3eD5DKt_N7000>Q0ssJHoB;s<02am>5C8yRX#@xWv$O)y f3X|{xh!*A#(fCHMr;5y^00000NkvXXu0mjf=5xa| diff --git a/test/src/components/top_app_bar/golden/top_app_bar_search_centered.png b/test/src/components/top_app_bar/golden/top_app_bar_search_centered.png index e65986b06df85d9e2a14d90ddda07960616ef33a..f6c930a0190ee20c1f9e4569c6b1f2524bacbc95 100644 GIT binary patch literal 3295 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq|#f)5S5QV$R!}8+i`}h_E>JtT?RlC4QptofC_>zIlK1VV%A%Z}!Ye zkj{Cl*@4t|MF$3kh8_k+1_mQ076yhB90Cjs3d*z+Jd^#Ep<(rn`}3~~|5*IFdd)nB z0!}%a+6eL5?K5Xy2{JGou&tn#&*&C}qZZL2osI_bXdu&}SQ-uF(LknW^*dUujpn$~ i95i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`eCr;B4q#hkY{Hx@b>inux^tTFR>^iNyKFx7+6Ptn}nc>ditn!8>~ z&V4?o|MFzRW1I{O5A4@$jeB=`n<@jtf#ZTe>m1w~fF?^aGBGfuuy8OiOrV+Iv+VB- z4U2#5`}bzv0qMK-`McE_WSZm!7#I|k9T*rIdKefP7>t-$7#L1)P*?D|<@3is6MHu1 z^D;0LXk@RQew&}B9;I7|j#@;AWIGzjqk%kHT+p+k7|n5`Ic_w^jpjJ|G)qTI8=93i b{}}2fi*`RL+OY}P#bEGs^>bP0l+XkKty7{Y From 7257c409afaaf10b51a577856ab9623510d43e70 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Fri, 22 Nov 2024 10:17:07 +0000 Subject: [PATCH 21/29] feat(UX-881): Range Selector (#217) feat: Created Range Selector test: wrote 1 test for range selector test: testing range selector docs: widgetbook and example for range selector test: created interaction tests test: adjusted golden tolerance fix: removed rounded from widgetbook fix: removed large thumbs fix: removed defaults to true on showValues --- example/lib/home.dart | 2 + .../components/range_selector_example.dart | 202 +++++++ example/widgetbook/main.dart | 2 + .../components/range_selector_widgetbook.dart | 33 ++ example/widgetbook/utils/utils.dart | 38 ++ lib/src/components/components.dart | 1 + .../range_selector/range_selector.dart | 448 +++++++++++++++ .../range_selector_rounded_continuous.png | Bin 0 -> 4618 bytes .../range_selector_rounded_disabled.png | Bin 0 -> 4625 bytes .../golden/range_selector_rounded_stepped.png | Bin 0 -> 4692 bytes .../range_selector_sharp_continuous.png | Bin 0 -> 3611 bytes .../golden/range_selector_sharp_disabled.png | Bin 0 -> 3668 bytes .../golden/range_selector_sharp_stepped.png | Bin 0 -> 3687 bytes .../range_slider_rounded_continuous.png | Bin 0 -> 3856 bytes .../golden/range_slider_rounded_disabled.png | Bin 0 -> 3842 bytes .../golden/range_slider_rounded_stepped.png | Bin 0 -> 3990 bytes .../golden/range_slider_sharp_continuous.png | Bin 0 -> 3343 bytes .../golden/range_slider_sharp_disabled.png | Bin 0 -> 3349 bytes .../golden/range_slider_sharp_stepped.png | Bin 0 -> 3498 bytes .../range_selector/range_selector_test.dart | 509 ++++++++++++++++++ test/test_utils/utils.dart | 36 ++ 21 files changed, 1271 insertions(+) create mode 100644 example/lib/pages/components/range_selector_example.dart create mode 100644 example/widgetbook/pages/components/range_selector_widgetbook.dart create mode 100644 lib/src/components/range_selector/range_selector.dart create mode 100644 test/src/components/range_selector/golden/range_selector_rounded_continuous.png create mode 100644 test/src/components/range_selector/golden/range_selector_rounded_disabled.png create mode 100644 test/src/components/range_selector/golden/range_selector_rounded_stepped.png create mode 100644 test/src/components/range_selector/golden/range_selector_sharp_continuous.png create mode 100644 test/src/components/range_selector/golden/range_selector_sharp_disabled.png create mode 100644 test/src/components/range_selector/golden/range_selector_sharp_stepped.png create mode 100644 test/src/components/range_selector/golden/range_slider_rounded_continuous.png create mode 100644 test/src/components/range_selector/golden/range_slider_rounded_disabled.png create mode 100644 test/src/components/range_selector/golden/range_slider_rounded_stepped.png create mode 100644 test/src/components/range_selector/golden/range_slider_sharp_continuous.png create mode 100644 test/src/components/range_selector/golden/range_slider_sharp_disabled.png create mode 100644 test/src/components/range_selector/golden/range_slider_sharp_stepped.png create mode 100644 test/src/components/range_selector/range_selector_test.dart diff --git a/example/lib/home.dart b/example/lib/home.dart index b60898e3..e3a587a5 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -26,6 +26,7 @@ import 'package:zeta_example/pages/components/navigation_rail_example.dart'; import 'package:zeta_example/pages/components/notification_list_example.dart'; import 'package:zeta_example/pages/components/phone_input_example.dart'; import 'package:zeta_example/pages/components/radio_example.dart'; +import 'package:zeta_example/pages/components/range_selector_example.dart'; import 'package:zeta_example/pages/components/screen_header_bar_example.dart'; import 'package:zeta_example/pages/components/select_input_example.dart'; @@ -89,6 +90,7 @@ final List components = [ Component(TabsExample.name, (context) => const TabsExample()), Component(DialPadExample.name, (context) => const DialPadExample()), Component(RadioButtonExample.name, (context) => const RadioButtonExample()), + Component(RangeSelectorExample.name, (context) => const RangeSelectorExample()), Component(SwitchExample.name, (context) => const SwitchExample()), Component(SliderExample.name, (context) => const SliderExample()), Component(DateInputExample.name, (context) => const DateInputExample()), diff --git a/example/lib/pages/components/range_selector_example.dart b/example/lib/pages/components/range_selector_example.dart new file mode 100644 index 00000000..1820dec1 --- /dev/null +++ b/example/lib/pages/components/range_selector_example.dart @@ -0,0 +1,202 @@ +import 'package:flutter/material.dart'; +import 'package:zeta_example/widgets.dart'; +import 'package:zeta_flutter/zeta_flutter.dart'; + +class RangeSelectorExample extends StatefulWidget { + static const String name = 'RangeSelector'; + + const RangeSelectorExample({super.key}); + + @override + State createState() => _RangeSelectorExampleState(); +} + +class _RangeSelectorExampleState extends State { + double value = 0.5; + + @override + Widget build(BuildContext context) { + return ExampleScaffold( + name: RangeSelectorExample.name, + child: SingleChildScrollView( + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Slider - Rounded - Continuous', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) { + print(value.start); + print(value.end); + }, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + showValues: false, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Slider - Rounded - Stepped', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) {}, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + showValues: false, + divisions: 10, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Slider - Rounded - Disabled', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + showValues: false, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Slider - Sharp - Continuous', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) {}, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + showValues: false, + rounded: false, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Slider - Sharp - Stepped', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) {}, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + showValues: false, + divisions: 10, + rounded: false, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Slider - Sharp - Disabled', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + showValues: false, + rounded: false, + ), + ].gap(12), + ), + SizedBox( + height: 32, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Selector - Rounded - Continuous', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) {}, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + label: 'Label', + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Selector - Rounded - Stepped', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) {}, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + label: 'Label', + divisions: 10, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Selector - Rounded - Disabled', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + label: 'Label', + divisions: 10, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Selector - Sharp - Continuous', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) {}, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + label: 'Label', + rounded: false, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Selector - Sharp - Stepped', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + onChange: (value) {}, + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + label: 'Label', + rounded: false, + divisions: 10, + ), + ].gap(12), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Range Selector - Sharp - Disabled', style: ZetaTextStyles.bodyLarge), + ZetaRangeSelector( + initialValues: RangeValues(20, 80), + min: 0, + max: 100, + label: 'Label', + rounded: false, + divisions: 10, + ), + ].gap(12), + ), + ].gap(32), + ).paddingVertical(32), + ), + ), + ); + } +} diff --git a/example/widgetbook/main.dart b/example/widgetbook/main.dart index 740cb129..c381b4e0 100644 --- a/example/widgetbook/main.dart +++ b/example/widgetbook/main.dart @@ -38,6 +38,7 @@ import 'pages/components/password_input_widgetbook.dart'; import 'pages/components/phone_input_widgetbook.dart'; import 'pages/components/progress_widgetbook.dart'; import 'pages/components/radio_widgetbook.dart'; +import 'pages/components/range_selector_widgetbook.dart'; import 'pages/components/screen_header_bar_widgetbook.dart'; import 'pages/components/search_bar_widgetbook.dart'; import 'pages/components/segmented_control_widgetbook.dart'; @@ -212,6 +213,7 @@ class _HotReloadState extends State { WidgetbookUseCase(name: 'Segmented Control', builder: (context) => segmentedControlUseCase(context)), WidgetbookUseCase(name: 'Select Input', builder: (context) => selectInputUseCase(context)), WidgetbookUseCase(name: 'Slider', builder: (context) => sliderUseCase(context)), + WidgetbookUseCase(name: 'Range Selector', builder: (context) => rangeSelectorUseCase(context)), WidgetbookUseCase(name: 'Snack Bar', builder: (context) => snackBarUseCase(context)), WidgetbookUseCase(name: 'Stepper Input', builder: (context) => stepperInputUseCase(context)), WidgetbookUseCase(name: 'Stepper', builder: (context) => stepperUseCase(context)), diff --git a/example/widgetbook/pages/components/range_selector_widgetbook.dart b/example/widgetbook/pages/components/range_selector_widgetbook.dart new file mode 100644 index 00000000..3c8bd50d --- /dev/null +++ b/example/widgetbook/pages/components/range_selector_widgetbook.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; +import 'package:widgetbook/widgetbook.dart'; +import 'package:zeta_flutter/zeta_flutter.dart'; + +import '../../utils/scaffold.dart'; +import '../../utils/utils.dart'; + +Widget rangeSelectorUseCase(BuildContext context) { + return WidgetbookScaffold( + builder: (context, _) => RangeSelectorExample(context), + ); +} + +class RangeSelectorExample extends StatelessWidget { + RangeSelectorExample(this.context); + final BuildContext context; + + @override + Widget build(BuildContext _) { + return Padding( + padding: const EdgeInsets.all(16), + child: ZetaRangeSelector( + label: context.knobs.string(label: 'Label', initialValue: 'Range Selector'), + divisions: context.knobs.intOrNull.input(label: 'Divisions', initialValue: null), + showValues: context.knobs.boolean(label: 'Show Values', initialValue: true), + onChange: disabledKnob(context) ? null : (value) {}, + initialValues: context.knobs.range(label: 'Initial Range', initialValue: RangeValues(20, 80)), + min: context.knobs.double.input(label: 'Min', initialValue: 0), + max: context.knobs.double.input(label: 'Max', initialValue: 100), + ), + ); + } +} diff --git a/example/widgetbook/utils/utils.dart b/example/widgetbook/utils/utils.dart index c3fcdfcf..a5f782f7 100644 --- a/example/widgetbook/utils/utils.dart +++ b/example/widgetbook/utils/utils.dart @@ -37,3 +37,41 @@ bool disabledKnob(BuildContext context) => context.knobs.boolean( label: 'Disabled', initialValue: false, ); + +class RangeKnob extends Knob { + RangeKnob({ + required super.label, + required super.initialValue, + }); + @override + List get fields => [ + DoubleInputField( + name: 'min-$label', + initialValue: initialValue.start, + ), + DoubleInputField( + name: 'max-$label', + initialValue: initialValue.end, + ), + ]; + @override + RangeValues valueFromQueryGroup(Map group) { + return RangeValues( + valueOf('min-$label', group)!, + valueOf('max-$label', group)!, + ); + } +} + +extension RangeKnobBuilder on KnobsBuilder { + RangeValues range({ + required String label, + RangeValues initialValue = const RangeValues(0, 10), + }) => + onKnobAdded( + RangeKnob( + label: label, + initialValue: initialValue, + ), + )!; +} diff --git a/lib/src/components/components.dart b/lib/src/components/components.dart index 01ad7ba4..acaa56b2 100644 --- a/lib/src/components/components.dart +++ b/lib/src/components/components.dart @@ -40,6 +40,7 @@ export 'phone_input/phone_input.dart'; export 'progress/progress_bar.dart'; export 'progress/progress_circle.dart'; export 'radio/radio.dart'; +export 'range_selector/range_selector.dart'; export 'screen_header_bar/screen_header_bar.dart'; export 'search_bar/search_bar.dart'; export 'segmented_control/segmented_control.dart'; diff --git a/lib/src/components/range_selector/range_selector.dart b/lib/src/components/range_selector/range_selector.dart new file mode 100644 index 00000000..de14fe8e --- /dev/null +++ b/lib/src/components/range_selector/range_selector.dart @@ -0,0 +1,448 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + +import '../../../zeta_flutter.dart'; + +/// The [ZetaRangeSelector] is a customizable range selector widget that +/// allows users to select a range of values within a specified minimum +/// and maximum range. It provides a visual representation of the selected +/// range and allows for precise adjustments through both dragging and direct input +class ZetaRangeSelector extends ZetaStatefulWidget { + /// Creates a new [ZetaRangeSelector] + ZetaRangeSelector({ + super.key, + super.rounded, + required this.initialValues, + this.min = 0.0, + this.max = 100, + this.label, + this.onChange, + this.divisions, + this.semanticLabel, + this.showValues = true, + }) : assert( + min <= initialValues.start && initialValues.start <= initialValues.end && initialValues.end <= max, + 'The start value must be less than or equal to the end value, and both must be within the range of min and max.', + ); + + /// The initial values of the range selector. + final RangeValues initialValues; + + /// The minimum value of the range selector. + /// Defaults to 0. + final double min; + + /// The maximum value of the range selector. + /// Defaults to 100. + final double max; + + /// The label of the range selector. + final String? label; + + /// Called with the values of the range selector whenever it is changed. + final ValueChanged? onChange; + + /// The number of divisions for the range selector. + final int? divisions; + + /// Value passed to the wrapping [Semantics] widget. + final String? semanticLabel; + + /// Whether to show the values of the range selector. + final bool showValues; + + @override + State createState() => _ZetaRangeSelectorState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DoubleProperty('min', min)) + ..add(DoubleProperty('max', max)) + ..add(StringProperty('label', label)) + ..add(ObjectFlagProperty?>.has('onChange', onChange)) + ..add(IntProperty('divisions', divisions)) + ..add(StringProperty('semanticLabel', semanticLabel)) + ..add(DiagnosticsProperty('showValues', showValues)) + ..add(DiagnosticsProperty('initialValues', initialValues)); + } +} + +class _ZetaRangeSelectorState extends State { + bool _selected = false; + + late RangeValues _values; + + final TextEditingController _lowerController = TextEditingController(); + final TextEditingController _upperController = TextEditingController(); + + bool get disabled => widget.onChange == null; + + @override + void initState() { + super.initState(); + _values = widget.initialValues; + _lowerController.text = widget.initialValues.start.round().toString(); + _upperController.text = widget.initialValues.end.round().toString(); + } + + @override + void didUpdateWidget(ZetaRangeSelector oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.initialValues != oldWidget.initialValues) { + _values = widget.initialValues; + _lowerController.text = widget.initialValues.start.toString(); + _upperController.text = widget.initialValues.end.toString(); + } + } + + @override + void dispose() { + super.dispose(); + _lowerController.dispose(); + _upperController.dispose(); + } + + Color get _activeColor { + final colors = Zeta.of(context).colors; + if (widget.onChange == null) { + return colors.textDisabled; + } + return _selected ? colors.primary : colors.surfaceDefaultInverse; + } + + void _onSubmit(TextEditingController controller, {bool lower = true}) { + if (controller.text.isNotEmpty) { + double? val = double.tryParse(controller.text); + if (val != null) { + if (val < widget.min) { + val = widget.min; + } + if (lower ? val >= _values.end : val <= _values.start) { + val = lower ? _values.end : _values.start; + } + if (widget.onChange != null) { + widget.onChange?.call(RangeValues(lower ? val : _values.start, lower ? _values.end : val)); + setState(() { + _values = RangeValues(lower ? val! : _values.start, lower ? _values.end : val!); + controller.text = val!.round().toString(); + }); + } + } + } + } + + void _valueFieldOnChanged(String value, TextEditingController controller) { + double? val = double.tryParse(value); + if (val != null) { + if (val > widget.max) { + val = widget.max; + } + setState(() { + controller.text = val!.round().toString(); + }); + } + } + + void _rangeSliderOnChanged(RangeValues value) { + if (widget.onChange != null) { + widget.onChange?.call(RangeValues(value.start, value.end)); + setState(() { + _values = RangeValues(value.start, value.end); + _lowerController.text = value.start.round().toString(); + _upperController.text = value.end.round().toString(); + }); + } + } + + void _setSelected(bool selected) { + setState(() { + _selected = selected; + }); + } + + @override + Widget build(BuildContext context) { + final colors = Zeta.of(context).colors; + final spacing = Zeta.of(context).spacing; + final bool rounded = context.rounded; + + return ZetaRoundedScope( + rounded: rounded, + child: Semantics( + label: widget.semanticLabel, + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (widget.label != null) + Text( + widget.label!, + style: ZetaTextStyles.bodySmall.copyWith( + color: disabled ? colors.textDisabled : colors.textDefault, + ), + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + if (widget.showValues) + _ValueField( + controller: _lowerController, + onEditingComplete: () => _onSubmit(_lowerController), + onTapOutside: (event) => _onSubmit(_lowerController), + onChanged: (value) => _valueFieldOnChanged(value, _lowerController), + disabled: disabled, + rounded: rounded, + context: context, + ), + Expanded( + child: SliderTheme( + data: SliderThemeData( + /// Track + activeTrackColor: _activeColor, + inactiveTrackColor: colors.surfaceDisabled, + rangeTrackShape: rounded + ? const RoundedRectRangeSliderTrackShape() as RangeSliderTrackShape + : const RectangularRangeSliderTrackShape() as RangeSliderTrackShape, + + /// Ticks + activeTickMarkColor: colors.surfaceDefault, + inactiveTickMarkColor: colors.surfaceDefault, + rangeTickMarkShape: const RoundRangeSliderTickMarkShape(tickMarkRadius: 1), + + /// Thumbs + overlayShape: _DrawThumbOverlay( + size: spacing.xl / 2, + rounded: rounded, + color: _activeColor, + ), + rangeThumbShape: _DrawThumb( + size: spacing.large / 2, + rounded: rounded, + color: _activeColor, + ), + ), + child: RangeSlider( + values: _values, + onChanged: _rangeSliderOnChanged, + divisions: widget.divisions, + onChangeStart: (_) => _setSelected(true), + onChangeEnd: (_) => _setSelected(false), + min: widget.min, + max: widget.max, + mouseCursor: WidgetStatePropertyAll( + disabled ? SystemMouseCursors.basic : SystemMouseCursors.click, + ), + semanticFormatterCallback: (value) { + return '${value.round()}'; + }, + ), + ), + ), + if (widget.showValues) + _ValueField( + controller: _upperController, + onEditingComplete: () => _onSubmit(_upperController, lower: false), + onTapOutside: (event) => _onSubmit(_upperController, lower: false), + onChanged: (value) => _valueFieldOnChanged(value, _upperController), + disabled: disabled, + rounded: rounded, + context: context, + ), + ].gap(spacing.xl_4), + ), + ].gap(spacing.small), + ), + ), + ); + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(DiagnosticsProperty('disabled', disabled)); + } +} + +class _ValueField extends StatelessWidget { + const _ValueField({ + required this.controller, + required this.onEditingComplete, + required this.onChanged, + required this.onTapOutside, + required this.disabled, + required this.rounded, + required this.context, + }); + + final TextEditingController controller; + final VoidCallback onEditingComplete; + final ValueChanged onChanged; + final TapRegionCallback onTapOutside; + final bool disabled; + final bool rounded; + final BuildContext context; + + ZetaColors get _colors { + return Zeta.of(context).colors; + } + + ZetaSpacingSemantics get _spacing { + return Zeta.of(context).spacing; + } + + InputBorder get _border { + final radius = Zeta.of(context).radius; + + return OutlineInputBorder( + borderSide: BorderSide( + color: !disabled ? _colors.borderDefault : _colors.borderDisabled, + ), + borderRadius: rounded ? radius.minimal : radius.none, + ); + } + + InputDecoration get _inputDecoration { + return InputDecoration( + filled: true, + fillColor: disabled ? _colors.surfaceDisabled : null, + contentPadding: EdgeInsets.zero, + constraints: BoxConstraints(maxHeight: _spacing.xl_6), + border: _border, + focusedBorder: _border, + enabledBorder: _border, + disabledBorder: _border, + ); + } + + @override + Widget build(BuildContext context) { + return SizedBox( + width: _spacing.xl_9 - 8, + height: _spacing.xl_8, + child: TextFormField( + keyboardType: TextInputType.number, + enabled: !disabled, + controller: controller, + onEditingComplete: onEditingComplete, + onChanged: onChanged, + onTapOutside: onTapOutside.call, + textAlign: TextAlign.center, + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + style: Theme.of(context).textTheme.bodyMedium?.copyWith( + color: disabled ? _colors.textDisabled : _colors.textSubtle, + ), + decoration: _inputDecoration, + ), + ); + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('controller', controller)) + ..add(ObjectFlagProperty.has('onEditingComplete', onEditingComplete)) + ..add(ObjectFlagProperty>.has('onChanged', onChanged)) + ..add(DiagnosticsProperty('disabled', disabled)) + ..add(DiagnosticsProperty('rounded', rounded)) + ..add(DiagnosticsProperty('context', context)) + ..add(ObjectFlagProperty.has('onTapOutside', onTapOutside)); + } +} + +class _DrawThumb extends RangeSliderThumbShape { + /// Constructor for [_DrawThumb] + const _DrawThumb({required this.size, required this.rounded, required this.color}); + + /// Radius or width/height for [_DrawThumb] depending on shape + final double size; + + /// If [_DrawThumb] is circular or a square + final bool rounded; + + /// Color of [_DrawThumb] + final Color color; + + @override + Size getPreferredSize(bool isEnabled, bool isDiscrete) { + return Size.fromRadius(size); + } + + /// Paints thumb + @override + void paint( + PaintingContext context, + Offset center, { + required Animation activationAnimation, + required Animation enableAnimation, + bool? isDiscrete, + bool? isEnabled, + bool? isOnTop, + bool? isPressed, + required SliderThemeData sliderTheme, + TextDirection? textDirection, + Thumb? thumb, + }) { + final Canvas canvas = context.canvas; + + final paint = Paint() + ..style = PaintingStyle.fill + ..color = color; + + // draw icon with text painter + rounded + ? canvas.drawCircle(center, size, paint) + : canvas.drawRect(Rect.fromCenter(center: center, width: size * 2, height: size * 2), paint); + } +} + +/// Custom slider thumb component +class _DrawThumbOverlay extends SliderComponentShape { + /// Constructor for [_DrawThumbOverlay] + const _DrawThumbOverlay({required this.size, required this.rounded, required this.color}); + + /// Radius or width/height for [_DrawThumbOverlay] depending on shape + final double size; + + /// If [_DrawThumbOverlay] is circular or a square + final bool rounded; + + /// Color of [_DrawThumbOverlay] + final Color color; + + @override + Size getPreferredSize(bool isEnabled, bool isDiscrete) { + return Size.fromRadius(size); + } + + /// Paints thumb + @override + void paint( + PaintingContext context, + Offset center, { + required Animation activationAnimation, + required Animation enableAnimation, + required bool isDiscrete, + required TextPainter labelPainter, + required RenderBox parentBox, + required SliderThemeData sliderTheme, + required TextDirection textDirection, + required double value, + required double textScaleFactor, + required Size sizeWithOverflow, + }) { + final Canvas canvas = context.canvas; + + final paint = Paint() + ..style = PaintingStyle.fill + ..color = color; + + // draw icon with text painter + rounded + ? canvas.drawCircle(center, size, paint) + : canvas.drawRect(Rect.fromCenter(center: center, width: size * 2, height: size * 2), paint); + } +} diff --git a/test/src/components/range_selector/golden/range_selector_rounded_continuous.png b/test/src/components/range_selector/golden/range_selector_rounded_continuous.png new file mode 100644 index 0000000000000000000000000000000000000000..536ef9a2cbd41f94d2e425b840cdc96d793cff60 GIT binary patch literal 4618 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 literal 0 HcmV?d00001 diff --git a/test/src/components/range_selector/golden/range_selector_rounded_stepped.png b/test/src/components/range_selector/golden/range_selector_rounded_stepped.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a64e7b8e29fda35456332f7bd2cb980f25beed GIT binary patch literal 4692 zcmeH}YfzKv6~`YgN)$mYN=qa_*IK8QLR$pnl4y|e2=>Y&IWkd&E_@?1(z*wGhS6Y>7t4{d!5^9+4*M z>-G@Pr(F+U7R(qIbDJBbpO$cpixb93Rf9T=9NsV-|6U{%ibpUV|C5Y=6~9JH zPNs5t5`((t>uQm>1$8)vN=L6(ET)oQpU=tjZl{q=+X1NIWJpk?!eZ;hqc(PA^1*ZZ z)@j9gI9{bP4wPhC)0;CI!*GT3p;{+B8_S(1$c(>&8o9IZbI;ZqzErt(vVeZ0RV%I! zpwbDc7*06R)zy{uct%g5L)!blBqd0bP47%+RNud;g;VlQ(6P$9A(WQdv0_;e07v8K zmX!xoYr6W14X^I;!mHR%RDmv_S1Z#g)tnd5u>53PAAi1_H9g%JNnk9psAD}E^Z0-k zeW5YUY-n8i0j-lr*_5%tgDx-(POER4REyQQIWN zHr|8SZ;kq}EU#R!azUPO^zEc5Co}U_CwHWL;_NzNk!ECiMc$0E2$q(x^Ti^c)2|K% zqe@FK7|dg{Lwhj}hr7#K%_ggdT~waFwz)>OtkOFSKJL=?8Tc$9Jpa{dFcK-&D1E~U z?qo0xp?kVFlnEnkYlf9EX{kh`#A30^DKR6p$fG^P(YZU*W*yXNo~x^w6Rbs6XI55L zN~Q;();2V78zOwu-=9KPcyleQzN9Kl2mH)>C_yEe5r;wDjM9{>dpZWta9FE8e1idj zk(P1%4g~xxTOARsgh*cxYFMLsITKV^lm&e^G&L5Gn>Pcph7Ftzl3BU z96aYl8#}<3;qqM-kB{?^q@8^S@6LUfBEuaEA&zNl7aHoWw|8YrLy)g;7QB1qL4y`X zdhwJ*{A~FJMM%ym`1_m}@%bTrPkASl_SL4%qv;IE+;7&-K{zxdJv#}|8+uG52+G6m z*iCNka-*)WP3zhIt&*;OsH>{lqkUgh6)ygq+N-6NOfAMeKXtOaJ@lY|@^qi+>58X62q+Dm%4dnGvV2+4-*&^c zXs#FxqU!B_%Jf1E(qf#3dwZu>5y2W!G|B7i%!7D5+2tF7Dph`&dv_C z$B%~wF5jcFbcYQNTYkT9AHEW`GIXU<^txhPS4|jzglUg~B-2b^=t=AAE4N)NT{TPP zgZr(W+b5lS38>{KSh;z=oIP-RH0Q%urF_&_)7r*sRdW~uL7r%yEurM+cNFWVk{M>^ zPJvrl&v=)5hiPc%W}6DzD9jUaD-aP!xC-s^cWJTjHo=OIfCj*S3_1T=>4K z?%K7MOP6ZMCr-2oa=o}*f>0q|oWj+Ik|vEwWyv2#U)xkqX&v+#C+tqR-cplM*K+^< zeK8>O({a+!@uAc%1H_S%pcE_>!&(D;n+r>(kvHHKNvTC@E?-R{Ec=- zS13FRS?YghvGJHsoRU>_boD%8M-I;t1G(L#$L(M?4|laWK}nK6INZm*(WL%ZV!1A%x$E8RvTJY< zqbVzEyk;%Vy6+J*&%EosgXZd6z+h?3r;9z* vPQXsUPQXsUPQXsUPQXsUPT>DeU?J2i89wT9c*7m&HVoqaoDj{6I(qh>akjt! literal 0 HcmV?d00001 diff --git a/test/src/components/range_selector/golden/range_selector_sharp_continuous.png b/test/src/components/range_selector/golden/range_selector_sharp_continuous.png new file mode 100644 index 0000000000000000000000000000000000000000..e263b955117355651ac24acdad7e471f52088e05 GIT binary patch literal 3611 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9ji|sOhMui(^Q|oVR!PXU$EOIq*@v=vh+}N7;)Y@Af4Dj(b?5|Hm|ylxG{p zH8eG|<~y!x-d#V*qJo>P$Vg)c&wBEC=I6(MwtcRtyf?W# zd1HhOKLbOVFT<-FyFd`ThSpzOdJRddU9x z`P}={=GFh-TYmiccl+onxoa;UB-p*X_qXEZ&$VmMZruL;^~`rH2ln6H`T63E^Ze82 z-M{-c_0F!XrOT`jYMp!i^A0c0khA<)e=uq9znX8?uV`;*dafV8*2I3keBbKu^>c69 zG0fQu6#2Q&?)kmC*I!qL9{`yXAcTm4{fs~7fAD$q^V_4FQ>Q-L%PE`iH>_6p*X;b5 zkF~t%VCC2&?Bi1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9ji|sOg`li(^Q|oVRz+XT_w-G&~fRJ>e&O*>GFarPT#XxfhlyPtohT7e4)7 z!&TSP+i|TA4z+4<{p*};xU|)&%_F9Jc8S{Oc`45-uYE48yPtLLbh$-(`o@Sk{6L!; zuOE{GQa9u#uisZ`C3E&)-P6|X_v_1l{G5J&Q)&CFia36LvZHYqe+E!-vk&K4wMxz5o^@UlP_=HP+oKW zUCJ9y28IWZ%>MqXG2%IFFn@lJ?eQoXnK%8mK%@3-^4(|uokNUFr=j~St>~hB-S@xz zhx_gS?)uW2x6fGi-;d&LUw-}FYu?^(|106;*A0I4vh#WRR;K6ulbfHX zUOV6C-_{;)vujHw!;YHGKR-WwGk@dq1kvq$dyl@+Dqt#VmGS%DcKGGJ8_6l#a`)eU zc5tut;pXb{V{*#L`)8l6yQy;f+yC9UzxVQiqw6EbHPIrIYO`+~D|2tZ-}dv@?d8e+ z6E@vHo3=k^Qtt2ncenkGV`qBO^}*-SSF_66tzY-G@NKADUB_8l^`T9F;bGMexP$g) z<;S8zyZQOg!guiVeQS?>|C5Q~ft01KbQ>^A%88C=^e8}2aS&_13B2B7Em;kW@f|xZ zZ{DaLu^yPHHZ!vT`BpYftdt~ALJlA&$&Z>zc4;vhbfZB>MkOi1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq_rZ)5S5QV$R#U_SthoWe$84J{hx0fT`?7kazpC0LL26ZT}>>)?K=L zHmQb@i%+bEJ4iN$i}C-G(hs^3FU|&R@D^X_vZ`c{cTCI?)xDnk{EOc|H-27FpI&ut z`sWGhxpwpAc^DWP4rmAS1MObZ_x1e#A4PX|e!k1C|0n17wI8p(UDw}}SN;3ij=cwV z%{I4>$~d=p&ED<55AUe>*xOns%)s!&-dur!!NIKos9%ziiGd-7g@b`%f*=`!Gq?V% zsWbR0z`$@ItALqUqh@~H>+Zj7-b0tzeI<3T1Q{3}T$uK^W}n?LiSX@uKDNg@D-5b_ zz5?C!;n1|7HSa`q7#I|k9e|$hVPIrnFk)h1U^u}6w3Af9Grto57kvM>{_*Vm{qaBA z?JB;{{rLEuKKJ_i-)qf}FP~qt=R=i+C%^o;V_#pt*WXi@{rc06`v1?9=W;gu-&OW@ zui@;sx_kcJ+dKc*RPE^FR>CqzGi~SZX2j{H_J8^jbJp0;`)B%}S92 zEq;DZ{KXW=WW;f@4RjvKevkIPQ#uUGxKwOXL~mX_fL%6`gh%|xpQ|Xr$2vp zB{}6y`OcgAr&F%Z+rN6-{mTyEm|LH)*Ja+j|F&N_R)*ewziMaUUX?6Xu~WB3MKfqLdvK7YOa zj$NgRuPptJG~aw&_;b>FZ)S#qsyDV(Mxa<>BR3Y%BXKh@-uct|m(ODcCe72XtEhiHlxV~SP711gwc#Jnh}O@ cMtCNl|9)1+&15lqpeGnSUHx3vIVCg!04gVmg#Z8m literal 0 HcmV?d00001 diff --git a/test/src/components/range_selector/golden/range_slider_rounded_continuous.png b/test/src/components/range_selector/golden/range_slider_rounded_continuous.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec1c0207b210bbc6500d10c51fe27a953698bad GIT binary patch literal 3856 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`$Ar;B4q#hkZy?7QcN${qNa{7yi*x%FyODAT!)WW{sV8#p==6yN0C zJ7^?rZT?G0j3rPfRr{tETVYR9hkin?$*D(fC)cED9X#cf@;QIq?F{8b zxgGzXRmDHnTvqe(=ydM2_it6D?D_RdJ30IH zMCJLs4AWYHWgf+VI$n^UoiDd8yu?qQ(#*`uS(g zo`1jWk9X_;t9=z1;mFN?;(y*9srz;1$#-^s{wzNGfq~u6C-;N<85p$RzDl3pzkc7p zv{!~dWFw+y_x`@_-}Bo~CO+fup>l^K?E9Dg{reiMGPl0I{*~a5xjTxVC)E7D+uM45 zcgs1IzWdehuP8Gx7&NvrKl%4nI5{`BY|G^hMsoLRDqaaPBrLV;{<-$g56)|cUW><8 z-0ytMU4NZ*e_HkLjUNxP|DRRG!w?a9`*wdX`~MFIt|V`0`opU~c}LyfUlor!FF*eF z_I7(!UTtmdp8x-Fqqlg-2CxMuz$b5{onIWujOk?vSW6Ac{k(i9ap9Xc}xFDGmxU2Ic9osHQ6@5 z-^AA!3eP#4_V~@sxgXD2?>6&h_`wOZG4N?b|Wr1mgVo%uM_K zw{MRxmlI@oS9LCUS|bA^1A~#>K_(!{#KOREf literal 0 HcmV?d00001 diff --git a/test/src/components/range_selector/golden/range_slider_rounded_disabled.png b/test/src/components/range_selector/golden/range_slider_rounded_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0ab618d907b716cec1a6f5fbc9a6e17ab1335e GIT binary patch literal 3842 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`$0r;B4q#hkZy&-YLHDtqAL`$Jg<9J@C-ZT#re%Q_`#l}dquq1>!{ z)vxVuOs;R3zD)e`l_iTDdF+Lf9yKy0PH)xKRP4Fky;ov!bK-se%awc2ou6F8H~Hro z>(6u3!{*skZn6ei%Jh4g9FU5TTOG{Lkla)F``xo0Rexu1-1@g5C)ZvAC{j|JD`Q(! zG3V#olZB6d9J`{-bb$N3U8>+3i>9Mf(l+1xar}AsG4bi^`|sYBuh(3+W=+rcb93dy z&(D|r{q5%^K8CszcBvCN1k{T2i>qrsUEkmTo4@SYu76v5zkY1z*YCM*cI|tO8AF7~ zH_dLhe?~K<&G*m!eYU9PKU?+VXWOf-gc)?Ceot{#c9?Nw|GPWV)Ai!3pZ(U0-DmbL zH}CyPABGJXZ-T`pDo6M{%AfzQIA&*6@hd}ygv`0NpP&7B(fm2M|De#U-B+sqTMZISd;#w#mQg z*i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq~z_)5S5QV$Rz;2fO30$~HVq-e;(GhJ{C~v0;LP`hzo0bLQUN$sw|k zdtt7_CcR9i*ew_LvT!wp=xkAl^$gF{>5LNj%lyj8+RHQf#1*yGPT{dF7gT0tny+)Y zC3$O)dHl1=Yv1|yU$xwG-!@%tNA2%#`+*K~NVtB58R!=4Z`KbMtG`%x3ortJhh?)qMOC5pm%R!-vvu!OuDw5{;(o)tdRuv9PrJ|7U%4 zRbA@S&X2dU*Y{1Gs{Za*4ugUIo8@Pu%N=H%Y30t(t=uRRue(89Z%=7>I#WYsvVH2k zA54c-?Ed}ef4uYgK65j3^X*^nt&81#?DzZqufwGoHq19#F2j%_^!(i4yxZMRC6aUU z^7>X`k7#Wg>ln#bofz5Vg! zvc0b@6T_Q~>2|wq{(bvi?_;2NBOJ3cbeDN#m=p2`F-xvrAra<|1;)Te!g^N@tLWQkI$E% zt{*S6dbM_Nzft(P`Srzf?EgQzl6+?B)vHqre||bz_~*xGu+*H&OkhNqOq(`sncUNT z#cywIUFp7KxsL8T*?#$&k~ei17#F^^_;BO!cMQ2ZHh~3J{}dnU6o&0SXlGn;O@s4 z7CM*bnla1}2S)8gYXzT2A08fl{N?5RoZoxJ<9@6>D#Wla$v#!?C)1&ncXxIg&#V2m z`|+cr_W3V=0{!~&UiE(Y%{SkyJI}`O`B2@dJs(+HPM%5I{PElE=f_tD+yCnCevo4( zt?oZh;{BfDgGrnW@zD6UO|1Ppx$xVYof|i9G+Y;RQzE&i@X3i!5pn;nS(LqDPtJY2 za-};i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`eIr;B4q#hkZy4Y>|Eh&VWk>L;jXJp9|Ax-cPie{YTh{aO7RZP)Z+;-P=6Kyp#)##ge;U31cl+(Ht&t25;w$HU>R;0Ul$2y-Vqi#N z;b35xAgI8=;NS)loOyD2!d?0E_x+gUXH>spXL#_p@4b~Q|KxR>nNU@yeUh87@_vcq z!THgQ3IFDKyf4=|$c1Vak_9*W4CB1{8G$Zp78PJ%P*8SYU})%J016l}u`n>4;20Gg z4Uo~qFq#oYONP->akNGltqn(O!_nGsv^E^twc%$rzb7(kg;Fp2fE^14Pgg&ebxsLQ E0Q5B9i~s-t literal 0 HcmV?d00001 diff --git a/test/src/components/range_selector/golden/range_slider_sharp_disabled.png b/test/src/components/range_selector/golden/range_slider_sharp_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..0c511caf8fadfe869fbb14382dec71343a868837 GIT binary patch literal 3349 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9jkefq`egr;B4q#hkZyH})QK5OHvHFmY%p>5XM=332vdHEAok_;j`dw_97f z;`t-nz8L?`-23{i#N&;O3=AA^rpW=#i|GG*iFt$H^w+u9{yx9_{&pH;L;lmsQ|6nP zm>3vRSU4CMCI~7pFgUn102NCzf&|s(H1ho+s&>lhgBy{}k5|8e4_(l7@G zhK3#npy5VLEDQ`MeC{zDeVwhR@uOIq;mm#Emw)?IBN*Yb90Cjs3d#sAw+)Xazf=U8 zP`UxP-B=woDyV=OL!$vQ8Xyd?>^hnlMiawmV!&0IjpmNg+%cLvMso*dGk3IPphL+p ZPu)OvMgG1ID}Z^B!PC{xWt~$(695;hwaNeh literal 0 HcmV?d00001 diff --git a/test/src/components/range_selector/golden/range_slider_sharp_stepped.png b/test/src/components/range_selector/golden/range_slider_sharp_stepped.png new file mode 100644 index 0000000000000000000000000000000000000000..40c223c98dca2da9b2257dbbd6b4adbd1314dd08 GIT binary patch literal 3498 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV2a>i1B%QlYbpRzjKx9jP7LeL$-D$|Sc;uI zLpXq-h9ji|s42wL#WAE}&fB{iy`mEt+8!ncI@&a|x&|!S9qF~uJh;es(rv*#0*WOC zCvF{dTK+Ebjjl`bedjZu&!|7VJ!$&?Cr=Xg#_i_;8r+##F z{(k5!|qehHFuxjF#K4fk0usFWLo;Ik|382Cdp{7} zR{M&b;lXd&_pe`l`s{Xn?<3Ii zqr3<``SwDYg&+)MT>e}8|U zpDiQ9w|kF2J-;IS!@+DXYxZN~Wxn?Xxc==FW!U!Lcgg#5pM$y)SiA-HYue-EAAlas zIgQ)eDU literal 0 HcmV?d00001 diff --git a/test/src/components/range_selector/range_selector_test.dart b/test/src/components/range_selector/range_selector_test.dart new file mode 100644 index 00000000..a81796b6 --- /dev/null +++ b/test/src/components/range_selector/range_selector_test.dart @@ -0,0 +1,509 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:zeta_flutter/zeta_flutter.dart'; + +import '../../../test_utils/test_app.dart'; +import '../../../test_utils/tolerant_comparator.dart'; +import '../../../test_utils/utils.dart'; + +void main() { + const String parentFolder = 'range_selector'; + + const goldenFile = GoldenFiles(component: parentFolder); + setUpAll(() { + goldenFileComparator = TolerantComparator(goldenFile.uri, tolerance: 0.001); + }); + + group('Accessibility Tests', () { + meetsAccessbilityGuidelinesTest( + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + label: 'Range Selector', + ), + ); + }); + + group('Content Tests', () { + final debugFillProperties = { + 'label': '"Range Selector"', + 'divisions': 'null', + 'showValues': 'true', + 'rounded': 'null', + 'min': '0.0', + 'max': '100.0', + 'initialValues': 'RangeValues(20.0, 80.0)', + }; + debugFillPropertiesTest( + ZetaRangeSelector( + label: 'Range Selector', + initialValues: const RangeValues(20, 80), + onChange: (value) {}, + ), + debugFillProperties, + ); + + testWidgets('has the correct default values', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + + await tester.pumpAndSettle(); + + final slider = find.byType(RangeSlider); + final sliderWidget = tester.widget(slider); + + final zetaSelector = find.byType(ZetaRangeSelector); + final zetaSelectorWidget = tester.widget(zetaSelector); + + final semantics = find.byType(Semantics).first; + final semanticsWidget = tester.widget(semantics); + + expect(zetaSelectorWidget.rounded, null); + expect(sliderWidget.values, const RangeValues(20, 80)); + expect(sliderWidget.min, 0); + expect(sliderWidget.max, 100); + expect(zetaSelectorWidget.label, null); + expect(sliderWidget.divisions, null); + expect(semanticsWidget.properties.label, null); + expect(zetaSelectorWidget.showValues, true); + }); + + testWidgets('renders two TextFormFields', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + + await tester.pumpAndSettle(); + + expect(find.byType(TextFormField), findsNWidgets(2)); + }); + + testWidgets('renders one range slider', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + + await tester.pumpAndSettle(); + + expect(find.byType(RangeSlider), findsOneWidget); + }); + + testWidgets('renders a Text widget with the correct label', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + label: 'Range Selector', + ), + ), + ); + + await tester.pumpAndSettle(); + + final label = find.text('Range Selector'); + expect(label, findsOneWidget); + }); + }); + + group('Dimensions Tests', () { + testWidgets('TextFormFields have the correct dimenions', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + + await tester.pumpAndSettle(); + + final textFields = find.byType(TextFormField); + expect(textFields, findsNWidgets(2)); + + expect(tester.getRect(textFields.first).width, 56); + expect(tester.getRect(textFields.first).height, 48); + + expect(tester.getRect(textFields.last).width, 56); + expect(tester.getRect(textFields.last).height, 48); + }); + + // slider has the correct height + testWidgets('Slider has the correct height', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + + await tester.pumpAndSettle(); + + final slider = find.byType(RangeSlider); + expect(tester.getRect(slider).height, 20); + }); + + testWidgets('Padding between TextFormFields and slider', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + + await tester.pumpAndSettle(); + + final textFields = find.byType(TextFormField); + final slider = find.byType(RangeSlider); + + final textFieldRight = tester.getBottomRight(textFields.first); + final sliderLeft = tester.getBottomLeft(slider); + + expect(sliderLeft.dx - textFieldRight.dx, 32); + }); + }); + + group('Styling Tests', () { + testWidgets('Label has the correct font style', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + label: 'Range Selector', + ), + ), + ); + final colors = Zeta.of(tester.element(find.byType(ZetaRangeSelector))).colors; + + await tester.pumpAndSettle(); + + final label = find.text('Range Selector'); + final labelWidget = tester.widget(label); + + expect(labelWidget.style!.color, colors.textDefault); + expect(labelWidget.style!.fontSize, 14); + expect(labelWidget.style!.fontWeight, FontWeight.w400); + }); + + testWidgets('TextFormField have the correct font style', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + final colors = Zeta.of(tester.element(find.byType(ZetaRangeSelector))).colors; + + await tester.pumpAndSettle(); + + final textFields = find.byType(TextField); + final firstTextFieldWidget = tester.widget(textFields.first); + + expect(firstTextFieldWidget.style!.color, colors.textSubtle); + expect(firstTextFieldWidget.style!.fontSize, 16); + expect(firstTextFieldWidget.style!.fontWeight, FontWeight.w400); + + final lastTextFieldWidget = tester.widget(textFields.last); + + expect(lastTextFieldWidget.style!.color, colors.textSubtle); + expect(lastTextFieldWidget.style!.fontSize, 16); + expect(lastTextFieldWidget.style!.fontWeight, FontWeight.w400); + }); + + testWidgets('TextFormFields have the correct border color and width', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + final colors = Zeta.of(tester.element(find.byType(ZetaRangeSelector))).colors; + + await tester.pumpAndSettle(); + + final textFields = find.byType(TextField); + final firstTextFieldWidget = tester.widget(textFields.first); + + expect(firstTextFieldWidget.decoration!.border!.borderSide.color, colors.borderDefault); + expect(firstTextFieldWidget.decoration!.border!.borderSide.width, 1); + + final lastTextFieldWidget = tester.widget(textFields.last); + + expect(lastTextFieldWidget.decoration!.border!.borderSide.color, colors.borderDefault); + expect(lastTextFieldWidget.decoration!.border!.borderSide.width, 1); + }); + + // slider has the correct color + testWidgets('Slider has the correct color', (tester) async { + await tester.pumpWidget( + TestApp( + home: ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + ), + ), + ); + final colors = Zeta.of(tester.element(find.byType(ZetaRangeSelector))).colors; + + final sliderTheme = find.byType(SliderTheme); + final sliderThemeWidget = tester.widget(sliderTheme); + + expect(sliderThemeWidget.data.activeTrackColor, colors.surfaceDefaultInverse); + }); + }); + + group('Interaction Tests', () { + testWidgets('onChange callback is called when value is changed', (tester) async { + double? firstValue; + double? secondValue; + await tester.pumpWidget( + TestApp( + home: Padding( + padding: const EdgeInsets.all(32), + child: ZetaRangeSelector( + label: 'Range Selector', + initialValues: const RangeValues(20, 80), + showValues: false, + onChange: (newValue) { + secondValue = newValue.end; + firstValue = newValue.start; + }, + ), + ), + ), + ); + + await tester.pumpAndSettle(); + final slider = find.byType(RangeSlider); + + final sliderTopLeft = tester.getTopLeft(slider); + + await tester.dragFrom(sliderTopLeft.translate(0, 0), const Offset(250, 0)); + + await tester.pumpAndSettle(); + + await tester.dragFrom(sliderTopLeft.translate(700, 0), const Offset(-250, 0)); + + await tester.pumpAndSettle(); + + expect(firstValue!.round(), 34); + expect(secondValue!.round(), 61); + }); + + testWidgets('TextFormFields set the value of the slider', (tester) async { + RangeValues values = const RangeValues(20, 80); + await tester.pumpWidget( + TestApp( + home: Padding( + padding: const EdgeInsets.all(32), + child: ZetaRangeSelector( + label: 'Range Selector', + initialValues: values, + onChange: (newValues) { + values = newValues; + }, + ), + ), + ), + ); + + final firstTextFinder = find.ancestor(of: find.text('20'), matching: find.byType(TextFormField)); + final secondTextFinder = find.ancestor(of: find.text('80'), matching: find.byType(TextFormField)); + + await tester.pumpAndSettle(); + await tester.enterText(firstTextFinder, '40'); + await tester.testTextInput.receiveAction(TextInputAction.done); + + await tester.enterText(secondTextFinder, '60'); + await tester.testTextInput.receiveAction(TextInputAction.done); + await tester.pump(); + + expect(values, const RangeValues(40, 60)); + }); + + testWidgets('TextFormFields set the value of the slider on tap outside', (tester) async { + RangeValues values = const RangeValues(20, 80); + await tester.pumpWidget( + TestApp( + home: Padding( + padding: const EdgeInsets.all(32), + child: ZetaRangeSelector( + label: 'Range Selector', + initialValues: values, + onChange: (newValues) { + values = newValues; + }, + ), + ), + ), + ); + + final firstTextFinder = find.ancestor(of: find.text('20'), matching: find.byType(TextFormField)); + final secondTextFinder = find.ancestor(of: find.text('80'), matching: find.byType(TextFormField)); + + await tester.pumpAndSettle(); + await tester.enterText(firstTextFinder, '30'); + await tester.pump(); + await tester.tapAt(Offset.zero); + await tester.pump(); + + await tester.pumpAndSettle(); + await tester.enterText(secondTextFinder, '70'); + await tester.pump(); + await tester.tapAt(Offset.zero); + await tester.pump(); + + expect(values, const RangeValues(30, 70)); + }); + }); + + group('Golden Tests', () { + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + showValues: false, + ), + 'range_slider_rounded_continuous', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + showValues: false, + divisions: 10, + ), + 'range_slider_rounded_stepped', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + initialValues: const RangeValues(20, 80), + showValues: false, + ), + 'range_slider_rounded_disabled', + ); + + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + showValues: false, + rounded: false, + ), + 'range_slider_sharp_continuous', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + showValues: false, + divisions: 10, + rounded: false, + ), + 'range_slider_sharp_stepped', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + initialValues: const RangeValues(20, 80), + showValues: false, + rounded: false, + ), + 'range_slider_sharp_disabled', + ); + + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + label: 'Label', + ), + 'range_selector_rounded_continuous', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + label: 'Label', + divisions: 10, + ), + 'range_selector_rounded_stepped', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + initialValues: const RangeValues(20, 80), + label: 'Label', + divisions: 10, + ), + 'range_selector_rounded_disabled', + ); + + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + label: 'Label', + rounded: false, + ), + 'range_selector_sharp_continuous', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + onChange: (value) {}, + initialValues: const RangeValues(20, 80), + label: 'Label', + rounded: false, + divisions: 10, + ), + 'range_selector_sharp_stepped', + ); + goldenTest( + goldenFile, + ZetaRangeSelector( + initialValues: const RangeValues(20, 80), + label: 'Label', + rounded: false, + divisions: 10, + ), + 'range_selector_sharp_disabled', + ); + }); + + group('Performance Tests', () {}); +} diff --git a/test/test_utils/utils.dart b/test/test_utils/utils.dart index 406d598e..bb35d331 100644 --- a/test/test_utils/utils.dart +++ b/test/test_utils/utils.dart @@ -88,3 +88,39 @@ void debugFillPropertiesTest(Widget widget, Map properties) { }); }); } + +void meetsAccessbilityGuidelinesTest( + Widget widget, { + ThemeMode themeMode = ThemeMode.system, + Size? screenSize, + bool? rounded, + Future Function(WidgetTester)? setUp, + Future Function(WidgetTester)? beforeTest, +}) { + testWidgets('meets accessibility requirements', (WidgetTester tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + if (setUp != null) { + await setUp(tester); + } + + await tester.pumpWidget( + TestApp( + screenSize: screenSize, + themeMode: themeMode, + rounded: rounded, + home: widget, + ), + ); + + if (beforeTest != null) { + await beforeTest(tester); + } + + await expectLater(tester, meetsGuideline(androidTapTargetGuideline)); + await expectLater(tester, meetsGuideline(iOSTapTargetGuideline)); + await expectLater(tester, meetsGuideline(labeledTapTargetGuideline)); + await expectLater(tester, meetsGuideline(textContrastGuideline)); + + handle.dispose(); + }); +} From a1742a3cabb9aad03d2f79ee4bf832a54cec928f Mon Sep 17 00:00:00 2001 From: mikecoomber <58986130+mikecoomber@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:45:04 +0000 Subject: [PATCH 22/29] fix: Fixed issue where avatar lower badge was not showing (#218) --- lib/src/components/avatars/avatar.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/components/avatars/avatar.dart b/lib/src/components/avatars/avatar.dart index 726c381b..0e99d5af 100644 --- a/lib/src/components/avatars/avatar.dart +++ b/lib/src/components/avatars/avatar.dart @@ -312,7 +312,7 @@ class ZetaAvatar extends ZetaStatelessWidget { value: semanticLowerBadgeLabel, child: lowerBadge.runtimeType == ZetaAvatarBadge ? (lowerBadge! as ZetaAvatarBadge).copyWith(size: size) - : upperBadge, + : lowerBadge, ), ), ], From 1bd8bfa0a8a6fda8782860779fa02e1d195f67ea Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Mon, 9 Dec 2024 18:00:31 +0000 Subject: [PATCH 23/29] deps(automated): Update icons (#219) * deps(automated): Update icons 05 Dec 2024, 10:18:32 * chore(automated): Lint commit and format --------- Co-authored-by: zeta-icons-bot Co-authored-by: github-actions --- lib/generated/icons/icons.g.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/generated/icons/icons.g.dart b/lib/generated/icons/icons.g.dart index 0e4d6761..08031b3f 100644 --- a/lib/generated/icons/icons.g.dart +++ b/lib/generated/icons/icons.g.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; /// Current version of Zeta Icons // x-release-please-start-version -const zetaIconsVersion = '0.9.0'; +const zetaIconsVersion = '0.9.1'; // x-release-please-end /// Zeta Icons. Full list of icons can be found at [Zeta Icons](https://design.zebra.com/icons/). From 10cc97c225e6644099b10b8fefa537546d842408 Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Thu, 12 Dec 2024 16:17:34 +0000 Subject: [PATCH 24/29] deps(automated): Update icons (#221) * deps(automated): Update icons 12 Dec 2024, 13:43:20 * chore(automated): Lint commit and format * deps(automated): Update icons 12 Dec 2024, 14:33:24 * chore(automated): Lint commit and format * locked flutter version --------- Co-authored-by: zeta-icons-bot Co-authored-by: github-actions Co-authored-by: mikecoomber --- .github/workflows/on-main.yml | 2 + .github/workflows/on-release.yml | 2 + .github/workflows/pull-request.yml | 2 + example/pubspec.yaml | 2 +- lib/generated/icons/icons.g.dart | 1786 +++++++++-------- lib/generated/icons/zeta-icons-round.ttf | Bin 201212 -> 201908 bytes lib/generated/icons/zeta-icons-sharp.ttf | Bin 152312 -> 152840 bytes .../comms_button/comms_button_test.dart | 2 +- .../tooltip/tooltip_test.mocks.dart | 4 + test/src/utils/extensions_test.mocks.dart | 4 + test/src/utils/rounded_test.mocks.dart | 4 + 11 files changed, 923 insertions(+), 885 deletions(-) diff --git a/.github/workflows/on-main.yml b/.github/workflows/on-main.yml index 6c1ede34..8ca7f3e8 100644 --- a/.github/workflows/on-main.yml +++ b/.github/workflows/on-main.yml @@ -24,6 +24,8 @@ jobs: - uses: subosito/flutter-action@v2 with: cache: true + channel: stable + flutter-version: 3.24.x # TODO UX-1347 - name: Setup flutter run: flutter pub get - name: Build example app diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml index ddfc4c8b..ebb7e966 100644 --- a/.github/workflows/on-release.yml +++ b/.github/workflows/on-release.yml @@ -17,6 +17,8 @@ jobs: uses: subosito/flutter-action@v2 with: cache: true + channel: stable + flutter-version: 3.24.x # TODO UX-1347 - name: Install dependencies run: flutter pub get - name: Format code diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 04b742f7..0d14a8ab 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -19,6 +19,8 @@ jobs: - uses: subosito/flutter-action@v2 with: cache: true + channel: stable + flutter-version: 3.24.x # TODO UX-1347 - run: dart run build_runner build --delete-conflicting-outputs - uses: ZebraDevs/flutter-code-quality@main with: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 7e1ad53a..7a50d00b 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -24,7 +24,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - widgetbook: ^3.1.0 + widgetbook: ^3.10.0 http: any flutter: diff --git a/lib/generated/icons/icons.g.dart b/lib/generated/icons/icons.g.dart index 08031b3f..07973938 100644 --- a/lib/generated/icons/icons.g.dart +++ b/lib/generated/icons/icons.g.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; /// Current version of Zeta Icons // x-release-please-start-version -const zetaIconsVersion = '0.9.1'; +const zetaIconsVersion = '0.9.3'; // x-release-please-end /// Zeta Icons. Full list of icons can be found at [Zeta Icons](https://design.zebra.com/icons/). @@ -763,887 +763,893 @@ abstract class ZetaIcons { ///
Glossary icon
static const IconData glossary = IconData(0xe0f6, fontFamily: family, fontPackage: package); + ///
Google Drive icon
+ static const IconData google_drive = IconData(0xe0f7, fontFamily: family, fontPackage: package); + ///
Grid Off icon
- static const IconData grid_off = IconData(0xe0f7, fontFamily: family, fontPackage: package); + static const IconData grid_off = IconData(0xe0f8, fontFamily: family, fontPackage: package); ///
Grid On icon
- static const IconData grid_on = IconData(0xe0f8, fontFamily: family, fontPackage: package); + static const IconData grid_on = IconData(0xe0f9, fontFamily: family, fontPackage: package); ///
Grid View icon
- static const IconData grid_view = IconData(0xe0f9, fontFamily: family, fontPackage: package); + static const IconData grid_view = IconData(0xe0fa, fontFamily: family, fontPackage: package); ///
Group icon
- static const IconData group = IconData(0xe0fa, fontFamily: family, fontPackage: package); + static const IconData group = IconData(0xe0fb, fontFamily: family, fontPackage: package); ///
Groups icon
- static const IconData groups = IconData(0xe0fb, fontFamily: family, fontPackage: package); + static const IconData groups = IconData(0xe0fc, fontFamily: family, fontPackage: package); ///
Hamburger Menu Navigation Rail icon
- static const IconData hamburger_menu_navigation_rail = IconData(0xe0fc, fontFamily: family, fontPackage: package); + static const IconData hamburger_menu_navigation_rail = IconData(0xe0fd, fontFamily: family, fontPackage: package); ///
Hamburger Menu icon
- static const IconData hamburger_menu = IconData(0xe0fd, fontFamily: family, fontPackage: package); + static const IconData hamburger_menu = IconData(0xe0fe, fontFamily: family, fontPackage: package); ///
Hamburger Menu Thick icon
- static const IconData hamburger_menu_thick = IconData(0xe0fe, fontFamily: family, fontPackage: package); + static const IconData hamburger_menu_thick = IconData(0xe0ff, fontFamily: family, fontPackage: package); ///
Hand icon
- static const IconData hand = IconData(0xe0ff, fontFamily: family, fontPackage: package); + static const IconData hand = IconData(0xe100, fontFamily: family, fontPackage: package); ///
Happy icon
- static const IconData happy = IconData(0xe100, fontFamily: family, fontPackage: package); + static const IconData happy = IconData(0xe101, fontFamily: family, fontPackage: package); ///
Hdmi icon
- static const IconData hdmi = IconData(0xe101, fontFamily: family, fontPackage: package); + static const IconData hdmi = IconData(0xe102, fontFamily: family, fontPackage: package); ///
Hdr icon
- static const IconData hdr = IconData(0xe102, fontFamily: family, fontPackage: package); + static const IconData hdr = IconData(0xe103, fontFamily: family, fontPackage: package); ///
Headphones icon
- static const IconData headphones = IconData(0xe103, fontFamily: family, fontPackage: package); + static const IconData headphones = IconData(0xe104, fontFamily: family, fontPackage: package); ///
Headset icon
- static const IconData headset = IconData(0xe104, fontFamily: family, fontPackage: package); + static const IconData headset = IconData(0xe105, fontFamily: family, fontPackage: package); ///
Help Outline icon
- static const IconData help_outline = IconData(0xe105, fontFamily: family, fontPackage: package); + static const IconData help_outline = IconData(0xe106, fontFamily: family, fontPackage: package); ///
Help icon
- static const IconData help = IconData(0xe106, fontFamily: family, fontPackage: package); + static const IconData help = IconData(0xe107, fontFamily: family, fontPackage: package); ///
History icon
- static const IconData history = IconData(0xe107, fontFamily: family, fontPackage: package); + static const IconData history = IconData(0xe108, fontFamily: family, fontPackage: package); ///
Home icon
- static const IconData home = IconData(0xe108, fontFamily: family, fontPackage: package); + static const IconData home = IconData(0xe109, fontFamily: family, fontPackage: package); ///
Hourglass icon
- static const IconData hourglass = IconData(0xe109, fontFamily: family, fontPackage: package); + static const IconData hourglass = IconData(0xe10a, fontFamily: family, fontPackage: package); ///
How Do I icon
- static const IconData how_do_i = IconData(0xe10a, fontFamily: family, fontPackage: package); + static const IconData how_do_i = IconData(0xe10b, fontFamily: family, fontPackage: package); ///
Image Library icon
- static const IconData image_library = IconData(0xe10b, fontFamily: family, fontPackage: package); + static const IconData image_library = IconData(0xe10c, fontFamily: family, fontPackage: package); ///
Image icon
- static const IconData image = IconData(0xe10c, fontFamily: family, fontPackage: package); + static const IconData image = IconData(0xe10d, fontFamily: family, fontPackage: package); ///
Important Notification icon
- static const IconData important_notification = IconData(0xe10d, fontFamily: family, fontPackage: package); + static const IconData important_notification = IconData(0xe10e, fontFamily: family, fontPackage: package); ///
Inbox icon
- static const IconData inbox = IconData(0xe10e, fontFamily: family, fontPackage: package); + static const IconData inbox = IconData(0xe10f, fontFamily: family, fontPackage: package); ///
Indent Decrease icon
- static const IconData indent_decrease = IconData(0xe10f, fontFamily: family, fontPackage: package); + static const IconData indent_decrease = IconData(0xe110, fontFamily: family, fontPackage: package); ///
Indent Increase icon
- static const IconData indent_increase = IconData(0xe110, fontFamily: family, fontPackage: package); + static const IconData indent_increase = IconData(0xe111, fontFamily: family, fontPackage: package); ///
Indeterminate Check Box icon
- static const IconData indeterminate_check_box = IconData(0xe111, fontFamily: family, fontPackage: package); + static const IconData indeterminate_check_box = IconData(0xe112, fontFamily: family, fontPackage: package); ///
Info icon
- static const IconData info = IconData(0xe112, fontFamily: family, fontPackage: package); + static const IconData info = IconData(0xe113, fontFamily: family, fontPackage: package); ///
Instagram icon
- static const IconData instagram = IconData(0xe113, fontFamily: family, fontPackage: package); + static const IconData instagram = IconData(0xe114, fontFamily: family, fontPackage: package); ///
Ios Share icon
- static const IconData ios_share = IconData(0xe114, fontFamily: family, fontPackage: package); + static const IconData ios_share = IconData(0xe115, fontFamily: family, fontPackage: package); ///
Iso icon
- static const IconData iso = IconData(0xe115, fontFamily: family, fontPackage: package); + static const IconData iso = IconData(0xe116, fontFamily: family, fontPackage: package); ///
Issue Audit icon
- static const IconData issue_audit = IconData(0xe116, fontFamily: family, fontPackage: package); + static const IconData issue_audit = IconData(0xe117, fontFamily: family, fontPackage: package); ///
Italic icon
- static const IconData italic = IconData(0xe117, fontFamily: family, fontPackage: package); + static const IconData italic = IconData(0xe118, fontFamily: family, fontPackage: package); ///
Jpg Attach icon
- static const IconData jpg_attach = IconData(0xe118, fontFamily: family, fontPackage: package); + static const IconData jpg_attach = IconData(0xe119, fontFamily: family, fontPackage: package); ///
Justify icon
- static const IconData justify = IconData(0xe119, fontFamily: family, fontPackage: package); + static const IconData justify = IconData(0xe11a, fontFamily: family, fontPackage: package); ///
Keyboard icon
- static const IconData keyboard = IconData(0xe11a, fontFamily: family, fontPackage: package); + static const IconData keyboard = IconData(0xe11b, fontFamily: family, fontPackage: package); ///
Label icon
- static const IconData label = IconData(0xe11b, fontFamily: family, fontPackage: package); + static const IconData label = IconData(0xe11c, fontFamily: family, fontPackage: package); ///
Laptop icon
- static const IconData laptop = IconData(0xe11c, fontFamily: family, fontPackage: package); + static const IconData laptop = IconData(0xe11d, fontFamily: family, fontPackage: package); ///
Last Page icon
- static const IconData last_page = IconData(0xe11d, fontFamily: family, fontPackage: package); + static const IconData last_page = IconData(0xe11e, fontFamily: family, fontPackage: package); ///
Layers icon
- static const IconData layers = IconData(0xe11e, fontFamily: family, fontPackage: package); + static const IconData layers = IconData(0xe11f, fontFamily: family, fontPackage: package); ///
Light Mode icon
- static const IconData light_mode = IconData(0xe11f, fontFamily: family, fontPackage: package); + static const IconData light_mode = IconData(0xe120, fontFamily: family, fontPackage: package); ///
Light Rail Train icon
- static const IconData light_rail_train = IconData(0xe120, fontFamily: family, fontPackage: package); + static const IconData light_rail_train = IconData(0xe121, fontFamily: family, fontPackage: package); ///
Lightbulb icon
- static const IconData lightbulb = IconData(0xe121, fontFamily: family, fontPackage: package); + static const IconData lightbulb = IconData(0xe122, fontFamily: family, fontPackage: package); ///
Like icon
- static const IconData like = IconData(0xe122, fontFamily: family, fontPackage: package); + static const IconData like = IconData(0xe123, fontFamily: family, fontPackage: package); ///
Line Spacing icon
- static const IconData line_spacing = IconData(0xe123, fontFamily: family, fontPackage: package); + static const IconData line_spacing = IconData(0xe124, fontFamily: family, fontPackage: package); ///
Link Add icon
- static const IconData link_add = IconData(0xe124, fontFamily: family, fontPackage: package); + static const IconData link_add = IconData(0xe125, fontFamily: family, fontPackage: package); ///
Link icon
- static const IconData link = IconData(0xe125, fontFamily: family, fontPackage: package); + static const IconData link = IconData(0xe126, fontFamily: family, fontPackage: package); ///
Linkedin icon
- static const IconData linkedin = IconData(0xe126, fontFamily: family, fontPackage: package); + static const IconData linkedin = IconData(0xe127, fontFamily: family, fontPackage: package); ///
List Alt icon
- static const IconData list_alt = IconData(0xe127, fontFamily: family, fontPackage: package); + static const IconData list_alt = IconData(0xe128, fontFamily: family, fontPackage: package); ///
List Bullet Contained icon
- static const IconData list_bullet_contained = IconData(0xe128, fontFamily: family, fontPackage: package); + static const IconData list_bullet_contained = IconData(0xe129, fontFamily: family, fontPackage: package); ///
List Feedback icon
- static const IconData list_feedback = IconData(0xe129, fontFamily: family, fontPackage: package); + static const IconData list_feedback = IconData(0xe12a, fontFamily: family, fontPackage: package); ///
List Form icon
- static const IconData list_form = IconData(0xe12a, fontFamily: family, fontPackage: package); + static const IconData list_form = IconData(0xe12b, fontFamily: family, fontPackage: package); ///
List icon
- static const IconData list = IconData(0xe12b, fontFamily: family, fontPackage: package); + static const IconData list = IconData(0xe12c, fontFamily: family, fontPackage: package); ///
Local Shipping icon
- static const IconData local_shipping = IconData(0xe12c, fontFamily: family, fontPackage: package); + static const IconData local_shipping = IconData(0xe12d, fontFamily: family, fontPackage: package); ///
Location Off icon
- static const IconData location_off = IconData(0xe12d, fontFamily: family, fontPackage: package); + static const IconData location_off = IconData(0xe12e, fontFamily: family, fontPackage: package); ///
Location Point icon
- static const IconData location_point = IconData(0xe12e, fontFamily: family, fontPackage: package); + static const IconData location_point = IconData(0xe12f, fontFamily: family, fontPackage: package); ///
Location icon
- static const IconData location = IconData(0xe12f, fontFamily: family, fontPackage: package); + static const IconData location = IconData(0xe130, fontFamily: family, fontPackage: package); ///
Lock Alt icon
- static const IconData lock_alt = IconData(0xe130, fontFamily: family, fontPackage: package); + static const IconData lock_alt = IconData(0xe131, fontFamily: family, fontPackage: package); ///
Lock icon
- static const IconData lock = IconData(0xe131, fontFamily: family, fontPackage: package); + static const IconData lock = IconData(0xe132, fontFamily: family, fontPackage: package); ///
Lock Undo icon
- static const IconData lock_undo = IconData(0xe132, fontFamily: family, fontPackage: package); + static const IconData lock_undo = IconData(0xe133, fontFamily: family, fontPackage: package); ///
Log In icon
- static const IconData log_in = IconData(0xe133, fontFamily: family, fontPackage: package); + static const IconData log_in = IconData(0xe134, fontFamily: family, fontPackage: package); ///
Log Out icon
- static const IconData log_out = IconData(0xe134, fontFamily: family, fontPackage: package); + static const IconData log_out = IconData(0xe135, fontFamily: family, fontPackage: package); ///
Love Outline icon
- static const IconData love_outline = IconData(0xe135, fontFamily: family, fontPackage: package); + static const IconData love_outline = IconData(0xe136, fontFamily: family, fontPackage: package); ///
Love icon
- static const IconData love = IconData(0xe136, fontFamily: family, fontPackage: package); + static const IconData love = IconData(0xe137, fontFamily: family, fontPackage: package); ///
Maintenance icon
- static const IconData maintenance = IconData(0xe137, fontFamily: family, fontPackage: package); + static const IconData maintenance = IconData(0xe138, fontFamily: family, fontPackage: package); ///
Map icon
- static const IconData map = IconData(0xe138, fontFamily: family, fontPackage: package); + static const IconData map = IconData(0xe139, fontFamily: family, fontPackage: package); ///
Meal icon
- static const IconData meal = IconData(0xe139, fontFamily: family, fontPackage: package); + static const IconData meal = IconData(0xe13a, fontFamily: family, fontPackage: package); ///
Medium icon
- static const IconData medium = IconData(0xe13a, fontFamily: family, fontPackage: package); + static const IconData medium = IconData(0xe13b, fontFamily: family, fontPackage: package); ///
Memory icon
- static const IconData memory = IconData(0xe13b, fontFamily: family, fontPackage: package); + static const IconData memory = IconData(0xe13c, fontFamily: family, fontPackage: package); ///
Message icon
- static const IconData message = IconData(0xe13c, fontFamily: family, fontPackage: package); + static const IconData message = IconData(0xe13d, fontFamily: family, fontPackage: package); ///
Microphone Off icon
- static const IconData microphone_off = IconData(0xe13d, fontFamily: family, fontPackage: package); + static const IconData microphone_off = IconData(0xe13e, fontFamily: family, fontPackage: package); ///
Microphone Outline icon
- static const IconData microphone_outline = IconData(0xe13e, fontFamily: family, fontPackage: package); + static const IconData microphone_outline = IconData(0xe13f, fontFamily: family, fontPackage: package); ///
Microphone icon
- static const IconData microphone = IconData(0xe13f, fontFamily: family, fontPackage: package); + static const IconData microphone = IconData(0xe140, fontFamily: family, fontPackage: package); ///
Mobile Friendly icon
- static const IconData mobile_friendly = IconData(0xe140, fontFamily: family, fontPackage: package); + static const IconData mobile_friendly = IconData(0xe141, fontFamily: family, fontPackage: package); ///
Money Euro icon
- static const IconData money_euro = IconData(0xe141, fontFamily: family, fontPackage: package); + static const IconData money_euro = IconData(0xe142, fontFamily: family, fontPackage: package); ///
Money Pound icon
- static const IconData money_pound = IconData(0xe142, fontFamily: family, fontPackage: package); + static const IconData money_pound = IconData(0xe143, fontFamily: family, fontPackage: package); ///
Money Usd icon
- static const IconData money_usd = IconData(0xe143, fontFamily: family, fontPackage: package); + static const IconData money_usd = IconData(0xe144, fontFamily: family, fontPackage: package); ///
Monitor icon
- static const IconData monitor = IconData(0xe144, fontFamily: family, fontPackage: package); + static const IconData monitor = IconData(0xe145, fontFamily: family, fontPackage: package); ///
More Horizontal icon
- static const IconData more_horizontal = IconData(0xe145, fontFamily: family, fontPackage: package); + static const IconData more_horizontal = IconData(0xe146, fontFamily: family, fontPackage: package); ///
More Vertical icon
- static const IconData more_vertical = IconData(0xe146, fontFamily: family, fontPackage: package); + static const IconData more_vertical = IconData(0xe147, fontFamily: family, fontPackage: package); ///
My Location icon
- static const IconData my_location = IconData(0xe147, fontFamily: family, fontPackage: package); + static const IconData my_location = IconData(0xe148, fontFamily: family, fontPackage: package); ///
Navigate icon
- static const IconData navigate = IconData(0xe148, fontFamily: family, fontPackage: package); + static const IconData navigate = IconData(0xe149, fontFamily: family, fontPackage: package); ///
Navigation icon
- static const IconData navigation = IconData(0xe149, fontFamily: family, fontPackage: package); + static const IconData navigation = IconData(0xe14a, fontFamily: family, fontPackage: package); ///
Near Me icon
- static const IconData near_me = IconData(0xe14a, fontFamily: family, fontPackage: package); + static const IconData near_me = IconData(0xe14b, fontFamily: family, fontPackage: package); ///
Network Signal icon
- static const IconData network_signal = IconData(0xe14b, fontFamily: family, fontPackage: package); + static const IconData network_signal = IconData(0xe14c, fontFamily: family, fontPackage: package); ///
New Chat icon
- static const IconData new_chat = IconData(0xe14c, fontFamily: family, fontPackage: package); + static const IconData new_chat = IconData(0xe14d, fontFamily: family, fontPackage: package); ///
Nfc icon
- static const IconData nfc = IconData(0xe14d, fontFamily: family, fontPackage: package); + static const IconData nfc = IconData(0xe14e, fontFamily: family, fontPackage: package); ///
Night icon
- static const IconData night = IconData(0xe14e, fontFamily: family, fontPackage: package); + static const IconData night = IconData(0xe14f, fontFamily: family, fontPackage: package); ///
No Color icon
- static const IconData no_color = IconData(0xe14f, fontFamily: family, fontPackage: package); + static const IconData no_color = IconData(0xe150, fontFamily: family, fontPackage: package); ///
Note icon
- static const IconData note = IconData(0xe150, fontFamily: family, fontPackage: package); + static const IconData note = IconData(0xe151, fontFamily: family, fontPackage: package); ///
Notifications Off icon
- static const IconData notifications_off = IconData(0xe151, fontFamily: family, fontPackage: package); + static const IconData notifications_off = IconData(0xe152, fontFamily: family, fontPackage: package); ///
Numbered List icon
- static const IconData numbered_list = IconData(0xe152, fontFamily: family, fontPackage: package); + static const IconData numbered_list = IconData(0xe153, fontFamily: family, fontPackage: package); ///
Open In Full icon
- static const IconData open_in_full = IconData(0xe153, fontFamily: family, fontPackage: package); + static const IconData open_in_full = IconData(0xe154, fontFamily: family, fontPackage: package); ///
Open In New Window icon
- static const IconData open_in_new_window = IconData(0xe154, fontFamily: family, fontPackage: package); + static const IconData open_in_new_window = IconData(0xe155, fontFamily: family, fontPackage: package); ///
Open New Off icon
- static const IconData open_new_off = IconData(0xe155, fontFamily: family, fontPackage: package); + static const IconData open_new_off = IconData(0xe156, fontFamily: family, fontPackage: package); ///
Page Height icon
- static const IconData page_height = IconData(0xe156, fontFamily: family, fontPackage: package); + static const IconData page_height = IconData(0xe157, fontFamily: family, fontPackage: package); ///
Page Rotate icon
- static const IconData page_rotate = IconData(0xe157, fontFamily: family, fontPackage: package); + static const IconData page_rotate = IconData(0xe158, fontFamily: family, fontPackage: package); ///
Page Width icon
- static const IconData page_width = IconData(0xe158, fontFamily: family, fontPackage: package); + static const IconData page_width = IconData(0xe159, fontFamily: family, fontPackage: package); ///
Palette icon
- static const IconData palette = IconData(0xe159, fontFamily: family, fontPackage: package); + static const IconData palette = IconData(0xe15a, fontFamily: family, fontPackage: package); ///
Partner icon
- static const IconData partner = IconData(0xe15a, fontFamily: family, fontPackage: package); + static const IconData partner = IconData(0xe15b, fontFamily: family, fontPackage: package); ///
Pause Circle icon
- static const IconData pause_circle = IconData(0xe15b, fontFamily: family, fontPackage: package); + static const IconData pause_circle = IconData(0xe15c, fontFamily: family, fontPackage: package); ///
Pause icon
- static const IconData pause = IconData(0xe15c, fontFamily: family, fontPackage: package); + static const IconData pause = IconData(0xe15d, fontFamily: family, fontPackage: package); ///
Pdf Attach icon
- static const IconData pdf_attach = IconData(0xe15d, fontFamily: family, fontPackage: package); + static const IconData pdf_attach = IconData(0xe15e, fontFamily: family, fontPackage: package); ///
Pending icon
- static const IconData pending = IconData(0xe15e, fontFamily: family, fontPackage: package); + static const IconData pending = IconData(0xe15f, fontFamily: family, fontPackage: package); ///
Person Admin icon
- static const IconData person_admin = IconData(0xe15f, fontFamily: family, fontPackage: package); + static const IconData person_admin = IconData(0xe160, fontFamily: family, fontPackage: package); ///
Person Assign icon
- static const IconData person_assign = IconData(0xe160, fontFamily: family, fontPackage: package); + static const IconData person_assign = IconData(0xe161, fontFamily: family, fontPackage: package); ///
Person Clock icon
- static const IconData person_clock = IconData(0xe161, fontFamily: family, fontPackage: package); + static const IconData person_clock = IconData(0xe162, fontFamily: family, fontPackage: package); ///
Person Info icon
- static const IconData person_info = IconData(0xe162, fontFamily: family, fontPackage: package); + static const IconData person_info = IconData(0xe163, fontFamily: family, fontPackage: package); ///
Person Manager icon
- static const IconData person_manager = IconData(0xe163, fontFamily: family, fontPackage: package); + static const IconData person_manager = IconData(0xe164, fontFamily: family, fontPackage: package); ///
Person Move icon
- static const IconData person_move = IconData(0xe164, fontFamily: family, fontPackage: package); + static const IconData person_move = IconData(0xe165, fontFamily: family, fontPackage: package); ///
Person Outline icon
- static const IconData person_outline = IconData(0xe165, fontFamily: family, fontPackage: package); + static const IconData person_outline = IconData(0xe166, fontFamily: family, fontPackage: package); ///
Person icon
- static const IconData person = IconData(0xe166, fontFamily: family, fontPackage: package); + static const IconData person = IconData(0xe167, fontFamily: family, fontPackage: package); ///
Person Search icon
- static const IconData person_search = IconData(0xe167, fontFamily: family, fontPackage: package); + static const IconData person_search = IconData(0xe168, fontFamily: family, fontPackage: package); ///
Person Swap icon
- static const IconData person_swap = IconData(0xe168, fontFamily: family, fontPackage: package); + static const IconData person_swap = IconData(0xe169, fontFamily: family, fontPackage: package); ///
Person Walk icon
- static const IconData person_walk = IconData(0xe169, fontFamily: family, fontPackage: package); + static const IconData person_walk = IconData(0xe16a, fontFamily: family, fontPackage: package); ///
Phone Android icon
- static const IconData phone_android = IconData(0xe16a, fontFamily: family, fontPackage: package); + static const IconData phone_android = IconData(0xe16b, fontFamily: family, fontPackage: package); ///
Phone Bluetooth Speaker icon
- static const IconData phone_bluetooth_speaker = IconData(0xe16b, fontFamily: family, fontPackage: package); + static const IconData phone_bluetooth_speaker = IconData(0xe16c, fontFamily: family, fontPackage: package); ///
Phone In Talk icon
- static const IconData phone_in_talk = IconData(0xe16c, fontFamily: family, fontPackage: package); + static const IconData phone_in_talk = IconData(0xe16d, fontFamily: family, fontPackage: package); ///
Phone Iphone icon
- static const IconData phone_iphone = IconData(0xe16d, fontFamily: family, fontPackage: package); + static const IconData phone_iphone = IconData(0xe16e, fontFamily: family, fontPackage: package); ///
Phone icon
- static const IconData phone = IconData(0xe16e, fontFamily: family, fontPackage: package); + static const IconData phone = IconData(0xe16f, fontFamily: family, fontPackage: package); ///
Phonelink icon
- static const IconData phonelink = IconData(0xe16f, fontFamily: family, fontPackage: package); + static const IconData phonelink = IconData(0xe170, fontFamily: family, fontPackage: package); ///
Phrase icon
- static const IconData phrase = IconData(0xe170, fontFamily: family, fontPackage: package); + static const IconData phrase = IconData(0xe171, fontFamily: family, fontPackage: package); ///
Pin icon
- static const IconData pin = IconData(0xe171, fontFamily: family, fontPackage: package); + static const IconData pin = IconData(0xe172, fontFamily: family, fontPackage: package); ///
Place icon
- static const IconData place = IconData(0xe172, fontFamily: family, fontPackage: package); + static const IconData place = IconData(0xe173, fontFamily: family, fontPackage: package); ///
Planogram icon
- static const IconData planogram = IconData(0xe173, fontFamily: family, fontPackage: package); + static const IconData planogram = IconData(0xe174, fontFamily: family, fontPackage: package); ///
Play Circle icon
- static const IconData play_circle = IconData(0xe174, fontFamily: family, fontPackage: package); + static const IconData play_circle = IconData(0xe175, fontFamily: family, fontPackage: package); ///
Play Outline icon
- static const IconData play_outline = IconData(0xe175, fontFamily: family, fontPackage: package); + static const IconData play_outline = IconData(0xe176, fontFamily: family, fontPackage: package); ///
Play icon
- static const IconData play = IconData(0xe176, fontFamily: family, fontPackage: package); + static const IconData play = IconData(0xe177, fontFamily: family, fontPackage: package); ///
Png Attach icon
- static const IconData png_attach = IconData(0xe177, fontFamily: family, fontPackage: package); + static const IconData png_attach = IconData(0xe178, fontFamily: family, fontPackage: package); ///
Point Gift icon
- static const IconData point_gift = IconData(0xe178, fontFamily: family, fontPackage: package); + static const IconData point_gift = IconData(0xe179, fontFamily: family, fontPackage: package); ///
Point Heart icon
- static const IconData point_heart = IconData(0xe179, fontFamily: family, fontPackage: package); + static const IconData point_heart = IconData(0xe17a, fontFamily: family, fontPackage: package); ///
Point Money icon
- static const IconData point_money = IconData(0xe17a, fontFamily: family, fontPackage: package); + static const IconData point_money = IconData(0xe17b, fontFamily: family, fontPackage: package); ///
Point Star icon
- static const IconData point_star = IconData(0xe17b, fontFamily: family, fontPackage: package); + static const IconData point_star = IconData(0xe17c, fontFamily: family, fontPackage: package); ///
Point Token icon
- static const IconData point_token = IconData(0xe17c, fontFamily: family, fontPackage: package); + static const IconData point_token = IconData(0xe17d, fontFamily: family, fontPackage: package); ///
Portrait icon
- static const IconData portrait = IconData(0xe17d, fontFamily: family, fontPackage: package); + static const IconData portrait = IconData(0xe17e, fontFamily: family, fontPackage: package); ///
Ppt Attach icon
- static const IconData ppt_attach = IconData(0xe17e, fontFamily: family, fontPackage: package); + static const IconData ppt_attach = IconData(0xe17f, fontFamily: family, fontPackage: package); ///
Price icon
- static const IconData price = IconData(0xe17f, fontFamily: family, fontPackage: package); + static const IconData price = IconData(0xe180, fontFamily: family, fontPackage: package); ///
Printer icon
- static const IconData printer = IconData(0xe180, fontFamily: family, fontPackage: package); + static const IconData printer = IconData(0xe181, fontFamily: family, fontPackage: package); ///
Priority icon
- static const IconData priority = IconData(0xe181, fontFamily: family, fontPackage: package); + static const IconData priority = IconData(0xe182, fontFamily: family, fontPackage: package); ///
Pro icon
- static const IconData pro = IconData(0xe182, fontFamily: family, fontPackage: package); + static const IconData pro = IconData(0xe183, fontFamily: family, fontPackage: package); ///
Productivity Apps icon
- static const IconData productivity_apps = IconData(0xe183, fontFamily: family, fontPackage: package); + static const IconData productivity_apps = IconData(0xe184, fontFamily: family, fontPackage: package); ///
Ptt icon
- static const IconData ptt = IconData(0xe184, fontFamily: family, fontPackage: package); + static const IconData ptt = IconData(0xe185, fontFamily: family, fontPackage: package); ///
Publish icon
- static const IconData publish = IconData(0xe185, fontFamily: family, fontPackage: package); + static const IconData publish = IconData(0xe186, fontFamily: family, fontPackage: package); + + ///
Push Pin Off icon
+ static const IconData push_pin_off = IconData(0xe187, fontFamily: family, fontPackage: package); ///
Push Pin icon
- static const IconData push_pin = IconData(0xe186, fontFamily: family, fontPackage: package); + static const IconData push_pin = IconData(0xe188, fontFamily: family, fontPackage: package); ///
Qr Code icon
- static const IconData qr_code = IconData(0xe187, fontFamily: family, fontPackage: package); + static const IconData qr_code = IconData(0xe189, fontFamily: family, fontPackage: package); ///
Queue icon
- static const IconData queue = IconData(0xe188, fontFamily: family, fontPackage: package); + static const IconData queue = IconData(0xe18a, fontFamily: family, fontPackage: package); ///
Radio Button Checked icon
- static const IconData radio_button_checked = IconData(0xe189, fontFamily: family, fontPackage: package); + static const IconData radio_button_checked = IconData(0xe18b, fontFamily: family, fontPackage: package); ///
Radio Button Unchecked icon
- static const IconData radio_button_unchecked = IconData(0xe18a, fontFamily: family, fontPackage: package); + static const IconData radio_button_unchecked = IconData(0xe18c, fontFamily: family, fontPackage: package); ///
React Add icon
- static const IconData react_add = IconData(0xe18b, fontFamily: family, fontPackage: package); + static const IconData react_add = IconData(0xe18d, fontFamily: family, fontPackage: package); ///
React Thumbsup icon
- static const IconData react_thumbsup = IconData(0xe18c, fontFamily: family, fontPackage: package); + static const IconData react_thumbsup = IconData(0xe18e, fontFamily: family, fontPackage: package); ///
Recall icon
- static const IconData recall = IconData(0xe18d, fontFamily: family, fontPackage: package); + static const IconData recall = IconData(0xe18f, fontFamily: family, fontPackage: package); ///
Receipt icon
- static const IconData receipt = IconData(0xe18e, fontFamily: family, fontPackage: package); + static const IconData receipt = IconData(0xe190, fontFamily: family, fontPackage: package); ///
Recording icon
- static const IconData recording = IconData(0xe18f, fontFamily: family, fontPackage: package); + static const IconData recording = IconData(0xe191, fontFamily: family, fontPackage: package); ///
Redo icon
- static const IconData redo = IconData(0xe190, fontFamily: family, fontPackage: package); + static const IconData redo = IconData(0xe192, fontFamily: family, fontPackage: package); ///
Refresh icon
- static const IconData refresh = IconData(0xe191, fontFamily: family, fontPackage: package); + static const IconData refresh = IconData(0xe193, fontFamily: family, fontPackage: package); ///
Remove Box icon
- static const IconData remove_box = IconData(0xe192, fontFamily: family, fontPackage: package); + static const IconData remove_box = IconData(0xe194, fontFamily: family, fontPackage: package); ///
Remove Circle Outline icon
- static const IconData remove_circle_outline = IconData(0xe193, fontFamily: family, fontPackage: package); + static const IconData remove_circle_outline = IconData(0xe195, fontFamily: family, fontPackage: package); ///
Remove Circle icon
- static const IconData remove_circle = IconData(0xe194, fontFamily: family, fontPackage: package); + static const IconData remove_circle = IconData(0xe196, fontFamily: family, fontPackage: package); ///
Remove Group icon
- static const IconData remove_group = IconData(0xe195, fontFamily: family, fontPackage: package); + static const IconData remove_group = IconData(0xe197, fontFamily: family, fontPackage: package); ///
Remove Person icon
- static const IconData remove_person = IconData(0xe196, fontFamily: family, fontPackage: package); + static const IconData remove_person = IconData(0xe198, fontFamily: family, fontPackage: package); ///
Remove icon
- static const IconData remove = IconData(0xe197, fontFamily: family, fontPackage: package); + static const IconData remove = IconData(0xe199, fontFamily: family, fontPackage: package); ///
Renew icon
- static const IconData renew = IconData(0xe198, fontFamily: family, fontPackage: package); + static const IconData renew = IconData(0xe19a, fontFamily: family, fontPackage: package); ///
Reorder icon
- static const IconData reorder = IconData(0xe199, fontFamily: family, fontPackage: package); + static const IconData reorder = IconData(0xe19b, fontFamily: family, fontPackage: package); ///
Repeat icon
- static const IconData repeat = IconData(0xe19a, fontFamily: family, fontPackage: package); + static const IconData repeat = IconData(0xe19c, fontFamily: family, fontPackage: package); ///
Replay icon
- static const IconData replay = IconData(0xe19b, fontFamily: family, fontPackage: package); + static const IconData replay = IconData(0xe19d, fontFamily: family, fontPackage: package); ///
Reply icon
- static const IconData reply = IconData(0xe19c, fontFamily: family, fontPackage: package); + static const IconData reply = IconData(0xe19e, fontFamily: family, fontPackage: package); ///
Report icon
- static const IconData report = IconData(0xe19d, fontFamily: family, fontPackage: package); + static const IconData report = IconData(0xe19f, fontFamily: family, fontPackage: package); ///
Restart Alt icon
- static const IconData restart_alt = IconData(0xe19e, fontFamily: family, fontPackage: package); + static const IconData restart_alt = IconData(0xe1a0, fontFamily: family, fontPackage: package); ///
Review icon
- static const IconData review = IconData(0xe19f, fontFamily: family, fontPackage: package); + static const IconData review = IconData(0xe1a1, fontFamily: family, fontPackage: package); ///
Road Map icon
- static const IconData road_map = IconData(0xe1a0, fontFamily: family, fontPackage: package); + static const IconData road_map = IconData(0xe1a2, fontFamily: family, fontPackage: package); ///
Rotate Left icon
- static const IconData rotate_left = IconData(0xe1a1, fontFamily: family, fontPackage: package); + static const IconData rotate_left = IconData(0xe1a3, fontFamily: family, fontPackage: package); ///
Rotate Right icon
- static const IconData rotate_right = IconData(0xe1a2, fontFamily: family, fontPackage: package); + static const IconData rotate_right = IconData(0xe1a4, fontFamily: family, fontPackage: package); ///
Rss Feed icon
- static const IconData rss_feed = IconData(0xe1a3, fontFamily: family, fontPackage: package); + static const IconData rss_feed = IconData(0xe1a5, fontFamily: family, fontPackage: package); ///
Rules icon
- static const IconData rules = IconData(0xe1a4, fontFamily: family, fontPackage: package); + static const IconData rules = IconData(0xe1a6, fontFamily: family, fontPackage: package); ///
Sad icon
- static const IconData sad = IconData(0xe1a5, fontFamily: family, fontPackage: package); + static const IconData sad = IconData(0xe1a7, fontFamily: family, fontPackage: package); ///
Satisfied icon
- static const IconData satisfied = IconData(0xe1a6, fontFamily: family, fontPackage: package); + static const IconData satisfied = IconData(0xe1a8, fontFamily: family, fontPackage: package); ///
Save Alt icon
- static const IconData save_alt = IconData(0xe1a7, fontFamily: family, fontPackage: package); + static const IconData save_alt = IconData(0xe1a9, fontFamily: family, fontPackage: package); ///
Save Content icon
- static const IconData save_content = IconData(0xe1a8, fontFamily: family, fontPackage: package); + static const IconData save_content = IconData(0xe1aa, fontFamily: family, fontPackage: package); ///
Save icon
- static const IconData save = IconData(0xe1a9, fontFamily: family, fontPackage: package); + static const IconData save = IconData(0xe1ab, fontFamily: family, fontPackage: package); ///
Scan Rate icon
- static const IconData scan_rate = IconData(0xe1aa, fontFamily: family, fontPackage: package); + static const IconData scan_rate = IconData(0xe1ac, fontFamily: family, fontPackage: package); ///
Scanner icon
- static const IconData scanner = IconData(0xe1ab, fontFamily: family, fontPackage: package); + static const IconData scanner = IconData(0xe1ad, fontFamily: family, fontPackage: package); ///
Schedule icon
- static const IconData schedule = IconData(0xe1ac, fontFamily: family, fontPackage: package); + static const IconData schedule = IconData(0xe1ae, fontFamily: family, fontPackage: package); ///
School icon
- static const IconData school = IconData(0xe1ad, fontFamily: family, fontPackage: package); + static const IconData school = IconData(0xe1af, fontFamily: family, fontPackage: package); ///
Screen Rotation icon
- static const IconData screen_rotation = IconData(0xe1ae, fontFamily: family, fontPackage: package); + static const IconData screen_rotation = IconData(0xe1b0, fontFamily: family, fontPackage: package); ///
Sd Card icon
- static const IconData sd_card = IconData(0xe1af, fontFamily: family, fontPackage: package); + static const IconData sd_card = IconData(0xe1b1, fontFamily: family, fontPackage: package); ///
Search icon
- static const IconData search = IconData(0xe1b0, fontFamily: family, fontPackage: package); + static const IconData search = IconData(0xe1b2, fontFamily: family, fontPackage: package); ///
Security Check icon
- static const IconData security_check = IconData(0xe1b1, fontFamily: family, fontPackage: package); + static const IconData security_check = IconData(0xe1b3, fontFamily: family, fontPackage: package); ///
Security icon
- static const IconData security = IconData(0xe1b2, fontFamily: family, fontPackage: package); + static const IconData security = IconData(0xe1b4, fontFamily: family, fontPackage: package); ///
Send icon
- static const IconData send = IconData(0xe1b3, fontFamily: family, fontPackage: package); + static const IconData send = IconData(0xe1b5, fontFamily: family, fontPackage: package); ///
Settings icon
- static const IconData settings = IconData(0xe1b4, fontFamily: family, fontPackage: package); + static const IconData settings = IconData(0xe1b6, fontFamily: family, fontPackage: package); ///
Shape Recognition icon
- static const IconData shape_recognition = IconData(0xe1b5, fontFamily: family, fontPackage: package); + static const IconData shape_recognition = IconData(0xe1b7, fontFamily: family, fontPackage: package); ///
Share icon
- static const IconData share = IconData(0xe1b6, fontFamily: family, fontPackage: package); + static const IconData share = IconData(0xe1b8, fontFamily: family, fontPackage: package); ///
Shared Folder icon
- static const IconData shared_folder = IconData(0xe1b7, fontFamily: family, fontPackage: package); + static const IconData shared_folder = IconData(0xe1b9, fontFamily: family, fontPackage: package); ///
Ship icon
- static const IconData ship = IconData(0xe1b8, fontFamily: family, fontPackage: package); + static const IconData ship = IconData(0xe1ba, fontFamily: family, fontPackage: package); ///
Sim Card icon
- static const IconData sim_card = IconData(0xe1b9, fontFamily: family, fontPackage: package); + static const IconData sim_card = IconData(0xe1bb, fontFamily: family, fontPackage: package); ///
Skip Next icon
- static const IconData skip_next = IconData(0xe1ba, fontFamily: family, fontPackage: package); + static const IconData skip_next = IconData(0xe1bc, fontFamily: family, fontPackage: package); ///
Skip Previous icon
- static const IconData skip_previous = IconData(0xe1bb, fontFamily: family, fontPackage: package); + static const IconData skip_previous = IconData(0xe1bd, fontFamily: family, fontPackage: package); ///
Slide Show icon
- static const IconData slide_show = IconData(0xe1bc, fontFamily: family, fontPackage: package); + static const IconData slide_show = IconData(0xe1be, fontFamily: family, fontPackage: package); ///
Smart Phone icon
- static const IconData smart_phone = IconData(0xe1bd, fontFamily: family, fontPackage: package); + static const IconData smart_phone = IconData(0xe1bf, fontFamily: family, fontPackage: package); ///
Sms icon
- static const IconData sms = IconData(0xe1be, fontFamily: family, fontPackage: package); + static const IconData sms = IconData(0xe1c0, fontFamily: family, fontPackage: package); ///
Snooze icon
- static const IconData snooze = IconData(0xe1bf, fontFamily: family, fontPackage: package); + static const IconData snooze = IconData(0xe1c1, fontFamily: family, fontPackage: package); ///
Solutions icon
- static const IconData solutions = IconData(0xe1c0, fontFamily: family, fontPackage: package); + static const IconData solutions = IconData(0xe1c2, fontFamily: family, fontPackage: package); ///
Sort Content icon
- static const IconData sort_content = IconData(0xe1c1, fontFamily: family, fontPackage: package); + static const IconData sort_content = IconData(0xe1c3, fontFamily: family, fontPackage: package); ///
Sort icon
- static const IconData sort = IconData(0xe1c2, fontFamily: family, fontPackage: package); + static const IconData sort = IconData(0xe1c4, fontFamily: family, fontPackage: package); ///
Speaker icon
- static const IconData speaker = IconData(0xe1c3, fontFamily: family, fontPackage: package); + static const IconData speaker = IconData(0xe1c5, fontFamily: family, fontPackage: package); ///
Star Half icon
- static const IconData star_half = IconData(0xe1c4, fontFamily: family, fontPackage: package); + static const IconData star_half = IconData(0xe1c6, fontFamily: family, fontPackage: package); ///
Star Outline icon
- static const IconData star_outline = IconData(0xe1c5, fontFamily: family, fontPackage: package); + static const IconData star_outline = IconData(0xe1c7, fontFamily: family, fontPackage: package); ///
Star icon
- static const IconData star = IconData(0xe1c6, fontFamily: family, fontPackage: package); + static const IconData star = IconData(0xe1c8, fontFamily: family, fontPackage: package); ///
Steps icon
- static const IconData steps = IconData(0xe1c7, fontFamily: family, fontPackage: package); + static const IconData steps = IconData(0xe1c9, fontFamily: family, fontPackage: package); ///
Sticker icon
- static const IconData sticker = IconData(0xe1c8, fontFamily: family, fontPackage: package); + static const IconData sticker = IconData(0xe1ca, fontFamily: family, fontPackage: package); ///
Stop Circle icon
- static const IconData stop_circle = IconData(0xe1c9, fontFamily: family, fontPackage: package); + static const IconData stop_circle = IconData(0xe1cb, fontFamily: family, fontPackage: package); ///
Stop icon
- static const IconData stop = IconData(0xe1ca, fontFamily: family, fontPackage: package); + static const IconData stop = IconData(0xe1cc, fontFamily: family, fontPackage: package); ///
Store Release icon
- static const IconData store_release = IconData(0xe1cb, fontFamily: family, fontPackage: package); + static const IconData store_release = IconData(0xe1cd, fontFamily: family, fontPackage: package); ///
Store icon
- static const IconData store = IconData(0xe1cc, fontFamily: family, fontPackage: package); + static const IconData store = IconData(0xe1ce, fontFamily: family, fontPackage: package); ///
Store Swap icon
- static const IconData store_swap = IconData(0xe1cd, fontFamily: family, fontPackage: package); + static const IconData store_swap = IconData(0xe1cf, fontFamily: family, fontPackage: package); ///
Store Transfer icon
- static const IconData store_transfer = IconData(0xe1ce, fontFamily: family, fontPackage: package); + static const IconData store_transfer = IconData(0xe1d0, fontFamily: family, fontPackage: package); ///
Straighten icon
- static const IconData straighten = IconData(0xe1cf, fontFamily: family, fontPackage: package); + static const IconData straighten = IconData(0xe1d1, fontFamily: family, fontPackage: package); ///
Strategy icon
- static const IconData strategy = IconData(0xe1d0, fontFamily: family, fontPackage: package); + static const IconData strategy = IconData(0xe1d2, fontFamily: family, fontPackage: package); ///
Strikethrough icon
- static const IconData strikethrough = IconData(0xe1d1, fontFamily: family, fontPackage: package); + static const IconData strikethrough = IconData(0xe1d3, fontFamily: family, fontPackage: package); ///
Subscribe icon
- static const IconData subscribe = IconData(0xe1d2, fontFamily: family, fontPackage: package); + static const IconData subscribe = IconData(0xe1d4, fontFamily: family, fontPackage: package); ///
Swap icon
- static const IconData swap = IconData(0xe1d3, fontFamily: family, fontPackage: package); + static const IconData swap = IconData(0xe1d5, fontFamily: family, fontPackage: package); ///
Switch User icon
- static const IconData switch_user = IconData(0xe1d4, fontFamily: family, fontPackage: package); + static const IconData switch_user = IconData(0xe1d6, fontFamily: family, fontPackage: package); ///
Sync Action icon
- static const IconData sync_action = IconData(0xe1d5, fontFamily: family, fontPackage: package); + static const IconData sync_action = IconData(0xe1d7, fontFamily: family, fontPackage: package); ///
Sync Disabled icon
- static const IconData sync_disabled = IconData(0xe1d6, fontFamily: family, fontPackage: package); + static const IconData sync_disabled = IconData(0xe1d8, fontFamily: family, fontPackage: package); ///
Sync icon
- static const IconData sync = IconData(0xe1d7, fontFamily: family, fontPackage: package); + static const IconData sync = IconData(0xe1d9, fontFamily: family, fontPackage: package); ///
Table icon
- static const IconData table = IconData(0xe1d8, fontFamily: family, fontPackage: package); + static const IconData table = IconData(0xe1da, fontFamily: family, fontPackage: package); ///
Tablet Mac icon
- static const IconData tablet_mac = IconData(0xe1d9, fontFamily: family, fontPackage: package); + static const IconData tablet_mac = IconData(0xe1db, fontFamily: family, fontPackage: package); ///
Tablet icon
- static const IconData tablet = IconData(0xe1da, fontFamily: family, fontPackage: package); + static const IconData tablet = IconData(0xe1dc, fontFamily: family, fontPackage: package); ///
Tag Enterprise icon
- static const IconData tag_enterprise = IconData(0xe1db, fontFamily: family, fontPackage: package); + static const IconData tag_enterprise = IconData(0xe1dd, fontFamily: family, fontPackage: package); ///
Tag icon
- static const IconData tag = IconData(0xe1dc, fontFamily: family, fontPackage: package); + static const IconData tag = IconData(0xe1de, fontFamily: family, fontPackage: package); ///
Tap To Pay icon
- static const IconData tap_to_pay = IconData(0xe1dd, fontFamily: family, fontPackage: package); + static const IconData tap_to_pay = IconData(0xe1df, fontFamily: family, fontPackage: package); ///
Taxi icon
- static const IconData taxi = IconData(0xe1de, fontFamily: family, fontPackage: package); + static const IconData taxi = IconData(0xe1e0, fontFamily: family, fontPackage: package); ///
Text Color icon
- static const IconData text_color = IconData(0xe1df, fontFamily: family, fontPackage: package); + static const IconData text_color = IconData(0xe1e1, fontFamily: family, fontPackage: package); ///
Tiers icon
- static const IconData tiers = IconData(0xe1e0, fontFamily: family, fontPackage: package); + static const IconData tiers = IconData(0xe1e2, fontFamily: family, fontPackage: package); ///
Timecard Approve icon
- static const IconData timecard_approve = IconData(0xe1e1, fontFamily: family, fontPackage: package); + static const IconData timecard_approve = IconData(0xe1e3, fontFamily: family, fontPackage: package); ///
Timecard icon
- static const IconData timecard = IconData(0xe1e2, fontFamily: family, fontPackage: package); + static const IconData timecard = IconData(0xe1e4, fontFamily: family, fontPackage: package); ///
Timecard Warning icon
- static const IconData timecard_warning = IconData(0xe1e3, fontFamily: family, fontPackage: package); + static const IconData timecard_warning = IconData(0xe1e5, fontFamily: family, fontPackage: package); ///
Timer icon
- static const IconData timer = IconData(0xe1e4, fontFamily: family, fontPackage: package); + static const IconData timer = IconData(0xe1e6, fontFamily: family, fontPackage: package); ///
Toggle Off icon
- static const IconData toggle_off = IconData(0xe1e5, fontFamily: family, fontPackage: package); + static const IconData toggle_off = IconData(0xe1e7, fontFamily: family, fontPackage: package); ///
Toggle On icon
- static const IconData toggle_on = IconData(0xe1e6, fontFamily: family, fontPackage: package); + static const IconData toggle_on = IconData(0xe1e8, fontFamily: family, fontPackage: package); ///
Touch icon
- static const IconData touch = IconData(0xe1e7, fontFamily: family, fontPackage: package); + static const IconData touch = IconData(0xe1e9, fontFamily: family, fontPackage: package); ///
Train icon
- static const IconData train = IconData(0xe1e8, fontFamily: family, fontPackage: package); + static const IconData train = IconData(0xe1ea, fontFamily: family, fontPackage: package); ///
Transfer icon
- static const IconData transfer = IconData(0xe1e9, fontFamily: family, fontPackage: package); + static const IconData transfer = IconData(0xe1eb, fontFamily: family, fontPackage: package); ///
Trending Down icon
- static const IconData trending_down = IconData(0xe1ea, fontFamily: family, fontPackage: package); + static const IconData trending_down = IconData(0xe1ec, fontFamily: family, fontPackage: package); ///
Trending Up icon
- static const IconData trending_up = IconData(0xe1eb, fontFamily: family, fontPackage: package); + static const IconData trending_up = IconData(0xe1ed, fontFamily: family, fontPackage: package); ///
Tv icon
- static const IconData tv = IconData(0xe1ec, fontFamily: family, fontPackage: package); + static const IconData tv = IconData(0xe1ee, fontFamily: family, fontPackage: package); ///
Twitter icon
- static const IconData twitter = IconData(0xe1ed, fontFamily: family, fontPackage: package); + static const IconData twitter = IconData(0xe1ef, fontFamily: family, fontPackage: package); ///
Type icon
- static const IconData type = IconData(0xe1ee, fontFamily: family, fontPackage: package); + static const IconData type = IconData(0xe1f0, fontFamily: family, fontPackage: package); ///
Uhf Rfid icon
- static const IconData uhf_rfid = IconData(0xe1ef, fontFamily: family, fontPackage: package); + static const IconData uhf_rfid = IconData(0xe1f1, fontFamily: family, fontPackage: package); ///
Underline icon
- static const IconData underline = IconData(0xe1f0, fontFamily: family, fontPackage: package); + static const IconData underline = IconData(0xe1f2, fontFamily: family, fontPackage: package); ///
Undo icon
- static const IconData undo = IconData(0xe1f1, fontFamily: family, fontPackage: package); + static const IconData undo = IconData(0xe1f3, fontFamily: family, fontPackage: package); ///
Unfold Less icon
- static const IconData unfold_less = IconData(0xe1f2, fontFamily: family, fontPackage: package); + static const IconData unfold_less = IconData(0xe1f4, fontFamily: family, fontPackage: package); ///
Unfold More icon
- static const IconData unfold_more = IconData(0xe1f3, fontFamily: family, fontPackage: package); + static const IconData unfold_more = IconData(0xe1f5, fontFamily: family, fontPackage: package); ///
Unlock Alt icon
- static const IconData unlock_alt = IconData(0xe1f4, fontFamily: family, fontPackage: package); + static const IconData unlock_alt = IconData(0xe1f6, fontFamily: family, fontPackage: package); ///
Unlock icon
- static const IconData unlock = IconData(0xe1f5, fontFamily: family, fontPackage: package); + static const IconData unlock = IconData(0xe1f7, fontFamily: family, fontPackage: package); ///
Unsubscribe icon
- static const IconData unsubscribe = IconData(0xe1f6, fontFamily: family, fontPackage: package); + static const IconData unsubscribe = IconData(0xe1f8, fontFamily: family, fontPackage: package); ///
Update icon
- static const IconData update = IconData(0xe1f7, fontFamily: family, fontPackage: package); + static const IconData update = IconData(0xe1f9, fontFamily: family, fontPackage: package); ///
Upload File icon
- static const IconData upload_file = IconData(0xe1f8, fontFamily: family, fontPackage: package); + static const IconData upload_file = IconData(0xe1fa, fontFamily: family, fontPackage: package); ///
Upload icon
- static const IconData upload = IconData(0xe1f9, fontFamily: family, fontPackage: package); + static const IconData upload = IconData(0xe1fb, fontFamily: family, fontPackage: package); ///
Usb Alt Device icon
- static const IconData usb_alt_device = IconData(0xe1fa, fontFamily: family, fontPackage: package); + static const IconData usb_alt_device = IconData(0xe1fc, fontFamily: family, fontPackage: package); ///
Usb Alt icon
- static const IconData usb_alt = IconData(0xe1fb, fontFamily: family, fontPackage: package); + static const IconData usb_alt = IconData(0xe1fd, fontFamily: family, fontPackage: package); ///
Usb icon
- static const IconData usb = IconData(0xe1fc, fontFamily: family, fontPackage: package); + static const IconData usb = IconData(0xe1fe, fontFamily: family, fontPackage: package); ///
User Circle icon
- static const IconData user_circle = IconData(0xe1fd, fontFamily: family, fontPackage: package); + static const IconData user_circle = IconData(0xe1ff, fontFamily: family, fontPackage: package); ///
User Minor icon
- static const IconData user_minor = IconData(0xe1fe, fontFamily: family, fontPackage: package); + static const IconData user_minor = IconData(0xe200, fontFamily: family, fontPackage: package); ///
User icon
- static const IconData user = IconData(0xe1ff, fontFamily: family, fontPackage: package); + static const IconData user = IconData(0xe201, fontFamily: family, fontPackage: package); ///
User Settings icon
- static const IconData user_settings = IconData(0xe200, fontFamily: family, fontPackage: package); + static const IconData user_settings = IconData(0xe202, fontFamily: family, fontPackage: package); ///
Vacation icon
- static const IconData vacation = IconData(0xe201, fontFamily: family, fontPackage: package); + static const IconData vacation = IconData(0xe203, fontFamily: family, fontPackage: package); ///
Verified icon
- static const IconData verified = IconData(0xe202, fontFamily: family, fontPackage: package); + static const IconData verified = IconData(0xe204, fontFamily: family, fontPackage: package); ///
Very Satisfied icon
- static const IconData very_satisfied = IconData(0xe203, fontFamily: family, fontPackage: package); + static const IconData very_satisfied = IconData(0xe205, fontFamily: family, fontPackage: package); ///
Video Camera icon
- static const IconData video_camera = IconData(0xe204, fontFamily: family, fontPackage: package); + static const IconData video_camera = IconData(0xe206, fontFamily: family, fontPackage: package); ///
Video Off icon
- static const IconData video_off = IconData(0xe205, fontFamily: family, fontPackage: package); + static const IconData video_off = IconData(0xe207, fontFamily: family, fontPackage: package); ///
Video Play icon
- static const IconData video_play = IconData(0xe206, fontFamily: family, fontPackage: package); + static const IconData video_play = IconData(0xe208, fontFamily: family, fontPackage: package); ///
Video icon
- static const IconData video = IconData(0xe207, fontFamily: family, fontPackage: package); + static const IconData video = IconData(0xe209, fontFamily: family, fontPackage: package); ///
Visibility Off icon
- static const IconData visibility_off = IconData(0xe208, fontFamily: family, fontPackage: package); + static const IconData visibility_off = IconData(0xe20a, fontFamily: family, fontPackage: package); ///
Visibility icon
- static const IconData visibility = IconData(0xe209, fontFamily: family, fontPackage: package); + static const IconData visibility = IconData(0xe20b, fontFamily: family, fontPackage: package); ///
Volte icon
- static const IconData volte = IconData(0xe20a, fontFamily: family, fontPackage: package); + static const IconData volte = IconData(0xe20c, fontFamily: family, fontPackage: package); ///
Volume Down icon
- static const IconData volume_down = IconData(0xe20b, fontFamily: family, fontPackage: package); + static const IconData volume_down = IconData(0xe20d, fontFamily: family, fontPackage: package); ///
Volume Mute icon
- static const IconData volume_mute = IconData(0xe20c, fontFamily: family, fontPackage: package); + static const IconData volume_mute = IconData(0xe20e, fontFamily: family, fontPackage: package); ///
Volume Off icon
- static const IconData volume_off = IconData(0xe20d, fontFamily: family, fontPackage: package); + static const IconData volume_off = IconData(0xe20f, fontFamily: family, fontPackage: package); ///
Volume Up icon
- static const IconData volume_up = IconData(0xe20e, fontFamily: family, fontPackage: package); + static const IconData volume_up = IconData(0xe210, fontFamily: family, fontPackage: package); ///
Warning Outline icon
- static const IconData warning_outline = IconData(0xe20f, fontFamily: family, fontPackage: package); + static const IconData warning_outline = IconData(0xe211, fontFamily: family, fontPackage: package); ///
Warning icon
- static const IconData warning = IconData(0xe210, fontFamily: family, fontPackage: package); + static const IconData warning = IconData(0xe212, fontFamily: family, fontPackage: package); ///
Watch icon
- static const IconData watch = IconData(0xe211, fontFamily: family, fontPackage: package); + static const IconData watch = IconData(0xe213, fontFamily: family, fontPackage: package); ///
Wb Image icon
- static const IconData wb_image = IconData(0xe212, fontFamily: family, fontPackage: package); + static const IconData wb_image = IconData(0xe214, fontFamily: family, fontPackage: package); ///
Wb icon
- static const IconData wb = IconData(0xe213, fontFamily: family, fontPackage: package); + static const IconData wb = IconData(0xe215, fontFamily: family, fontPackage: package); ///
World Action icon
- static const IconData world_action = IconData(0xe214, fontFamily: family, fontPackage: package); + static const IconData world_action = IconData(0xe216, fontFamily: family, fontPackage: package); ///
World icon
- static const IconData world = IconData(0xe215, fontFamily: family, fontPackage: package); + static const IconData world = IconData(0xe217, fontFamily: family, fontPackage: package); ///
Write icon
- static const IconData write = IconData(0xe216, fontFamily: family, fontPackage: package); + static const IconData write = IconData(0xe218, fontFamily: family, fontPackage: package); ///
Youtube icon
- static const IconData youtube = IconData(0xe217, fontFamily: family, fontPackage: package); + static const IconData youtube = IconData(0xe219, fontFamily: family, fontPackage: package); ///
Zero Scale icon
- static const IconData zero_scale = IconData(0xe218, fontFamily: family, fontPackage: package); + static const IconData zero_scale = IconData(0xe21a, fontFamily: family, fontPackage: package); ///
Zoom In Map icon
- static const IconData zoom_in_map = IconData(0xe219, fontFamily: family, fontPackage: package); + static const IconData zoom_in_map = IconData(0xe21b, fontFamily: family, fontPackage: package); ///
Zoom In icon
- static const IconData zoom_in = IconData(0xe21a, fontFamily: family, fontPackage: package); + static const IconData zoom_in = IconData(0xe21c, fontFamily: family, fontPackage: package); ///
Zoom Out Map icon
- static const IconData zoom_out_map = IconData(0xe21b, fontFamily: family, fontPackage: package); + static const IconData zoom_out_map = IconData(0xe21d, fontFamily: family, fontPackage: package); ///
Zoom Out icon
- static const IconData zoom_out = IconData(0xe21c, fontFamily: family, fontPackage: package); + static const IconData zoom_out = IconData(0xe21e, fontFamily: family, fontPackage: package); // Round Icons ///
Activity icon (round)
@@ -2385,888 +2391,894 @@ abstract class ZetaIcons { ///
Glossary icon (round)
static const IconData glossary_round = IconData(0xe0f6, fontFamily: familyRound, fontPackage: package); + ///
Google Drive icon (round)
+ static const IconData google_drive_round = IconData(0xe0f7, fontFamily: familyRound, fontPackage: package); + ///
Grid Off icon (round)
- static const IconData grid_off_round = IconData(0xe0f7, fontFamily: familyRound, fontPackage: package); + static const IconData grid_off_round = IconData(0xe0f8, fontFamily: familyRound, fontPackage: package); ///
Grid On icon (round)
- static const IconData grid_on_round = IconData(0xe0f8, fontFamily: familyRound, fontPackage: package); + static const IconData grid_on_round = IconData(0xe0f9, fontFamily: familyRound, fontPackage: package); ///
Grid View icon (round)
- static const IconData grid_view_round = IconData(0xe0f9, fontFamily: familyRound, fontPackage: package); + static const IconData grid_view_round = IconData(0xe0fa, fontFamily: familyRound, fontPackage: package); ///
Group icon (round)
- static const IconData group_round = IconData(0xe0fa, fontFamily: familyRound, fontPackage: package); + static const IconData group_round = IconData(0xe0fb, fontFamily: familyRound, fontPackage: package); ///
Groups icon (round)
- static const IconData groups_round = IconData(0xe0fb, fontFamily: familyRound, fontPackage: package); + static const IconData groups_round = IconData(0xe0fc, fontFamily: familyRound, fontPackage: package); ///
Hamburger Menu Navigation Rail icon (round)
static const IconData hamburger_menu_navigation_rail_round = - IconData(0xe0fc, fontFamily: familyRound, fontPackage: package); + IconData(0xe0fd, fontFamily: familyRound, fontPackage: package); ///
Hamburger Menu icon (round)
- static const IconData hamburger_menu_round = IconData(0xe0fd, fontFamily: familyRound, fontPackage: package); + static const IconData hamburger_menu_round = IconData(0xe0fe, fontFamily: familyRound, fontPackage: package); ///
Hamburger Menu Thick icon (round)
- static const IconData hamburger_menu_thick_round = IconData(0xe0fe, fontFamily: familyRound, fontPackage: package); + static const IconData hamburger_menu_thick_round = IconData(0xe0ff, fontFamily: familyRound, fontPackage: package); ///
Hand icon (round)
- static const IconData hand_round = IconData(0xe0ff, fontFamily: familyRound, fontPackage: package); + static const IconData hand_round = IconData(0xe100, fontFamily: familyRound, fontPackage: package); ///
Happy icon (round)
- static const IconData happy_round = IconData(0xe100, fontFamily: familyRound, fontPackage: package); + static const IconData happy_round = IconData(0xe101, fontFamily: familyRound, fontPackage: package); ///
Hdmi icon (round)
- static const IconData hdmi_round = IconData(0xe101, fontFamily: familyRound, fontPackage: package); + static const IconData hdmi_round = IconData(0xe102, fontFamily: familyRound, fontPackage: package); ///
Hdr icon (round)
- static const IconData hdr_round = IconData(0xe102, fontFamily: familyRound, fontPackage: package); + static const IconData hdr_round = IconData(0xe103, fontFamily: familyRound, fontPackage: package); ///
Headphones icon (round)
- static const IconData headphones_round = IconData(0xe103, fontFamily: familyRound, fontPackage: package); + static const IconData headphones_round = IconData(0xe104, fontFamily: familyRound, fontPackage: package); ///
Headset icon (round)
- static const IconData headset_round = IconData(0xe104, fontFamily: familyRound, fontPackage: package); + static const IconData headset_round = IconData(0xe105, fontFamily: familyRound, fontPackage: package); ///
Help Outline icon (round)
- static const IconData help_outline_round = IconData(0xe105, fontFamily: familyRound, fontPackage: package); + static const IconData help_outline_round = IconData(0xe106, fontFamily: familyRound, fontPackage: package); ///
Help icon (round)
- static const IconData help_round = IconData(0xe106, fontFamily: familyRound, fontPackage: package); + static const IconData help_round = IconData(0xe107, fontFamily: familyRound, fontPackage: package); ///
History icon (round)
- static const IconData history_round = IconData(0xe107, fontFamily: familyRound, fontPackage: package); + static const IconData history_round = IconData(0xe108, fontFamily: familyRound, fontPackage: package); ///
Home icon (round)
- static const IconData home_round = IconData(0xe108, fontFamily: familyRound, fontPackage: package); + static const IconData home_round = IconData(0xe109, fontFamily: familyRound, fontPackage: package); ///
Hourglass icon (round)
- static const IconData hourglass_round = IconData(0xe109, fontFamily: familyRound, fontPackage: package); + static const IconData hourglass_round = IconData(0xe10a, fontFamily: familyRound, fontPackage: package); ///
How Do I icon (round)
- static const IconData how_do_i_round = IconData(0xe10a, fontFamily: familyRound, fontPackage: package); + static const IconData how_do_i_round = IconData(0xe10b, fontFamily: familyRound, fontPackage: package); ///
Image Library icon (round)
- static const IconData image_library_round = IconData(0xe10b, fontFamily: familyRound, fontPackage: package); + static const IconData image_library_round = IconData(0xe10c, fontFamily: familyRound, fontPackage: package); ///
Image icon (round)
- static const IconData image_round = IconData(0xe10c, fontFamily: familyRound, fontPackage: package); + static const IconData image_round = IconData(0xe10d, fontFamily: familyRound, fontPackage: package); ///
Important Notification icon (round)
- static const IconData important_notification_round = IconData(0xe10d, fontFamily: familyRound, fontPackage: package); + static const IconData important_notification_round = IconData(0xe10e, fontFamily: familyRound, fontPackage: package); ///
Inbox icon (round)
- static const IconData inbox_round = IconData(0xe10e, fontFamily: familyRound, fontPackage: package); + static const IconData inbox_round = IconData(0xe10f, fontFamily: familyRound, fontPackage: package); ///
Indent Decrease icon (round)
- static const IconData indent_decrease_round = IconData(0xe10f, fontFamily: familyRound, fontPackage: package); + static const IconData indent_decrease_round = IconData(0xe110, fontFamily: familyRound, fontPackage: package); ///
Indent Increase icon (round)
- static const IconData indent_increase_round = IconData(0xe110, fontFamily: familyRound, fontPackage: package); + static const IconData indent_increase_round = IconData(0xe111, fontFamily: familyRound, fontPackage: package); ///
Indeterminate Check Box icon (round)
- static const IconData indeterminate_check_box_round = IconData(0xe111, fontFamily: familyRound, fontPackage: package); + static const IconData indeterminate_check_box_round = IconData(0xe112, fontFamily: familyRound, fontPackage: package); ///
Info icon (round)
- static const IconData info_round = IconData(0xe112, fontFamily: familyRound, fontPackage: package); + static const IconData info_round = IconData(0xe113, fontFamily: familyRound, fontPackage: package); ///
Instagram icon (round)
- static const IconData instagram_round = IconData(0xe113, fontFamily: familyRound, fontPackage: package); + static const IconData instagram_round = IconData(0xe114, fontFamily: familyRound, fontPackage: package); ///
Ios Share icon (round)
- static const IconData ios_share_round = IconData(0xe114, fontFamily: familyRound, fontPackage: package); + static const IconData ios_share_round = IconData(0xe115, fontFamily: familyRound, fontPackage: package); ///
Iso icon (round)
- static const IconData iso_round = IconData(0xe115, fontFamily: familyRound, fontPackage: package); + static const IconData iso_round = IconData(0xe116, fontFamily: familyRound, fontPackage: package); ///
Issue Audit icon (round)
- static const IconData issue_audit_round = IconData(0xe116, fontFamily: familyRound, fontPackage: package); + static const IconData issue_audit_round = IconData(0xe117, fontFamily: familyRound, fontPackage: package); ///
Italic icon (round)
- static const IconData italic_round = IconData(0xe117, fontFamily: familyRound, fontPackage: package); + static const IconData italic_round = IconData(0xe118, fontFamily: familyRound, fontPackage: package); ///
Jpg Attach icon (round)
- static const IconData jpg_attach_round = IconData(0xe118, fontFamily: familyRound, fontPackage: package); + static const IconData jpg_attach_round = IconData(0xe119, fontFamily: familyRound, fontPackage: package); ///
Justify icon (round)
- static const IconData justify_round = IconData(0xe119, fontFamily: familyRound, fontPackage: package); + static const IconData justify_round = IconData(0xe11a, fontFamily: familyRound, fontPackage: package); ///
Keyboard icon (round)
- static const IconData keyboard_round = IconData(0xe11a, fontFamily: familyRound, fontPackage: package); + static const IconData keyboard_round = IconData(0xe11b, fontFamily: familyRound, fontPackage: package); ///
Label icon (round)
- static const IconData label_round = IconData(0xe11b, fontFamily: familyRound, fontPackage: package); + static const IconData label_round = IconData(0xe11c, fontFamily: familyRound, fontPackage: package); ///
Laptop icon (round)
- static const IconData laptop_round = IconData(0xe11c, fontFamily: familyRound, fontPackage: package); + static const IconData laptop_round = IconData(0xe11d, fontFamily: familyRound, fontPackage: package); ///
Last Page icon (round)
- static const IconData last_page_round = IconData(0xe11d, fontFamily: familyRound, fontPackage: package); + static const IconData last_page_round = IconData(0xe11e, fontFamily: familyRound, fontPackage: package); ///
Layers icon (round)
- static const IconData layers_round = IconData(0xe11e, fontFamily: familyRound, fontPackage: package); + static const IconData layers_round = IconData(0xe11f, fontFamily: familyRound, fontPackage: package); ///
Light Mode icon (round)
- static const IconData light_mode_round = IconData(0xe11f, fontFamily: familyRound, fontPackage: package); + static const IconData light_mode_round = IconData(0xe120, fontFamily: familyRound, fontPackage: package); ///
Light Rail Train icon (round)
- static const IconData light_rail_train_round = IconData(0xe120, fontFamily: familyRound, fontPackage: package); + static const IconData light_rail_train_round = IconData(0xe121, fontFamily: familyRound, fontPackage: package); ///
Lightbulb icon (round)
- static const IconData lightbulb_round = IconData(0xe121, fontFamily: familyRound, fontPackage: package); + static const IconData lightbulb_round = IconData(0xe122, fontFamily: familyRound, fontPackage: package); ///
Like icon (round)
- static const IconData like_round = IconData(0xe122, fontFamily: familyRound, fontPackage: package); + static const IconData like_round = IconData(0xe123, fontFamily: familyRound, fontPackage: package); ///
Line Spacing icon (round)
- static const IconData line_spacing_round = IconData(0xe123, fontFamily: familyRound, fontPackage: package); + static const IconData line_spacing_round = IconData(0xe124, fontFamily: familyRound, fontPackage: package); ///
Link Add icon (round)
- static const IconData link_add_round = IconData(0xe124, fontFamily: familyRound, fontPackage: package); + static const IconData link_add_round = IconData(0xe125, fontFamily: familyRound, fontPackage: package); ///
Link icon (round)
- static const IconData link_round = IconData(0xe125, fontFamily: familyRound, fontPackage: package); + static const IconData link_round = IconData(0xe126, fontFamily: familyRound, fontPackage: package); ///
Linkedin icon (round)
- static const IconData linkedin_round = IconData(0xe126, fontFamily: familyRound, fontPackage: package); + static const IconData linkedin_round = IconData(0xe127, fontFamily: familyRound, fontPackage: package); ///
List Alt icon (round)
- static const IconData list_alt_round = IconData(0xe127, fontFamily: familyRound, fontPackage: package); + static const IconData list_alt_round = IconData(0xe128, fontFamily: familyRound, fontPackage: package); ///
List Bullet Contained icon (round)
- static const IconData list_bullet_contained_round = IconData(0xe128, fontFamily: familyRound, fontPackage: package); + static const IconData list_bullet_contained_round = IconData(0xe129, fontFamily: familyRound, fontPackage: package); ///
List Feedback icon (round)
- static const IconData list_feedback_round = IconData(0xe129, fontFamily: familyRound, fontPackage: package); + static const IconData list_feedback_round = IconData(0xe12a, fontFamily: familyRound, fontPackage: package); ///
List Form icon (round)
- static const IconData list_form_round = IconData(0xe12a, fontFamily: familyRound, fontPackage: package); + static const IconData list_form_round = IconData(0xe12b, fontFamily: familyRound, fontPackage: package); ///
List icon (round)
- static const IconData list_round = IconData(0xe12b, fontFamily: familyRound, fontPackage: package); + static const IconData list_round = IconData(0xe12c, fontFamily: familyRound, fontPackage: package); ///
Local Shipping icon (round)
- static const IconData local_shipping_round = IconData(0xe12c, fontFamily: familyRound, fontPackage: package); + static const IconData local_shipping_round = IconData(0xe12d, fontFamily: familyRound, fontPackage: package); ///
Location Off icon (round)
- static const IconData location_off_round = IconData(0xe12d, fontFamily: familyRound, fontPackage: package); + static const IconData location_off_round = IconData(0xe12e, fontFamily: familyRound, fontPackage: package); ///
Location Point icon (round)
- static const IconData location_point_round = IconData(0xe12e, fontFamily: familyRound, fontPackage: package); + static const IconData location_point_round = IconData(0xe12f, fontFamily: familyRound, fontPackage: package); ///
Location icon (round)
- static const IconData location_round = IconData(0xe12f, fontFamily: familyRound, fontPackage: package); + static const IconData location_round = IconData(0xe130, fontFamily: familyRound, fontPackage: package); ///
Lock Alt icon (round)
- static const IconData lock_alt_round = IconData(0xe130, fontFamily: familyRound, fontPackage: package); + static const IconData lock_alt_round = IconData(0xe131, fontFamily: familyRound, fontPackage: package); ///
Lock icon (round)
- static const IconData lock_round = IconData(0xe131, fontFamily: familyRound, fontPackage: package); + static const IconData lock_round = IconData(0xe132, fontFamily: familyRound, fontPackage: package); ///
Lock Undo icon (round)
- static const IconData lock_undo_round = IconData(0xe132, fontFamily: familyRound, fontPackage: package); + static const IconData lock_undo_round = IconData(0xe133, fontFamily: familyRound, fontPackage: package); ///
Log In icon (round)
- static const IconData log_in_round = IconData(0xe133, fontFamily: familyRound, fontPackage: package); + static const IconData log_in_round = IconData(0xe134, fontFamily: familyRound, fontPackage: package); ///
Log Out icon (round)
- static const IconData log_out_round = IconData(0xe134, fontFamily: familyRound, fontPackage: package); + static const IconData log_out_round = IconData(0xe135, fontFamily: familyRound, fontPackage: package); ///
Love Outline icon (round)
- static const IconData love_outline_round = IconData(0xe135, fontFamily: familyRound, fontPackage: package); + static const IconData love_outline_round = IconData(0xe136, fontFamily: familyRound, fontPackage: package); ///
Love icon (round)
- static const IconData love_round = IconData(0xe136, fontFamily: familyRound, fontPackage: package); + static const IconData love_round = IconData(0xe137, fontFamily: familyRound, fontPackage: package); ///
Maintenance icon (round)
- static const IconData maintenance_round = IconData(0xe137, fontFamily: familyRound, fontPackage: package); + static const IconData maintenance_round = IconData(0xe138, fontFamily: familyRound, fontPackage: package); ///
Map icon (round)
- static const IconData map_round = IconData(0xe138, fontFamily: familyRound, fontPackage: package); + static const IconData map_round = IconData(0xe139, fontFamily: familyRound, fontPackage: package); ///
Meal icon (round)
- static const IconData meal_round = IconData(0xe139, fontFamily: familyRound, fontPackage: package); + static const IconData meal_round = IconData(0xe13a, fontFamily: familyRound, fontPackage: package); ///
Medium icon (round)
- static const IconData medium_round = IconData(0xe13a, fontFamily: familyRound, fontPackage: package); + static const IconData medium_round = IconData(0xe13b, fontFamily: familyRound, fontPackage: package); ///
Memory icon (round)
- static const IconData memory_round = IconData(0xe13b, fontFamily: familyRound, fontPackage: package); + static const IconData memory_round = IconData(0xe13c, fontFamily: familyRound, fontPackage: package); ///
Message icon (round)
- static const IconData message_round = IconData(0xe13c, fontFamily: familyRound, fontPackage: package); + static const IconData message_round = IconData(0xe13d, fontFamily: familyRound, fontPackage: package); ///
Microphone Off icon (round)
- static const IconData microphone_off_round = IconData(0xe13d, fontFamily: familyRound, fontPackage: package); + static const IconData microphone_off_round = IconData(0xe13e, fontFamily: familyRound, fontPackage: package); ///
Microphone Outline icon (round)
- static const IconData microphone_outline_round = IconData(0xe13e, fontFamily: familyRound, fontPackage: package); + static const IconData microphone_outline_round = IconData(0xe13f, fontFamily: familyRound, fontPackage: package); ///
Microphone icon (round)
- static const IconData microphone_round = IconData(0xe13f, fontFamily: familyRound, fontPackage: package); + static const IconData microphone_round = IconData(0xe140, fontFamily: familyRound, fontPackage: package); ///
Mobile Friendly icon (round)
- static const IconData mobile_friendly_round = IconData(0xe140, fontFamily: familyRound, fontPackage: package); + static const IconData mobile_friendly_round = IconData(0xe141, fontFamily: familyRound, fontPackage: package); ///
Money Euro icon (round)
- static const IconData money_euro_round = IconData(0xe141, fontFamily: familyRound, fontPackage: package); + static const IconData money_euro_round = IconData(0xe142, fontFamily: familyRound, fontPackage: package); ///
Money Pound icon (round)
- static const IconData money_pound_round = IconData(0xe142, fontFamily: familyRound, fontPackage: package); + static const IconData money_pound_round = IconData(0xe143, fontFamily: familyRound, fontPackage: package); ///
Money Usd icon (round)
- static const IconData money_usd_round = IconData(0xe143, fontFamily: familyRound, fontPackage: package); + static const IconData money_usd_round = IconData(0xe144, fontFamily: familyRound, fontPackage: package); ///
Monitor icon (round)
- static const IconData monitor_round = IconData(0xe144, fontFamily: familyRound, fontPackage: package); + static const IconData monitor_round = IconData(0xe145, fontFamily: familyRound, fontPackage: package); ///
More Horizontal icon (round)
- static const IconData more_horizontal_round = IconData(0xe145, fontFamily: familyRound, fontPackage: package); + static const IconData more_horizontal_round = IconData(0xe146, fontFamily: familyRound, fontPackage: package); ///
More Vertical icon (round)
- static const IconData more_vertical_round = IconData(0xe146, fontFamily: familyRound, fontPackage: package); + static const IconData more_vertical_round = IconData(0xe147, fontFamily: familyRound, fontPackage: package); ///
My Location icon (round)
- static const IconData my_location_round = IconData(0xe147, fontFamily: familyRound, fontPackage: package); + static const IconData my_location_round = IconData(0xe148, fontFamily: familyRound, fontPackage: package); ///
Navigate icon (round)
- static const IconData navigate_round = IconData(0xe148, fontFamily: familyRound, fontPackage: package); + static const IconData navigate_round = IconData(0xe149, fontFamily: familyRound, fontPackage: package); ///
Navigation icon (round)
- static const IconData navigation_round = IconData(0xe149, fontFamily: familyRound, fontPackage: package); + static const IconData navigation_round = IconData(0xe14a, fontFamily: familyRound, fontPackage: package); ///
Near Me icon (round)
- static const IconData near_me_round = IconData(0xe14a, fontFamily: familyRound, fontPackage: package); + static const IconData near_me_round = IconData(0xe14b, fontFamily: familyRound, fontPackage: package); ///
Network Signal icon (round)
- static const IconData network_signal_round = IconData(0xe14b, fontFamily: familyRound, fontPackage: package); + static const IconData network_signal_round = IconData(0xe14c, fontFamily: familyRound, fontPackage: package); ///
New Chat icon (round)
- static const IconData new_chat_round = IconData(0xe14c, fontFamily: familyRound, fontPackage: package); + static const IconData new_chat_round = IconData(0xe14d, fontFamily: familyRound, fontPackage: package); ///
Nfc icon (round)
- static const IconData nfc_round = IconData(0xe14d, fontFamily: familyRound, fontPackage: package); + static const IconData nfc_round = IconData(0xe14e, fontFamily: familyRound, fontPackage: package); ///
Night icon (round)
- static const IconData night_round = IconData(0xe14e, fontFamily: familyRound, fontPackage: package); + static const IconData night_round = IconData(0xe14f, fontFamily: familyRound, fontPackage: package); ///
No Color icon (round)
- static const IconData no_color_round = IconData(0xe14f, fontFamily: familyRound, fontPackage: package); + static const IconData no_color_round = IconData(0xe150, fontFamily: familyRound, fontPackage: package); ///
Note icon (round)
- static const IconData note_round = IconData(0xe150, fontFamily: familyRound, fontPackage: package); + static const IconData note_round = IconData(0xe151, fontFamily: familyRound, fontPackage: package); ///
Notifications Off icon (round)
- static const IconData notifications_off_round = IconData(0xe151, fontFamily: familyRound, fontPackage: package); + static const IconData notifications_off_round = IconData(0xe152, fontFamily: familyRound, fontPackage: package); ///
Numbered List icon (round)
- static const IconData numbered_list_round = IconData(0xe152, fontFamily: familyRound, fontPackage: package); + static const IconData numbered_list_round = IconData(0xe153, fontFamily: familyRound, fontPackage: package); ///
Open In Full icon (round)
- static const IconData open_in_full_round = IconData(0xe153, fontFamily: familyRound, fontPackage: package); + static const IconData open_in_full_round = IconData(0xe154, fontFamily: familyRound, fontPackage: package); ///
Open In New Window icon (round)
- static const IconData open_in_new_window_round = IconData(0xe154, fontFamily: familyRound, fontPackage: package); + static const IconData open_in_new_window_round = IconData(0xe155, fontFamily: familyRound, fontPackage: package); ///
Open New Off icon (round)
- static const IconData open_new_off_round = IconData(0xe155, fontFamily: familyRound, fontPackage: package); + static const IconData open_new_off_round = IconData(0xe156, fontFamily: familyRound, fontPackage: package); ///
Page Height icon (round)
- static const IconData page_height_round = IconData(0xe156, fontFamily: familyRound, fontPackage: package); + static const IconData page_height_round = IconData(0xe157, fontFamily: familyRound, fontPackage: package); ///
Page Rotate icon (round)
- static const IconData page_rotate_round = IconData(0xe157, fontFamily: familyRound, fontPackage: package); + static const IconData page_rotate_round = IconData(0xe158, fontFamily: familyRound, fontPackage: package); ///
Page Width icon (round)
- static const IconData page_width_round = IconData(0xe158, fontFamily: familyRound, fontPackage: package); + static const IconData page_width_round = IconData(0xe159, fontFamily: familyRound, fontPackage: package); ///
Palette icon (round)
- static const IconData palette_round = IconData(0xe159, fontFamily: familyRound, fontPackage: package); + static const IconData palette_round = IconData(0xe15a, fontFamily: familyRound, fontPackage: package); ///
Partner icon (round)
- static const IconData partner_round = IconData(0xe15a, fontFamily: familyRound, fontPackage: package); + static const IconData partner_round = IconData(0xe15b, fontFamily: familyRound, fontPackage: package); ///
Pause Circle icon (round)
- static const IconData pause_circle_round = IconData(0xe15b, fontFamily: familyRound, fontPackage: package); + static const IconData pause_circle_round = IconData(0xe15c, fontFamily: familyRound, fontPackage: package); ///
Pause icon (round)
- static const IconData pause_round = IconData(0xe15c, fontFamily: familyRound, fontPackage: package); + static const IconData pause_round = IconData(0xe15d, fontFamily: familyRound, fontPackage: package); ///
Pdf Attach icon (round)
- static const IconData pdf_attach_round = IconData(0xe15d, fontFamily: familyRound, fontPackage: package); + static const IconData pdf_attach_round = IconData(0xe15e, fontFamily: familyRound, fontPackage: package); ///
Pending icon (round)
- static const IconData pending_round = IconData(0xe15e, fontFamily: familyRound, fontPackage: package); + static const IconData pending_round = IconData(0xe15f, fontFamily: familyRound, fontPackage: package); ///
Person Admin icon (round)
- static const IconData person_admin_round = IconData(0xe15f, fontFamily: familyRound, fontPackage: package); + static const IconData person_admin_round = IconData(0xe160, fontFamily: familyRound, fontPackage: package); ///
Person Assign icon (round)
- static const IconData person_assign_round = IconData(0xe160, fontFamily: familyRound, fontPackage: package); + static const IconData person_assign_round = IconData(0xe161, fontFamily: familyRound, fontPackage: package); ///
Person Clock icon (round)
- static const IconData person_clock_round = IconData(0xe161, fontFamily: familyRound, fontPackage: package); + static const IconData person_clock_round = IconData(0xe162, fontFamily: familyRound, fontPackage: package); ///
Person Info icon (round)
- static const IconData person_info_round = IconData(0xe162, fontFamily: familyRound, fontPackage: package); + static const IconData person_info_round = IconData(0xe163, fontFamily: familyRound, fontPackage: package); ///
Person Manager icon (round)
- static const IconData person_manager_round = IconData(0xe163, fontFamily: familyRound, fontPackage: package); + static const IconData person_manager_round = IconData(0xe164, fontFamily: familyRound, fontPackage: package); ///
Person Move icon (round)
- static const IconData person_move_round = IconData(0xe164, fontFamily: familyRound, fontPackage: package); + static const IconData person_move_round = IconData(0xe165, fontFamily: familyRound, fontPackage: package); ///
Person Outline icon (round)
- static const IconData person_outline_round = IconData(0xe165, fontFamily: familyRound, fontPackage: package); + static const IconData person_outline_round = IconData(0xe166, fontFamily: familyRound, fontPackage: package); ///
Person icon (round)
- static const IconData person_round = IconData(0xe166, fontFamily: familyRound, fontPackage: package); + static const IconData person_round = IconData(0xe167, fontFamily: familyRound, fontPackage: package); ///
Person Search icon (round)
- static const IconData person_search_round = IconData(0xe167, fontFamily: familyRound, fontPackage: package); + static const IconData person_search_round = IconData(0xe168, fontFamily: familyRound, fontPackage: package); ///
Person Swap icon (round)
- static const IconData person_swap_round = IconData(0xe168, fontFamily: familyRound, fontPackage: package); + static const IconData person_swap_round = IconData(0xe169, fontFamily: familyRound, fontPackage: package); ///
Person Walk icon (round)
- static const IconData person_walk_round = IconData(0xe169, fontFamily: familyRound, fontPackage: package); + static const IconData person_walk_round = IconData(0xe16a, fontFamily: familyRound, fontPackage: package); ///
Phone Android icon (round)
- static const IconData phone_android_round = IconData(0xe16a, fontFamily: familyRound, fontPackage: package); + static const IconData phone_android_round = IconData(0xe16b, fontFamily: familyRound, fontPackage: package); ///
Phone Bluetooth Speaker icon (round)
- static const IconData phone_bluetooth_speaker_round = IconData(0xe16b, fontFamily: familyRound, fontPackage: package); + static const IconData phone_bluetooth_speaker_round = IconData(0xe16c, fontFamily: familyRound, fontPackage: package); ///
Phone In Talk icon (round)
- static const IconData phone_in_talk_round = IconData(0xe16c, fontFamily: familyRound, fontPackage: package); + static const IconData phone_in_talk_round = IconData(0xe16d, fontFamily: familyRound, fontPackage: package); ///
Phone Iphone icon (round)
- static const IconData phone_iphone_round = IconData(0xe16d, fontFamily: familyRound, fontPackage: package); + static const IconData phone_iphone_round = IconData(0xe16e, fontFamily: familyRound, fontPackage: package); ///
Phone icon (round)
- static const IconData phone_round = IconData(0xe16e, fontFamily: familyRound, fontPackage: package); + static const IconData phone_round = IconData(0xe16f, fontFamily: familyRound, fontPackage: package); ///
Phonelink icon (round)
- static const IconData phonelink_round = IconData(0xe16f, fontFamily: familyRound, fontPackage: package); + static const IconData phonelink_round = IconData(0xe170, fontFamily: familyRound, fontPackage: package); ///
Phrase icon (round)
- static const IconData phrase_round = IconData(0xe170, fontFamily: familyRound, fontPackage: package); + static const IconData phrase_round = IconData(0xe171, fontFamily: familyRound, fontPackage: package); ///
Pin icon (round)
- static const IconData pin_round = IconData(0xe171, fontFamily: familyRound, fontPackage: package); + static const IconData pin_round = IconData(0xe172, fontFamily: familyRound, fontPackage: package); ///
Place icon (round)
- static const IconData place_round = IconData(0xe172, fontFamily: familyRound, fontPackage: package); + static const IconData place_round = IconData(0xe173, fontFamily: familyRound, fontPackage: package); ///
Planogram icon (round)
- static const IconData planogram_round = IconData(0xe173, fontFamily: familyRound, fontPackage: package); + static const IconData planogram_round = IconData(0xe174, fontFamily: familyRound, fontPackage: package); ///
Play Circle icon (round)
- static const IconData play_circle_round = IconData(0xe174, fontFamily: familyRound, fontPackage: package); + static const IconData play_circle_round = IconData(0xe175, fontFamily: familyRound, fontPackage: package); ///
Play Outline icon (round)
- static const IconData play_outline_round = IconData(0xe175, fontFamily: familyRound, fontPackage: package); + static const IconData play_outline_round = IconData(0xe176, fontFamily: familyRound, fontPackage: package); ///
Play icon (round)
- static const IconData play_round = IconData(0xe176, fontFamily: familyRound, fontPackage: package); + static const IconData play_round = IconData(0xe177, fontFamily: familyRound, fontPackage: package); ///
Png Attach icon (round)
- static const IconData png_attach_round = IconData(0xe177, fontFamily: familyRound, fontPackage: package); + static const IconData png_attach_round = IconData(0xe178, fontFamily: familyRound, fontPackage: package); ///
Point Gift icon (round)
- static const IconData point_gift_round = IconData(0xe178, fontFamily: familyRound, fontPackage: package); + static const IconData point_gift_round = IconData(0xe179, fontFamily: familyRound, fontPackage: package); ///
Point Heart icon (round)
- static const IconData point_heart_round = IconData(0xe179, fontFamily: familyRound, fontPackage: package); + static const IconData point_heart_round = IconData(0xe17a, fontFamily: familyRound, fontPackage: package); ///
Point Money icon (round)
- static const IconData point_money_round = IconData(0xe17a, fontFamily: familyRound, fontPackage: package); + static const IconData point_money_round = IconData(0xe17b, fontFamily: familyRound, fontPackage: package); ///
Point Star icon (round)
- static const IconData point_star_round = IconData(0xe17b, fontFamily: familyRound, fontPackage: package); + static const IconData point_star_round = IconData(0xe17c, fontFamily: familyRound, fontPackage: package); ///
Point Token icon (round)
- static const IconData point_token_round = IconData(0xe17c, fontFamily: familyRound, fontPackage: package); + static const IconData point_token_round = IconData(0xe17d, fontFamily: familyRound, fontPackage: package); ///
Portrait icon (round)
- static const IconData portrait_round = IconData(0xe17d, fontFamily: familyRound, fontPackage: package); + static const IconData portrait_round = IconData(0xe17e, fontFamily: familyRound, fontPackage: package); ///
Ppt Attach icon (round)
- static const IconData ppt_attach_round = IconData(0xe17e, fontFamily: familyRound, fontPackage: package); + static const IconData ppt_attach_round = IconData(0xe17f, fontFamily: familyRound, fontPackage: package); ///
Price icon (round)
- static const IconData price_round = IconData(0xe17f, fontFamily: familyRound, fontPackage: package); + static const IconData price_round = IconData(0xe180, fontFamily: familyRound, fontPackage: package); ///
Printer icon (round)
- static const IconData printer_round = IconData(0xe180, fontFamily: familyRound, fontPackage: package); + static const IconData printer_round = IconData(0xe181, fontFamily: familyRound, fontPackage: package); ///
Priority icon (round)
- static const IconData priority_round = IconData(0xe181, fontFamily: familyRound, fontPackage: package); + static const IconData priority_round = IconData(0xe182, fontFamily: familyRound, fontPackage: package); ///
Pro icon (round)
- static const IconData pro_round = IconData(0xe182, fontFamily: familyRound, fontPackage: package); + static const IconData pro_round = IconData(0xe183, fontFamily: familyRound, fontPackage: package); ///
Productivity Apps icon (round)
- static const IconData productivity_apps_round = IconData(0xe183, fontFamily: familyRound, fontPackage: package); + static const IconData productivity_apps_round = IconData(0xe184, fontFamily: familyRound, fontPackage: package); ///
Ptt icon (round)
- static const IconData ptt_round = IconData(0xe184, fontFamily: familyRound, fontPackage: package); + static const IconData ptt_round = IconData(0xe185, fontFamily: familyRound, fontPackage: package); ///
Publish icon (round)
- static const IconData publish_round = IconData(0xe185, fontFamily: familyRound, fontPackage: package); + static const IconData publish_round = IconData(0xe186, fontFamily: familyRound, fontPackage: package); + + ///
Push Pin Off icon (round)
+ static const IconData push_pin_off_round = IconData(0xe187, fontFamily: familyRound, fontPackage: package); ///
Push Pin icon (round)
- static const IconData push_pin_round = IconData(0xe186, fontFamily: familyRound, fontPackage: package); + static const IconData push_pin_round = IconData(0xe188, fontFamily: familyRound, fontPackage: package); ///
Qr Code icon (round)
- static const IconData qr_code_round = IconData(0xe187, fontFamily: familyRound, fontPackage: package); + static const IconData qr_code_round = IconData(0xe189, fontFamily: familyRound, fontPackage: package); ///
Queue icon (round)
- static const IconData queue_round = IconData(0xe188, fontFamily: familyRound, fontPackage: package); + static const IconData queue_round = IconData(0xe18a, fontFamily: familyRound, fontPackage: package); ///
Radio Button Checked icon (round)
- static const IconData radio_button_checked_round = IconData(0xe189, fontFamily: familyRound, fontPackage: package); + static const IconData radio_button_checked_round = IconData(0xe18b, fontFamily: familyRound, fontPackage: package); ///
Radio Button Unchecked icon (round)
- static const IconData radio_button_unchecked_round = IconData(0xe18a, fontFamily: familyRound, fontPackage: package); + static const IconData radio_button_unchecked_round = IconData(0xe18c, fontFamily: familyRound, fontPackage: package); ///
React Add icon (round)
- static const IconData react_add_round = IconData(0xe18b, fontFamily: familyRound, fontPackage: package); + static const IconData react_add_round = IconData(0xe18d, fontFamily: familyRound, fontPackage: package); ///
React Thumbsup icon (round)
- static const IconData react_thumbsup_round = IconData(0xe18c, fontFamily: familyRound, fontPackage: package); + static const IconData react_thumbsup_round = IconData(0xe18e, fontFamily: familyRound, fontPackage: package); ///
Recall icon (round)
- static const IconData recall_round = IconData(0xe18d, fontFamily: familyRound, fontPackage: package); + static const IconData recall_round = IconData(0xe18f, fontFamily: familyRound, fontPackage: package); ///
Receipt icon (round)
- static const IconData receipt_round = IconData(0xe18e, fontFamily: familyRound, fontPackage: package); + static const IconData receipt_round = IconData(0xe190, fontFamily: familyRound, fontPackage: package); ///
Recording icon (round)
- static const IconData recording_round = IconData(0xe18f, fontFamily: familyRound, fontPackage: package); + static const IconData recording_round = IconData(0xe191, fontFamily: familyRound, fontPackage: package); ///
Redo icon (round)
- static const IconData redo_round = IconData(0xe190, fontFamily: familyRound, fontPackage: package); + static const IconData redo_round = IconData(0xe192, fontFamily: familyRound, fontPackage: package); ///
Refresh icon (round)
- static const IconData refresh_round = IconData(0xe191, fontFamily: familyRound, fontPackage: package); + static const IconData refresh_round = IconData(0xe193, fontFamily: familyRound, fontPackage: package); ///
Remove Box icon (round)
- static const IconData remove_box_round = IconData(0xe192, fontFamily: familyRound, fontPackage: package); + static const IconData remove_box_round = IconData(0xe194, fontFamily: familyRound, fontPackage: package); ///
Remove Circle Outline icon (round)
- static const IconData remove_circle_outline_round = IconData(0xe193, fontFamily: familyRound, fontPackage: package); + static const IconData remove_circle_outline_round = IconData(0xe195, fontFamily: familyRound, fontPackage: package); ///
Remove Circle icon (round)
- static const IconData remove_circle_round = IconData(0xe194, fontFamily: familyRound, fontPackage: package); + static const IconData remove_circle_round = IconData(0xe196, fontFamily: familyRound, fontPackage: package); ///
Remove Group icon (round)
- static const IconData remove_group_round = IconData(0xe195, fontFamily: familyRound, fontPackage: package); + static const IconData remove_group_round = IconData(0xe197, fontFamily: familyRound, fontPackage: package); ///
Remove Person icon (round)
- static const IconData remove_person_round = IconData(0xe196, fontFamily: familyRound, fontPackage: package); + static const IconData remove_person_round = IconData(0xe198, fontFamily: familyRound, fontPackage: package); ///
Remove icon (round)
- static const IconData remove_round = IconData(0xe197, fontFamily: familyRound, fontPackage: package); + static const IconData remove_round = IconData(0xe199, fontFamily: familyRound, fontPackage: package); ///
Renew icon (round)
- static const IconData renew_round = IconData(0xe198, fontFamily: familyRound, fontPackage: package); + static const IconData renew_round = IconData(0xe19a, fontFamily: familyRound, fontPackage: package); ///
Reorder icon (round)
- static const IconData reorder_round = IconData(0xe199, fontFamily: familyRound, fontPackage: package); + static const IconData reorder_round = IconData(0xe19b, fontFamily: familyRound, fontPackage: package); ///
Repeat icon (round)
- static const IconData repeat_round = IconData(0xe19a, fontFamily: familyRound, fontPackage: package); + static const IconData repeat_round = IconData(0xe19c, fontFamily: familyRound, fontPackage: package); ///
Replay icon (round)
- static const IconData replay_round = IconData(0xe19b, fontFamily: familyRound, fontPackage: package); + static const IconData replay_round = IconData(0xe19d, fontFamily: familyRound, fontPackage: package); ///
Reply icon (round)
- static const IconData reply_round = IconData(0xe19c, fontFamily: familyRound, fontPackage: package); + static const IconData reply_round = IconData(0xe19e, fontFamily: familyRound, fontPackage: package); ///
Report icon (round)
- static const IconData report_round = IconData(0xe19d, fontFamily: familyRound, fontPackage: package); + static const IconData report_round = IconData(0xe19f, fontFamily: familyRound, fontPackage: package); ///
Restart Alt icon (round)
- static const IconData restart_alt_round = IconData(0xe19e, fontFamily: familyRound, fontPackage: package); + static const IconData restart_alt_round = IconData(0xe1a0, fontFamily: familyRound, fontPackage: package); ///
Review icon (round)
- static const IconData review_round = IconData(0xe19f, fontFamily: familyRound, fontPackage: package); + static const IconData review_round = IconData(0xe1a1, fontFamily: familyRound, fontPackage: package); ///
Road Map icon (round)
- static const IconData road_map_round = IconData(0xe1a0, fontFamily: familyRound, fontPackage: package); + static const IconData road_map_round = IconData(0xe1a2, fontFamily: familyRound, fontPackage: package); ///
Rotate Left icon (round)
- static const IconData rotate_left_round = IconData(0xe1a1, fontFamily: familyRound, fontPackage: package); + static const IconData rotate_left_round = IconData(0xe1a3, fontFamily: familyRound, fontPackage: package); ///
Rotate Right icon (round)
- static const IconData rotate_right_round = IconData(0xe1a2, fontFamily: familyRound, fontPackage: package); + static const IconData rotate_right_round = IconData(0xe1a4, fontFamily: familyRound, fontPackage: package); ///
Rss Feed icon (round)
- static const IconData rss_feed_round = IconData(0xe1a3, fontFamily: familyRound, fontPackage: package); + static const IconData rss_feed_round = IconData(0xe1a5, fontFamily: familyRound, fontPackage: package); ///
Rules icon (round)
- static const IconData rules_round = IconData(0xe1a4, fontFamily: familyRound, fontPackage: package); + static const IconData rules_round = IconData(0xe1a6, fontFamily: familyRound, fontPackage: package); ///
Sad icon (round)
- static const IconData sad_round = IconData(0xe1a5, fontFamily: familyRound, fontPackage: package); + static const IconData sad_round = IconData(0xe1a7, fontFamily: familyRound, fontPackage: package); ///
Satisfied icon (round)
- static const IconData satisfied_round = IconData(0xe1a6, fontFamily: familyRound, fontPackage: package); + static const IconData satisfied_round = IconData(0xe1a8, fontFamily: familyRound, fontPackage: package); ///
Save Alt icon (round)
- static const IconData save_alt_round = IconData(0xe1a7, fontFamily: familyRound, fontPackage: package); + static const IconData save_alt_round = IconData(0xe1a9, fontFamily: familyRound, fontPackage: package); ///
Save Content icon (round)
- static const IconData save_content_round = IconData(0xe1a8, fontFamily: familyRound, fontPackage: package); + static const IconData save_content_round = IconData(0xe1aa, fontFamily: familyRound, fontPackage: package); ///
Save icon (round)
- static const IconData save_round = IconData(0xe1a9, fontFamily: familyRound, fontPackage: package); + static const IconData save_round = IconData(0xe1ab, fontFamily: familyRound, fontPackage: package); ///
Scan Rate icon (round)
- static const IconData scan_rate_round = IconData(0xe1aa, fontFamily: familyRound, fontPackage: package); + static const IconData scan_rate_round = IconData(0xe1ac, fontFamily: familyRound, fontPackage: package); ///
Scanner icon (round)
- static const IconData scanner_round = IconData(0xe1ab, fontFamily: familyRound, fontPackage: package); + static const IconData scanner_round = IconData(0xe1ad, fontFamily: familyRound, fontPackage: package); ///
Schedule icon (round)
- static const IconData schedule_round = IconData(0xe1ac, fontFamily: familyRound, fontPackage: package); + static const IconData schedule_round = IconData(0xe1ae, fontFamily: familyRound, fontPackage: package); ///
School icon (round)
- static const IconData school_round = IconData(0xe1ad, fontFamily: familyRound, fontPackage: package); + static const IconData school_round = IconData(0xe1af, fontFamily: familyRound, fontPackage: package); ///
Screen Rotation icon (round)
- static const IconData screen_rotation_round = IconData(0xe1ae, fontFamily: familyRound, fontPackage: package); + static const IconData screen_rotation_round = IconData(0xe1b0, fontFamily: familyRound, fontPackage: package); ///
Sd Card icon (round)
- static const IconData sd_card_round = IconData(0xe1af, fontFamily: familyRound, fontPackage: package); + static const IconData sd_card_round = IconData(0xe1b1, fontFamily: familyRound, fontPackage: package); ///
Search icon (round)
- static const IconData search_round = IconData(0xe1b0, fontFamily: familyRound, fontPackage: package); + static const IconData search_round = IconData(0xe1b2, fontFamily: familyRound, fontPackage: package); ///
Security Check icon (round)
- static const IconData security_check_round = IconData(0xe1b1, fontFamily: familyRound, fontPackage: package); + static const IconData security_check_round = IconData(0xe1b3, fontFamily: familyRound, fontPackage: package); ///
Security icon (round)
- static const IconData security_round = IconData(0xe1b2, fontFamily: familyRound, fontPackage: package); + static const IconData security_round = IconData(0xe1b4, fontFamily: familyRound, fontPackage: package); ///
Send icon (round)
- static const IconData send_round = IconData(0xe1b3, fontFamily: familyRound, fontPackage: package); + static const IconData send_round = IconData(0xe1b5, fontFamily: familyRound, fontPackage: package); ///
Settings icon (round)
- static const IconData settings_round = IconData(0xe1b4, fontFamily: familyRound, fontPackage: package); + static const IconData settings_round = IconData(0xe1b6, fontFamily: familyRound, fontPackage: package); ///
Shape Recognition icon (round)
- static const IconData shape_recognition_round = IconData(0xe1b5, fontFamily: familyRound, fontPackage: package); + static const IconData shape_recognition_round = IconData(0xe1b7, fontFamily: familyRound, fontPackage: package); ///
Share icon (round)
- static const IconData share_round = IconData(0xe1b6, fontFamily: familyRound, fontPackage: package); + static const IconData share_round = IconData(0xe1b8, fontFamily: familyRound, fontPackage: package); ///
Shared Folder icon (round)
- static const IconData shared_folder_round = IconData(0xe1b7, fontFamily: familyRound, fontPackage: package); + static const IconData shared_folder_round = IconData(0xe1b9, fontFamily: familyRound, fontPackage: package); ///
Ship icon (round)
- static const IconData ship_round = IconData(0xe1b8, fontFamily: familyRound, fontPackage: package); + static const IconData ship_round = IconData(0xe1ba, fontFamily: familyRound, fontPackage: package); ///
Sim Card icon (round)
- static const IconData sim_card_round = IconData(0xe1b9, fontFamily: familyRound, fontPackage: package); + static const IconData sim_card_round = IconData(0xe1bb, fontFamily: familyRound, fontPackage: package); ///
Skip Next icon (round)
- static const IconData skip_next_round = IconData(0xe1ba, fontFamily: familyRound, fontPackage: package); + static const IconData skip_next_round = IconData(0xe1bc, fontFamily: familyRound, fontPackage: package); ///
Skip Previous icon (round)
- static const IconData skip_previous_round = IconData(0xe1bb, fontFamily: familyRound, fontPackage: package); + static const IconData skip_previous_round = IconData(0xe1bd, fontFamily: familyRound, fontPackage: package); ///
Slide Show icon (round)
- static const IconData slide_show_round = IconData(0xe1bc, fontFamily: familyRound, fontPackage: package); + static const IconData slide_show_round = IconData(0xe1be, fontFamily: familyRound, fontPackage: package); ///
Smart Phone icon (round)
- static const IconData smart_phone_round = IconData(0xe1bd, fontFamily: familyRound, fontPackage: package); + static const IconData smart_phone_round = IconData(0xe1bf, fontFamily: familyRound, fontPackage: package); ///
Sms icon (round)
- static const IconData sms_round = IconData(0xe1be, fontFamily: familyRound, fontPackage: package); + static const IconData sms_round = IconData(0xe1c0, fontFamily: familyRound, fontPackage: package); ///
Snooze icon (round)
- static const IconData snooze_round = IconData(0xe1bf, fontFamily: familyRound, fontPackage: package); + static const IconData snooze_round = IconData(0xe1c1, fontFamily: familyRound, fontPackage: package); ///
Solutions icon (round)
- static const IconData solutions_round = IconData(0xe1c0, fontFamily: familyRound, fontPackage: package); + static const IconData solutions_round = IconData(0xe1c2, fontFamily: familyRound, fontPackage: package); ///
Sort Content icon (round)
- static const IconData sort_content_round = IconData(0xe1c1, fontFamily: familyRound, fontPackage: package); + static const IconData sort_content_round = IconData(0xe1c3, fontFamily: familyRound, fontPackage: package); ///
Sort icon (round)
- static const IconData sort_round = IconData(0xe1c2, fontFamily: familyRound, fontPackage: package); + static const IconData sort_round = IconData(0xe1c4, fontFamily: familyRound, fontPackage: package); ///
Speaker icon (round)
- static const IconData speaker_round = IconData(0xe1c3, fontFamily: familyRound, fontPackage: package); + static const IconData speaker_round = IconData(0xe1c5, fontFamily: familyRound, fontPackage: package); ///
Star Half icon (round)
- static const IconData star_half_round = IconData(0xe1c4, fontFamily: familyRound, fontPackage: package); + static const IconData star_half_round = IconData(0xe1c6, fontFamily: familyRound, fontPackage: package); ///
Star Outline icon (round)
- static const IconData star_outline_round = IconData(0xe1c5, fontFamily: familyRound, fontPackage: package); + static const IconData star_outline_round = IconData(0xe1c7, fontFamily: familyRound, fontPackage: package); ///
Star icon (round)
- static const IconData star_round = IconData(0xe1c6, fontFamily: familyRound, fontPackage: package); + static const IconData star_round = IconData(0xe1c8, fontFamily: familyRound, fontPackage: package); ///
Steps icon (round)
- static const IconData steps_round = IconData(0xe1c7, fontFamily: familyRound, fontPackage: package); + static const IconData steps_round = IconData(0xe1c9, fontFamily: familyRound, fontPackage: package); ///
Sticker icon (round)
- static const IconData sticker_round = IconData(0xe1c8, fontFamily: familyRound, fontPackage: package); + static const IconData sticker_round = IconData(0xe1ca, fontFamily: familyRound, fontPackage: package); ///
Stop Circle icon (round)
- static const IconData stop_circle_round = IconData(0xe1c9, fontFamily: familyRound, fontPackage: package); + static const IconData stop_circle_round = IconData(0xe1cb, fontFamily: familyRound, fontPackage: package); ///
Stop icon (round)
- static const IconData stop_round = IconData(0xe1ca, fontFamily: familyRound, fontPackage: package); + static const IconData stop_round = IconData(0xe1cc, fontFamily: familyRound, fontPackage: package); ///
Store Release icon (round)
- static const IconData store_release_round = IconData(0xe1cb, fontFamily: familyRound, fontPackage: package); + static const IconData store_release_round = IconData(0xe1cd, fontFamily: familyRound, fontPackage: package); ///
Store icon (round)
- static const IconData store_round = IconData(0xe1cc, fontFamily: familyRound, fontPackage: package); + static const IconData store_round = IconData(0xe1ce, fontFamily: familyRound, fontPackage: package); ///
Store Swap icon (round)
- static const IconData store_swap_round = IconData(0xe1cd, fontFamily: familyRound, fontPackage: package); + static const IconData store_swap_round = IconData(0xe1cf, fontFamily: familyRound, fontPackage: package); ///
Store Transfer icon (round)
- static const IconData store_transfer_round = IconData(0xe1ce, fontFamily: familyRound, fontPackage: package); + static const IconData store_transfer_round = IconData(0xe1d0, fontFamily: familyRound, fontPackage: package); ///
Straighten icon (round)
- static const IconData straighten_round = IconData(0xe1cf, fontFamily: familyRound, fontPackage: package); + static const IconData straighten_round = IconData(0xe1d1, fontFamily: familyRound, fontPackage: package); ///
Strategy icon (round)
- static const IconData strategy_round = IconData(0xe1d0, fontFamily: familyRound, fontPackage: package); + static const IconData strategy_round = IconData(0xe1d2, fontFamily: familyRound, fontPackage: package); ///
Strikethrough icon (round)
- static const IconData strikethrough_round = IconData(0xe1d1, fontFamily: familyRound, fontPackage: package); + static const IconData strikethrough_round = IconData(0xe1d3, fontFamily: familyRound, fontPackage: package); ///
Subscribe icon (round)
- static const IconData subscribe_round = IconData(0xe1d2, fontFamily: familyRound, fontPackage: package); + static const IconData subscribe_round = IconData(0xe1d4, fontFamily: familyRound, fontPackage: package); ///
Swap icon (round)
- static const IconData swap_round = IconData(0xe1d3, fontFamily: familyRound, fontPackage: package); + static const IconData swap_round = IconData(0xe1d5, fontFamily: familyRound, fontPackage: package); ///
Switch User icon (round)
- static const IconData switch_user_round = IconData(0xe1d4, fontFamily: familyRound, fontPackage: package); + static const IconData switch_user_round = IconData(0xe1d6, fontFamily: familyRound, fontPackage: package); ///
Sync Action icon (round)
- static const IconData sync_action_round = IconData(0xe1d5, fontFamily: familyRound, fontPackage: package); + static const IconData sync_action_round = IconData(0xe1d7, fontFamily: familyRound, fontPackage: package); ///
Sync Disabled icon (round)
- static const IconData sync_disabled_round = IconData(0xe1d6, fontFamily: familyRound, fontPackage: package); + static const IconData sync_disabled_round = IconData(0xe1d8, fontFamily: familyRound, fontPackage: package); ///
Sync icon (round)
- static const IconData sync_round = IconData(0xe1d7, fontFamily: familyRound, fontPackage: package); + static const IconData sync_round = IconData(0xe1d9, fontFamily: familyRound, fontPackage: package); ///
Table icon (round)
- static const IconData table_round = IconData(0xe1d8, fontFamily: familyRound, fontPackage: package); + static const IconData table_round = IconData(0xe1da, fontFamily: familyRound, fontPackage: package); ///
Tablet Mac icon (round)
- static const IconData tablet_mac_round = IconData(0xe1d9, fontFamily: familyRound, fontPackage: package); + static const IconData tablet_mac_round = IconData(0xe1db, fontFamily: familyRound, fontPackage: package); ///
Tablet icon (round)
- static const IconData tablet_round = IconData(0xe1da, fontFamily: familyRound, fontPackage: package); + static const IconData tablet_round = IconData(0xe1dc, fontFamily: familyRound, fontPackage: package); ///
Tag Enterprise icon (round)
- static const IconData tag_enterprise_round = IconData(0xe1db, fontFamily: familyRound, fontPackage: package); + static const IconData tag_enterprise_round = IconData(0xe1dd, fontFamily: familyRound, fontPackage: package); ///
Tag icon (round)
- static const IconData tag_round = IconData(0xe1dc, fontFamily: familyRound, fontPackage: package); + static const IconData tag_round = IconData(0xe1de, fontFamily: familyRound, fontPackage: package); ///
Tap To Pay icon (round)
- static const IconData tap_to_pay_round = IconData(0xe1dd, fontFamily: familyRound, fontPackage: package); + static const IconData tap_to_pay_round = IconData(0xe1df, fontFamily: familyRound, fontPackage: package); ///
Taxi icon (round)
- static const IconData taxi_round = IconData(0xe1de, fontFamily: familyRound, fontPackage: package); + static const IconData taxi_round = IconData(0xe1e0, fontFamily: familyRound, fontPackage: package); ///
Text Color icon (round)
- static const IconData text_color_round = IconData(0xe1df, fontFamily: familyRound, fontPackage: package); + static const IconData text_color_round = IconData(0xe1e1, fontFamily: familyRound, fontPackage: package); ///
Tiers icon (round)
- static const IconData tiers_round = IconData(0xe1e0, fontFamily: familyRound, fontPackage: package); + static const IconData tiers_round = IconData(0xe1e2, fontFamily: familyRound, fontPackage: package); ///
Timecard Approve icon (round)
- static const IconData timecard_approve_round = IconData(0xe1e1, fontFamily: familyRound, fontPackage: package); + static const IconData timecard_approve_round = IconData(0xe1e3, fontFamily: familyRound, fontPackage: package); ///
Timecard icon (round)
- static const IconData timecard_round = IconData(0xe1e2, fontFamily: familyRound, fontPackage: package); + static const IconData timecard_round = IconData(0xe1e4, fontFamily: familyRound, fontPackage: package); ///
Timecard Warning icon (round)
- static const IconData timecard_warning_round = IconData(0xe1e3, fontFamily: familyRound, fontPackage: package); + static const IconData timecard_warning_round = IconData(0xe1e5, fontFamily: familyRound, fontPackage: package); ///
Timer icon (round)
- static const IconData timer_round = IconData(0xe1e4, fontFamily: familyRound, fontPackage: package); + static const IconData timer_round = IconData(0xe1e6, fontFamily: familyRound, fontPackage: package); ///
Toggle Off icon (round)
- static const IconData toggle_off_round = IconData(0xe1e5, fontFamily: familyRound, fontPackage: package); + static const IconData toggle_off_round = IconData(0xe1e7, fontFamily: familyRound, fontPackage: package); ///
Toggle On icon (round)
- static const IconData toggle_on_round = IconData(0xe1e6, fontFamily: familyRound, fontPackage: package); + static const IconData toggle_on_round = IconData(0xe1e8, fontFamily: familyRound, fontPackage: package); ///
Touch icon (round)
- static const IconData touch_round = IconData(0xe1e7, fontFamily: familyRound, fontPackage: package); + static const IconData touch_round = IconData(0xe1e9, fontFamily: familyRound, fontPackage: package); ///
Train icon (round)
- static const IconData train_round = IconData(0xe1e8, fontFamily: familyRound, fontPackage: package); + static const IconData train_round = IconData(0xe1ea, fontFamily: familyRound, fontPackage: package); ///
Transfer icon (round)
- static const IconData transfer_round = IconData(0xe1e9, fontFamily: familyRound, fontPackage: package); + static const IconData transfer_round = IconData(0xe1eb, fontFamily: familyRound, fontPackage: package); ///
Trending Down icon (round)
- static const IconData trending_down_round = IconData(0xe1ea, fontFamily: familyRound, fontPackage: package); + static const IconData trending_down_round = IconData(0xe1ec, fontFamily: familyRound, fontPackage: package); ///
Trending Up icon (round)
- static const IconData trending_up_round = IconData(0xe1eb, fontFamily: familyRound, fontPackage: package); + static const IconData trending_up_round = IconData(0xe1ed, fontFamily: familyRound, fontPackage: package); ///
Tv icon (round)
- static const IconData tv_round = IconData(0xe1ec, fontFamily: familyRound, fontPackage: package); + static const IconData tv_round = IconData(0xe1ee, fontFamily: familyRound, fontPackage: package); ///
Twitter icon (round)
- static const IconData twitter_round = IconData(0xe1ed, fontFamily: familyRound, fontPackage: package); + static const IconData twitter_round = IconData(0xe1ef, fontFamily: familyRound, fontPackage: package); ///
Type icon (round)
- static const IconData type_round = IconData(0xe1ee, fontFamily: familyRound, fontPackage: package); + static const IconData type_round = IconData(0xe1f0, fontFamily: familyRound, fontPackage: package); ///
Uhf Rfid icon (round)
- static const IconData uhf_rfid_round = IconData(0xe1ef, fontFamily: familyRound, fontPackage: package); + static const IconData uhf_rfid_round = IconData(0xe1f1, fontFamily: familyRound, fontPackage: package); ///
Underline icon (round)
- static const IconData underline_round = IconData(0xe1f0, fontFamily: familyRound, fontPackage: package); + static const IconData underline_round = IconData(0xe1f2, fontFamily: familyRound, fontPackage: package); ///
Undo icon (round)
- static const IconData undo_round = IconData(0xe1f1, fontFamily: familyRound, fontPackage: package); + static const IconData undo_round = IconData(0xe1f3, fontFamily: familyRound, fontPackage: package); ///
Unfold Less icon (round)
- static const IconData unfold_less_round = IconData(0xe1f2, fontFamily: familyRound, fontPackage: package); + static const IconData unfold_less_round = IconData(0xe1f4, fontFamily: familyRound, fontPackage: package); ///
Unfold More icon (round)
- static const IconData unfold_more_round = IconData(0xe1f3, fontFamily: familyRound, fontPackage: package); + static const IconData unfold_more_round = IconData(0xe1f5, fontFamily: familyRound, fontPackage: package); ///
Unlock Alt icon (round)
- static const IconData unlock_alt_round = IconData(0xe1f4, fontFamily: familyRound, fontPackage: package); + static const IconData unlock_alt_round = IconData(0xe1f6, fontFamily: familyRound, fontPackage: package); ///
Unlock icon (round)
- static const IconData unlock_round = IconData(0xe1f5, fontFamily: familyRound, fontPackage: package); + static const IconData unlock_round = IconData(0xe1f7, fontFamily: familyRound, fontPackage: package); ///
Unsubscribe icon (round)
- static const IconData unsubscribe_round = IconData(0xe1f6, fontFamily: familyRound, fontPackage: package); + static const IconData unsubscribe_round = IconData(0xe1f8, fontFamily: familyRound, fontPackage: package); ///
Update icon (round)
- static const IconData update_round = IconData(0xe1f7, fontFamily: familyRound, fontPackage: package); + static const IconData update_round = IconData(0xe1f9, fontFamily: familyRound, fontPackage: package); ///
Upload File icon (round)
- static const IconData upload_file_round = IconData(0xe1f8, fontFamily: familyRound, fontPackage: package); + static const IconData upload_file_round = IconData(0xe1fa, fontFamily: familyRound, fontPackage: package); ///
Upload icon (round)
- static const IconData upload_round = IconData(0xe1f9, fontFamily: familyRound, fontPackage: package); + static const IconData upload_round = IconData(0xe1fb, fontFamily: familyRound, fontPackage: package); ///
Usb Alt Device icon (round)
- static const IconData usb_alt_device_round = IconData(0xe1fa, fontFamily: familyRound, fontPackage: package); + static const IconData usb_alt_device_round = IconData(0xe1fc, fontFamily: familyRound, fontPackage: package); ///
Usb Alt icon (round)
- static const IconData usb_alt_round = IconData(0xe1fb, fontFamily: familyRound, fontPackage: package); + static const IconData usb_alt_round = IconData(0xe1fd, fontFamily: familyRound, fontPackage: package); ///
Usb icon (round)
- static const IconData usb_round = IconData(0xe1fc, fontFamily: familyRound, fontPackage: package); + static const IconData usb_round = IconData(0xe1fe, fontFamily: familyRound, fontPackage: package); ///
User Circle icon (round)
- static const IconData user_circle_round = IconData(0xe1fd, fontFamily: familyRound, fontPackage: package); + static const IconData user_circle_round = IconData(0xe1ff, fontFamily: familyRound, fontPackage: package); ///
User Minor icon (round)
- static const IconData user_minor_round = IconData(0xe1fe, fontFamily: familyRound, fontPackage: package); + static const IconData user_minor_round = IconData(0xe200, fontFamily: familyRound, fontPackage: package); ///
User icon (round)
- static const IconData user_round = IconData(0xe1ff, fontFamily: familyRound, fontPackage: package); + static const IconData user_round = IconData(0xe201, fontFamily: familyRound, fontPackage: package); ///
User Settings icon (round)
- static const IconData user_settings_round = IconData(0xe200, fontFamily: familyRound, fontPackage: package); + static const IconData user_settings_round = IconData(0xe202, fontFamily: familyRound, fontPackage: package); ///
Vacation icon (round)
- static const IconData vacation_round = IconData(0xe201, fontFamily: familyRound, fontPackage: package); + static const IconData vacation_round = IconData(0xe203, fontFamily: familyRound, fontPackage: package); ///
Verified icon (round)
- static const IconData verified_round = IconData(0xe202, fontFamily: familyRound, fontPackage: package); + static const IconData verified_round = IconData(0xe204, fontFamily: familyRound, fontPackage: package); ///
Very Satisfied icon (round)
- static const IconData very_satisfied_round = IconData(0xe203, fontFamily: familyRound, fontPackage: package); + static const IconData very_satisfied_round = IconData(0xe205, fontFamily: familyRound, fontPackage: package); ///
Video Camera icon (round)
- static const IconData video_camera_round = IconData(0xe204, fontFamily: familyRound, fontPackage: package); + static const IconData video_camera_round = IconData(0xe206, fontFamily: familyRound, fontPackage: package); ///
Video Off icon (round)
- static const IconData video_off_round = IconData(0xe205, fontFamily: familyRound, fontPackage: package); + static const IconData video_off_round = IconData(0xe207, fontFamily: familyRound, fontPackage: package); ///
Video Play icon (round)
- static const IconData video_play_round = IconData(0xe206, fontFamily: familyRound, fontPackage: package); + static const IconData video_play_round = IconData(0xe208, fontFamily: familyRound, fontPackage: package); ///
Video icon (round)
- static const IconData video_round = IconData(0xe207, fontFamily: familyRound, fontPackage: package); + static const IconData video_round = IconData(0xe209, fontFamily: familyRound, fontPackage: package); ///
Visibility Off icon (round)
- static const IconData visibility_off_round = IconData(0xe208, fontFamily: familyRound, fontPackage: package); + static const IconData visibility_off_round = IconData(0xe20a, fontFamily: familyRound, fontPackage: package); ///
Visibility icon (round)
- static const IconData visibility_round = IconData(0xe209, fontFamily: familyRound, fontPackage: package); + static const IconData visibility_round = IconData(0xe20b, fontFamily: familyRound, fontPackage: package); ///
Volte icon (round)
- static const IconData volte_round = IconData(0xe20a, fontFamily: familyRound, fontPackage: package); + static const IconData volte_round = IconData(0xe20c, fontFamily: familyRound, fontPackage: package); ///
Volume Down icon (round)
- static const IconData volume_down_round = IconData(0xe20b, fontFamily: familyRound, fontPackage: package); + static const IconData volume_down_round = IconData(0xe20d, fontFamily: familyRound, fontPackage: package); ///
Volume Mute icon (round)
- static const IconData volume_mute_round = IconData(0xe20c, fontFamily: familyRound, fontPackage: package); + static const IconData volume_mute_round = IconData(0xe20e, fontFamily: familyRound, fontPackage: package); ///
Volume Off icon (round)
- static const IconData volume_off_round = IconData(0xe20d, fontFamily: familyRound, fontPackage: package); + static const IconData volume_off_round = IconData(0xe20f, fontFamily: familyRound, fontPackage: package); ///
Volume Up icon (round)
- static const IconData volume_up_round = IconData(0xe20e, fontFamily: familyRound, fontPackage: package); + static const IconData volume_up_round = IconData(0xe210, fontFamily: familyRound, fontPackage: package); ///
Warning Outline icon (round)
- static const IconData warning_outline_round = IconData(0xe20f, fontFamily: familyRound, fontPackage: package); + static const IconData warning_outline_round = IconData(0xe211, fontFamily: familyRound, fontPackage: package); ///
Warning icon (round)
- static const IconData warning_round = IconData(0xe210, fontFamily: familyRound, fontPackage: package); + static const IconData warning_round = IconData(0xe212, fontFamily: familyRound, fontPackage: package); ///
Watch icon (round)
- static const IconData watch_round = IconData(0xe211, fontFamily: familyRound, fontPackage: package); + static const IconData watch_round = IconData(0xe213, fontFamily: familyRound, fontPackage: package); ///
Wb Image icon (round)
- static const IconData wb_image_round = IconData(0xe212, fontFamily: familyRound, fontPackage: package); + static const IconData wb_image_round = IconData(0xe214, fontFamily: familyRound, fontPackage: package); ///
Wb icon (round)
- static const IconData wb_round = IconData(0xe213, fontFamily: familyRound, fontPackage: package); + static const IconData wb_round = IconData(0xe215, fontFamily: familyRound, fontPackage: package); ///
World Action icon (round)
- static const IconData world_action_round = IconData(0xe214, fontFamily: familyRound, fontPackage: package); + static const IconData world_action_round = IconData(0xe216, fontFamily: familyRound, fontPackage: package); ///
World icon (round)
- static const IconData world_round = IconData(0xe215, fontFamily: familyRound, fontPackage: package); + static const IconData world_round = IconData(0xe217, fontFamily: familyRound, fontPackage: package); ///
Write icon (round)
- static const IconData write_round = IconData(0xe216, fontFamily: familyRound, fontPackage: package); + static const IconData write_round = IconData(0xe218, fontFamily: familyRound, fontPackage: package); ///
Youtube icon (round)
- static const IconData youtube_round = IconData(0xe217, fontFamily: familyRound, fontPackage: package); + static const IconData youtube_round = IconData(0xe219, fontFamily: familyRound, fontPackage: package); ///
Zero Scale icon (round)
- static const IconData zero_scale_round = IconData(0xe218, fontFamily: familyRound, fontPackage: package); + static const IconData zero_scale_round = IconData(0xe21a, fontFamily: familyRound, fontPackage: package); ///
Zoom In Map icon (round)
- static const IconData zoom_in_map_round = IconData(0xe219, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_in_map_round = IconData(0xe21b, fontFamily: familyRound, fontPackage: package); ///
Zoom In icon (round)
- static const IconData zoom_in_round = IconData(0xe21a, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_in_round = IconData(0xe21c, fontFamily: familyRound, fontPackage: package); ///
Zoom Out Map icon (round)
- static const IconData zoom_out_map_round = IconData(0xe21b, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_out_map_round = IconData(0xe21d, fontFamily: familyRound, fontPackage: package); ///
Zoom Out icon (round)
- static const IconData zoom_out_round = IconData(0xe21c, fontFamily: familyRound, fontPackage: package); + static const IconData zoom_out_round = IconData(0xe21e, fontFamily: familyRound, fontPackage: package); // Sharp Icons ///
Activity icon (sharp)
@@ -4008,888 +4020,894 @@ abstract class ZetaIcons { ///
Glossary icon (sharp)
static const IconData glossary_sharp = IconData(0xe0f6, fontFamily: familySharp, fontPackage: package); + ///
Google Drive icon (sharp)
+ static const IconData google_drive_sharp = IconData(0xe0f7, fontFamily: familySharp, fontPackage: package); + ///
Grid Off icon (sharp)
- static const IconData grid_off_sharp = IconData(0xe0f7, fontFamily: familySharp, fontPackage: package); + static const IconData grid_off_sharp = IconData(0xe0f8, fontFamily: familySharp, fontPackage: package); ///
Grid On icon (sharp)
- static const IconData grid_on_sharp = IconData(0xe0f8, fontFamily: familySharp, fontPackage: package); + static const IconData grid_on_sharp = IconData(0xe0f9, fontFamily: familySharp, fontPackage: package); ///
Grid View icon (sharp)
- static const IconData grid_view_sharp = IconData(0xe0f9, fontFamily: familySharp, fontPackage: package); + static const IconData grid_view_sharp = IconData(0xe0fa, fontFamily: familySharp, fontPackage: package); ///
Group icon (sharp)
- static const IconData group_sharp = IconData(0xe0fa, fontFamily: familySharp, fontPackage: package); + static const IconData group_sharp = IconData(0xe0fb, fontFamily: familySharp, fontPackage: package); ///
Groups icon (sharp)
- static const IconData groups_sharp = IconData(0xe0fb, fontFamily: familySharp, fontPackage: package); + static const IconData groups_sharp = IconData(0xe0fc, fontFamily: familySharp, fontPackage: package); ///
Hamburger Menu Navigation Rail icon (sharp)
static const IconData hamburger_menu_navigation_rail_sharp = - IconData(0xe0fc, fontFamily: familySharp, fontPackage: package); + IconData(0xe0fd, fontFamily: familySharp, fontPackage: package); ///
Hamburger Menu icon (sharp)
- static const IconData hamburger_menu_sharp = IconData(0xe0fd, fontFamily: familySharp, fontPackage: package); + static const IconData hamburger_menu_sharp = IconData(0xe0fe, fontFamily: familySharp, fontPackage: package); ///
Hamburger Menu Thick icon (sharp)
- static const IconData hamburger_menu_thick_sharp = IconData(0xe0fe, fontFamily: familySharp, fontPackage: package); + static const IconData hamburger_menu_thick_sharp = IconData(0xe0ff, fontFamily: familySharp, fontPackage: package); ///
Hand icon (sharp)
- static const IconData hand_sharp = IconData(0xe0ff, fontFamily: familySharp, fontPackage: package); + static const IconData hand_sharp = IconData(0xe100, fontFamily: familySharp, fontPackage: package); ///
Happy icon (sharp)
- static const IconData happy_sharp = IconData(0xe100, fontFamily: familySharp, fontPackage: package); + static const IconData happy_sharp = IconData(0xe101, fontFamily: familySharp, fontPackage: package); ///
Hdmi icon (sharp)
- static const IconData hdmi_sharp = IconData(0xe101, fontFamily: familySharp, fontPackage: package); + static const IconData hdmi_sharp = IconData(0xe102, fontFamily: familySharp, fontPackage: package); ///
Hdr icon (sharp)
- static const IconData hdr_sharp = IconData(0xe102, fontFamily: familySharp, fontPackage: package); + static const IconData hdr_sharp = IconData(0xe103, fontFamily: familySharp, fontPackage: package); ///
Headphones icon (sharp)
- static const IconData headphones_sharp = IconData(0xe103, fontFamily: familySharp, fontPackage: package); + static const IconData headphones_sharp = IconData(0xe104, fontFamily: familySharp, fontPackage: package); ///
Headset icon (sharp)
- static const IconData headset_sharp = IconData(0xe104, fontFamily: familySharp, fontPackage: package); + static const IconData headset_sharp = IconData(0xe105, fontFamily: familySharp, fontPackage: package); ///
Help Outline icon (sharp)
- static const IconData help_outline_sharp = IconData(0xe105, fontFamily: familySharp, fontPackage: package); + static const IconData help_outline_sharp = IconData(0xe106, fontFamily: familySharp, fontPackage: package); ///
Help icon (sharp)
- static const IconData help_sharp = IconData(0xe106, fontFamily: familySharp, fontPackage: package); + static const IconData help_sharp = IconData(0xe107, fontFamily: familySharp, fontPackage: package); ///
History icon (sharp)
- static const IconData history_sharp = IconData(0xe107, fontFamily: familySharp, fontPackage: package); + static const IconData history_sharp = IconData(0xe108, fontFamily: familySharp, fontPackage: package); ///
Home icon (sharp)
- static const IconData home_sharp = IconData(0xe108, fontFamily: familySharp, fontPackage: package); + static const IconData home_sharp = IconData(0xe109, fontFamily: familySharp, fontPackage: package); ///
Hourglass icon (sharp)
- static const IconData hourglass_sharp = IconData(0xe109, fontFamily: familySharp, fontPackage: package); + static const IconData hourglass_sharp = IconData(0xe10a, fontFamily: familySharp, fontPackage: package); ///
How Do I icon (sharp)
- static const IconData how_do_i_sharp = IconData(0xe10a, fontFamily: familySharp, fontPackage: package); + static const IconData how_do_i_sharp = IconData(0xe10b, fontFamily: familySharp, fontPackage: package); ///
Image Library icon (sharp)
- static const IconData image_library_sharp = IconData(0xe10b, fontFamily: familySharp, fontPackage: package); + static const IconData image_library_sharp = IconData(0xe10c, fontFamily: familySharp, fontPackage: package); ///
Image icon (sharp)
- static const IconData image_sharp = IconData(0xe10c, fontFamily: familySharp, fontPackage: package); + static const IconData image_sharp = IconData(0xe10d, fontFamily: familySharp, fontPackage: package); ///
Important Notification icon (sharp)
- static const IconData important_notification_sharp = IconData(0xe10d, fontFamily: familySharp, fontPackage: package); + static const IconData important_notification_sharp = IconData(0xe10e, fontFamily: familySharp, fontPackage: package); ///
Inbox icon (sharp)
- static const IconData inbox_sharp = IconData(0xe10e, fontFamily: familySharp, fontPackage: package); + static const IconData inbox_sharp = IconData(0xe10f, fontFamily: familySharp, fontPackage: package); ///
Indent Decrease icon (sharp)
- static const IconData indent_decrease_sharp = IconData(0xe10f, fontFamily: familySharp, fontPackage: package); + static const IconData indent_decrease_sharp = IconData(0xe110, fontFamily: familySharp, fontPackage: package); ///
Indent Increase icon (sharp)
- static const IconData indent_increase_sharp = IconData(0xe110, fontFamily: familySharp, fontPackage: package); + static const IconData indent_increase_sharp = IconData(0xe111, fontFamily: familySharp, fontPackage: package); ///
Indeterminate Check Box icon (sharp)
- static const IconData indeterminate_check_box_sharp = IconData(0xe111, fontFamily: familySharp, fontPackage: package); + static const IconData indeterminate_check_box_sharp = IconData(0xe112, fontFamily: familySharp, fontPackage: package); ///
Info icon (sharp)
- static const IconData info_sharp = IconData(0xe112, fontFamily: familySharp, fontPackage: package); + static const IconData info_sharp = IconData(0xe113, fontFamily: familySharp, fontPackage: package); ///
Instagram icon (sharp)
- static const IconData instagram_sharp = IconData(0xe113, fontFamily: familySharp, fontPackage: package); + static const IconData instagram_sharp = IconData(0xe114, fontFamily: familySharp, fontPackage: package); ///
Ios Share icon (sharp)
- static const IconData ios_share_sharp = IconData(0xe114, fontFamily: familySharp, fontPackage: package); + static const IconData ios_share_sharp = IconData(0xe115, fontFamily: familySharp, fontPackage: package); ///
Iso icon (sharp)
- static const IconData iso_sharp = IconData(0xe115, fontFamily: familySharp, fontPackage: package); + static const IconData iso_sharp = IconData(0xe116, fontFamily: familySharp, fontPackage: package); ///
Issue Audit icon (sharp)
- static const IconData issue_audit_sharp = IconData(0xe116, fontFamily: familySharp, fontPackage: package); + static const IconData issue_audit_sharp = IconData(0xe117, fontFamily: familySharp, fontPackage: package); ///
Italic icon (sharp)
- static const IconData italic_sharp = IconData(0xe117, fontFamily: familySharp, fontPackage: package); + static const IconData italic_sharp = IconData(0xe118, fontFamily: familySharp, fontPackage: package); ///
Jpg Attach icon (sharp)
- static const IconData jpg_attach_sharp = IconData(0xe118, fontFamily: familySharp, fontPackage: package); + static const IconData jpg_attach_sharp = IconData(0xe119, fontFamily: familySharp, fontPackage: package); ///
Justify icon (sharp)
- static const IconData justify_sharp = IconData(0xe119, fontFamily: familySharp, fontPackage: package); + static const IconData justify_sharp = IconData(0xe11a, fontFamily: familySharp, fontPackage: package); ///
Keyboard icon (sharp)
- static const IconData keyboard_sharp = IconData(0xe11a, fontFamily: familySharp, fontPackage: package); + static const IconData keyboard_sharp = IconData(0xe11b, fontFamily: familySharp, fontPackage: package); ///
Label icon (sharp)
- static const IconData label_sharp = IconData(0xe11b, fontFamily: familySharp, fontPackage: package); + static const IconData label_sharp = IconData(0xe11c, fontFamily: familySharp, fontPackage: package); ///
Laptop icon (sharp)
- static const IconData laptop_sharp = IconData(0xe11c, fontFamily: familySharp, fontPackage: package); + static const IconData laptop_sharp = IconData(0xe11d, fontFamily: familySharp, fontPackage: package); ///
Last Page icon (sharp)
- static const IconData last_page_sharp = IconData(0xe11d, fontFamily: familySharp, fontPackage: package); + static const IconData last_page_sharp = IconData(0xe11e, fontFamily: familySharp, fontPackage: package); ///
Layers icon (sharp)
- static const IconData layers_sharp = IconData(0xe11e, fontFamily: familySharp, fontPackage: package); + static const IconData layers_sharp = IconData(0xe11f, fontFamily: familySharp, fontPackage: package); ///
Light Mode icon (sharp)
- static const IconData light_mode_sharp = IconData(0xe11f, fontFamily: familySharp, fontPackage: package); + static const IconData light_mode_sharp = IconData(0xe120, fontFamily: familySharp, fontPackage: package); ///
Light Rail Train icon (sharp)
- static const IconData light_rail_train_sharp = IconData(0xe120, fontFamily: familySharp, fontPackage: package); + static const IconData light_rail_train_sharp = IconData(0xe121, fontFamily: familySharp, fontPackage: package); ///
Lightbulb icon (sharp)
- static const IconData lightbulb_sharp = IconData(0xe121, fontFamily: familySharp, fontPackage: package); + static const IconData lightbulb_sharp = IconData(0xe122, fontFamily: familySharp, fontPackage: package); ///
Like icon (sharp)
- static const IconData like_sharp = IconData(0xe122, fontFamily: familySharp, fontPackage: package); + static const IconData like_sharp = IconData(0xe123, fontFamily: familySharp, fontPackage: package); ///
Line Spacing icon (sharp)
- static const IconData line_spacing_sharp = IconData(0xe123, fontFamily: familySharp, fontPackage: package); + static const IconData line_spacing_sharp = IconData(0xe124, fontFamily: familySharp, fontPackage: package); ///
Link Add icon (sharp)
- static const IconData link_add_sharp = IconData(0xe124, fontFamily: familySharp, fontPackage: package); + static const IconData link_add_sharp = IconData(0xe125, fontFamily: familySharp, fontPackage: package); ///
Link icon (sharp)
- static const IconData link_sharp = IconData(0xe125, fontFamily: familySharp, fontPackage: package); + static const IconData link_sharp = IconData(0xe126, fontFamily: familySharp, fontPackage: package); ///
Linkedin icon (sharp)
- static const IconData linkedin_sharp = IconData(0xe126, fontFamily: familySharp, fontPackage: package); + static const IconData linkedin_sharp = IconData(0xe127, fontFamily: familySharp, fontPackage: package); ///
List Alt icon (sharp)
- static const IconData list_alt_sharp = IconData(0xe127, fontFamily: familySharp, fontPackage: package); + static const IconData list_alt_sharp = IconData(0xe128, fontFamily: familySharp, fontPackage: package); ///
List Bullet Contained icon (sharp)
- static const IconData list_bullet_contained_sharp = IconData(0xe128, fontFamily: familySharp, fontPackage: package); + static const IconData list_bullet_contained_sharp = IconData(0xe129, fontFamily: familySharp, fontPackage: package); ///
List Feedback icon (sharp)
- static const IconData list_feedback_sharp = IconData(0xe129, fontFamily: familySharp, fontPackage: package); + static const IconData list_feedback_sharp = IconData(0xe12a, fontFamily: familySharp, fontPackage: package); ///
List Form icon (sharp)
- static const IconData list_form_sharp = IconData(0xe12a, fontFamily: familySharp, fontPackage: package); + static const IconData list_form_sharp = IconData(0xe12b, fontFamily: familySharp, fontPackage: package); ///
List icon (sharp)
- static const IconData list_sharp = IconData(0xe12b, fontFamily: familySharp, fontPackage: package); + static const IconData list_sharp = IconData(0xe12c, fontFamily: familySharp, fontPackage: package); ///
Local Shipping icon (sharp)
- static const IconData local_shipping_sharp = IconData(0xe12c, fontFamily: familySharp, fontPackage: package); + static const IconData local_shipping_sharp = IconData(0xe12d, fontFamily: familySharp, fontPackage: package); ///
Location Off icon (sharp)
- static const IconData location_off_sharp = IconData(0xe12d, fontFamily: familySharp, fontPackage: package); + static const IconData location_off_sharp = IconData(0xe12e, fontFamily: familySharp, fontPackage: package); ///
Location Point icon (sharp)
- static const IconData location_point_sharp = IconData(0xe12e, fontFamily: familySharp, fontPackage: package); + static const IconData location_point_sharp = IconData(0xe12f, fontFamily: familySharp, fontPackage: package); ///
Location icon (sharp)
- static const IconData location_sharp = IconData(0xe12f, fontFamily: familySharp, fontPackage: package); + static const IconData location_sharp = IconData(0xe130, fontFamily: familySharp, fontPackage: package); ///
Lock Alt icon (sharp)
- static const IconData lock_alt_sharp = IconData(0xe130, fontFamily: familySharp, fontPackage: package); + static const IconData lock_alt_sharp = IconData(0xe131, fontFamily: familySharp, fontPackage: package); ///
Lock icon (sharp)
- static const IconData lock_sharp = IconData(0xe131, fontFamily: familySharp, fontPackage: package); + static const IconData lock_sharp = IconData(0xe132, fontFamily: familySharp, fontPackage: package); ///
Lock Undo icon (sharp)
- static const IconData lock_undo_sharp = IconData(0xe132, fontFamily: familySharp, fontPackage: package); + static const IconData lock_undo_sharp = IconData(0xe133, fontFamily: familySharp, fontPackage: package); ///
Log In icon (sharp)
- static const IconData log_in_sharp = IconData(0xe133, fontFamily: familySharp, fontPackage: package); + static const IconData log_in_sharp = IconData(0xe134, fontFamily: familySharp, fontPackage: package); ///
Log Out icon (sharp)
- static const IconData log_out_sharp = IconData(0xe134, fontFamily: familySharp, fontPackage: package); + static const IconData log_out_sharp = IconData(0xe135, fontFamily: familySharp, fontPackage: package); ///
Love Outline icon (sharp)
- static const IconData love_outline_sharp = IconData(0xe135, fontFamily: familySharp, fontPackage: package); + static const IconData love_outline_sharp = IconData(0xe136, fontFamily: familySharp, fontPackage: package); ///
Love icon (sharp)
- static const IconData love_sharp = IconData(0xe136, fontFamily: familySharp, fontPackage: package); + static const IconData love_sharp = IconData(0xe137, fontFamily: familySharp, fontPackage: package); ///
Maintenance icon (sharp)
- static const IconData maintenance_sharp = IconData(0xe137, fontFamily: familySharp, fontPackage: package); + static const IconData maintenance_sharp = IconData(0xe138, fontFamily: familySharp, fontPackage: package); ///
Map icon (sharp)
- static const IconData map_sharp = IconData(0xe138, fontFamily: familySharp, fontPackage: package); + static const IconData map_sharp = IconData(0xe139, fontFamily: familySharp, fontPackage: package); ///
Meal icon (sharp)
- static const IconData meal_sharp = IconData(0xe139, fontFamily: familySharp, fontPackage: package); + static const IconData meal_sharp = IconData(0xe13a, fontFamily: familySharp, fontPackage: package); ///
Medium icon (sharp)
- static const IconData medium_sharp = IconData(0xe13a, fontFamily: familySharp, fontPackage: package); + static const IconData medium_sharp = IconData(0xe13b, fontFamily: familySharp, fontPackage: package); ///
Memory icon (sharp)
- static const IconData memory_sharp = IconData(0xe13b, fontFamily: familySharp, fontPackage: package); + static const IconData memory_sharp = IconData(0xe13c, fontFamily: familySharp, fontPackage: package); ///
Message icon (sharp)
- static const IconData message_sharp = IconData(0xe13c, fontFamily: familySharp, fontPackage: package); + static const IconData message_sharp = IconData(0xe13d, fontFamily: familySharp, fontPackage: package); ///
Microphone Off icon (sharp)
- static const IconData microphone_off_sharp = IconData(0xe13d, fontFamily: familySharp, fontPackage: package); + static const IconData microphone_off_sharp = IconData(0xe13e, fontFamily: familySharp, fontPackage: package); ///
Microphone Outline icon (sharp)
- static const IconData microphone_outline_sharp = IconData(0xe13e, fontFamily: familySharp, fontPackage: package); + static const IconData microphone_outline_sharp = IconData(0xe13f, fontFamily: familySharp, fontPackage: package); ///
Microphone icon (sharp)
- static const IconData microphone_sharp = IconData(0xe13f, fontFamily: familySharp, fontPackage: package); + static const IconData microphone_sharp = IconData(0xe140, fontFamily: familySharp, fontPackage: package); ///
Mobile Friendly icon (sharp)
- static const IconData mobile_friendly_sharp = IconData(0xe140, fontFamily: familySharp, fontPackage: package); + static const IconData mobile_friendly_sharp = IconData(0xe141, fontFamily: familySharp, fontPackage: package); ///
Money Euro icon (sharp)
- static const IconData money_euro_sharp = IconData(0xe141, fontFamily: familySharp, fontPackage: package); + static const IconData money_euro_sharp = IconData(0xe142, fontFamily: familySharp, fontPackage: package); ///
Money Pound icon (sharp)
- static const IconData money_pound_sharp = IconData(0xe142, fontFamily: familySharp, fontPackage: package); + static const IconData money_pound_sharp = IconData(0xe143, fontFamily: familySharp, fontPackage: package); ///
Money Usd icon (sharp)
- static const IconData money_usd_sharp = IconData(0xe143, fontFamily: familySharp, fontPackage: package); + static const IconData money_usd_sharp = IconData(0xe144, fontFamily: familySharp, fontPackage: package); ///
Monitor icon (sharp)
- static const IconData monitor_sharp = IconData(0xe144, fontFamily: familySharp, fontPackage: package); + static const IconData monitor_sharp = IconData(0xe145, fontFamily: familySharp, fontPackage: package); ///
More Horizontal icon (sharp)
- static const IconData more_horizontal_sharp = IconData(0xe145, fontFamily: familySharp, fontPackage: package); + static const IconData more_horizontal_sharp = IconData(0xe146, fontFamily: familySharp, fontPackage: package); ///
More Vertical icon (sharp)
- static const IconData more_vertical_sharp = IconData(0xe146, fontFamily: familySharp, fontPackage: package); + static const IconData more_vertical_sharp = IconData(0xe147, fontFamily: familySharp, fontPackage: package); ///
My Location icon (sharp)
- static const IconData my_location_sharp = IconData(0xe147, fontFamily: familySharp, fontPackage: package); + static const IconData my_location_sharp = IconData(0xe148, fontFamily: familySharp, fontPackage: package); ///
Navigate icon (sharp)
- static const IconData navigate_sharp = IconData(0xe148, fontFamily: familySharp, fontPackage: package); + static const IconData navigate_sharp = IconData(0xe149, fontFamily: familySharp, fontPackage: package); ///
Navigation icon (sharp)
- static const IconData navigation_sharp = IconData(0xe149, fontFamily: familySharp, fontPackage: package); + static const IconData navigation_sharp = IconData(0xe14a, fontFamily: familySharp, fontPackage: package); ///
Near Me icon (sharp)
- static const IconData near_me_sharp = IconData(0xe14a, fontFamily: familySharp, fontPackage: package); + static const IconData near_me_sharp = IconData(0xe14b, fontFamily: familySharp, fontPackage: package); ///
Network Signal icon (sharp)
- static const IconData network_signal_sharp = IconData(0xe14b, fontFamily: familySharp, fontPackage: package); + static const IconData network_signal_sharp = IconData(0xe14c, fontFamily: familySharp, fontPackage: package); ///
New Chat icon (sharp)
- static const IconData new_chat_sharp = IconData(0xe14c, fontFamily: familySharp, fontPackage: package); + static const IconData new_chat_sharp = IconData(0xe14d, fontFamily: familySharp, fontPackage: package); ///
Nfc icon (sharp)
- static const IconData nfc_sharp = IconData(0xe14d, fontFamily: familySharp, fontPackage: package); + static const IconData nfc_sharp = IconData(0xe14e, fontFamily: familySharp, fontPackage: package); ///
Night icon (sharp)
- static const IconData night_sharp = IconData(0xe14e, fontFamily: familySharp, fontPackage: package); + static const IconData night_sharp = IconData(0xe14f, fontFamily: familySharp, fontPackage: package); ///
No Color icon (sharp)
- static const IconData no_color_sharp = IconData(0xe14f, fontFamily: familySharp, fontPackage: package); + static const IconData no_color_sharp = IconData(0xe150, fontFamily: familySharp, fontPackage: package); ///
Note icon (sharp)
- static const IconData note_sharp = IconData(0xe150, fontFamily: familySharp, fontPackage: package); + static const IconData note_sharp = IconData(0xe151, fontFamily: familySharp, fontPackage: package); ///
Notifications Off icon (sharp)
- static const IconData notifications_off_sharp = IconData(0xe151, fontFamily: familySharp, fontPackage: package); + static const IconData notifications_off_sharp = IconData(0xe152, fontFamily: familySharp, fontPackage: package); ///
Numbered List icon (sharp)
- static const IconData numbered_list_sharp = IconData(0xe152, fontFamily: familySharp, fontPackage: package); + static const IconData numbered_list_sharp = IconData(0xe153, fontFamily: familySharp, fontPackage: package); ///
Open In Full icon (sharp)
- static const IconData open_in_full_sharp = IconData(0xe153, fontFamily: familySharp, fontPackage: package); + static const IconData open_in_full_sharp = IconData(0xe154, fontFamily: familySharp, fontPackage: package); ///
Open In New Window icon (sharp)
- static const IconData open_in_new_window_sharp = IconData(0xe154, fontFamily: familySharp, fontPackage: package); + static const IconData open_in_new_window_sharp = IconData(0xe155, fontFamily: familySharp, fontPackage: package); ///
Open New Off icon (sharp)
- static const IconData open_new_off_sharp = IconData(0xe155, fontFamily: familySharp, fontPackage: package); + static const IconData open_new_off_sharp = IconData(0xe156, fontFamily: familySharp, fontPackage: package); ///
Page Height icon (sharp)
- static const IconData page_height_sharp = IconData(0xe156, fontFamily: familySharp, fontPackage: package); + static const IconData page_height_sharp = IconData(0xe157, fontFamily: familySharp, fontPackage: package); ///
Page Rotate icon (sharp)
- static const IconData page_rotate_sharp = IconData(0xe157, fontFamily: familySharp, fontPackage: package); + static const IconData page_rotate_sharp = IconData(0xe158, fontFamily: familySharp, fontPackage: package); ///
Page Width icon (sharp)
- static const IconData page_width_sharp = IconData(0xe158, fontFamily: familySharp, fontPackage: package); + static const IconData page_width_sharp = IconData(0xe159, fontFamily: familySharp, fontPackage: package); ///
Palette icon (sharp)
- static const IconData palette_sharp = IconData(0xe159, fontFamily: familySharp, fontPackage: package); + static const IconData palette_sharp = IconData(0xe15a, fontFamily: familySharp, fontPackage: package); ///
Partner icon (sharp)
- static const IconData partner_sharp = IconData(0xe15a, fontFamily: familySharp, fontPackage: package); + static const IconData partner_sharp = IconData(0xe15b, fontFamily: familySharp, fontPackage: package); ///
Pause Circle icon (sharp)
- static const IconData pause_circle_sharp = IconData(0xe15b, fontFamily: familySharp, fontPackage: package); + static const IconData pause_circle_sharp = IconData(0xe15c, fontFamily: familySharp, fontPackage: package); ///
Pause icon (sharp)
- static const IconData pause_sharp = IconData(0xe15c, fontFamily: familySharp, fontPackage: package); + static const IconData pause_sharp = IconData(0xe15d, fontFamily: familySharp, fontPackage: package); ///
Pdf Attach icon (sharp)
- static const IconData pdf_attach_sharp = IconData(0xe15d, fontFamily: familySharp, fontPackage: package); + static const IconData pdf_attach_sharp = IconData(0xe15e, fontFamily: familySharp, fontPackage: package); ///
Pending icon (sharp)
- static const IconData pending_sharp = IconData(0xe15e, fontFamily: familySharp, fontPackage: package); + static const IconData pending_sharp = IconData(0xe15f, fontFamily: familySharp, fontPackage: package); ///
Person Admin icon (sharp)
- static const IconData person_admin_sharp = IconData(0xe15f, fontFamily: familySharp, fontPackage: package); + static const IconData person_admin_sharp = IconData(0xe160, fontFamily: familySharp, fontPackage: package); ///
Person Assign icon (sharp)
- static const IconData person_assign_sharp = IconData(0xe160, fontFamily: familySharp, fontPackage: package); + static const IconData person_assign_sharp = IconData(0xe161, fontFamily: familySharp, fontPackage: package); ///
Person Clock icon (sharp)
- static const IconData person_clock_sharp = IconData(0xe161, fontFamily: familySharp, fontPackage: package); + static const IconData person_clock_sharp = IconData(0xe162, fontFamily: familySharp, fontPackage: package); ///
Person Info icon (sharp)
- static const IconData person_info_sharp = IconData(0xe162, fontFamily: familySharp, fontPackage: package); + static const IconData person_info_sharp = IconData(0xe163, fontFamily: familySharp, fontPackage: package); ///
Person Manager icon (sharp)
- static const IconData person_manager_sharp = IconData(0xe163, fontFamily: familySharp, fontPackage: package); + static const IconData person_manager_sharp = IconData(0xe164, fontFamily: familySharp, fontPackage: package); ///
Person Move icon (sharp)
- static const IconData person_move_sharp = IconData(0xe164, fontFamily: familySharp, fontPackage: package); + static const IconData person_move_sharp = IconData(0xe165, fontFamily: familySharp, fontPackage: package); ///
Person Outline icon (sharp)
- static const IconData person_outline_sharp = IconData(0xe165, fontFamily: familySharp, fontPackage: package); + static const IconData person_outline_sharp = IconData(0xe166, fontFamily: familySharp, fontPackage: package); ///
Person Search icon (sharp)
- static const IconData person_search_sharp = IconData(0xe166, fontFamily: familySharp, fontPackage: package); + static const IconData person_search_sharp = IconData(0xe167, fontFamily: familySharp, fontPackage: package); ///
Person icon (sharp)
- static const IconData person_sharp = IconData(0xe167, fontFamily: familySharp, fontPackage: package); + static const IconData person_sharp = IconData(0xe168, fontFamily: familySharp, fontPackage: package); ///
Person Swap icon (sharp)
- static const IconData person_swap_sharp = IconData(0xe168, fontFamily: familySharp, fontPackage: package); + static const IconData person_swap_sharp = IconData(0xe169, fontFamily: familySharp, fontPackage: package); ///
Person Walk icon (sharp)
- static const IconData person_walk_sharp = IconData(0xe169, fontFamily: familySharp, fontPackage: package); + static const IconData person_walk_sharp = IconData(0xe16a, fontFamily: familySharp, fontPackage: package); ///
Phone Android icon (sharp)
- static const IconData phone_android_sharp = IconData(0xe16a, fontFamily: familySharp, fontPackage: package); + static const IconData phone_android_sharp = IconData(0xe16b, fontFamily: familySharp, fontPackage: package); ///
Phone Bluetooth Speaker icon (sharp)
- static const IconData phone_bluetooth_speaker_sharp = IconData(0xe16b, fontFamily: familySharp, fontPackage: package); + static const IconData phone_bluetooth_speaker_sharp = IconData(0xe16c, fontFamily: familySharp, fontPackage: package); ///
Phone In Talk icon (sharp)
- static const IconData phone_in_talk_sharp = IconData(0xe16c, fontFamily: familySharp, fontPackage: package); + static const IconData phone_in_talk_sharp = IconData(0xe16d, fontFamily: familySharp, fontPackage: package); ///
Phone Iphone icon (sharp)
- static const IconData phone_iphone_sharp = IconData(0xe16d, fontFamily: familySharp, fontPackage: package); + static const IconData phone_iphone_sharp = IconData(0xe16e, fontFamily: familySharp, fontPackage: package); ///
Phone icon (sharp)
- static const IconData phone_sharp = IconData(0xe16e, fontFamily: familySharp, fontPackage: package); + static const IconData phone_sharp = IconData(0xe16f, fontFamily: familySharp, fontPackage: package); ///
Phonelink icon (sharp)
- static const IconData phonelink_sharp = IconData(0xe16f, fontFamily: familySharp, fontPackage: package); + static const IconData phonelink_sharp = IconData(0xe170, fontFamily: familySharp, fontPackage: package); ///
Phrase icon (sharp)
- static const IconData phrase_sharp = IconData(0xe170, fontFamily: familySharp, fontPackage: package); + static const IconData phrase_sharp = IconData(0xe171, fontFamily: familySharp, fontPackage: package); ///
Pin icon (sharp)
- static const IconData pin_sharp = IconData(0xe171, fontFamily: familySharp, fontPackage: package); + static const IconData pin_sharp = IconData(0xe172, fontFamily: familySharp, fontPackage: package); ///
Place icon (sharp)
- static const IconData place_sharp = IconData(0xe172, fontFamily: familySharp, fontPackage: package); + static const IconData place_sharp = IconData(0xe173, fontFamily: familySharp, fontPackage: package); ///
Planogram icon (sharp)
- static const IconData planogram_sharp = IconData(0xe173, fontFamily: familySharp, fontPackage: package); + static const IconData planogram_sharp = IconData(0xe174, fontFamily: familySharp, fontPackage: package); ///
Play Circle icon (sharp)
- static const IconData play_circle_sharp = IconData(0xe174, fontFamily: familySharp, fontPackage: package); + static const IconData play_circle_sharp = IconData(0xe175, fontFamily: familySharp, fontPackage: package); ///
Play Outline icon (sharp)
- static const IconData play_outline_sharp = IconData(0xe175, fontFamily: familySharp, fontPackage: package); + static const IconData play_outline_sharp = IconData(0xe176, fontFamily: familySharp, fontPackage: package); ///
Play icon (sharp)
- static const IconData play_sharp = IconData(0xe176, fontFamily: familySharp, fontPackage: package); + static const IconData play_sharp = IconData(0xe177, fontFamily: familySharp, fontPackage: package); ///
Png Attach icon (sharp)
- static const IconData png_attach_sharp = IconData(0xe177, fontFamily: familySharp, fontPackage: package); + static const IconData png_attach_sharp = IconData(0xe178, fontFamily: familySharp, fontPackage: package); ///
Point Gift icon (sharp)
- static const IconData point_gift_sharp = IconData(0xe178, fontFamily: familySharp, fontPackage: package); + static const IconData point_gift_sharp = IconData(0xe179, fontFamily: familySharp, fontPackage: package); ///
Point Heart icon (sharp)
- static const IconData point_heart_sharp = IconData(0xe179, fontFamily: familySharp, fontPackage: package); + static const IconData point_heart_sharp = IconData(0xe17a, fontFamily: familySharp, fontPackage: package); ///
Point Money icon (sharp)
- static const IconData point_money_sharp = IconData(0xe17a, fontFamily: familySharp, fontPackage: package); + static const IconData point_money_sharp = IconData(0xe17b, fontFamily: familySharp, fontPackage: package); ///
Point Star icon (sharp)
- static const IconData point_star_sharp = IconData(0xe17b, fontFamily: familySharp, fontPackage: package); + static const IconData point_star_sharp = IconData(0xe17c, fontFamily: familySharp, fontPackage: package); ///
Point Token icon (sharp)
- static const IconData point_token_sharp = IconData(0xe17c, fontFamily: familySharp, fontPackage: package); + static const IconData point_token_sharp = IconData(0xe17d, fontFamily: familySharp, fontPackage: package); ///
Portrait icon (sharp)
- static const IconData portrait_sharp = IconData(0xe17d, fontFamily: familySharp, fontPackage: package); + static const IconData portrait_sharp = IconData(0xe17e, fontFamily: familySharp, fontPackage: package); ///
Ppt Attach icon (sharp)
- static const IconData ppt_attach_sharp = IconData(0xe17e, fontFamily: familySharp, fontPackage: package); + static const IconData ppt_attach_sharp = IconData(0xe17f, fontFamily: familySharp, fontPackage: package); ///
Price icon (sharp)
- static const IconData price_sharp = IconData(0xe17f, fontFamily: familySharp, fontPackage: package); + static const IconData price_sharp = IconData(0xe180, fontFamily: familySharp, fontPackage: package); ///
Printer icon (sharp)
- static const IconData printer_sharp = IconData(0xe180, fontFamily: familySharp, fontPackage: package); + static const IconData printer_sharp = IconData(0xe181, fontFamily: familySharp, fontPackage: package); ///
Priority icon (sharp)
- static const IconData priority_sharp = IconData(0xe181, fontFamily: familySharp, fontPackage: package); + static const IconData priority_sharp = IconData(0xe182, fontFamily: familySharp, fontPackage: package); ///
Pro icon (sharp)
- static const IconData pro_sharp = IconData(0xe182, fontFamily: familySharp, fontPackage: package); + static const IconData pro_sharp = IconData(0xe183, fontFamily: familySharp, fontPackage: package); ///
Productivity Apps icon (sharp)
- static const IconData productivity_apps_sharp = IconData(0xe183, fontFamily: familySharp, fontPackage: package); + static const IconData productivity_apps_sharp = IconData(0xe184, fontFamily: familySharp, fontPackage: package); ///
Ptt icon (sharp)
- static const IconData ptt_sharp = IconData(0xe184, fontFamily: familySharp, fontPackage: package); + static const IconData ptt_sharp = IconData(0xe185, fontFamily: familySharp, fontPackage: package); ///
Publish icon (sharp)
- static const IconData publish_sharp = IconData(0xe185, fontFamily: familySharp, fontPackage: package); + static const IconData publish_sharp = IconData(0xe186, fontFamily: familySharp, fontPackage: package); + + ///
Push Pin Off icon (sharp)
+ static const IconData push_pin_off_sharp = IconData(0xe187, fontFamily: familySharp, fontPackage: package); ///
Push Pin icon (sharp)
- static const IconData push_pin_sharp = IconData(0xe186, fontFamily: familySharp, fontPackage: package); + static const IconData push_pin_sharp = IconData(0xe188, fontFamily: familySharp, fontPackage: package); ///
Qr Code icon (sharp)
- static const IconData qr_code_sharp = IconData(0xe187, fontFamily: familySharp, fontPackage: package); + static const IconData qr_code_sharp = IconData(0xe189, fontFamily: familySharp, fontPackage: package); ///
Queue icon (sharp)
- static const IconData queue_sharp = IconData(0xe188, fontFamily: familySharp, fontPackage: package); + static const IconData queue_sharp = IconData(0xe18a, fontFamily: familySharp, fontPackage: package); ///
Radio Button Checked icon (sharp)
- static const IconData radio_button_checked_sharp = IconData(0xe189, fontFamily: familySharp, fontPackage: package); + static const IconData radio_button_checked_sharp = IconData(0xe18b, fontFamily: familySharp, fontPackage: package); ///
Radio Button Unchecked icon (sharp)
- static const IconData radio_button_unchecked_sharp = IconData(0xe18a, fontFamily: familySharp, fontPackage: package); + static const IconData radio_button_unchecked_sharp = IconData(0xe18c, fontFamily: familySharp, fontPackage: package); ///
React Add icon (sharp)
- static const IconData react_add_sharp = IconData(0xe18b, fontFamily: familySharp, fontPackage: package); + static const IconData react_add_sharp = IconData(0xe18d, fontFamily: familySharp, fontPackage: package); ///
React Thumbsup icon (sharp)
- static const IconData react_thumbsup_sharp = IconData(0xe18c, fontFamily: familySharp, fontPackage: package); + static const IconData react_thumbsup_sharp = IconData(0xe18e, fontFamily: familySharp, fontPackage: package); ///
Recall icon (sharp)
- static const IconData recall_sharp = IconData(0xe18d, fontFamily: familySharp, fontPackage: package); + static const IconData recall_sharp = IconData(0xe18f, fontFamily: familySharp, fontPackage: package); ///
Receipt icon (sharp)
- static const IconData receipt_sharp = IconData(0xe18e, fontFamily: familySharp, fontPackage: package); + static const IconData receipt_sharp = IconData(0xe190, fontFamily: familySharp, fontPackage: package); ///
Recording icon (sharp)
- static const IconData recording_sharp = IconData(0xe18f, fontFamily: familySharp, fontPackage: package); + static const IconData recording_sharp = IconData(0xe191, fontFamily: familySharp, fontPackage: package); ///
Redo icon (sharp)
- static const IconData redo_sharp = IconData(0xe190, fontFamily: familySharp, fontPackage: package); + static const IconData redo_sharp = IconData(0xe192, fontFamily: familySharp, fontPackage: package); ///
Refresh icon (sharp)
- static const IconData refresh_sharp = IconData(0xe191, fontFamily: familySharp, fontPackage: package); + static const IconData refresh_sharp = IconData(0xe193, fontFamily: familySharp, fontPackage: package); ///
Remove Box icon (sharp)
- static const IconData remove_box_sharp = IconData(0xe192, fontFamily: familySharp, fontPackage: package); + static const IconData remove_box_sharp = IconData(0xe194, fontFamily: familySharp, fontPackage: package); ///
Remove Circle Outline icon (sharp)
- static const IconData remove_circle_outline_sharp = IconData(0xe193, fontFamily: familySharp, fontPackage: package); + static const IconData remove_circle_outline_sharp = IconData(0xe195, fontFamily: familySharp, fontPackage: package); ///
Remove Circle icon (sharp)
- static const IconData remove_circle_sharp = IconData(0xe194, fontFamily: familySharp, fontPackage: package); + static const IconData remove_circle_sharp = IconData(0xe196, fontFamily: familySharp, fontPackage: package); ///
Remove Group icon (sharp)
- static const IconData remove_group_sharp = IconData(0xe195, fontFamily: familySharp, fontPackage: package); + static const IconData remove_group_sharp = IconData(0xe197, fontFamily: familySharp, fontPackage: package); ///
Remove Person icon (sharp)
- static const IconData remove_person_sharp = IconData(0xe196, fontFamily: familySharp, fontPackage: package); + static const IconData remove_person_sharp = IconData(0xe198, fontFamily: familySharp, fontPackage: package); ///
Remove icon (sharp)
- static const IconData remove_sharp = IconData(0xe197, fontFamily: familySharp, fontPackage: package); + static const IconData remove_sharp = IconData(0xe199, fontFamily: familySharp, fontPackage: package); ///
Renew icon (sharp)
- static const IconData renew_sharp = IconData(0xe198, fontFamily: familySharp, fontPackage: package); + static const IconData renew_sharp = IconData(0xe19a, fontFamily: familySharp, fontPackage: package); ///
Reorder icon (sharp)
- static const IconData reorder_sharp = IconData(0xe199, fontFamily: familySharp, fontPackage: package); + static const IconData reorder_sharp = IconData(0xe19b, fontFamily: familySharp, fontPackage: package); ///
Repeat icon (sharp)
- static const IconData repeat_sharp = IconData(0xe19a, fontFamily: familySharp, fontPackage: package); + static const IconData repeat_sharp = IconData(0xe19c, fontFamily: familySharp, fontPackage: package); ///
Replay icon (sharp)
- static const IconData replay_sharp = IconData(0xe19b, fontFamily: familySharp, fontPackage: package); + static const IconData replay_sharp = IconData(0xe19d, fontFamily: familySharp, fontPackage: package); ///
Reply icon (sharp)
- static const IconData reply_sharp = IconData(0xe19c, fontFamily: familySharp, fontPackage: package); + static const IconData reply_sharp = IconData(0xe19e, fontFamily: familySharp, fontPackage: package); ///
Report icon (sharp)
- static const IconData report_sharp = IconData(0xe19d, fontFamily: familySharp, fontPackage: package); + static const IconData report_sharp = IconData(0xe19f, fontFamily: familySharp, fontPackage: package); ///
Restart Alt icon (sharp)
- static const IconData restart_alt_sharp = IconData(0xe19e, fontFamily: familySharp, fontPackage: package); + static const IconData restart_alt_sharp = IconData(0xe1a0, fontFamily: familySharp, fontPackage: package); ///
Review icon (sharp)
- static const IconData review_sharp = IconData(0xe19f, fontFamily: familySharp, fontPackage: package); + static const IconData review_sharp = IconData(0xe1a1, fontFamily: familySharp, fontPackage: package); ///
Road Map icon (sharp)
- static const IconData road_map_sharp = IconData(0xe1a0, fontFamily: familySharp, fontPackage: package); + static const IconData road_map_sharp = IconData(0xe1a2, fontFamily: familySharp, fontPackage: package); ///
Rotate Left icon (sharp)
- static const IconData rotate_left_sharp = IconData(0xe1a1, fontFamily: familySharp, fontPackage: package); + static const IconData rotate_left_sharp = IconData(0xe1a3, fontFamily: familySharp, fontPackage: package); ///
Rotate Right icon (sharp)
- static const IconData rotate_right_sharp = IconData(0xe1a2, fontFamily: familySharp, fontPackage: package); + static const IconData rotate_right_sharp = IconData(0xe1a4, fontFamily: familySharp, fontPackage: package); ///
Rss Feed icon (sharp)
- static const IconData rss_feed_sharp = IconData(0xe1a3, fontFamily: familySharp, fontPackage: package); + static const IconData rss_feed_sharp = IconData(0xe1a5, fontFamily: familySharp, fontPackage: package); ///
Rules icon (sharp)
- static const IconData rules_sharp = IconData(0xe1a4, fontFamily: familySharp, fontPackage: package); + static const IconData rules_sharp = IconData(0xe1a6, fontFamily: familySharp, fontPackage: package); ///
Sad icon (sharp)
- static const IconData sad_sharp = IconData(0xe1a5, fontFamily: familySharp, fontPackage: package); + static const IconData sad_sharp = IconData(0xe1a7, fontFamily: familySharp, fontPackage: package); ///
Satisfied icon (sharp)
- static const IconData satisfied_sharp = IconData(0xe1a6, fontFamily: familySharp, fontPackage: package); + static const IconData satisfied_sharp = IconData(0xe1a8, fontFamily: familySharp, fontPackage: package); ///
Save Alt icon (sharp)
- static const IconData save_alt_sharp = IconData(0xe1a7, fontFamily: familySharp, fontPackage: package); + static const IconData save_alt_sharp = IconData(0xe1a9, fontFamily: familySharp, fontPackage: package); ///
Save Content icon (sharp)
- static const IconData save_content_sharp = IconData(0xe1a8, fontFamily: familySharp, fontPackage: package); + static const IconData save_content_sharp = IconData(0xe1aa, fontFamily: familySharp, fontPackage: package); ///
Save icon (sharp)
- static const IconData save_sharp = IconData(0xe1a9, fontFamily: familySharp, fontPackage: package); + static const IconData save_sharp = IconData(0xe1ab, fontFamily: familySharp, fontPackage: package); ///
Scan Rate icon (sharp)
- static const IconData scan_rate_sharp = IconData(0xe1aa, fontFamily: familySharp, fontPackage: package); + static const IconData scan_rate_sharp = IconData(0xe1ac, fontFamily: familySharp, fontPackage: package); ///
Scanner icon (sharp)
- static const IconData scanner_sharp = IconData(0xe1ab, fontFamily: familySharp, fontPackage: package); + static const IconData scanner_sharp = IconData(0xe1ad, fontFamily: familySharp, fontPackage: package); ///
Schedule icon (sharp)
- static const IconData schedule_sharp = IconData(0xe1ac, fontFamily: familySharp, fontPackage: package); + static const IconData schedule_sharp = IconData(0xe1ae, fontFamily: familySharp, fontPackage: package); ///
School icon (sharp)
- static const IconData school_sharp = IconData(0xe1ad, fontFamily: familySharp, fontPackage: package); + static const IconData school_sharp = IconData(0xe1af, fontFamily: familySharp, fontPackage: package); ///
Screen Rotation icon (sharp)
- static const IconData screen_rotation_sharp = IconData(0xe1ae, fontFamily: familySharp, fontPackage: package); + static const IconData screen_rotation_sharp = IconData(0xe1b0, fontFamily: familySharp, fontPackage: package); ///
Sd Card icon (sharp)
- static const IconData sd_card_sharp = IconData(0xe1af, fontFamily: familySharp, fontPackage: package); + static const IconData sd_card_sharp = IconData(0xe1b1, fontFamily: familySharp, fontPackage: package); ///
Search icon (sharp)
- static const IconData search_sharp = IconData(0xe1b0, fontFamily: familySharp, fontPackage: package); + static const IconData search_sharp = IconData(0xe1b2, fontFamily: familySharp, fontPackage: package); ///
Security Check icon (sharp)
- static const IconData security_check_sharp = IconData(0xe1b1, fontFamily: familySharp, fontPackage: package); + static const IconData security_check_sharp = IconData(0xe1b3, fontFamily: familySharp, fontPackage: package); ///
Security icon (sharp)
- static const IconData security_sharp = IconData(0xe1b2, fontFamily: familySharp, fontPackage: package); + static const IconData security_sharp = IconData(0xe1b4, fontFamily: familySharp, fontPackage: package); ///
Send icon (sharp)
- static const IconData send_sharp = IconData(0xe1b3, fontFamily: familySharp, fontPackage: package); + static const IconData send_sharp = IconData(0xe1b5, fontFamily: familySharp, fontPackage: package); ///
Settings icon (sharp)
- static const IconData settings_sharp = IconData(0xe1b4, fontFamily: familySharp, fontPackage: package); + static const IconData settings_sharp = IconData(0xe1b6, fontFamily: familySharp, fontPackage: package); ///
Shape Recognition icon (sharp)
- static const IconData shape_recognition_sharp = IconData(0xe1b5, fontFamily: familySharp, fontPackage: package); + static const IconData shape_recognition_sharp = IconData(0xe1b7, fontFamily: familySharp, fontPackage: package); ///
Share icon (sharp)
- static const IconData share_sharp = IconData(0xe1b6, fontFamily: familySharp, fontPackage: package); + static const IconData share_sharp = IconData(0xe1b8, fontFamily: familySharp, fontPackage: package); ///
Shared Folder icon (sharp)
- static const IconData shared_folder_sharp = IconData(0xe1b7, fontFamily: familySharp, fontPackage: package); + static const IconData shared_folder_sharp = IconData(0xe1b9, fontFamily: familySharp, fontPackage: package); ///
Ship icon (sharp)
- static const IconData ship_sharp = IconData(0xe1b8, fontFamily: familySharp, fontPackage: package); + static const IconData ship_sharp = IconData(0xe1ba, fontFamily: familySharp, fontPackage: package); ///
Sim Card icon (sharp)
- static const IconData sim_card_sharp = IconData(0xe1b9, fontFamily: familySharp, fontPackage: package); + static const IconData sim_card_sharp = IconData(0xe1bb, fontFamily: familySharp, fontPackage: package); ///
Skip Next icon (sharp)
- static const IconData skip_next_sharp = IconData(0xe1ba, fontFamily: familySharp, fontPackage: package); + static const IconData skip_next_sharp = IconData(0xe1bc, fontFamily: familySharp, fontPackage: package); ///
Skip Previous icon (sharp)
- static const IconData skip_previous_sharp = IconData(0xe1bb, fontFamily: familySharp, fontPackage: package); + static const IconData skip_previous_sharp = IconData(0xe1bd, fontFamily: familySharp, fontPackage: package); ///
Slide Show icon (sharp)
- static const IconData slide_show_sharp = IconData(0xe1bc, fontFamily: familySharp, fontPackage: package); + static const IconData slide_show_sharp = IconData(0xe1be, fontFamily: familySharp, fontPackage: package); ///
Smart Phone icon (sharp)
- static const IconData smart_phone_sharp = IconData(0xe1bd, fontFamily: familySharp, fontPackage: package); + static const IconData smart_phone_sharp = IconData(0xe1bf, fontFamily: familySharp, fontPackage: package); ///
Sms icon (sharp)
- static const IconData sms_sharp = IconData(0xe1be, fontFamily: familySharp, fontPackage: package); + static const IconData sms_sharp = IconData(0xe1c0, fontFamily: familySharp, fontPackage: package); ///
Snooze icon (sharp)
- static const IconData snooze_sharp = IconData(0xe1bf, fontFamily: familySharp, fontPackage: package); + static const IconData snooze_sharp = IconData(0xe1c1, fontFamily: familySharp, fontPackage: package); ///
Solutions icon (sharp)
- static const IconData solutions_sharp = IconData(0xe1c0, fontFamily: familySharp, fontPackage: package); + static const IconData solutions_sharp = IconData(0xe1c2, fontFamily: familySharp, fontPackage: package); ///
Sort Content icon (sharp)
- static const IconData sort_content_sharp = IconData(0xe1c1, fontFamily: familySharp, fontPackage: package); + static const IconData sort_content_sharp = IconData(0xe1c3, fontFamily: familySharp, fontPackage: package); ///
Sort icon (sharp)
- static const IconData sort_sharp = IconData(0xe1c2, fontFamily: familySharp, fontPackage: package); + static const IconData sort_sharp = IconData(0xe1c4, fontFamily: familySharp, fontPackage: package); ///
Speaker icon (sharp)
- static const IconData speaker_sharp = IconData(0xe1c3, fontFamily: familySharp, fontPackage: package); + static const IconData speaker_sharp = IconData(0xe1c5, fontFamily: familySharp, fontPackage: package); ///
Star Half icon (sharp)
- static const IconData star_half_sharp = IconData(0xe1c4, fontFamily: familySharp, fontPackage: package); + static const IconData star_half_sharp = IconData(0xe1c6, fontFamily: familySharp, fontPackage: package); ///
Star Outline icon (sharp)
- static const IconData star_outline_sharp = IconData(0xe1c5, fontFamily: familySharp, fontPackage: package); + static const IconData star_outline_sharp = IconData(0xe1c7, fontFamily: familySharp, fontPackage: package); ///
Star icon (sharp)
- static const IconData star_sharp = IconData(0xe1c6, fontFamily: familySharp, fontPackage: package); + static const IconData star_sharp = IconData(0xe1c8, fontFamily: familySharp, fontPackage: package); ///
Steps icon (sharp)
- static const IconData steps_sharp = IconData(0xe1c7, fontFamily: familySharp, fontPackage: package); + static const IconData steps_sharp = IconData(0xe1c9, fontFamily: familySharp, fontPackage: package); ///
Sticker icon (sharp)
- static const IconData sticker_sharp = IconData(0xe1c8, fontFamily: familySharp, fontPackage: package); + static const IconData sticker_sharp = IconData(0xe1ca, fontFamily: familySharp, fontPackage: package); ///
Stop Circle icon (sharp)
- static const IconData stop_circle_sharp = IconData(0xe1c9, fontFamily: familySharp, fontPackage: package); + static const IconData stop_circle_sharp = IconData(0xe1cb, fontFamily: familySharp, fontPackage: package); ///
Stop icon (sharp)
- static const IconData stop_sharp = IconData(0xe1ca, fontFamily: familySharp, fontPackage: package); + static const IconData stop_sharp = IconData(0xe1cc, fontFamily: familySharp, fontPackage: package); ///
Store Release icon (sharp)
- static const IconData store_release_sharp = IconData(0xe1cb, fontFamily: familySharp, fontPackage: package); + static const IconData store_release_sharp = IconData(0xe1cd, fontFamily: familySharp, fontPackage: package); ///
Store icon (sharp)
- static const IconData store_sharp = IconData(0xe1cc, fontFamily: familySharp, fontPackage: package); + static const IconData store_sharp = IconData(0xe1ce, fontFamily: familySharp, fontPackage: package); ///
Store Swap icon (sharp)
- static const IconData store_swap_sharp = IconData(0xe1cd, fontFamily: familySharp, fontPackage: package); + static const IconData store_swap_sharp = IconData(0xe1cf, fontFamily: familySharp, fontPackage: package); ///
Store Transfer icon (sharp)
- static const IconData store_transfer_sharp = IconData(0xe1ce, fontFamily: familySharp, fontPackage: package); + static const IconData store_transfer_sharp = IconData(0xe1d0, fontFamily: familySharp, fontPackage: package); ///
Straighten icon (sharp)
- static const IconData straighten_sharp = IconData(0xe1cf, fontFamily: familySharp, fontPackage: package); + static const IconData straighten_sharp = IconData(0xe1d1, fontFamily: familySharp, fontPackage: package); ///
Strategy icon (sharp)
- static const IconData strategy_sharp = IconData(0xe1d0, fontFamily: familySharp, fontPackage: package); + static const IconData strategy_sharp = IconData(0xe1d2, fontFamily: familySharp, fontPackage: package); ///
Strikethrough icon (sharp)
- static const IconData strikethrough_sharp = IconData(0xe1d1, fontFamily: familySharp, fontPackage: package); + static const IconData strikethrough_sharp = IconData(0xe1d3, fontFamily: familySharp, fontPackage: package); ///
Subscribe icon (sharp)
- static const IconData subscribe_sharp = IconData(0xe1d2, fontFamily: familySharp, fontPackage: package); + static const IconData subscribe_sharp = IconData(0xe1d4, fontFamily: familySharp, fontPackage: package); ///
Swap icon (sharp)
- static const IconData swap_sharp = IconData(0xe1d3, fontFamily: familySharp, fontPackage: package); + static const IconData swap_sharp = IconData(0xe1d5, fontFamily: familySharp, fontPackage: package); ///
Switch User icon (sharp)
- static const IconData switch_user_sharp = IconData(0xe1d4, fontFamily: familySharp, fontPackage: package); + static const IconData switch_user_sharp = IconData(0xe1d6, fontFamily: familySharp, fontPackage: package); ///
Sync Action icon (sharp)
- static const IconData sync_action_sharp = IconData(0xe1d5, fontFamily: familySharp, fontPackage: package); + static const IconData sync_action_sharp = IconData(0xe1d7, fontFamily: familySharp, fontPackage: package); ///
Sync Disabled icon (sharp)
- static const IconData sync_disabled_sharp = IconData(0xe1d6, fontFamily: familySharp, fontPackage: package); + static const IconData sync_disabled_sharp = IconData(0xe1d8, fontFamily: familySharp, fontPackage: package); ///
Sync icon (sharp)
- static const IconData sync_sharp = IconData(0xe1d7, fontFamily: familySharp, fontPackage: package); + static const IconData sync_sharp = IconData(0xe1d9, fontFamily: familySharp, fontPackage: package); ///
Table icon (sharp)
- static const IconData table_sharp = IconData(0xe1d8, fontFamily: familySharp, fontPackage: package); + static const IconData table_sharp = IconData(0xe1da, fontFamily: familySharp, fontPackage: package); ///
Tablet Mac icon (sharp)
- static const IconData tablet_mac_sharp = IconData(0xe1d9, fontFamily: familySharp, fontPackage: package); + static const IconData tablet_mac_sharp = IconData(0xe1db, fontFamily: familySharp, fontPackage: package); ///
Tablet icon (sharp)
- static const IconData tablet_sharp = IconData(0xe1da, fontFamily: familySharp, fontPackage: package); + static const IconData tablet_sharp = IconData(0xe1dc, fontFamily: familySharp, fontPackage: package); ///
Tag Enterprise icon (sharp)
- static const IconData tag_enterprise_sharp = IconData(0xe1db, fontFamily: familySharp, fontPackage: package); + static const IconData tag_enterprise_sharp = IconData(0xe1dd, fontFamily: familySharp, fontPackage: package); ///
Tag icon (sharp)
- static const IconData tag_sharp = IconData(0xe1dc, fontFamily: familySharp, fontPackage: package); + static const IconData tag_sharp = IconData(0xe1de, fontFamily: familySharp, fontPackage: package); ///
Tap To Pay icon (sharp)
- static const IconData tap_to_pay_sharp = IconData(0xe1dd, fontFamily: familySharp, fontPackage: package); + static const IconData tap_to_pay_sharp = IconData(0xe1df, fontFamily: familySharp, fontPackage: package); ///
Taxi icon (sharp)
- static const IconData taxi_sharp = IconData(0xe1de, fontFamily: familySharp, fontPackage: package); + static const IconData taxi_sharp = IconData(0xe1e0, fontFamily: familySharp, fontPackage: package); ///
Text Color icon (sharp)
- static const IconData text_color_sharp = IconData(0xe1df, fontFamily: familySharp, fontPackage: package); + static const IconData text_color_sharp = IconData(0xe1e1, fontFamily: familySharp, fontPackage: package); ///
Tiers icon (sharp)
- static const IconData tiers_sharp = IconData(0xe1e0, fontFamily: familySharp, fontPackage: package); + static const IconData tiers_sharp = IconData(0xe1e2, fontFamily: familySharp, fontPackage: package); ///
Timecard Approve icon (sharp)
- static const IconData timecard_approve_sharp = IconData(0xe1e1, fontFamily: familySharp, fontPackage: package); + static const IconData timecard_approve_sharp = IconData(0xe1e3, fontFamily: familySharp, fontPackage: package); ///
Timecard icon (sharp)
- static const IconData timecard_sharp = IconData(0xe1e2, fontFamily: familySharp, fontPackage: package); + static const IconData timecard_sharp = IconData(0xe1e4, fontFamily: familySharp, fontPackage: package); ///
Timecard Warning icon (sharp)
- static const IconData timecard_warning_sharp = IconData(0xe1e3, fontFamily: familySharp, fontPackage: package); + static const IconData timecard_warning_sharp = IconData(0xe1e5, fontFamily: familySharp, fontPackage: package); ///
Timer icon (sharp)
- static const IconData timer_sharp = IconData(0xe1e4, fontFamily: familySharp, fontPackage: package); + static const IconData timer_sharp = IconData(0xe1e6, fontFamily: familySharp, fontPackage: package); ///
Toggle Off icon (sharp)
- static const IconData toggle_off_sharp = IconData(0xe1e5, fontFamily: familySharp, fontPackage: package); + static const IconData toggle_off_sharp = IconData(0xe1e7, fontFamily: familySharp, fontPackage: package); ///
Toggle On icon (sharp)
- static const IconData toggle_on_sharp = IconData(0xe1e6, fontFamily: familySharp, fontPackage: package); + static const IconData toggle_on_sharp = IconData(0xe1e8, fontFamily: familySharp, fontPackage: package); ///
Touch icon (sharp)
- static const IconData touch_sharp = IconData(0xe1e7, fontFamily: familySharp, fontPackage: package); + static const IconData touch_sharp = IconData(0xe1e9, fontFamily: familySharp, fontPackage: package); ///
Train icon (sharp)
- static const IconData train_sharp = IconData(0xe1e8, fontFamily: familySharp, fontPackage: package); + static const IconData train_sharp = IconData(0xe1ea, fontFamily: familySharp, fontPackage: package); ///
Transfer icon (sharp)
- static const IconData transfer_sharp = IconData(0xe1e9, fontFamily: familySharp, fontPackage: package); + static const IconData transfer_sharp = IconData(0xe1eb, fontFamily: familySharp, fontPackage: package); ///
Trending Down icon (sharp)
- static const IconData trending_down_sharp = IconData(0xe1ea, fontFamily: familySharp, fontPackage: package); + static const IconData trending_down_sharp = IconData(0xe1ec, fontFamily: familySharp, fontPackage: package); ///
Trending Up icon (sharp)
- static const IconData trending_up_sharp = IconData(0xe1eb, fontFamily: familySharp, fontPackage: package); + static const IconData trending_up_sharp = IconData(0xe1ed, fontFamily: familySharp, fontPackage: package); ///
Tv icon (sharp)
- static const IconData tv_sharp = IconData(0xe1ec, fontFamily: familySharp, fontPackage: package); + static const IconData tv_sharp = IconData(0xe1ee, fontFamily: familySharp, fontPackage: package); ///
Twitter icon (sharp)
- static const IconData twitter_sharp = IconData(0xe1ed, fontFamily: familySharp, fontPackage: package); + static const IconData twitter_sharp = IconData(0xe1ef, fontFamily: familySharp, fontPackage: package); ///
Type icon (sharp)
- static const IconData type_sharp = IconData(0xe1ee, fontFamily: familySharp, fontPackage: package); + static const IconData type_sharp = IconData(0xe1f0, fontFamily: familySharp, fontPackage: package); ///
Uhf Rfid icon (sharp)
- static const IconData uhf_rfid_sharp = IconData(0xe1ef, fontFamily: familySharp, fontPackage: package); + static const IconData uhf_rfid_sharp = IconData(0xe1f1, fontFamily: familySharp, fontPackage: package); ///
Underline icon (sharp)
- static const IconData underline_sharp = IconData(0xe1f0, fontFamily: familySharp, fontPackage: package); + static const IconData underline_sharp = IconData(0xe1f2, fontFamily: familySharp, fontPackage: package); ///
Undo icon (sharp)
- static const IconData undo_sharp = IconData(0xe1f1, fontFamily: familySharp, fontPackage: package); + static const IconData undo_sharp = IconData(0xe1f3, fontFamily: familySharp, fontPackage: package); ///
Unfold Less icon (sharp)
- static const IconData unfold_less_sharp = IconData(0xe1f2, fontFamily: familySharp, fontPackage: package); + static const IconData unfold_less_sharp = IconData(0xe1f4, fontFamily: familySharp, fontPackage: package); ///
Unfold More icon (sharp)
- static const IconData unfold_more_sharp = IconData(0xe1f3, fontFamily: familySharp, fontPackage: package); + static const IconData unfold_more_sharp = IconData(0xe1f5, fontFamily: familySharp, fontPackage: package); ///
Unlock Alt icon (sharp)
- static const IconData unlock_alt_sharp = IconData(0xe1f4, fontFamily: familySharp, fontPackage: package); + static const IconData unlock_alt_sharp = IconData(0xe1f6, fontFamily: familySharp, fontPackage: package); ///
Unlock icon (sharp)
- static const IconData unlock_sharp = IconData(0xe1f5, fontFamily: familySharp, fontPackage: package); + static const IconData unlock_sharp = IconData(0xe1f7, fontFamily: familySharp, fontPackage: package); ///
Unsubscribe icon (sharp)
- static const IconData unsubscribe_sharp = IconData(0xe1f6, fontFamily: familySharp, fontPackage: package); + static const IconData unsubscribe_sharp = IconData(0xe1f8, fontFamily: familySharp, fontPackage: package); ///
Update icon (sharp)
- static const IconData update_sharp = IconData(0xe1f7, fontFamily: familySharp, fontPackage: package); + static const IconData update_sharp = IconData(0xe1f9, fontFamily: familySharp, fontPackage: package); ///
Upload File icon (sharp)
- static const IconData upload_file_sharp = IconData(0xe1f8, fontFamily: familySharp, fontPackage: package); + static const IconData upload_file_sharp = IconData(0xe1fa, fontFamily: familySharp, fontPackage: package); ///
Upload icon (sharp)
- static const IconData upload_sharp = IconData(0xe1f9, fontFamily: familySharp, fontPackage: package); + static const IconData upload_sharp = IconData(0xe1fb, fontFamily: familySharp, fontPackage: package); ///
Usb Alt Device icon (sharp)
- static const IconData usb_alt_device_sharp = IconData(0xe1fa, fontFamily: familySharp, fontPackage: package); + static const IconData usb_alt_device_sharp = IconData(0xe1fc, fontFamily: familySharp, fontPackage: package); ///
Usb Alt icon (sharp)
- static const IconData usb_alt_sharp = IconData(0xe1fb, fontFamily: familySharp, fontPackage: package); + static const IconData usb_alt_sharp = IconData(0xe1fd, fontFamily: familySharp, fontPackage: package); ///
Usb icon (sharp)
- static const IconData usb_sharp = IconData(0xe1fc, fontFamily: familySharp, fontPackage: package); + static const IconData usb_sharp = IconData(0xe1fe, fontFamily: familySharp, fontPackage: package); ///
User Circle icon (sharp)
- static const IconData user_circle_sharp = IconData(0xe1fd, fontFamily: familySharp, fontPackage: package); + static const IconData user_circle_sharp = IconData(0xe1ff, fontFamily: familySharp, fontPackage: package); ///
User Minor icon (sharp)
- static const IconData user_minor_sharp = IconData(0xe1fe, fontFamily: familySharp, fontPackage: package); + static const IconData user_minor_sharp = IconData(0xe200, fontFamily: familySharp, fontPackage: package); ///
User Settings icon (sharp)
- static const IconData user_settings_sharp = IconData(0xe1ff, fontFamily: familySharp, fontPackage: package); + static const IconData user_settings_sharp = IconData(0xe201, fontFamily: familySharp, fontPackage: package); ///
User icon (sharp)
- static const IconData user_sharp = IconData(0xe200, fontFamily: familySharp, fontPackage: package); + static const IconData user_sharp = IconData(0xe202, fontFamily: familySharp, fontPackage: package); ///
Vacation icon (sharp)
- static const IconData vacation_sharp = IconData(0xe201, fontFamily: familySharp, fontPackage: package); + static const IconData vacation_sharp = IconData(0xe203, fontFamily: familySharp, fontPackage: package); ///
Verified icon (sharp)
- static const IconData verified_sharp = IconData(0xe202, fontFamily: familySharp, fontPackage: package); + static const IconData verified_sharp = IconData(0xe204, fontFamily: familySharp, fontPackage: package); ///
Very Satisfied icon (sharp)
- static const IconData very_satisfied_sharp = IconData(0xe203, fontFamily: familySharp, fontPackage: package); + static const IconData very_satisfied_sharp = IconData(0xe205, fontFamily: familySharp, fontPackage: package); ///
Video Camera icon (sharp)
- static const IconData video_camera_sharp = IconData(0xe204, fontFamily: familySharp, fontPackage: package); + static const IconData video_camera_sharp = IconData(0xe206, fontFamily: familySharp, fontPackage: package); ///
Video Off icon (sharp)
- static const IconData video_off_sharp = IconData(0xe205, fontFamily: familySharp, fontPackage: package); + static const IconData video_off_sharp = IconData(0xe207, fontFamily: familySharp, fontPackage: package); ///
Video Play icon (sharp)
- static const IconData video_play_sharp = IconData(0xe206, fontFamily: familySharp, fontPackage: package); + static const IconData video_play_sharp = IconData(0xe208, fontFamily: familySharp, fontPackage: package); ///
Video icon (sharp)
- static const IconData video_sharp = IconData(0xe207, fontFamily: familySharp, fontPackage: package); + static const IconData video_sharp = IconData(0xe209, fontFamily: familySharp, fontPackage: package); ///
Visibility Off icon (sharp)
- static const IconData visibility_off_sharp = IconData(0xe208, fontFamily: familySharp, fontPackage: package); + static const IconData visibility_off_sharp = IconData(0xe20a, fontFamily: familySharp, fontPackage: package); ///
Visibility icon (sharp)
- static const IconData visibility_sharp = IconData(0xe209, fontFamily: familySharp, fontPackage: package); + static const IconData visibility_sharp = IconData(0xe20b, fontFamily: familySharp, fontPackage: package); ///
Volte icon (sharp)
- static const IconData volte_sharp = IconData(0xe20a, fontFamily: familySharp, fontPackage: package); + static const IconData volte_sharp = IconData(0xe20c, fontFamily: familySharp, fontPackage: package); ///
Volume Down icon (sharp)
- static const IconData volume_down_sharp = IconData(0xe20b, fontFamily: familySharp, fontPackage: package); + static const IconData volume_down_sharp = IconData(0xe20d, fontFamily: familySharp, fontPackage: package); ///
Volume Mute icon (sharp)
- static const IconData volume_mute_sharp = IconData(0xe20c, fontFamily: familySharp, fontPackage: package); + static const IconData volume_mute_sharp = IconData(0xe20e, fontFamily: familySharp, fontPackage: package); ///
Volume Off icon (sharp)
- static const IconData volume_off_sharp = IconData(0xe20d, fontFamily: familySharp, fontPackage: package); + static const IconData volume_off_sharp = IconData(0xe20f, fontFamily: familySharp, fontPackage: package); ///
Volume Up icon (sharp)
- static const IconData volume_up_sharp = IconData(0xe20e, fontFamily: familySharp, fontPackage: package); + static const IconData volume_up_sharp = IconData(0xe210, fontFamily: familySharp, fontPackage: package); ///
Warning Outline icon (sharp)
- static const IconData warning_outline_sharp = IconData(0xe20f, fontFamily: familySharp, fontPackage: package); + static const IconData warning_outline_sharp = IconData(0xe211, fontFamily: familySharp, fontPackage: package); ///
Warning icon (sharp)
- static const IconData warning_sharp = IconData(0xe210, fontFamily: familySharp, fontPackage: package); + static const IconData warning_sharp = IconData(0xe212, fontFamily: familySharp, fontPackage: package); ///
Watch icon (sharp)
- static const IconData watch_sharp = IconData(0xe211, fontFamily: familySharp, fontPackage: package); + static const IconData watch_sharp = IconData(0xe213, fontFamily: familySharp, fontPackage: package); ///
Wb Image icon (sharp)
- static const IconData wb_image_sharp = IconData(0xe212, fontFamily: familySharp, fontPackage: package); + static const IconData wb_image_sharp = IconData(0xe214, fontFamily: familySharp, fontPackage: package); ///
Wb icon (sharp)
- static const IconData wb_sharp = IconData(0xe213, fontFamily: familySharp, fontPackage: package); + static const IconData wb_sharp = IconData(0xe215, fontFamily: familySharp, fontPackage: package); ///
World Action icon (sharp)
- static const IconData world_action_sharp = IconData(0xe214, fontFamily: familySharp, fontPackage: package); + static const IconData world_action_sharp = IconData(0xe216, fontFamily: familySharp, fontPackage: package); ///
World icon (sharp)
- static const IconData world_sharp = IconData(0xe215, fontFamily: familySharp, fontPackage: package); + static const IconData world_sharp = IconData(0xe217, fontFamily: familySharp, fontPackage: package); ///
Write icon (sharp)
- static const IconData write_sharp = IconData(0xe216, fontFamily: familySharp, fontPackage: package); + static const IconData write_sharp = IconData(0xe218, fontFamily: familySharp, fontPackage: package); ///
Youtube icon (sharp)
- static const IconData youtube_sharp = IconData(0xe217, fontFamily: familySharp, fontPackage: package); + static const IconData youtube_sharp = IconData(0xe219, fontFamily: familySharp, fontPackage: package); ///
Zero Scale icon (sharp)
- static const IconData zero_scale_sharp = IconData(0xe218, fontFamily: familySharp, fontPackage: package); + static const IconData zero_scale_sharp = IconData(0xe21a, fontFamily: familySharp, fontPackage: package); ///
Zoom In Map icon (sharp)
- static const IconData zoom_in_map_sharp = IconData(0xe219, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_in_map_sharp = IconData(0xe21b, fontFamily: familySharp, fontPackage: package); ///
Zoom In icon (sharp)
- static const IconData zoom_in_sharp = IconData(0xe21a, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_in_sharp = IconData(0xe21c, fontFamily: familySharp, fontPackage: package); ///
Zoom Out Map icon (sharp)
- static const IconData zoom_out_map_sharp = IconData(0xe21b, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_out_map_sharp = IconData(0xe21d, fontFamily: familySharp, fontPackage: package); ///
Zoom Out icon (sharp)
- static const IconData zoom_out_sharp = IconData(0xe21c, fontFamily: familySharp, fontPackage: package); + static const IconData zoom_out_sharp = IconData(0xe21e, fontFamily: familySharp, fontPackage: package); } /// List of all icons. @@ -5140,6 +5158,7 @@ const Map icons = { 'full_screen': ZetaIcons.full_screen, 'gif': ZetaIcons.gif, 'glossary': ZetaIcons.glossary, + 'google_drive': ZetaIcons.google_drive, 'grid_off': ZetaIcons.grid_off, 'grid_on': ZetaIcons.grid_on, 'grid_view': ZetaIcons.grid_view, @@ -5283,6 +5302,7 @@ const Map icons = { 'productivity_apps': ZetaIcons.productivity_apps, 'ptt': ZetaIcons.ptt, 'publish': ZetaIcons.publish, + 'push_pin_off': ZetaIcons.push_pin_off, 'push_pin': ZetaIcons.push_pin, 'qr_code': ZetaIcons.qr_code, 'queue': ZetaIcons.queue, diff --git a/lib/generated/icons/zeta-icons-round.ttf b/lib/generated/icons/zeta-icons-round.ttf index 9a311921fee3b189bd412dbbbdb0b0e541573f65..c38fcb6c63e73c76b1410df070a437a42cf86ee7 100644 GIT binary patch delta 15325 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 WUjuzIsC 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 delta 14625 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 diff --git a/lib/generated/icons/zeta-icons-sharp.ttf b/lib/generated/icons/zeta-icons-sharp.ttf index ea7a9d3d040cab9ae4a9427fda76bc00e89d161f..98c418cd8486f6de23de54dd5b2b22d29c6d8bba 100644 GIT binary patch delta 14569 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 delta 14028 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 (super.noSuchMethod( Invocation.method( @@ -319,6 +320,7 @@ class MockZeta extends _i1.Mock implements _i2.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), returnValue: _i6.dummyValue( @@ -330,6 +332,7 @@ class MockZeta extends _i1.Mock implements _i2.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), ), @@ -342,6 +345,7 @@ class MockZeta extends _i1.Mock implements _i2.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), ), diff --git a/test/src/utils/extensions_test.mocks.dart b/test/src/utils/extensions_test.mocks.dart index f4c8d9a7..53dd4bf1 100644 --- a/test/src/utils/extensions_test.mocks.dart +++ b/test/src/utils/extensions_test.mocks.dart @@ -1686,6 +1686,7 @@ class MockZeta extends _i1.Mock implements _i6.Zeta { String? prefixLineOne = r'', String? prefixOtherLines, _i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.debug, + int? wrapWidth = 65, }) => (super.noSuchMethod( Invocation.method( @@ -1695,6 +1696,7 @@ class MockZeta extends _i1.Mock implements _i6.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), returnValue: _i10.dummyValue( @@ -1706,6 +1708,7 @@ class MockZeta extends _i1.Mock implements _i6.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), ), @@ -1718,6 +1721,7 @@ class MockZeta extends _i1.Mock implements _i6.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), ), diff --git a/test/src/utils/rounded_test.mocks.dart b/test/src/utils/rounded_test.mocks.dart index 1ea97859..84463b25 100644 --- a/test/src/utils/rounded_test.mocks.dart +++ b/test/src/utils/rounded_test.mocks.dart @@ -310,6 +310,7 @@ class MockZeta extends _i1.Mock implements _i2.Zeta { String? prefixLineOne = r'', String? prefixOtherLines, _i4.DiagnosticLevel? minLevel = _i4.DiagnosticLevel.debug, + int? wrapWidth = 65, }) => (super.noSuchMethod( Invocation.method( @@ -319,6 +320,7 @@ class MockZeta extends _i1.Mock implements _i2.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), returnValue: _i6.dummyValue( @@ -330,6 +332,7 @@ class MockZeta extends _i1.Mock implements _i2.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), ), @@ -342,6 +345,7 @@ class MockZeta extends _i1.Mock implements _i2.Zeta { #prefixLineOne: prefixLineOne, #prefixOtherLines: prefixOtherLines, #minLevel: minLevel, + #wrapWidth: wrapWidth, }, ), ), From 7df8a05d13110d376616d3a74d9fb8cc50b083f4 Mon Sep 17 00:00:00 2001 From: mikecoomber Date: Thu, 12 Dec 2024 16:34:58 +0000 Subject: [PATCH 25/29] ci: Lock flutter version --- .github/workflows/pull-request.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 0d14a8ab..e6de48ee 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -53,6 +53,8 @@ jobs: - uses: subosito/flutter-action@v2 with: cache: true + channel: stable + flutter-version: 3.24.x # TODO UX-1347 - name: Setup flutter run: flutter pub get - name: Build example app From c5c7112bee6e81bcc4b788c9a6afba86dfadba9d Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Thu, 12 Dec 2024 16:41:53 +0000 Subject: [PATCH 26/29] chore(main): release 0.20.0 (#216) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 36 ++++++++++++++++++++++ example/lib/home.dart | 2 +- example/widgetbook/pages/introduction.dart | 2 +- pubspec.yaml | 2 +- 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e7562934..0c2ecec6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.19.0" + ".": "0.20.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index f8be4f99..4f79932a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,41 @@ # Changelog +## [0.20.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.19.0...v0.20.0) (2024-12-12) + + +### ✨ New Features + +* Created Range Selector ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) +* **UX-881:** Range Selector ([#217](https://github.com/ZebraDevs/zeta_flutter/issues/217)) ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) + + +### 🪲 Bug Fixes + +* Fixed issue where avatar lower badge was not showing ([#218](https://github.com/ZebraDevs/zeta_flutter/issues/218)) ([a1742a3](https://github.com/ZebraDevs/zeta_flutter/commit/a1742a3cabb9aad03d2f79ee4bf832a54cec928f)) +* removed defaults to true on showValues ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) +* removed large thumbs ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) +* removed rounded from widgetbook ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) +* Top app bar padding ([#215](https://github.com/ZebraDevs/zeta_flutter/issues/215)) ([7b374b7](https://github.com/ZebraDevs/zeta_flutter/commit/7b374b7e929c07d20220d9ab8e9ee09a12206442)) + + +### 📈 Documentation + +* widgetbook and example for range selector ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) + + +### ⛓️ Dependencies + +* **automated:** Update icons ([#219](https://github.com/ZebraDevs/zeta_flutter/issues/219)) ([1bd8bfa](https://github.com/ZebraDevs/zeta_flutter/commit/1bd8bfa0a8a6fda8782860779fa02e1d195f67ea)) +* **automated:** Update icons ([#221](https://github.com/ZebraDevs/zeta_flutter/issues/221)) ([10cc97c](https://github.com/ZebraDevs/zeta_flutter/commit/10cc97c225e6644099b10b8fefa537546d842408)) + + +### 🧪 Tests + +* adjusted golden tolerance ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) +* created interaction tests ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) +* testing range selector ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) +* wrote 1 test for range selector ([7257c40](https://github.com/ZebraDevs/zeta_flutter/commit/7257c409afaaf10b51a577856ab9623510d43e70)) + ## [0.19.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.18.0...v0.19.0) (2024-11-18) diff --git a/example/lib/home.dart b/example/lib/home.dart index e3a587a5..0f5e9d89 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -162,7 +162,7 @@ class _HomeState extends State { final _theme = theme..sort((a, b) => a.name.compareTo(b.name)); return ExampleScaffold( // x-release-please-start-version - name: 'zeta_flutter v0.19.0', + name: 'zeta_flutter v0.20.0', // x-release-please-end child: SingleChildScrollView( child: Column( diff --git a/example/widgetbook/pages/introduction.dart b/example/widgetbook/pages/introduction.dart index 168bd91d..5aa4b456 100644 --- a/example/widgetbook/pages/introduction.dart +++ b/example/widgetbook/pages/introduction.dart @@ -71,7 +71,7 @@ class _IntroductionWidgetbookState extends State { Expanded( child: Text( // x-release-please-start-version - 'zeta_flutter v0.19.0', + 'zeta_flutter v0.20.0', // x-release-please-end style: ZetaTextStyles.displayLarge.copyWith(fontSize: largeScreen ? null : 24), ), diff --git a/pubspec.yaml b/pubspec.yaml index cbd34be0..79e0f055 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: zeta_flutter -version: 0.19.0 +version: 0.20.0 description: Zeta is the new, formal, standardized Zebra Design System based off the successes of ZDS (Zebra Design System). This package is in pre-release, and so many aspects are incomplete. From 419ded2ab412ab52caff0ecbaf7b6423190a5066 Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Thu, 12 Dec 2024 16:42:28 +0000 Subject: [PATCH 27/29] ci: Fix deploy to design.zebra.com (#220) --- .github/workflows/on-release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml index ebb7e966..d2a6d968 100644 --- a/.github/workflows/on-release.yml +++ b/.github/workflows/on-release.yml @@ -40,5 +40,4 @@ jobs: repo: 'zeta', workflow_id: 'deploy.yml', ref: 'main', - environment: 'production', }) From 58b9222446e47d976761ffd347546717b043aa23 Mon Sep 17 00:00:00 2001 From: Daniel Eshkeri Date: Fri, 13 Dec 2024 12:28:24 +0000 Subject: [PATCH 28/29] fix: Fab icon color (#222) --- .../lib/pages/components/button_example.dart | 12 ++++++------ lib/src/components/fabs/fab.dart | 19 ++++++++++++++++++- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/example/lib/pages/components/button_example.dart b/example/lib/pages/components/button_example.dart index 926379d9..379f95f3 100644 --- a/example/lib/pages/components/button_example.dart +++ b/example/lib/pages/components/button_example.dart @@ -36,7 +36,7 @@ class _ButtonExampleState extends State { fabs = [ ZetaFAB( scrollController: _scrollController, - label: 'Small Circle Primary', + label: 'Small Circle Disabled', size: ZetaFabSize.small, expanded: false, shape: ZetaWidgetBorder.full, @@ -45,7 +45,7 @@ class _ButtonExampleState extends State { ZetaFAB( scrollController: _scrollController, expanded: false, - label: 'Small Rounded Primary', + label: 'Small Rounded Secondary', size: ZetaFabSize.small, shape: ZetaWidgetBorder.rounded, type: ZetaFabType.secondary, @@ -53,7 +53,7 @@ class _ButtonExampleState extends State { ), ZetaFAB( scrollController: _scrollController, - label: 'Small Sharp Primary', + label: 'Small Sharp Inverse', size: ZetaFabSize.small, shape: ZetaWidgetBorder.sharp, expanded: false, @@ -62,7 +62,7 @@ class _ButtonExampleState extends State { ), ZetaFAB( scrollController: _scrollController, - label: 'Large Circle Primary', + label: 'Large Circle Secondary', size: ZetaFabSize.large, shape: ZetaWidgetBorder.full, type: ZetaFabType.secondary, @@ -71,7 +71,7 @@ class _ButtonExampleState extends State { ), ZetaFAB( scrollController: _scrollController, - label: 'Large Rounded Secondary', + label: 'Large Rounded Inverse', size: ZetaFabSize.large, shape: ZetaWidgetBorder.rounded, expanded: false, @@ -80,7 +80,7 @@ class _ButtonExampleState extends State { ), ZetaFAB( scrollController: _scrollController, - label: 'Large Sharp Secondary', + label: 'Large Sharp Primary', size: ZetaFabSize.large, shape: ZetaWidgetBorder.sharp, type: ZetaFabType.primary, diff --git a/lib/src/components/fabs/fab.dart b/lib/src/components/fabs/fab.dart index 486a1749..d8e554da 100644 --- a/lib/src/components/fabs/fab.dart +++ b/lib/src/components/fabs/fab.dart @@ -162,7 +162,13 @@ class _ZetaFABState extends State { child: Row( mainAxisSize: MainAxisSize.min, children: [ - ZetaIcon(widget.icon, size: widget.size.iconSize(context)), + ZetaIcon( + widget.icon, + size: widget.size.iconSize(context), + color: widget.onPressed != null + ? widget.type.iconColors(context) + : Zeta.of(context).colors.iconDisabled, + ), if (widget.expanded && widget.label != null) Row( mainAxisSize: MainAxisSize.min, @@ -206,6 +212,17 @@ extension on ZetaFabType { return zetaColors.cool; } } + + Color iconColors(BuildContext context) { + final zetaColors = Zeta.of(context).colors; + switch (this) { + case ZetaFabType.primary: + case ZetaFabType.inverse: + return zetaColors.iconInverse; + case ZetaFabType.secondary: + return zetaColors.iconDefault; + } + } } extension on ZetaWidgetBorder { From 6eab70b7109726b3fbc310588ba1d443349437be Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Fri, 13 Dec 2024 14:51:00 +0000 Subject: [PATCH 29/29] chore(main): release 0.20.1 (#223) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ example/lib/home.dart | 2 +- example/widgetbook/pages/introduction.dart | 2 +- pubspec.yaml | 2 +- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0c2ecec6..461342f9 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.20.0" + ".": "0.20.1" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f79932a..8fae9280 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.20.1](https://github.com/ZebraDevs/zeta_flutter/compare/v0.20.0...v0.20.1) (2024-12-13) + + +### 🪲 Bug Fixes + +* Fab icon color ([#222](https://github.com/ZebraDevs/zeta_flutter/issues/222)) ([58b9222](https://github.com/ZebraDevs/zeta_flutter/commit/58b9222446e47d976761ffd347546717b043aa23)) + ## [0.20.0](https://github.com/ZebraDevs/zeta_flutter/compare/v0.19.0...v0.20.0) (2024-12-12) diff --git a/example/lib/home.dart b/example/lib/home.dart index 0f5e9d89..2716ed1b 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -162,7 +162,7 @@ class _HomeState extends State { final _theme = theme..sort((a, b) => a.name.compareTo(b.name)); return ExampleScaffold( // x-release-please-start-version - name: 'zeta_flutter v0.20.0', + name: 'zeta_flutter v0.20.1', // x-release-please-end child: SingleChildScrollView( child: Column( diff --git a/example/widgetbook/pages/introduction.dart b/example/widgetbook/pages/introduction.dart index 5aa4b456..a72d8f3c 100644 --- a/example/widgetbook/pages/introduction.dart +++ b/example/widgetbook/pages/introduction.dart @@ -71,7 +71,7 @@ class _IntroductionWidgetbookState extends State { Expanded( child: Text( // x-release-please-start-version - 'zeta_flutter v0.20.0', + 'zeta_flutter v0.20.1', // x-release-please-end style: ZetaTextStyles.displayLarge.copyWith(fontSize: largeScreen ? null : 24), ), diff --git a/pubspec.yaml b/pubspec.yaml index 79e0f055..dc28673a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: zeta_flutter -version: 0.20.0 +version: 0.20.1 description: Zeta is the new, formal, standardized Zebra Design System based off the successes of ZDS (Zebra Design System). This package is in pre-release, and so many aspects are incomplete.