From 008b1fa4e9a3dac187a1981deb562934f6fc075d Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 11:33:53 +0300 Subject: [PATCH 01/13] feat(postgres): paginate table data with Back/Next MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SELECT with LIMIT/OFFSET; row numbers show global position - COUNT(*) on first load and Refresh; pagination uses SELECT only - Toolbar: range label (e.g. 1–200 of N), Back/Next, Refresh - gitignore: flutter_01.log Made-with: Cursor --- .gitignore | 1 + .../postgresql/postgres_table_view.dart | 130 ++++++++++++++++-- 2 files changed, 118 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 0b62dbdb..8ef120e4 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ Thumbs.db *.so *.dll *.exe +flutter_01.log diff --git a/lib/features/postgresql/postgres_table_view.dart b/lib/features/postgresql/postgres_table_view.dart index 24211c1c..dc0bb0f3 100644 --- a/lib/features/postgresql/postgres_table_view.dart +++ b/lib/features/postgresql/postgres_table_view.dart @@ -37,7 +37,12 @@ class _PostgresTableViewState extends material.State { List _columnNames = []; List> _rows = []; - int _totalRows = 0; + /// Rows on the current page (same as _rows.length when not loading). + int _rowsOnPage = 0; + /// Total rows in table/view (from COUNT(*)). + int? _totalRowCount; + /// Zero-based offset for LIMIT/OFFSET pagination. + int _offset = 0; final _verticalController = material.ScrollController(); final _horizontalController = material.ScrollController(); @@ -82,7 +87,9 @@ class _PostgresTableViewState extends material.State { _error = null; _columnNames = []; _rows = []; - _totalRows = 0; + _rowsOnPage = 0; + _totalRowCount = null; + _offset = 0; }); try { final c = widget.connectionRow; @@ -102,7 +109,7 @@ class _PostgresTableViewState extends material.State { return; } _connection = conn; - await _fetch(); + await _fetch(refreshCount: true); } catch (e) { if (mounted) { setState(() { @@ -113,7 +120,16 @@ class _PostgresTableViewState extends material.State { } } - Future _fetch() async { + static int _asInt(dynamic v) { + if (v == null) return 0; + if (v is int) return v; + if (v is BigInt) return v.toInt(); + if (v is num) return v.toInt(); + return int.tryParse(v.toString()) ?? 0; + } + + /// [refreshCount] runs `COUNT(*)` (e.g. first load or Refresh). Pagination only runs SELECT. + Future _fetch({bool refreshCount = false}) async { final conn = _connection; if (conn == null || !conn.isConnected) return; if (!mounted) return; @@ -123,9 +139,23 @@ class _PostgresTableViewState extends material.State { }); final schemaQ = quotePostgresIdentifier(widget.schema); final tableQ = quotePostgresIdentifier(widget.tableName); - final sql = 'SELECT * FROM $schemaQ.$tableQ LIMIT ${widget.limit}'; + final limit = widget.limit; + final offset = _offset; + final countSql = 'SELECT COUNT(*) AS c FROM $schemaQ.$tableQ'; + final dataSql = + 'SELECT * FROM $schemaQ.$tableQ LIMIT $limit OFFSET $offset'; try { - final result = await conn.execute(sql); + int totalRows; + if (refreshCount || _totalRowCount == null) { + final countResult = await conn.execute(countSql); + totalRows = countResult.isEmpty + ? 0 + : _asInt(countResult.first[0]); + } else { + totalRows = _totalRowCount!; + } + + final result = await conn.execute(dataSql); if (!mounted) return; final colNames = List.generate( @@ -133,7 +163,6 @@ class _PostgresTableViewState extends material.State { (i) => result.schema.columns[i].columnName ?? 'col_$i', ); - // Convert to plain strings in isolate to avoid blocking UI final rawRows = result.map((row) { return List.generate(row.length, (i) => row[i]); }).toList(); @@ -144,9 +173,15 @@ class _PostgresTableViewState extends material.State { setState(() { _columnNames = colNames; _rows = stringRows; - _totalRows = stringRows.length; + _rowsOnPage = stringRows.length; + if (refreshCount || _totalRowCount == null) { + _totalRowCount = totalRows; + } _loading = false; }); + if (_verticalController.hasClients) { + _verticalController.jumpTo(0); + } } catch (e) { if (mounted) { setState(() { @@ -157,6 +192,54 @@ class _PostgresTableViewState extends material.State { } } + void _goToPreviousPage() { + if (_offset <= 0 || _loading) return; + setState(() { + final next = _offset - widget.limit; + _offset = next < 0 ? 0 : next; + }); + _fetch(); + } + + void _goToNextPage() { + if (_loading) return; + final total = _totalRowCount; + final limit = widget.limit; + if (total != null && _offset + _rowsOnPage >= total) return; + if (total == null && _rowsOnPage < limit) return; + setState(() { + _offset += limit; + }); + _fetch(); + } + + bool get _canGoPrevious => _offset > 0 && !_loading; + + bool get _canGoNext { + if (_loading) return false; + final total = _totalRowCount; + final limit = widget.limit; + if (total != null) { + return _offset + _rowsOnPage < total; + } + return _rowsOnPage >= limit; + } + + String _paginationLabel() { + if (_rowsOnPage == 0) { + final t = _totalRowCount; + if (t == null) return '0 rows'; + return '0 of $t'; + } + final start = _offset + 1; + final end = _offset + _rowsOnPage; + final total = _totalRowCount; + if (total != null) { + return '$start–$end of $total'; + } + return '$start–$end'; + } + @override material.Widget build(material.BuildContext context) { final cs = Theme.of(context).colorScheme; @@ -200,7 +283,7 @@ class _PostgresTableViewState extends material.State { color: cs.mutedForeground, fontSize: 13)), const Gap(24), OutlineButton( - onPressed: _fetch, + onPressed: () => _fetch(refreshCount: true), leading: const material.Icon(material.Icons.refresh_rounded, size: 18), child: const Text('Retry'), @@ -265,15 +348,35 @@ class _PostgresTableViewState extends material.State { borderRadius: material.BorderRadius.circular(4), ), child: material.Text( - '$_totalRows rows', + _paginationLabel(), style: material.TextStyle( fontSize: 11, color: cs.mutedForeground), ), ), + const Gap(6), + OutlineButton( + size: ButtonSize.small, + onPressed: _canGoPrevious ? _goToPreviousPage : null, + leading: const material.Icon( + material.Icons.chevron_left_rounded, + size: 16), + child: const Text('Back'), + ), + const Gap(4), + OutlineButton( + size: ButtonSize.small, + onPressed: _canGoNext ? _goToNextPage : null, + leading: const material.Icon( + material.Icons.chevron_right_rounded, + size: 16), + child: const Text('Next'), + ), const Gap(8), OutlineButton( size: ButtonSize.small, - onPressed: _fetch, + onPressed: _loading + ? null + : () => _fetch(refreshCount: true), leading: const material.Icon( material.Icons.refresh_rounded, size: 14), @@ -322,11 +425,12 @@ class _PostgresTableViewState extends material.State { thumbVisibility: true, child: material.ListView.builder( controller: _verticalController, - itemCount: _totalRows, + itemCount: _rowsOnPage, itemExtent: rowHeight, itemBuilder: (context, rowIdx) { final row = _rows[rowIdx]; final isEven = rowIdx % 2 == 0; + final displayRowNum = _offset + rowIdx + 1; return material.Container( height: rowHeight, decoration: material.BoxDecoration( @@ -343,7 +447,7 @@ class _PostgresTableViewState extends material.State { child: material.Row( children: [ _rowNumberCell(cs, - '${rowIdx + 1}'), + '$displayRowNum'), for (var c = 0; c < colCount; c++) From fb2e64235a20d2ddc98ec3fe6de8572d4203e8a0 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 11:37:58 +0300 Subject: [PATCH 02/13] feat(postgres): SQL dialog for browse query and custom SELECT Made-with: Cursor --- .../postgres_sql_editor_dialog.dart | 210 ++++++++++++++++++ .../postgresql/postgres_table_view.dart | 160 ++++++++++++- 2 files changed, 362 insertions(+), 8 deletions(-) create mode 100644 lib/features/postgresql/postgres_sql_editor_dialog.dart diff --git a/lib/features/postgresql/postgres_sql_editor_dialog.dart b/lib/features/postgresql/postgres_sql_editor_dialog.dart new file mode 100644 index 00000000..a9ce18ab --- /dev/null +++ b/lib/features/postgresql/postgres_sql_editor_dialog.dart @@ -0,0 +1,210 @@ +import 'package:flutter/material.dart' as material; +import 'package:querya_desktop/shared/widgets/widgets.dart'; + +/// Returns true if [sql] is allowed to run (read-only: SELECT / WITH). +bool isAllowedPostgresSelectQuery(String sql) { + final t = sql.trim(); + if (t.isEmpty) return false; + final lower = t.toLowerCase(); + const blocked = [ + 'insert ', + 'update ', + 'delete ', + 'drop ', + 'truncate ', + 'alter ', + 'create ', + 'grant ', + 'revoke ', + 'call ', + 'execute ', + 'copy ', + ]; + for (final b in blocked) { + if (lower.contains(b)) return false; + } + return lower.startsWith('select') || + lower.startsWith('with') || + lower.startsWith('('); +} + +/// Dialog to view/edit SQL and run it. +/// [initialSql] — text shown when opening; [browseSql] — "Reset" restores table browse query. +Future showPostgresSqlEditorDialog({ + required material.BuildContext context, + required String initialSql, + required String browseSql, + required void Function(String sql) onRun, +}) { + return showDialog( + context: context, + barrierColor: material.Colors.black54, + builder: (ctx) => _PostgresSqlEditorDialog( + initialSql: initialSql, + browseSql: browseSql, + onRun: onRun, + ), + ); +} + +class _PostgresSqlEditorDialog extends material.StatefulWidget { + const _PostgresSqlEditorDialog({ + required this.initialSql, + required this.browseSql, + required this.onRun, + }); + + final String initialSql; + final String browseSql; + final void Function(String sql) onRun; + + @override + material.State<_PostgresSqlEditorDialog> createState() => + _PostgresSqlEditorDialogState(); +} + +class _PostgresSqlEditorDialogState extends material.State<_PostgresSqlEditorDialog> { + late final material.TextEditingController _controller; + String? _error; + + @override + void initState() { + super.initState(); + _controller = material.TextEditingController(text: widget.initialSql); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + void _submit() { + final sql = _controller.text.trim(); + if (sql.isEmpty) { + setState(() => _error = 'Enter a SQL query'); + return; + } + if (!isAllowedPostgresSelectQuery(sql)) { + setState(() => + _error = 'Only SELECT queries (and WITH … SELECT) are allowed.'); + return; + } + material.Navigator.of(context).pop(); + widget.onRun(sql); + } + + @override + material.Widget build(material.BuildContext context) { + final theme = Theme.of(context).colorScheme; + final radius = Theme.of(context).radiusXxl; + return material.Dialog( + backgroundColor: material.Colors.transparent, + insetPadding: + const material.EdgeInsets.symmetric(horizontal: 32, vertical: 24), + child: material.Container( + constraints: const material.BoxConstraints( + maxWidth: 720, + minWidth: 480, + maxHeight: 520, + ), + decoration: material.BoxDecoration( + color: theme.popover, + borderRadius: material.BorderRadius.circular(radius), + border: material.Border.all(color: theme.muted), + ), + child: material.ClipRRect( + borderRadius: material.BorderRadius.circular(radius), + child: material.Column( + mainAxisSize: material.MainAxisSize.min, + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + material.Padding( + padding: const material.EdgeInsets.fromLTRB(24, 20, 24, 8), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.start, + children: [ + const Text('SQL query').large().semiBold(), + const material.SizedBox(height: 6), + const Text( + 'Table browse uses SELECT with LIMIT/OFFSET. ' + 'Edit it or write your own SELECT. Reset restores the table browse query.', + ).muted().xSmall(), + ], + ), + ), + material.Padding( + padding: const material.EdgeInsets.symmetric(horizontal: 24), + child: material.SizedBox( + height: 280, + child: material.Container( + decoration: material.BoxDecoration( + color: theme.muted.withValues(alpha: 0.15), + borderRadius: material.BorderRadius.circular(8), + border: material.Border.all( + color: theme.border.withValues(alpha: 0.4)), + ), + child: material.TextField( + controller: _controller, + maxLines: null, + expands: true, + textAlignVertical: material.TextAlignVertical.top, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: theme.foreground, + ), + decoration: const material.InputDecoration( + border: material.InputBorder.none, + contentPadding: material.EdgeInsets.all(12), + hintText: 'SELECT …', + ), + ), + ), + ), + ), + if (_error != null) + material.Padding( + padding: + const material.EdgeInsets.fromLTRB(24, 8, 24, 0), + child: material.Text( + _error!, + style: material.TextStyle( + color: theme.destructive, fontSize: 12), + ), + ), + material.Padding( + padding: const material.EdgeInsets.all(20), + child: material.Row( + mainAxisAlignment: material.MainAxisAlignment.end, + children: [ + OutlineButton( + onPressed: () => + material.Navigator.of(context).pop(), + child: const Text('Cancel'), + ), + const Gap(8), + OutlineButton( + onPressed: () { + setState(() { + _error = null; + _controller.text = widget.browseSql; + }); + }, + child: const Text('Reset'), + ), + const Gap(8), + PrimaryButton( + onPressed: _submit, + child: const Text('Run'), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/features/postgresql/postgres_table_view.dart b/lib/features/postgresql/postgres_table_view.dart index dc0bb0f3..fb151eae 100644 --- a/lib/features/postgresql/postgres_table_view.dart +++ b/lib/features/postgresql/postgres_table_view.dart @@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart' show compute; import 'package:flutter/material.dart' as material; import 'package:querya_desktop/core/database/postgres_connection.dart'; import 'package:querya_desktop/core/storage/local_db.dart'; +import 'package:querya_desktop/features/postgresql/postgres_sql_editor_dialog.dart'; import 'package:querya_desktop/features/postgresql/postgres_table_utils.dart'; import 'package:querya_desktop/shared/widgets/widgets.dart'; @@ -44,6 +45,10 @@ class _PostgresTableViewState extends material.State { /// Zero-based offset for LIMIT/OFFSET pagination. int _offset = 0; + /// When true, [dataSql] comes from [_customSql] (no pagination). + bool _customSqlActive = false; + String? _customSql; + final _verticalController = material.ScrollController(); final _horizontalController = material.ScrollController(); @@ -60,6 +65,8 @@ class _PostgresTableViewState extends material.State { oldWidget.database != widget.database || oldWidget.schema != widget.schema || oldWidget.tableName != widget.tableName) { + _customSqlActive = false; + _customSql = null; _disconnectCurrent(); _connectAndLoad(); } @@ -90,6 +97,8 @@ class _PostgresTableViewState extends material.State { _rowsOnPage = 0; _totalRowCount = null; _offset = 0; + _customSqlActive = false; + _customSql = null; }); try { final c = widget.connectionRow; @@ -128,10 +137,20 @@ class _PostgresTableViewState extends material.State { return int.tryParse(v.toString()) ?? 0; } + String _browseDataSql() { + final schemaQ = quotePostgresIdentifier(widget.schema); + final tableQ = quotePostgresIdentifier(widget.tableName); + return 'SELECT * FROM $schemaQ.$tableQ LIMIT ${widget.limit} OFFSET $_offset'; + } + /// [refreshCount] runs `COUNT(*)` (e.g. first load or Refresh). Pagination only runs SELECT. Future _fetch({bool refreshCount = false}) async { final conn = _connection; if (conn == null || !conn.isConnected) return; + if (_customSqlActive) { + await _fetchCustom(); + return; + } if (!mounted) return; setState(() { _loading = true; @@ -139,11 +158,8 @@ class _PostgresTableViewState extends material.State { }); final schemaQ = quotePostgresIdentifier(widget.schema); final tableQ = quotePostgresIdentifier(widget.tableName); - final limit = widget.limit; - final offset = _offset; final countSql = 'SELECT COUNT(*) AS c FROM $schemaQ.$tableQ'; - final dataSql = - 'SELECT * FROM $schemaQ.$tableQ LIMIT $limit OFFSET $offset'; + final dataSql = _browseDataSql(); try { int totalRows; if (refreshCount || _totalRowCount == null) { @@ -192,7 +208,92 @@ class _PostgresTableViewState extends material.State { } } + Future _fetchCustom() async { + final conn = _connection; + if (conn == null || !conn.isConnected) return; + final sql = _customSql; + if (sql == null || sql.isEmpty) return; + if (!mounted) return; + setState(() { + _loading = true; + _error = null; + }); + try { + final result = await conn.execute(sql); + if (!mounted) return; + + final colNames = List.generate( + result.schema.columns.length, + (i) => result.schema.columns[i].columnName ?? 'col_$i', + ); + + final rawRows = result.map((row) { + return List.generate(row.length, (i) => row[i]); + }).toList(); + + final stringRows = await compute(convertResultRowsToStrings, rawRows); + + if (!mounted) return; + setState(() { + _columnNames = colNames; + _rows = stringRows; + _rowsOnPage = stringRows.length; + _totalRowCount = null; + _loading = false; + }); + if (_verticalController.hasClients) { + _verticalController.jumpTo(0); + } + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + void _onSqlRun(String sql) { + final trimmed = sql.trim(); + if (!isAllowedPostgresSelectQuery(trimmed)) return; + final browse = _browseDataSql().trim(); + if (trimmed == browse) { + setState(() { + _customSqlActive = false; + _customSql = null; + }); + _fetch(refreshCount: true); + } else { + setState(() { + _customSqlActive = true; + _customSql = trimmed; + }); + _fetchCustom(); + } + } + + void _openSqlEditor() { + showPostgresSqlEditorDialog( + context: context, + initialSql: (_customSqlActive && _customSql != null) + ? _customSql! + : _browseDataSql(), + browseSql: _browseDataSql(), + onRun: _onSqlRun, + ); + } + + void _exitCustomMode() { + setState(() { + _customSqlActive = false; + _customSql = null; + }); + _fetch(refreshCount: true); + } + void _goToPreviousPage() { + if (_customSqlActive) return; if (_offset <= 0 || _loading) return; setState(() { final next = _offset - widget.limit; @@ -202,6 +303,7 @@ class _PostgresTableViewState extends material.State { } void _goToNextPage() { + if (_customSqlActive) return; if (_loading) return; final total = _totalRowCount; final limit = widget.limit; @@ -213,9 +315,11 @@ class _PostgresTableViewState extends material.State { _fetch(); } - bool get _canGoPrevious => _offset > 0 && !_loading; + bool get _canGoPrevious => + !_customSqlActive && _offset > 0 && !_loading; bool get _canGoNext { + if (_customSqlActive) return false; if (_loading) return false; final total = _totalRowCount; final limit = widget.limit; @@ -226,6 +330,10 @@ class _PostgresTableViewState extends material.State { } String _paginationLabel() { + if (_customSqlActive) { + if (_rowsOnPage == 0) return '0 rows (custom SQL)'; + return '$_rowsOnPage row${_rowsOnPage == 1 ? '' : 's'} (custom SQL)'; + } if (_rowsOnPage == 0) { final t = _totalRowCount; if (t == null) return '0 rows'; @@ -283,7 +391,13 @@ class _PostgresTableViewState extends material.State { color: cs.mutedForeground, fontSize: 13)), const Gap(24), OutlineButton( - onPressed: () => _fetch(refreshCount: true), + onPressed: () { + if (_customSqlActive) { + _fetchCustom(); + } else { + _fetch(refreshCount: true); + } + }, leading: const material.Icon(material.Icons.refresh_rounded, size: 18), child: const Text('Retry'), @@ -354,6 +468,28 @@ class _PostgresTableViewState extends material.State { ), ), const Gap(6), + OutlineButton( + size: ButtonSize.small, + onPressed: _openSqlEditor, + leading: const material.Icon( + material.Icons.code_rounded, + size: 16, + ), + child: const Text('SQL'), + ), + if (_customSqlActive) ...[ + const Gap(4), + OutlineButton( + size: ButtonSize.small, + onPressed: _loading ? null : _exitCustomMode, + leading: const material.Icon( + material.Icons.table_chart_rounded, + size: 16, + ), + child: const Text('Table'), + ), + ], + const Gap(4), OutlineButton( size: ButtonSize.small, onPressed: _canGoPrevious ? _goToPreviousPage : null, @@ -376,7 +512,13 @@ class _PostgresTableViewState extends material.State { size: ButtonSize.small, onPressed: _loading ? null - : () => _fetch(refreshCount: true), + : () { + if (_customSqlActive) { + _fetchCustom(); + } else { + _fetch(refreshCount: true); + } + }, leading: const material.Icon( material.Icons.refresh_rounded, size: 14), @@ -430,7 +572,9 @@ class _PostgresTableViewState extends material.State { itemBuilder: (context, rowIdx) { final row = _rows[rowIdx]; final isEven = rowIdx % 2 == 0; - final displayRowNum = _offset + rowIdx + 1; + final displayRowNum = _customSqlActive + ? rowIdx + 1 + : _offset + rowIdx + 1; return material.Container( height: rowHeight, decoration: material.BoxDecoration( From b76bb29bc001ac652ee0a4603bf1b3de0d85bd30 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 11:42:11 +0300 Subject: [PATCH 03/13] feat(ui): blurred backdrop for modals (showAppDialog) Made-with: Cursor --- .../connections/driver_manager_dialog.dart | 3 +- .../connections/new_connection_dialog.dart | 3 +- .../connections/new_folder_dialog.dart | 3 +- .../mongodb/mongo_database_dialog.dart | 3 +- .../mongodb/mongodb_connection_form.dart | 3 +- .../postgres_sql_editor_dialog.dart | 3 +- .../postgresql_connection_form.dart | 3 +- lib/features/redis/redis_connection_form.dart | 3 +- lib/features/redis/redis_key_editor.dart | 2 +- lib/shared/widgets/app_dialog.dart | 75 +++++++++++++++++++ lib/shared/widgets/widgets.dart | 1 + 11 files changed, 85 insertions(+), 17 deletions(-) create mode 100644 lib/shared/widgets/app_dialog.dart diff --git a/lib/features/connections/driver_manager_dialog.dart b/lib/features/connections/driver_manager_dialog.dart index dd97f289..768d6a17 100644 --- a/lib/features/connections/driver_manager_dialog.dart +++ b/lib/features/connections/driver_manager_dialog.dart @@ -28,9 +28,8 @@ final _driverInfoList = <_DriverInfo>[ /// Shows the Driver Manager dialog: list of built-in database drivers and their status. void showDriverManagerDialog(BuildContext context) { - showDialog( + showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (context) => const material.Dialog( backgroundColor: material.Colors.transparent, insetPadding: material.EdgeInsets.symmetric(horizontal: 40, vertical: 24), diff --git a/lib/features/connections/new_connection_dialog.dart b/lib/features/connections/new_connection_dialog.dart index ec5776ef..cf940bc0 100644 --- a/lib/features/connections/new_connection_dialog.dart +++ b/lib/features/connections/new_connection_dialog.dart @@ -41,9 +41,8 @@ enum _Category { all, sql, nosql } /// Shows a dialog to choose database type (PostgreSQL, MySQL, Redis, MongoDB). /// Returns the selected type or null if cancelled. Future showNewConnectionDialog(BuildContext context) { - return showDialog( + return showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (context) => const material.Dialog( backgroundColor: material.Colors.transparent, insetPadding: material.EdgeInsets.symmetric(horizontal: 40, vertical: 24), diff --git a/lib/features/connections/new_folder_dialog.dart b/lib/features/connections/new_folder_dialog.dart index 79c11e2d..8dae9849 100644 --- a/lib/features/connections/new_folder_dialog.dart +++ b/lib/features/connections/new_folder_dialog.dart @@ -4,9 +4,8 @@ import 'package:querya_desktop/shared/widgets/widgets.dart'; /// Shows a dialog to create a new folder (same style as new connection). /// Returns the folder name or null if cancelled. Future showNewFolderDialog(BuildContext context) { - return showDialog( + return showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (context) => const material.Dialog( backgroundColor: material.Colors.transparent, insetPadding: material.EdgeInsets.symmetric(horizontal: 40, vertical: 24), diff --git a/lib/features/mongodb/mongo_database_dialog.dart b/lib/features/mongodb/mongo_database_dialog.dart index f9bb7c05..a833dad4 100644 --- a/lib/features/mongodb/mongo_database_dialog.dart +++ b/lib/features/mongodb/mongo_database_dialog.dart @@ -3,9 +3,8 @@ import 'package:querya_desktop/shared/widgets/widgets.dart'; /// Shows dialog to create a new MongoDB database. Future showCreateMongoDBDialog(material.BuildContext context) async { - return showDialog( + return showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (context) => const material.Dialog( backgroundColor: material.Colors.transparent, insetPadding: material.EdgeInsets.symmetric(horizontal: 40, vertical: 24), diff --git a/lib/features/mongodb/mongodb_connection_form.dart b/lib/features/mongodb/mongodb_connection_form.dart index 05c22318..e998ca3f 100644 --- a/lib/features/mongodb/mongodb_connection_form.dart +++ b/lib/features/mongodb/mongodb_connection_form.dart @@ -43,9 +43,8 @@ Future showMongoConnectionForm( BuildContext context, { int? folderId, }) async { - return showDialog( + return showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (context) => material.Dialog( backgroundColor: material.Colors.transparent, insetPadding: const material.EdgeInsets.symmetric(horizontal: 40, vertical: 24), diff --git a/lib/features/postgresql/postgres_sql_editor_dialog.dart b/lib/features/postgresql/postgres_sql_editor_dialog.dart index a9ce18ab..e1bf4a9d 100644 --- a/lib/features/postgresql/postgres_sql_editor_dialog.dart +++ b/lib/features/postgresql/postgres_sql_editor_dialog.dart @@ -36,9 +36,8 @@ Future showPostgresSqlEditorDialog({ required String browseSql, required void Function(String sql) onRun, }) { - return showDialog( + return showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (ctx) => _PostgresSqlEditorDialog( initialSql: initialSql, browseSql: browseSql, diff --git a/lib/features/postgresql/postgresql_connection_form.dart b/lib/features/postgresql/postgresql_connection_form.dart index 1903754d..7d6bd853 100644 --- a/lib/features/postgresql/postgresql_connection_form.dart +++ b/lib/features/postgresql/postgresql_connection_form.dart @@ -11,9 +11,8 @@ Future showPostgresConnectionForm( BuildContext context, { int? folderId, }) async { - return showDialog( + return showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (context) => material.Dialog( backgroundColor: material.Colors.transparent, insetPadding: diff --git a/lib/features/redis/redis_connection_form.dart b/lib/features/redis/redis_connection_form.dart index 8678cea4..d79d3c74 100644 --- a/lib/features/redis/redis_connection_form.dart +++ b/lib/features/redis/redis_connection_form.dart @@ -10,9 +10,8 @@ Future showRedisConnectionForm( BuildContext context, { int? folderId, }) async { - return showDialog( + return showAppDialog( context: context, - barrierColor: material.Colors.black54, builder: (context) => material.Dialog( backgroundColor: material.Colors.transparent, insetPadding: const material.EdgeInsets.symmetric(horizontal: 40, vertical: 24), diff --git a/lib/features/redis/redis_key_editor.dart b/lib/features/redis/redis_key_editor.dart index 11d7b0ac..a3d9acef 100644 --- a/lib/features/redis/redis_key_editor.dart +++ b/lib/features/redis/redis_key_editor.dart @@ -694,7 +694,7 @@ class _RedisKeyEditorState extends material.State { void _showTtlDialog() { final controller = material.TextEditingController(text: _ttl > 0 ? '$_ttl' : ''); - showDialog( + showAppDialog( context: context, builder: (ctx) { return AlertDialog( diff --git a/lib/shared/widgets/app_dialog.dart b/lib/shared/widgets/app_dialog.dart new file mode 100644 index 00000000..0bef9b3a --- /dev/null +++ b/lib/shared/widgets/app_dialog.dart @@ -0,0 +1,75 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; + +/// Shows a modal dialog with a frosted, dimmed backdrop over the app. +/// +/// Use instead of [showDialog] so every overlay has consistent blur. +Future showAppDialog({ + required BuildContext context, + required WidgetBuilder builder, + bool barrierDismissible = true, +}) { + return showGeneralDialog( + context: context, + barrierDismissible: false, + barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel, + barrierColor: Colors.transparent, + transitionDuration: const Duration(milliseconds: 240), + pageBuilder: (ctx, animation, secondaryAnimation) { + return _BlurredDialogScaffold( + barrierDismissible: barrierDismissible, + onDismiss: () => Navigator.of(ctx).pop(), + child: builder(ctx), + ); + }, + transitionBuilder: (context, animation, secondaryAnimation, child) { + return FadeTransition( + opacity: CurvedAnimation( + parent: animation, + curve: Curves.easeOutCubic, + ), + child: child, + ); + }, + ); +} + +class _BlurredDialogScaffold extends StatelessWidget { + const _BlurredDialogScaffold({ + required this.barrierDismissible, + required this.onDismiss, + required this.child, + }); + + final bool barrierDismissible; + final VoidCallback onDismiss; + final Widget child; + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: Stack( + fit: StackFit.expand, + children: [ + Positioned.fill( + child: GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: barrierDismissible ? onDismiss : null, + child: ClipRect( + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10), + child: Container( + color: Colors.black.withValues(alpha: 0.32), + ), + ), + ), + ), + ), + Center(child: child), + ], + ), + ); + } +} diff --git a/lib/shared/widgets/widgets.dart b/lib/shared/widgets/widgets.dart index 1dc5d129..1cd9ec8c 100644 --- a/lib/shared/widgets/widgets.dart +++ b/lib/shared/widgets/widgets.dart @@ -8,4 +8,5 @@ /// - Gap, VerticalDivider library; +export 'app_dialog.dart'; export 'package:shadcn_flutter/shadcn_flutter.dart'; From b79af6ff987614268571218f66e4177f9f073caa Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 11:54:23 +0300 Subject: [PATCH 04/13] feat(postgres): open function definitions and sequence details from tree Made-with: Cursor --- lib/core/database/postgres_connection.dart | 148 +++++++++ .../connections/connections_panel.dart | 123 +++++--- lib/features/main_screen/main_screen.dart | 28 +- lib/features/main_screen/workspace_panel.dart | 70 +++-- .../postgresql/postgres_object_kind.dart | 11 + .../postgresql/postgres_routine_view.dart | 260 +++++++++++++++ .../postgresql/postgres_sequence_view.dart | 296 ++++++++++++++++++ .../database/postgres_connection_test.dart | 22 ++ 8 files changed, 893 insertions(+), 65 deletions(-) create mode 100644 lib/features/postgresql/postgres_object_kind.dart create mode 100644 lib/features/postgresql/postgres_routine_view.dart create mode 100644 lib/features/postgresql/postgres_sequence_view.dart diff --git a/lib/core/database/postgres_connection.dart b/lib/core/database/postgres_connection.dart index eb208b19..a47df938 100644 --- a/lib/core/database/postgres_connection.dart +++ b/lib/core/database/postgres_connection.dart @@ -273,6 +273,154 @@ class PostgresConnection { useSSL: useSSL, ); } + + /// All overloads of a function in [schema] named [name] ([pg_get_functiondef]). + Future> getFunctionDefinitions( + String schema, + String name, + ) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + Sql.named( + r''' +SELECT p.oid::regprocedure::text AS signature, + pg_get_functiondef(p.oid)::text AS definition +FROM pg_proc p +JOIN pg_namespace n ON n.oid = p.pronamespace +WHERE n.nspname = @schema AND p.proname = @name +ORDER BY p.oid +''', + ), + parameters: {'schema': schema, 'name': name}, + ); + return result + .map( + (row) => PgFunctionOverload( + signature: row[0] as String, + definition: row[1] as String, + ), + ) + .toList(); + } + + /// Metadata and approximate DDL for a sequence (requires PG 10+ [pg_sequences]). + Future getSequenceDetails( + String schema, + String name, + ) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + Sql.named( + r''' +SELECT last_value::text, start_value::text, min_value::text, max_value::text, + increment_by::text, cycle, cache_size::text, + schemaname::text, sequencename::text +FROM pg_sequences +WHERE schemaname = @schema AND sequencename = @name +''', + ), + parameters: {'schema': schema, 'name': name}, + ); + if (result.isEmpty) return null; + final row = result.first; + final sc = row[7] as String; + final seq = row[8] as String; + final cycle = _parsePgBool(row[5]); + final ddl = _buildSequenceDdl( + schema: sc, + name: seq, + incrementBy: row[4] as String, + minValue: row[2] as String, + maxValue: row[3] as String, + startValue: row[1] as String, + cacheSize: row[6] as String, + cycle: cycle, + ); + return PostgresSequenceDetails( + schema: sc, + name: seq, + lastValue: row[0] as String, + startValue: row[1] as String, + minValue: row[2] as String, + maxValue: row[3] as String, + incrementBy: row[4] as String, + cacheSize: row[6] as String, + cycle: cycle, + ddl: ddl, + ); + } + + static String _quoteIdent(String id) => + '"${id.replaceAll('"', '""')}"'; + + static bool _parsePgBool(Object? v) { + if (v is bool) return v; + final s = v?.toString().toLowerCase() ?? ''; + return s == 't' || s == 'true'; + } + + static String _buildSequenceDdl({ + required String schema, + required String name, + required String incrementBy, + required String minValue, + required String maxValue, + required String startValue, + required String cacheSize, + required bool cycle, + }) { + final qSchema = _quoteIdent(schema); + final qName = _quoteIdent(name); + return 'CREATE SEQUENCE $qSchema.$qName\n' + ' INCREMENT BY $incrementBy\n' + ' MINVALUE $minValue\n' + ' MAXVALUE $maxValue\n' + ' START $startValue\n' + ' CACHE $cacheSize\n' + ' ${cycle ? 'CYCLE' : 'NO CYCLE'};'; + } +} + +/// One overload returned by [PostgresConnection.getFunctionDefinitions]. +class PgFunctionOverload { + const PgFunctionOverload({ + required this.signature, + required this.definition, + }); + + final String signature; + final String definition; +} + +/// Row from [pg_sequences] plus generated DDL. +class PostgresSequenceDetails { + const PostgresSequenceDetails({ + required this.schema, + required this.name, + required this.lastValue, + required this.startValue, + required this.minValue, + required this.maxValue, + required this.incrementBy, + required this.cacheSize, + required this.cycle, + required this.ddl, + }); + + final String schema; + final String name; + final String lastValue; + final String startValue; + final String minValue; + final String maxValue; + final String incrementBy; + final String cacheSize; + final bool cycle; + final String ddl; } class PostgresConnectionException implements Exception { diff --git a/lib/features/connections/connections_panel.dart b/lib/features/connections/connections_panel.dart index bd629e92..adc36258 100644 --- a/lib/features/connections/connections_panel.dart +++ b/lib/features/connections/connections_panel.dart @@ -9,6 +9,7 @@ import 'package:querya_desktop/shared/widgets/widgets.dart'; import 'package:querya_desktop/features/mongodb/mongo_database_dialog.dart'; import 'package:querya_desktop/features/mongodb/mongodb_connection_form.dart'; +import 'package:querya_desktop/features/postgresql/postgres_object_kind.dart'; import 'package:querya_desktop/features/postgresql/postgresql_connection_form.dart'; import 'package:querya_desktop/features/redis/redis_connection_form.dart'; import 'new_connection_dialog.dart'; @@ -21,7 +22,7 @@ class ConnectionsPanel extends StatefulWidget { this.onConnectionSelected, this.onRedisDatabaseSelected, this.onMongoDBDatabaseSelected, - this.onPostgresTableSelected, + this.onPostgresObjectSelected, }); /// Called when the user taps a connection tile. @@ -35,9 +36,14 @@ class ConnectionsPanel extends StatefulWidget { final void Function(ConnectionRow connection, String database)? onMongoDBDatabaseSelected; - /// Called when the user taps a PostgreSQL table or view in the tree. - final void Function(ConnectionRow connection, String database, String schema, - String tableOrViewName, bool isView)? onPostgresTableSelected; + /// Called when the user taps a PostgreSQL table, view, function, or sequence. + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; @override State createState() => _ConnectionsPanelState(); @@ -147,7 +153,7 @@ class _ConnectionsPanelState extends State { iconAsset: _iconAssetForType(conn.type), onRemove: () => _removeConnection(conn.id!), onTap: () => widget.onConnectionSelected?.call(conn), - onPostgresTableSelected: widget.onPostgresTableSelected, + onPostgresObjectSelected: widget.onPostgresObjectSelected, ); } else if (conn.type == 'redis') { return _RedisConnectionTile( @@ -1198,7 +1204,7 @@ class _PostgresConnectionTile extends StatefulWidget { this.iconAsset, required this.onRemove, this.onTap, - this.onPostgresTableSelected, + this.onPostgresObjectSelected, }); final ConnectionRow connection; @@ -1206,8 +1212,13 @@ class _PostgresConnectionTile extends StatefulWidget { final String? iconAsset; final VoidCallback onRemove; final VoidCallback? onTap; - final void Function(ConnectionRow connection, String database, String schema, - String tableOrViewName, bool isView)? onPostgresTableSelected; + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; @override State<_PostgresConnectionTile> createState() => @@ -1408,7 +1419,7 @@ class _PostgresConnectionTileState extends State<_PostgresConnectionTile> { _PgDatabasesNode( connection: widget.connection, databases: _databases, - onPostgresTableSelected: widget.onPostgresTableSelected, + onPostgresObjectSelected: widget.onPostgresObjectSelected, ), ], ], @@ -1422,13 +1433,18 @@ class _PgDatabasesNode extends StatefulWidget { const _PgDatabasesNode({ required this.connection, required this.databases, - this.onPostgresTableSelected, + this.onPostgresObjectSelected, }); final ConnectionRow connection; final List databases; - final void Function(ConnectionRow connection, String database, String schema, - String tableOrViewName, bool isView)? onPostgresTableSelected; + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; @override State<_PgDatabasesNode> createState() => _PgDatabasesNodeState(); @@ -1481,7 +1497,7 @@ class _PgDatabasesNodeState extends State<_PgDatabasesNode> { _PgDatabaseNode( connection: widget.connection, databaseName: db, - onPostgresTableSelected: widget.onPostgresTableSelected, + onPostgresObjectSelected: widget.onPostgresObjectSelected, ), ], ), @@ -1493,13 +1509,18 @@ class _PgDatabaseNode extends StatefulWidget { const _PgDatabaseNode({ required this.connection, required this.databaseName, - this.onPostgresTableSelected, + this.onPostgresObjectSelected, }); final ConnectionRow connection; final String databaseName; - final void Function(ConnectionRow connection, String database, String schema, - String tableOrViewName, bool isView)? onPostgresTableSelected; + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; @override State<_PgDatabaseNode> createState() => _PgDatabaseNodeState(); @@ -1618,7 +1639,7 @@ class _PgDatabaseNodeState extends State<_PgDatabaseNode> { connection: widget.connection, databaseName: widget.databaseName, schemas: _schemas, - onPostgresTableSelected: widget.onPostgresTableSelected, + onPostgresObjectSelected: widget.onPostgresObjectSelected, ), ], ], @@ -1632,14 +1653,19 @@ class _PgSchemasNode extends StatefulWidget { required this.connection, required this.databaseName, required this.schemas, - this.onPostgresTableSelected, + this.onPostgresObjectSelected, }); final ConnectionRow connection; final String databaseName; final List schemas; - final void Function(ConnectionRow connection, String database, String schema, - String tableOrViewName, bool isView)? onPostgresTableSelected; + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; @override State<_PgSchemasNode> createState() => _PgSchemasNodeState(); @@ -1692,7 +1718,7 @@ class _PgSchemasNodeState extends State<_PgSchemasNode> { connection: widget.connection, databaseName: widget.databaseName, schemaName: schema, - onPostgresTableSelected: widget.onPostgresTableSelected, + onPostgresObjectSelected: widget.onPostgresObjectSelected, ), ], ), @@ -1705,14 +1731,19 @@ class _PgSchemaNode extends StatefulWidget { required this.connection, required this.databaseName, required this.schemaName, - this.onPostgresTableSelected, + this.onPostgresObjectSelected, }); final ConnectionRow connection; final String databaseName; final String schemaName; - final void Function(ConnectionRow connection, String database, String schema, - String tableOrViewName, bool isView)? onPostgresTableSelected; + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; @override State<_PgSchemaNode> createState() => _PgSchemaNodeState(); @@ -1840,13 +1871,13 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { label: 'Tables', icon: material.Icons.table_chart_rounded, items: _tables, - onItemTap: widget.onPostgresTableSelected != null - ? (name) => widget.onPostgresTableSelected!( + onItemTap: widget.onPostgresObjectSelected != null + ? (name) => widget.onPostgresObjectSelected!( widget.connection, widget.databaseName, widget.schemaName, name, - false, + PostgresObjectKind.table, ) : null, ), @@ -1854,24 +1885,44 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { label: 'Views', icon: material.Icons.view_agenda_rounded, items: _views, - onItemTap: widget.onPostgresTableSelected != null - ? (name) => widget.onPostgresTableSelected!( + onItemTap: widget.onPostgresObjectSelected != null + ? (name) => widget.onPostgresObjectSelected!( widget.connection, widget.databaseName, widget.schemaName, name, - true, + PostgresObjectKind.view, ) : null, ), _PgObjectGroup( - label: 'Functions', - icon: material.Icons.functions_rounded, - items: _functions), + label: 'Functions', + icon: material.Icons.functions_rounded, + items: _functions, + onItemTap: widget.onPostgresObjectSelected != null + ? (name) => widget.onPostgresObjectSelected!( + widget.connection, + widget.databaseName, + widget.schemaName, + name, + PostgresObjectKind.function, + ) + : null, + ), _PgObjectGroup( - label: 'Sequences', - icon: material.Icons.format_list_numbered_rounded, - items: _sequences), + label: 'Sequences', + icon: material.Icons.format_list_numbered_rounded, + items: _sequences, + onItemTap: widget.onPostgresObjectSelected != null + ? (name) => widget.onPostgresObjectSelected!( + widget.connection, + widget.databaseName, + widget.schemaName, + name, + PostgresObjectKind.sequence, + ) + : null, + ), ], ], ], diff --git a/lib/features/main_screen/main_screen.dart b/lib/features/main_screen/main_screen.dart index 6dbd2e00..fe3c828e 100644 --- a/lib/features/main_screen/main_screen.dart +++ b/lib/features/main_screen/main_screen.dart @@ -5,6 +5,7 @@ import 'package:querya_desktop/core/theme/app_theme.dart'; import 'package:querya_desktop/shared/widgets/widgets.dart'; import 'package:querya_desktop/features/connections/connections_panel.dart'; +import 'package:querya_desktop/features/postgresql/postgres_object_kind.dart'; import 'package:querya_desktop/features/connections/driver_manager_dialog.dart'; import 'package:querya_desktop/features/connections/new_connection_dialog.dart'; import 'workspace_panel.dart'; @@ -30,30 +31,35 @@ class _MainScreenState extends State { /// Currently selected MongoDB database (null = show stats). String? _activeMongoDB; - /// When set, user selected a PostgreSQL table/view in the tree. - ({String database, String schema, String tableName, bool isView})? - _activePostgresTable; + /// When set, user selected a PostgreSQL object in the tree. + ({String database, String schema, String name, PostgresObjectKind kind})? + _selectedPostgresObject; void _onConnectionSelected(ConnectionRow connection) { setState(() { _activeConnection = connection; _activeRedisDb = null; _activeMongoDB = null; - _activePostgresTable = null; + _selectedPostgresObject = null; }); } - void _onPostgresTableSelected(ConnectionRow connection, String database, - String schema, String tableOrViewName, bool isView) { + void _onPostgresObjectSelected( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + ) { setState(() { _activeConnection = connection; _activeRedisDb = null; _activeMongoDB = null; - _activePostgresTable = ( + _selectedPostgresObject = ( database: database, schema: schema, - tableName: tableOrViewName, - isView: isView, + name: name, + kind: kind, ); }); } @@ -97,7 +103,7 @@ class _MainScreenState extends State { onConnectionSelected: _onConnectionSelected, onRedisDatabaseSelected: _onRedisDatabaseSelected, onMongoDBDatabaseSelected: _onMongoDBDatabaseSelected, - onPostgresTableSelected: _onPostgresTableSelected, + onPostgresObjectSelected: _onPostgresObjectSelected, ), ), _VerticalResizeHandle( @@ -113,7 +119,7 @@ class _MainScreenState extends State { activeConnection: _activeConnection, selectedRedisDb: _activeRedisDb, selectedMongoDb: _activeMongoDB, - selectedPostgresTable: _activePostgresTable, + selectedPostgresObject: _selectedPostgresObject, ), ), ], diff --git a/lib/features/main_screen/workspace_panel.dart b/lib/features/main_screen/workspace_panel.dart index fa822136..c148c684 100644 --- a/lib/features/main_screen/workspace_panel.dart +++ b/lib/features/main_screen/workspace_panel.dart @@ -4,6 +4,9 @@ import 'package:querya_desktop/shared/widgets/widgets.dart'; import 'package:querya_desktop/features/mongodb/mongo_explorer_view.dart'; import 'package:querya_desktop/features/mongodb/mongo_stats_view.dart'; +import 'package:querya_desktop/features/postgresql/postgres_object_kind.dart'; +import 'package:querya_desktop/features/postgresql/postgres_routine_view.dart'; +import 'package:querya_desktop/features/postgresql/postgres_sequence_view.dart'; import 'package:querya_desktop/features/postgresql/postgres_stats_view.dart'; import 'package:querya_desktop/features/postgresql/postgres_table_view.dart'; import 'package:querya_desktop/features/redis/redis_explorer_view.dart'; @@ -11,6 +14,42 @@ import 'package:querya_desktop/features/redis/redis_view.dart'; import 'query_editor_tab.dart'; import 'results_tab.dart'; +Widget _pgObjectWorkspace({ + required ConnectionRow connection, + required ({String database, String schema, String name, PostgresObjectKind kind}) pg, +}) { + switch (pg.kind) { + case PostgresObjectKind.table: + case PostgresObjectKind.view: + return PostgresTableView( + key: ValueKey( + 'pg_table_${connection.id}_${pg.schema}_${pg.name}_${pg.kind}', + ), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + tableName: pg.name, + isView: pg.kind == PostgresObjectKind.view, + ); + case PostgresObjectKind.function: + return PostgresRoutineView( + key: ValueKey('pg_fn_${connection.id}_${pg.schema}_${pg.name}'), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + routineName: pg.name, + ); + case PostgresObjectKind.sequence: + return PostgresSequenceView( + key: ValueKey('pg_seq_${connection.id}_${pg.schema}_${pg.name}'), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + sequenceName: pg.name, + ); + } +} + /// Main workspace: top = Query Editor / Query History, bottom = Data Output / Messages (pgAdmin-style). Uses shadcn layout. class WorkspacePanel extends StatefulWidget { const WorkspacePanel({ @@ -18,7 +57,7 @@ class WorkspacePanel extends StatefulWidget { this.activeConnection, this.selectedRedisDb, this.selectedMongoDb, - this.selectedPostgresTable, + this.selectedPostgresObject, }); /// Currently selected connection from the sidebar. @@ -32,10 +71,10 @@ class WorkspacePanel extends StatefulWidget { /// null = show stats, non-null = show data explorer for that db. final String? selectedMongoDb; - /// When set, the user selected a PostgreSQL table/view in the sidebar tree. - /// null = show stats, non-null = show table data view. - final ({String database, String schema, String tableName, bool isView})? - selectedPostgresTable; + /// When set, the user selected a PostgreSQL object in the sidebar tree. + /// null = show stats, non-null = show table/grid or definition view. + final ({String database, String schema, String name, PostgresObjectKind kind})? + selectedPostgresObject; @override State createState() => _WorkspacePanelState(); @@ -50,26 +89,21 @@ class _WorkspacePanelState extends State { Widget build(BuildContext context) { final theme = Theme.of(context); - // If a PostgreSQL connection is selected → stats or table data + // If a PostgreSQL connection is selected → stats, table/view, function, or sequence if (widget.activeConnection != null && widget.activeConnection!.type == 'postgresql') { - final pgTable = widget.selectedPostgresTable; + final pg = widget.selectedPostgresObject; return material.Container( color: theme.colorScheme.background, child: material.SizedBox.expand( - child: pgTable != null - ? PostgresTableView( - key: ValueKey( - 'pg_table_${widget.activeConnection!.id}_${pgTable.schema}_${pgTable.tableName}'), - connectionRow: widget.activeConnection!, - database: pgTable.database, - schema: pgTable.schema, - tableName: pgTable.tableName, - isView: pgTable.isView, - ) - : PostgresStatsView( + child: pg == null + ? PostgresStatsView( key: ValueKey('pg_stats_${widget.activeConnection!.id}'), connectionRow: widget.activeConnection!, + ) + : _pgObjectWorkspace( + connection: widget.activeConnection!, + pg: pg, ), ), ); diff --git a/lib/features/postgresql/postgres_object_kind.dart b/lib/features/postgresql/postgres_object_kind.dart new file mode 100644 index 00000000..21458329 --- /dev/null +++ b/lib/features/postgresql/postgres_object_kind.dart @@ -0,0 +1,11 @@ +/// Kind of object selected in the PostgreSQL browser tree. +enum PostgresObjectKind { + /// Base table (data grid). + table, + /// View (read-only grid). + view, + /// Function or aggregate ([pg_get_functiondef]). + function, + /// Sequence (metadata + current value). + sequence, +} diff --git a/lib/features/postgresql/postgres_routine_view.dart b/lib/features/postgresql/postgres_routine_view.dart new file mode 100644 index 00000000..07ecbaff --- /dev/null +++ b/lib/features/postgresql/postgres_routine_view.dart @@ -0,0 +1,260 @@ +import 'package:flutter/material.dart' as material; +import 'package:querya_desktop/core/database/postgres_connection.dart'; +import 'package:querya_desktop/core/storage/local_db.dart'; +import 'package:querya_desktop/shared/widgets/widgets.dart'; + +/// Shows [pg_get_functiondef] for each overload of a PostgreSQL function. +class PostgresRoutineView extends material.StatefulWidget { + const PostgresRoutineView({ + super.key, + required this.connectionRow, + required this.database, + required this.schema, + required this.routineName, + }); + + final ConnectionRow connectionRow; + final String database; + final String schema; + final String routineName; + + @override + material.State createState() => + _PostgresRoutineViewState(); +} + +class _PostgresRoutineViewState extends material.State { + PostgresConnection? _connection; + bool _loading = true; + String? _error; + List _overloads = []; + + @override + void initState() { + super.initState(); + _connectAndLoad(); + } + + @override + void didUpdateWidget(covariant PostgresRoutineView oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.connectionRow.id != widget.connectionRow.id || + oldWidget.database != widget.database || + oldWidget.schema != widget.schema || + oldWidget.routineName != widget.routineName) { + _disconnectCurrent(); + _connectAndLoad(); + } + } + + @override + void dispose() { + _disconnectCurrent(); + super.dispose(); + } + + void _disconnectCurrent() { + final conn = _connection; + _connection = null; + conn?.disconnect(); + } + + Future _connectAndLoad() async { + _disconnectCurrent(); + if (!mounted) return; + setState(() { + _loading = true; + _error = null; + _overloads = []; + }); + try { + final c = widget.connectionRow; + final conn = PostgresConnection( + id: c.id ?? 0, + name: c.name, + host: c.host ?? 'localhost', + port: c.port ?? 5432, + username: c.username, + password: c.password, + database: widget.database, + useSSL: c.useSSL, + ); + await conn.connect(); + if (!mounted) { + conn.disconnect(); + return; + } + _connection = conn; + final list = await conn.getFunctionDefinitions( + widget.schema, + widget.routineName, + ); + if (!mounted) return; + setState(() { + _overloads = list; + _loading = false; + if (list.isEmpty) { + _error = 'No function definitions found (check permissions or name).'; + } else { + _error = null; + } + }); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final cs = Theme.of(context).colorScheme; + + if (_loading) { + return material.Container( + color: cs.background, + child: material.Center( + child: material.Column( + mainAxisSize: material.MainAxisSize.min, + children: [ + const material.SizedBox( + width: 28, + height: 28, + child: material.CircularProgressIndicator(strokeWidth: 2), + ), + const Gap(12), + const Text('Loading function…').muted().small(), + ], + ), + ), + ); + } + + if (_error != null) { + return material.Container( + color: cs.background, + child: material.Center( + child: material.Padding( + padding: const material.EdgeInsets.all(32), + child: material.Column( + mainAxisSize: material.MainAxisSize.min, + children: [ + material.Icon(material.Icons.error_outline_rounded, + size: 48, color: cs.destructive), + const Gap(16), + const Text('Function').large().semiBold(), + const Gap(8), + material.SelectableText(_error!, + style: material.TextStyle( + color: cs.mutedForeground, fontSize: 13)), + const Gap(24), + OutlineButton( + onPressed: _connectAndLoad, + leading: const material.Icon(material.Icons.refresh_rounded, + size: 18), + child: const Text('Retry'), + ), + ], + ), + ), + ), + ); + } + + return material.Container( + color: cs.background, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + material.Container( + padding: const material.EdgeInsets.fromLTRB(16, 10, 16, 10), + decoration: material.BoxDecoration( + color: cs.card, + border: material.Border( + bottom: material.BorderSide( + color: cs.border.withValues(alpha: 0.5)), + ), + ), + child: material.Row( + children: [ + material.Icon(material.Icons.functions_rounded, + size: 18, color: cs.primary), + const Gap(8), + material.Expanded( + child: material.Text( + '${widget.schema}.${widget.routineName}()', + style: material.TextStyle( + fontSize: 13, + fontWeight: material.FontWeight.w600, + color: cs.foreground, + ), + overflow: material.TextOverflow.ellipsis, + ), + ), + OutlineButton( + size: ButtonSize.small, + onPressed: _connectAndLoad, + leading: const material.Icon( + material.Icons.refresh_rounded, size: 14), + child: const Text('Refresh'), + ), + ], + ), + ), + material.Expanded( + child: material.Scrollbar( + thumbVisibility: true, + child: material.SingleChildScrollView( + padding: const material.EdgeInsets.all(20), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + for (var i = 0; i < _overloads.length; i++) ...[ + if (i > 0) const Gap(24), + if (_overloads.length > 1) + material.Padding( + padding: const material.EdgeInsets.only(bottom: 8), + child: Text( + _overloads[i].signature, + style: material.TextStyle( + fontSize: 12, + fontWeight: material.FontWeight.w600, + color: cs.foreground, + fontFamily: 'monospace', + ), + ), + ), + material.Container( + width: double.infinity, + padding: const material.EdgeInsets.all(12), + decoration: material.BoxDecoration( + color: cs.muted.withValues(alpha: 0.15), + borderRadius: material.BorderRadius.circular(8), + border: material.Border.all( + color: cs.border.withValues(alpha: 0.4), + ), + ), + child: material.SelectableText( + _overloads[i].definition, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + height: 1.45, + color: cs.foreground, + ), + ), + ), + ], + ], + ), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/features/postgresql/postgres_sequence_view.dart b/lib/features/postgresql/postgres_sequence_view.dart new file mode 100644 index 00000000..92b81c8c --- /dev/null +++ b/lib/features/postgresql/postgres_sequence_view.dart @@ -0,0 +1,296 @@ +import 'package:flutter/material.dart' as material; +import 'package:querya_desktop/core/database/postgres_connection.dart'; +import 'package:querya_desktop/core/storage/local_db.dart'; +import 'package:querya_desktop/shared/widgets/widgets.dart'; + +/// Shows [pg_sequences] metadata, current value, and generated DDL. +class PostgresSequenceView extends material.StatefulWidget { + const PostgresSequenceView({ + super.key, + required this.connectionRow, + required this.database, + required this.schema, + required this.sequenceName, + }); + + final ConnectionRow connectionRow; + final String database; + final String schema; + final String sequenceName; + + @override + material.State createState() => + _PostgresSequenceViewState(); +} + +class _PostgresSequenceViewState extends material.State { + PostgresConnection? _connection; + bool _loading = true; + String? _error; + PostgresSequenceDetails? _details; + + @override + void initState() { + super.initState(); + _connectAndLoad(); + } + + @override + void didUpdateWidget(covariant PostgresSequenceView oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.connectionRow.id != widget.connectionRow.id || + oldWidget.database != widget.database || + oldWidget.schema != widget.schema || + oldWidget.sequenceName != widget.sequenceName) { + _disconnectCurrent(); + _connectAndLoad(); + } + } + + @override + void dispose() { + _disconnectCurrent(); + super.dispose(); + } + + void _disconnectCurrent() { + final conn = _connection; + _connection = null; + conn?.disconnect(); + } + + Future _connectAndLoad() async { + _disconnectCurrent(); + if (!mounted) return; + setState(() { + _loading = true; + _error = null; + _details = null; + }); + try { + final c = widget.connectionRow; + final conn = PostgresConnection( + id: c.id ?? 0, + name: c.name, + host: c.host ?? 'localhost', + port: c.port ?? 5432, + username: c.username, + password: c.password, + database: widget.database, + useSSL: c.useSSL, + ); + await conn.connect(); + if (!mounted) { + conn.disconnect(); + return; + } + _connection = conn; + final d = await conn.getSequenceDetails( + widget.schema, + widget.sequenceName, + ); + if (!mounted) return; + setState(() { + _details = d; + _loading = false; + if (d == null) { + _error = + 'Sequence not found in pg_sequences (PostgreSQL 10+ required), ' + 'or name mismatch.'; + } + }); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final cs = Theme.of(context).colorScheme; + + if (_loading) { + return material.Container( + color: cs.background, + child: material.Center( + child: material.Column( + mainAxisSize: material.MainAxisSize.min, + children: [ + const material.SizedBox( + width: 28, + height: 28, + child: material.CircularProgressIndicator(strokeWidth: 2), + ), + const Gap(12), + const Text('Loading sequence…').muted().small(), + ], + ), + ), + ); + } + + if (_error != null || _details == null) { + return material.Container( + color: cs.background, + child: material.Center( + child: material.Padding( + padding: const material.EdgeInsets.all(32), + child: material.Column( + mainAxisSize: material.MainAxisSize.min, + children: [ + material.Icon(material.Icons.error_outline_rounded, + size: 48, color: cs.destructive), + const Gap(16), + const Text('Sequence').large().semiBold(), + const Gap(8), + material.SelectableText( + _error ?? 'Unknown error', + style: material.TextStyle( + color: cs.mutedForeground, fontSize: 13), + ), + const Gap(24), + OutlineButton( + onPressed: _connectAndLoad, + leading: const material.Icon(material.Icons.refresh_rounded, + size: 18), + child: const Text('Retry'), + ), + ], + ), + ), + ), + ); + } + + final d = _details!; + + return material.Container( + color: cs.background, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + material.Container( + padding: const material.EdgeInsets.fromLTRB(16, 10, 16, 10), + decoration: material.BoxDecoration( + color: cs.card, + border: material.Border( + bottom: material.BorderSide( + color: cs.border.withValues(alpha: 0.5)), + ), + ), + child: material.Row( + children: [ + material.Icon(material.Icons.format_list_numbered_rounded, + size: 18, color: cs.primary), + const Gap(8), + material.Expanded( + child: material.Text( + '${d.schema}.${d.name}', + style: material.TextStyle( + fontSize: 13, + fontWeight: material.FontWeight.w600, + color: cs.foreground, + ), + overflow: material.TextOverflow.ellipsis, + ), + ), + OutlineButton( + size: ButtonSize.small, + onPressed: _connectAndLoad, + leading: const material.Icon( + material.Icons.refresh_rounded, size: 14), + child: const Text('Refresh'), + ), + ], + ), + ), + material.Expanded( + child: material.Scrollbar( + thumbVisibility: true, + child: material.SingleChildScrollView( + padding: const material.EdgeInsets.all(20), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + const Text('Current value').small().semiBold(), + const Gap(6), + material.SelectableText( + d.lastValue, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 16, + color: cs.foreground, + ), + ), + const Gap(20), + const Text('Properties').small().semiBold(), + const Gap(8), + _kv(cs, 'last_value', d.lastValue), + _kv(cs, 'start_value', d.startValue), + _kv(cs, 'min_value', d.minValue), + _kv(cs, 'max_value', d.maxValue), + _kv(cs, 'increment_by', d.incrementBy), + _kv(cs, 'cache_size', d.cacheSize), + _kv(cs, 'cycle', d.cycle ? 'yes' : 'no'), + const Gap(24), + const Text('DDL (approx.)').small().semiBold(), + const Gap(8), + material.Container( + width: double.infinity, + padding: const material.EdgeInsets.all(12), + decoration: material.BoxDecoration( + color: cs.muted.withValues(alpha: 0.15), + borderRadius: material.BorderRadius.circular(8), + border: material.Border.all( + color: cs.border.withValues(alpha: 0.4), + ), + ), + child: material.SelectableText( + d.ddl, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + height: 1.45, + color: cs.foreground, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ); + } + + material.Widget _kv(dynamic cs, String k, String v) { + return material.Padding( + padding: const material.EdgeInsets.only(bottom: 6), + child: material.Row( + crossAxisAlignment: material.CrossAxisAlignment.start, + children: [ + material.SizedBox( + width: 120, + child: Text(k).muted().xSmall(), + ), + material.Expanded( + child: material.SelectableText( + v, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: cs.foreground, + ), + ), + ), + ], + ), + ); + } +} diff --git a/test/core/database/postgres_connection_test.dart b/test/core/database/postgres_connection_test.dart index 1d53e00b..9899783b 100644 --- a/test/core/database/postgres_connection_test.dart +++ b/test/core/database/postgres_connection_test.dart @@ -226,6 +226,28 @@ void main() { )), ); }); + + test('getFunctionDefinitions throws StateError', () { + expect( + () => conn.getFunctionDefinitions('public', 'foo'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('getSequenceDetails throws StateError', () { + expect( + () => conn.getSequenceDetails('public', 'foo'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); }); group('PostgresConnection.connectToDatabase', () { From b2897a4849be4136b1b4eb8245e6eb82d43af0cf Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 11:56:54 +0300 Subject: [PATCH 05/13] fix(postgres): ScrollController for Scrollbar on routine/sequence views Made-with: Cursor --- lib/features/postgresql/postgres_routine_view.dart | 4 ++++ lib/features/postgresql/postgres_sequence_view.dart | 3 +++ 2 files changed, 7 insertions(+) diff --git a/lib/features/postgresql/postgres_routine_view.dart b/lib/features/postgresql/postgres_routine_view.dart index 07ecbaff..daccd2f8 100644 --- a/lib/features/postgresql/postgres_routine_view.dart +++ b/lib/features/postgresql/postgres_routine_view.dart @@ -28,6 +28,7 @@ class _PostgresRoutineViewState extends material.State { bool _loading = true; String? _error; List _overloads = []; + final _scrollController = material.ScrollController(); @override void initState() { @@ -49,6 +50,7 @@ class _PostgresRoutineViewState extends material.State { @override void dispose() { + _scrollController.dispose(); _disconnectCurrent(); super.dispose(); } @@ -206,8 +208,10 @@ class _PostgresRoutineViewState extends material.State { ), material.Expanded( child: material.Scrollbar( + controller: _scrollController, thumbVisibility: true, child: material.SingleChildScrollView( + controller: _scrollController, padding: const material.EdgeInsets.all(20), child: material.Column( crossAxisAlignment: material.CrossAxisAlignment.stretch, diff --git a/lib/features/postgresql/postgres_sequence_view.dart b/lib/features/postgresql/postgres_sequence_view.dart index 92b81c8c..133d48cc 100644 --- a/lib/features/postgresql/postgres_sequence_view.dart +++ b/lib/features/postgresql/postgres_sequence_view.dart @@ -28,6 +28,7 @@ class _PostgresSequenceViewState extends material.State { bool _loading = true; String? _error; PostgresSequenceDetails? _details; + final _scrollController = material.ScrollController(); @override void initState() { @@ -210,8 +211,10 @@ class _PostgresSequenceViewState extends material.State { ), material.Expanded( child: material.Scrollbar( + controller: _scrollController, thumbVisibility: true, child: material.SingleChildScrollView( + controller: _scrollController, padding: const material.EdgeInsets.all(20), child: material.Column( crossAxisAlignment: material.CrossAxisAlignment.stretch, From 23de3c5fb7521806bf54f0c7f0ffbfe4b276743a Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 12:07:21 +0300 Subject: [PATCH 06/13] feat(postgres): metadata DTOs and queries for MV, indexes, triggers, types, extensions, FDW, privileges Made-with: Cursor --- .flutter-plugins-dependencies | 2 +- lib/core/database/postgres_connection.dart | 222 +++++++++++++++++++++ lib/core/database/postgres_metadata.dart | 79 ++++++++ 3 files changed, 302 insertions(+), 1 deletion(-) create mode 100644 lib/core/database/postgres_metadata.dart diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 70009b2e..e76b0b9d 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.22\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_android-2.4.2+2\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"bitsdojo_window_macos","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_macos-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"bitsdojo_window_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_linux-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"bitsdojo_window_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_windows-0.1.6\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.3.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"web":[]},"dependencyGraph":[{"name":"bitsdojo_window","dependencies":["bitsdojo_window_windows","bitsdojo_window_macos","bitsdojo_window_linux"]},{"name":"bitsdojo_window_linux","dependencies":[]},{"name":"bitsdojo_window_macos","dependencies":[]},{"name":"bitsdojo_window_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqflite","dependencies":["sqflite_android","sqflite_darwin"]},{"name":"sqflite_android","dependencies":[]},{"name":"sqflite_darwin","dependencies":[]}],"date_created":"2026-03-14 09:50:21.245489","version":"3.41.4","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.22\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_android-2.4.2+2\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"bitsdojo_window_macos","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_macos-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"bitsdojo_window_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_linux-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"bitsdojo_window_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_windows-0.1.6\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.3.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"web":[]},"dependencyGraph":[{"name":"bitsdojo_window","dependencies":["bitsdojo_window_windows","bitsdojo_window_macos","bitsdojo_window_linux"]},{"name":"bitsdojo_window_linux","dependencies":[]},{"name":"bitsdojo_window_macos","dependencies":[]},{"name":"bitsdojo_window_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqflite","dependencies":["sqflite_android","sqflite_darwin"]},{"name":"sqflite_android","dependencies":[]},{"name":"sqflite_darwin","dependencies":[]}],"date_created":"2026-03-21 11:31:19.957698","version":"3.41.5","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file diff --git a/lib/core/database/postgres_connection.dart b/lib/core/database/postgres_connection.dart index a47df938..c678e788 100644 --- a/lib/core/database/postgres_connection.dart +++ b/lib/core/database/postgres_connection.dart @@ -1,5 +1,7 @@ import 'package:postgres/postgres.dart'; +import 'postgres_metadata.dart'; + /// PostgreSQL connection using the pure-Dart `postgres` package. class PostgresConnection { PostgresConnection({ @@ -354,6 +356,226 @@ WHERE schemaname = @schema AND sequencename = @name ); } + Future> listMaterializedViews({String schema = 'public'}) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + Sql.named( + 'SELECT matviewname FROM pg_matviews WHERE schemaname = @schema ' + 'ORDER BY matviewname', + ), + parameters: {'schema': schema}, + ); + return result.map((row) => row[0] as String).toList(); + } + + Future refreshMaterializedView(String schema, String name) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final q = '${_quoteIdent(schema)}.${_quoteIdent(name)}'; + await _conn!.execute('REFRESH MATERIALIZED VIEW $q'); + } + + Future> listIndexesInSchema(String schema) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + Sql.named( + r''' +SELECT c.relname::text, + i.relname::text, + COALESCE(pg_relation_size(i.oid), 0)::bigint, + pg_get_indexdef(i.oid)::text +FROM pg_index x +JOIN pg_class c ON c.oid = x.indrelid +JOIN pg_class i ON i.oid = x.indexrelid +JOIN pg_namespace n ON n.oid = c.relnamespace +WHERE n.nspname = @schema + AND c.relkind IN ('r', 'm', 'p') +ORDER BY c.relname, i.relname +''', + ), + parameters: {'schema': schema}, + ); + return result + .map( + (row) => PgIndexRow( + tableName: row[0] as String, + indexName: row[1] as String, + indexDef: row[3] as String, + sizeBytes: _parseSize(row[2]), + ), + ) + .toList(); + } + + static int? _parseSize(Object? v) { + if (v == null) return null; + if (v is int) return v; + if (v is BigInt) return v.toInt(); + return int.tryParse(v.toString()); + } + + Future> listTriggersInSchema(String schema) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + Sql.named( + r''' +SELECT c.relname::text, + t.tgname::text, + pg_get_triggerdef(t.oid)::text +FROM pg_trigger t +JOIN pg_class c ON c.oid = t.tgrelid +JOIN pg_namespace n ON n.oid = c.relnamespace +WHERE n.nspname = @schema + AND NOT t.tgisinternal +ORDER BY c.relname, t.tgname +''', + ), + parameters: {'schema': schema}, + ); + return result + .map( + (row) => PgTriggerRow( + tableName: row[0] as String, + triggerName: row[1] as String, + definition: row[2] as String, + ), + ) + .toList(); + } + + Future> listUserTypesInSchema(String schema) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + Sql.named( + r''' +SELECT t.typname::text, + CASE t.typtype + WHEN 'b' THEN 'base' + WHEN 'c' THEN 'composite' + WHEN 'd' THEN 'domain' + WHEN 'e' THEN 'enum' + WHEN 'p' THEN 'pseudo' + WHEN 'r' THEN 'range' + WHEN 'm' THEN 'multirange' + ELSE t.typtype::text + END +FROM pg_type t +JOIN pg_namespace n ON n.oid = t.typnamespace +WHERE n.nspname = @schema + AND t.typtype IN ('c', 'd', 'e', 'r', 'm') +ORDER BY t.typname +''', + ), + parameters: {'schema': schema}, + ); + return result + .map( + (row) => PgTypeRow( + name: row[0] as String, + kind: row[1] as String, + ), + ) + .toList(); + } + + Future> listExtensions() async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + 'SELECT extname::text, extversion::text FROM pg_extension ORDER BY extname', + ); + return result + .map( + (row) => PgExtensionRow( + name: row[0] as String, + version: row[1] as String, + ), + ) + .toList(); + } + + Future> listForeignDataWrappers() async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + r''' +SELECT fdwname::text, fdwhandler::regproc::text +FROM pg_foreign_data_wrapper +ORDER BY fdwname +''', + ); + return result + .map( + (row) => PgFdwRow( + name: row[0] as String, + handler: row[1] as String?, + ), + ) + .toList(); + } + + Future> listForeignServers() async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + r''' +SELECT s.srvname::text, w.fdwname::text +FROM pg_foreign_server s +JOIN pg_foreign_data_wrapper w ON w.oid = s.srvfdw +ORDER BY s.srvname +''', + ); + return result + .map( + (row) => PgForeignServerRow( + serverName: row[0] as String, + fdwName: row[1] as String, + ), + ) + .toList(); + } + + Future> listTablePrivileges( + String schema, + String table, + ) async { + if (!isConnected || _conn == null) { + throw StateError('Not connected to PostgreSQL'); + } + final result = await _conn!.execute( + Sql.named( + r''' +SELECT grantee::text, privilege_type::text, is_grantable::text +FROM information_schema.role_table_grants +WHERE table_schema = @schema AND table_name = @table +ORDER BY grantee, privilege_type +''', + ), + parameters: {'schema': schema, 'table': table}, + ); + return result + .map( + (row) => PgTablePrivilegeRow( + grantee: row[0] as String, + privilegeType: row[1] as String, + isGrantable: row[2] as String, + ), + ) + .toList(); + } + static String _quoteIdent(String id) => '"${id.replaceAll('"', '""')}"'; diff --git a/lib/core/database/postgres_metadata.dart b/lib/core/database/postgres_metadata.dart new file mode 100644 index 00000000..9aaba1cf --- /dev/null +++ b/lib/core/database/postgres_metadata.dart @@ -0,0 +1,79 @@ +// Rows for PostgreSQL browser metadata (indexes, triggers, types, etc.). + +class PgIndexRow { + const PgIndexRow({ + required this.tableName, + required this.indexName, + required this.indexDef, + this.sizeBytes, + }); + + final String tableName; + final String indexName; + final String indexDef; + final int? sizeBytes; +} + +class PgTriggerRow { + const PgTriggerRow({ + required this.tableName, + required this.triggerName, + required this.definition, + }); + + final String tableName; + final String triggerName; + final String definition; +} + +class PgTypeRow { + const PgTypeRow({ + required this.name, + required this.kind, + }); + + final String name; + final String kind; +} + +class PgExtensionRow { + const PgExtensionRow({ + required this.name, + required this.version, + }); + + final String name; + final String version; +} + +class PgFdwRow { + const PgFdwRow({ + required this.name, + this.handler, + }); + + final String name; + final String? handler; +} + +class PgForeignServerRow { + const PgForeignServerRow({ + required this.serverName, + required this.fdwName, + }); + + final String serverName; + final String fdwName; +} + +class PgTablePrivilegeRow { + const PgTablePrivilegeRow({ + required this.grantee, + required this.privilegeType, + required this.isGrantable, + }); + + final String grantee; + final String privilegeType; + final String isGrantable; +} From c2345a45ab1b4c7d3e808f3dca3ac95184131a49 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 12:07:24 +0300 Subject: [PATCH 07/13] feat(postgres): browser UI for schema objects, MV refresh, privileges dialog Made-with: Cursor --- .../connections/connections_panel.dart | 203 ++++- lib/features/main_screen/workspace_panel.dart | 60 +- .../postgresql/postgres_browser_views.dart | 808 ++++++++++++++++++ .../postgresql/postgres_object_kind.dart | 12 + .../postgres_table_privileges_dialog.dart | 203 +++++ .../postgresql/postgres_table_view.dart | 67 +- 6 files changed, 1346 insertions(+), 7 deletions(-) create mode 100644 lib/features/postgresql/postgres_browser_views.dart create mode 100644 lib/features/postgresql/postgres_table_privileges_dialog.dart diff --git a/lib/features/connections/connections_panel.dart b/lib/features/connections/connections_panel.dart index adc36258..8998bbc4 100644 --- a/lib/features/connections/connections_panel.dart +++ b/lib/features/connections/connections_panel.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart' as material show Padding, Container, BoxDecoration, Border, BorderSide, InkWell, Icon, Icons, IconData, Image, EdgeInsets, BorderRadius, CrossAxisAlignment, MainAxisSize, MouseRegion, SystemMouseCursors, DefaultTextStyle, TextStyle, CustomScrollView, SliverToBoxAdapter, SliverFillRemaining, SliverPadding, GestureDetector, HitTestBehavior, SizedBox, Column, AnimatedRotation, Row, BoxFit, Text, TextOverflow, Expanded, CircularProgressIndicator; +import 'package:flutter/material.dart' as material show BuildContext, Widget, Padding, Container, BoxDecoration, Border, BorderSide, InkWell, Icon, Icons, IconData, Image, EdgeInsets, BorderRadius, CrossAxisAlignment, MainAxisSize, MouseRegion, SystemMouseCursors, DefaultTextStyle, TextStyle, CustomScrollView, SliverToBoxAdapter, SliverFillRemaining, SliverPadding, GestureDetector, HitTestBehavior, SizedBox, Column, AnimatedRotation, Row, BoxFit, Text, TextOverflow, Expanded, CircularProgressIndicator, Material, StatelessWidget, Colors; import 'package:querya_desktop/core/database/mongodb_connection.dart'; import 'package:querya_desktop/core/database/postgres_connection.dart'; import 'package:querya_desktop/core/database/redis_connection.dart'; @@ -1617,6 +1617,22 @@ class _PgDatabaseNodeState extends State<_PgDatabaseNode> { ), ), if (_expanded) ...[ + _PgDbToolRow( + connection: widget.connection, + databaseName: widget.databaseName, + label: 'Extensions', + icon: material.Icons.extension_rounded, + kind: PostgresObjectKind.databaseExtensions, + onPostgresObjectSelected: widget.onPostgresObjectSelected, + ), + _PgDbToolRow( + connection: widget.connection, + databaseName: widget.databaseName, + label: 'Foreign data', + icon: material.Icons.public_rounded, + kind: PostgresObjectKind.databaseForeignData, + onPostgresObjectSelected: widget.onPostgresObjectSelected, + ), if (_loading) material.Padding( padding: @@ -1648,6 +1664,73 @@ class _PgDatabaseNodeState extends State<_PgDatabaseNode> { } } +class _PgDbToolRow extends material.StatelessWidget { + const _PgDbToolRow({ + required this.connection, + required this.databaseName, + required this.label, + required this.icon, + required this.kind, + this.onPostgresObjectSelected, + }); + + final ConnectionRow connection; + final String databaseName; + final String label; + final material.IconData icon; + final PostgresObjectKind kind; + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; + + @override + material.Widget build(material.BuildContext context) { + final theme = Theme.of(context); + return material.Padding( + padding: const material.EdgeInsets.only(left: 12, top: 2, bottom: 2), + child: material.Material( + color: material.Colors.transparent, + child: material.InkWell( + borderRadius: material.BorderRadius.circular(4), + onTap: onPostgresObjectSelected == null + ? null + : () => onPostgresObjectSelected!( + connection, + databaseName, + '', + '', + kind, + ), + child: material.Padding( + padding: + const material.EdgeInsets.symmetric(horizontal: 4, vertical: 4), + child: material.Row( + children: [ + material.Icon(icon, + size: 14, + color: theme.colorScheme.primary.withValues(alpha: 0.85)), + const Gap(6), + material.Expanded( + child: Text(label).small(), + ), + material.Icon( + material.Icons.chevron_right_rounded, + size: 14, + color: theme.colorScheme.mutedForeground, + ), + ], + ), + ), + ), + ), + ); + } +} + class _PgSchemasNode extends StatefulWidget { const _PgSchemasNode({ required this.connection, @@ -1754,6 +1837,7 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { bool _loading = false; List _tables = []; List _views = []; + List _matviews = []; List _functions = []; List _sequences = []; bool _loaded = false; @@ -1783,6 +1867,13 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { await conn.connect(); final tables = await conn.listTables(schema: widget.schemaName); final views = await conn.listViews(schema: widget.schemaName); + List matviews = []; + try { + matviews = + await conn.listMaterializedViews(schema: widget.schemaName); + } catch (_) { + // pg_matviews / permissions may fail on some servers; keep tree usable. + } final functions = await conn.listFunctions(schema: widget.schemaName); final sequences = await conn.listSequences(schema: widget.schemaName); await conn.disconnect(); @@ -1790,6 +1881,7 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { setState(() { _tables = tables; _views = views; + _matviews = matviews; _functions = functions; _sequences = sequences; _loading = false; @@ -1895,6 +1987,20 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { ) : null, ), + _PgObjectGroup( + label: 'Materialized views', + icon: material.Icons.dynamic_feed_rounded, + items: _matviews, + onItemTap: widget.onPostgresObjectSelected != null + ? (name) => widget.onPostgresObjectSelected!( + widget.connection, + widget.databaseName, + widget.schemaName, + name, + PostgresObjectKind.materializedView, + ) + : null, + ), _PgObjectGroup( label: 'Functions', icon: material.Icons.functions_rounded, @@ -1923,6 +2029,33 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { ) : null, ), + _PgSchemaToolRow( + connection: widget.connection, + databaseName: widget.databaseName, + schemaName: widget.schemaName, + label: 'Indexes', + icon: material.Icons.table_rows_rounded, + kind: PostgresObjectKind.schemaIndexes, + onPostgresObjectSelected: widget.onPostgresObjectSelected, + ), + _PgSchemaToolRow( + connection: widget.connection, + databaseName: widget.databaseName, + schemaName: widget.schemaName, + label: 'Triggers', + icon: material.Icons.bolt_rounded, + kind: PostgresObjectKind.schemaTriggers, + onPostgresObjectSelected: widget.onPostgresObjectSelected, + ), + _PgSchemaToolRow( + connection: widget.connection, + databaseName: widget.databaseName, + schemaName: widget.schemaName, + label: 'Types', + icon: material.Icons.category_rounded, + kind: PostgresObjectKind.schemaTypes, + onPostgresObjectSelected: widget.onPostgresObjectSelected, + ), ], ], ], @@ -1931,6 +2064,74 @@ class _PgSchemaNodeState extends State<_PgSchemaNode> { } } +class _PgSchemaToolRow extends material.StatelessWidget { + const _PgSchemaToolRow({ + required this.connection, + required this.databaseName, + required this.schemaName, + required this.label, + required this.icon, + required this.kind, + this.onPostgresObjectSelected, + }); + + final ConnectionRow connection; + final String databaseName; + final String schemaName; + final String label; + final material.IconData icon; + final PostgresObjectKind kind; + final void Function( + ConnectionRow connection, + String database, + String schema, + String name, + PostgresObjectKind kind, + )? onPostgresObjectSelected; + + @override + material.Widget build(material.BuildContext context) { + final theme = Theme.of(context); + return material.Padding( + padding: const material.EdgeInsets.only(left: 16, top: 2, bottom: 2), + child: material.Material( + color: material.Colors.transparent, + child: material.InkWell( + borderRadius: material.BorderRadius.circular(4), + onTap: onPostgresObjectSelected == null + ? null + : () => onPostgresObjectSelected!( + connection, + databaseName, + schemaName, + '', + kind, + ), + child: material.Padding( + padding: + const material.EdgeInsets.symmetric(horizontal: 4, vertical: 3), + child: material.Row( + children: [ + material.Icon(icon, + size: 13, color: theme.colorScheme.mutedForeground), + const Gap(6), + material.Expanded( + child: Text(label).muted().xSmall(), + ), + material.Icon( + material.Icons.chevron_right_rounded, + size: 13, + color: theme.colorScheme.mutedForeground, + ), + ], + ), + ), + ), + ), + ); + } +} + class _PgObjectGroup extends StatefulWidget { const _PgObjectGroup({ required this.label, diff --git a/lib/features/main_screen/workspace_panel.dart b/lib/features/main_screen/workspace_panel.dart index c148c684..4c4f6ff4 100644 --- a/lib/features/main_screen/workspace_panel.dart +++ b/lib/features/main_screen/workspace_panel.dart @@ -4,6 +4,7 @@ import 'package:querya_desktop/shared/widgets/widgets.dart'; import 'package:querya_desktop/features/mongodb/mongo_explorer_view.dart'; import 'package:querya_desktop/features/mongodb/mongo_stats_view.dart'; +import 'package:querya_desktop/features/postgresql/postgres_browser_views.dart'; import 'package:querya_desktop/features/postgresql/postgres_object_kind.dart'; import 'package:querya_desktop/features/postgresql/postgres_routine_view.dart'; import 'package:querya_desktop/features/postgresql/postgres_sequence_view.dart'; @@ -20,6 +21,17 @@ Widget _pgObjectWorkspace({ }) { switch (pg.kind) { case PostgresObjectKind.table: + return PostgresTableView( + key: ValueKey( + 'pg_table_${connection.id}_${pg.schema}_${pg.name}_${pg.kind}', + ), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + tableName: pg.name, + isView: false, + isMaterializedView: false, + ); case PostgresObjectKind.view: return PostgresTableView( key: ValueKey( @@ -29,7 +41,20 @@ Widget _pgObjectWorkspace({ database: pg.database, schema: pg.schema, tableName: pg.name, - isView: pg.kind == PostgresObjectKind.view, + isView: true, + isMaterializedView: false, + ); + case PostgresObjectKind.materializedView: + return PostgresTableView( + key: ValueKey( + 'pg_mat_${connection.id}_${pg.schema}_${pg.name}_${pg.kind}', + ), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + tableName: pg.name, + isView: false, + isMaterializedView: true, ); case PostgresObjectKind.function: return PostgresRoutineView( @@ -47,6 +72,39 @@ Widget _pgObjectWorkspace({ schema: pg.schema, sequenceName: pg.name, ); + case PostgresObjectKind.schemaIndexes: + return PostgresIndexListView( + key: ValueKey('pg_idx_${connection.id}_${pg.schema}'), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + ); + case PostgresObjectKind.schemaTriggers: + return PostgresTriggerListView( + key: ValueKey('pg_trg_${connection.id}_${pg.schema}'), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + ); + case PostgresObjectKind.schemaTypes: + return PostgresTypeListView( + key: ValueKey('pg_typ_${connection.id}_${pg.schema}'), + connectionRow: connection, + database: pg.database, + schema: pg.schema, + ); + case PostgresObjectKind.databaseExtensions: + return PostgresExtensionListView( + key: ValueKey('pg_ext_${connection.id}_${pg.database}'), + connectionRow: connection, + database: pg.database, + ); + case PostgresObjectKind.databaseForeignData: + return PostgresFdwListView( + key: ValueKey('pg_fdw_${connection.id}_${pg.database}'), + connectionRow: connection, + database: pg.database, + ); } } diff --git a/lib/features/postgresql/postgres_browser_views.dart b/lib/features/postgresql/postgres_browser_views.dart new file mode 100644 index 00000000..24b3047b --- /dev/null +++ b/lib/features/postgresql/postgres_browser_views.dart @@ -0,0 +1,808 @@ +import 'package:flutter/material.dart' as material; +import 'package:querya_desktop/core/database/postgres_connection.dart'; +import 'package:querya_desktop/core/database/postgres_metadata.dart'; +import 'package:querya_desktop/core/storage/local_db.dart'; +import 'package:querya_desktop/shared/widgets/widgets.dart'; + +String _formatBytes(int? b) { + if (b == null) return '—'; + if (b < 1024) return '$b B'; + if (b < 1024 * 1024) return '${(b / 1024).toStringAsFixed(1)} KB'; + return '${(b / (1024 * 1024)).toStringAsFixed(2)} MB'; +} + +/// Indexes in a schema (pg_indexes-style list). +class PostgresIndexListView extends material.StatefulWidget { + const PostgresIndexListView({ + super.key, + required this.connectionRow, + required this.database, + required this.schema, + }); + + final ConnectionRow connectionRow; + final String database; + final String schema; + + @override + material.State createState() => + _PostgresIndexListViewState(); +} + +class _PostgresIndexListViewState extends material.State { + PostgresConnection? _connection; + bool _loading = true; + String? _error; + List _rows = []; + final _scroll = material.ScrollController(); + + @override + void initState() { + super.initState(); + _load(); + } + + @override + void dispose() { + _scroll.dispose(); + _connection?.disconnect(); + super.dispose(); + } + + Future _load() async { + setState(() { + _loading = true; + _error = null; + }); + _connection?.disconnect(); + try { + final c = widget.connectionRow; + final conn = PostgresConnection( + id: c.id ?? 0, + name: c.name, + host: c.host ?? 'localhost', + port: c.port ?? 5432, + username: c.username, + password: c.password, + database: widget.database, + useSSL: c.useSSL, + ); + await conn.connect(); + _connection = conn; + final rows = await conn.listIndexesInSchema(widget.schema); + if (!mounted) return; + setState(() { + _rows = rows; + _loading = false; + }); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final cs = Theme.of(context).colorScheme; + if (_loading) { + return material.Container( + color: cs.background, + child: const material.Center( + child: material.CircularProgressIndicator(strokeWidth: 2), + ), + ); + } + if (_error != null) { + return material.Container( + color: cs.background, + child: material.Center( + child: material.SelectableText(_error!, + style: material.TextStyle(color: cs.destructive)), + ), + ); + } + return material.Container( + color: cs.background, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + _browserToolbar( + context, + title: 'Indexes · ${widget.schema}', + onRefresh: _load, + ), + material.Expanded( + child: material.Scrollbar( + controller: _scroll, + thumbVisibility: true, + child: material.SingleChildScrollView( + controller: _scroll, + padding: const material.EdgeInsets.all(16), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + for (final r in _rows) ...[ + material.Container( + margin: const material.EdgeInsets.only(bottom: 12), + padding: const material.EdgeInsets.all(12), + decoration: material.BoxDecoration( + color: cs.muted.withValues(alpha: 0.12), + borderRadius: material.BorderRadius.circular(8), + border: material.Border.all( + color: cs.border.withValues(alpha: 0.35)), + ), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.start, + children: [ + material.Text( + '${r.tableName} · ${r.indexName}', + style: material.TextStyle( + fontWeight: material.FontWeight.w600, + fontSize: 12, + color: cs.foreground, + ), + ), + material.Text( + 'Size: ${_formatBytes(r.sizeBytes)}', + style: material.TextStyle( + fontSize: 11, + color: cs.mutedForeground, + ), + ), + const Gap(8), + material.SelectableText( + r.indexDef, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 11, + height: 1.4, + color: cs.foreground, + ), + ), + ], + ), + ), + ], + if (_rows.isEmpty) + const Text('No indexes in this schema.').muted().small(), + ], + ), + ), + ), + ), + ], + ), + ); + } +} + +/// Triggers in a schema. +class PostgresTriggerListView extends material.StatefulWidget { + const PostgresTriggerListView({ + super.key, + required this.connectionRow, + required this.database, + required this.schema, + }); + + final ConnectionRow connectionRow; + final String database; + final String schema; + + @override + material.State createState() => + _PostgresTriggerListViewState(); +} + +class _PostgresTriggerListViewState extends material.State { + PostgresConnection? _connection; + bool _loading = true; + String? _error; + List _rows = []; + final _scroll = material.ScrollController(); + + @override + void initState() { + super.initState(); + _load(); + } + + @override + void dispose() { + _scroll.dispose(); + _connection?.disconnect(); + super.dispose(); + } + + Future _load() async { + setState(() { + _loading = true; + _error = null; + }); + _connection?.disconnect(); + try { + final c = widget.connectionRow; + final conn = PostgresConnection( + id: c.id ?? 0, + name: c.name, + host: c.host ?? 'localhost', + port: c.port ?? 5432, + username: c.username, + password: c.password, + database: widget.database, + useSSL: c.useSSL, + ); + await conn.connect(); + _connection = conn; + final rows = await conn.listTriggersInSchema(widget.schema); + if (!mounted) return; + setState(() { + _rows = rows; + _loading = false; + }); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final cs = Theme.of(context).colorScheme; + if (_loading) { + return material.Container( + color: cs.background, + child: const material.Center( + child: material.CircularProgressIndicator(strokeWidth: 2), + ), + ); + } + if (_error != null) { + return material.Container( + color: cs.background, + child: material.Center( + child: material.SelectableText(_error!, + style: material.TextStyle(color: cs.destructive)), + ), + ); + } + return material.Container( + color: cs.background, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + _browserToolbar( + context, + title: 'Triggers · ${widget.schema}', + onRefresh: _load, + ), + material.Expanded( + child: material.Scrollbar( + controller: _scroll, + thumbVisibility: true, + child: material.SingleChildScrollView( + controller: _scroll, + padding: const material.EdgeInsets.all(16), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + for (final r in _rows) ...[ + material.Container( + margin: const material.EdgeInsets.only(bottom: 12), + padding: const material.EdgeInsets.all(12), + decoration: material.BoxDecoration( + color: cs.muted.withValues(alpha: 0.12), + borderRadius: material.BorderRadius.circular(8), + border: material.Border.all( + color: cs.border.withValues(alpha: 0.35)), + ), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.start, + children: [ + material.Text( + '${r.tableName} · ${r.triggerName}', + style: material.TextStyle( + fontWeight: material.FontWeight.w600, + fontSize: 12, + color: cs.foreground, + ), + ), + const Gap(8), + material.SelectableText( + r.definition, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 11, + height: 1.4, + color: cs.foreground, + ), + ), + ], + ), + ), + ], + if (_rows.isEmpty) + const Text('No triggers in this schema.').muted().small(), + ], + ), + ), + ), + ), + ], + ), + ); + } +} + +/// User-defined types (enum, domain, composite, …). +class PostgresTypeListView extends material.StatefulWidget { + const PostgresTypeListView({ + super.key, + required this.connectionRow, + required this.database, + required this.schema, + }); + + final ConnectionRow connectionRow; + final String database; + final String schema; + + @override + material.State createState() => + _PostgresTypeListViewState(); +} + +class _PostgresTypeListViewState extends material.State { + PostgresConnection? _connection; + bool _loading = true; + String? _error; + List _rows = []; + final _scroll = material.ScrollController(); + + @override + void initState() { + super.initState(); + _load(); + } + + @override + void dispose() { + _scroll.dispose(); + _connection?.disconnect(); + super.dispose(); + } + + Future _load() async { + setState(() { + _loading = true; + _error = null; + }); + _connection?.disconnect(); + try { + final c = widget.connectionRow; + final conn = PostgresConnection( + id: c.id ?? 0, + name: c.name, + host: c.host ?? 'localhost', + port: c.port ?? 5432, + username: c.username, + password: c.password, + database: widget.database, + useSSL: c.useSSL, + ); + await conn.connect(); + _connection = conn; + final rows = await conn.listUserTypesInSchema(widget.schema); + if (!mounted) return; + setState(() { + _rows = rows; + _loading = false; + }); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final cs = Theme.of(context).colorScheme; + if (_loading) { + return const material.Center( + child: material.CircularProgressIndicator(strokeWidth: 2), + ); + } + if (_error != null) { + return material.Center( + child: material.SelectableText(_error!, + style: material.TextStyle(color: cs.destructive)), + ); + } + return material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + _browserToolbar( + context, + title: 'Types · ${widget.schema}', + onRefresh: _load, + ), + material.Expanded( + child: material.Scrollbar( + controller: _scroll, + thumbVisibility: true, + child: material.SingleChildScrollView( + controller: _scroll, + padding: const material.EdgeInsets.all(16), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + for (final r in _rows) + material.Padding( + padding: const material.EdgeInsets.symmetric(vertical: 4), + child: material.Row( + children: [ + material.Expanded( + child: material.Text( + r.name, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: cs.foreground, + ), + ), + ), + material.Container( + padding: const material.EdgeInsets.symmetric( + horizontal: 8, vertical: 2), + decoration: material.BoxDecoration( + color: cs.muted.withValues(alpha: 0.35), + borderRadius: material.BorderRadius.circular(4), + ), + child: Text(r.kind).xSmall().muted(), + ), + ], + ), + ), + if (_rows.isEmpty) + const Text('No user types in this schema.').muted().small(), + ], + ), + ), + ), + ), + ], + ); + } +} + +/// Installed extensions ([pg_extension]). +class PostgresExtensionListView extends material.StatefulWidget { + const PostgresExtensionListView({ + super.key, + required this.connectionRow, + required this.database, + }); + + final ConnectionRow connectionRow; + final String database; + + @override + material.State createState() => + _PostgresExtensionListViewState(); +} + +class _PostgresExtensionListViewState + extends material.State { + PostgresConnection? _connection; + bool _loading = true; + String? _error; + List _rows = []; + final _scroll = material.ScrollController(); + + @override + void initState() { + super.initState(); + _load(); + } + + @override + void dispose() { + _scroll.dispose(); + _connection?.disconnect(); + super.dispose(); + } + + Future _load() async { + setState(() { + _loading = true; + _error = null; + }); + _connection?.disconnect(); + try { + final c = widget.connectionRow; + final conn = PostgresConnection( + id: c.id ?? 0, + name: c.name, + host: c.host ?? 'localhost', + port: c.port ?? 5432, + username: c.username, + password: c.password, + database: widget.database, + useSSL: c.useSSL, + ); + await conn.connect(); + _connection = conn; + final rows = await conn.listExtensions(); + if (!mounted) return; + setState(() { + _rows = rows; + _loading = false; + }); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final cs = Theme.of(context).colorScheme; + if (_loading) { + return const material.Center( + child: material.CircularProgressIndicator(strokeWidth: 2), + ); + } + if (_error != null) { + return material.Center( + child: material.SelectableText(_error!, + style: material.TextStyle(color: cs.destructive)), + ); + } + return material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + _browserToolbar( + context, + title: 'Extensions · ${widget.database}', + onRefresh: _load, + ), + material.Expanded( + child: material.Scrollbar( + controller: _scroll, + thumbVisibility: true, + child: material.SingleChildScrollView( + controller: _scroll, + padding: const material.EdgeInsets.all(16), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + for (final r in _rows) + material.Padding( + padding: const material.EdgeInsets.symmetric(vertical: 6), + child: material.Row( + children: [ + material.Icon(material.Icons.extension_rounded, + size: 16, color: cs.primary), + const Gap(8), + material.Expanded( + child: material.Text( + r.name, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + fontWeight: material.FontWeight.w600, + color: cs.foreground, + ), + ), + ), + Text('v${r.version}').muted().xSmall(), + ], + ), + ), + if (_rows.isEmpty) + const Text('No extensions installed.').muted().small(), + ], + ), + ), + ), + ), + ], + ); + } +} + +/// Foreign data wrappers and foreign servers. +class PostgresFdwListView extends material.StatefulWidget { + const PostgresFdwListView({ + super.key, + required this.connectionRow, + required this.database, + }); + + final ConnectionRow connectionRow; + final String database; + + @override + material.State createState() => + _PostgresFdwListViewState(); +} + +class _PostgresFdwListViewState extends material.State { + PostgresConnection? _connection; + bool _loading = true; + String? _error; + List _fdws = []; + List _servers = []; + final _scroll = material.ScrollController(); + + @override + void initState() { + super.initState(); + _load(); + } + + @override + void dispose() { + _scroll.dispose(); + _connection?.disconnect(); + super.dispose(); + } + + Future _load() async { + setState(() { + _loading = true; + _error = null; + }); + _connection?.disconnect(); + try { + final c = widget.connectionRow; + final conn = PostgresConnection( + id: c.id ?? 0, + name: c.name, + host: c.host ?? 'localhost', + port: c.port ?? 5432, + username: c.username, + password: c.password, + database: widget.database, + useSSL: c.useSSL, + ); + await conn.connect(); + _connection = conn; + final fdws = await conn.listForeignDataWrappers(); + final srv = await conn.listForeignServers(); + if (!mounted) return; + setState(() { + _fdws = fdws; + _servers = srv; + _loading = false; + }); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final cs = Theme.of(context).colorScheme; + if (_loading) { + return const material.Center( + child: material.CircularProgressIndicator(strokeWidth: 2), + ); + } + if (_error != null) { + return material.Center( + child: material.SelectableText(_error!, + style: material.TextStyle(color: cs.destructive)), + ); + } + return material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + _browserToolbar( + context, + title: 'Foreign data · ${widget.database}', + onRefresh: _load, + ), + material.Expanded( + child: material.Scrollbar( + controller: _scroll, + thumbVisibility: true, + child: material.SingleChildScrollView( + controller: _scroll, + padding: const material.EdgeInsets.all(16), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.start, + children: [ + const Text('Foreign-data wrappers').small().semiBold(), + const Gap(8), + for (final r in _fdws) + material.Padding( + padding: const material.EdgeInsets.only(bottom: 8), + child: material.Text( + '${r.name}${r.handler != null ? ' · ${r.handler}' : ''}', + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: cs.foreground, + ), + ), + ), + if (_fdws.isEmpty) + const Text('No foreign-data wrappers.').muted().xSmall(), + const Gap(24), + const Text('Foreign servers').small().semiBold(), + const Gap(8), + for (final r in _servers) + material.Padding( + padding: const material.EdgeInsets.only(bottom: 8), + child: material.Text( + '${r.serverName} → ${r.fdwName}', + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: cs.foreground, + ), + ), + ), + if (_servers.isEmpty) + const Text('No foreign servers.').muted().xSmall(), + ], + ), + ), + ), + ), + ], + ); + } +} + +material.Widget _browserToolbar( + material.BuildContext context, { + required String title, + required VoidCallback onRefresh, +}) { + final cs = Theme.of(context).colorScheme; + return material.Container( + padding: const material.EdgeInsets.fromLTRB(16, 10, 16, 10), + decoration: material.BoxDecoration( + color: cs.card, + border: material.Border( + bottom: material.BorderSide(color: cs.border.withValues(alpha: 0.5)), + ), + ), + child: material.Row( + children: [ + material.Expanded( + child: Text(title).semiBold().small(), + ), + OutlineButton( + size: ButtonSize.small, + onPressed: onRefresh, + leading: const material.Icon(material.Icons.refresh_rounded, size: 14), + child: const Text('Refresh'), + ), + ], + ), + ); +} diff --git a/lib/features/postgresql/postgres_object_kind.dart b/lib/features/postgresql/postgres_object_kind.dart index 21458329..63eeefdf 100644 --- a/lib/features/postgresql/postgres_object_kind.dart +++ b/lib/features/postgresql/postgres_object_kind.dart @@ -4,8 +4,20 @@ enum PostgresObjectKind { table, /// View (read-only grid). view, + /// Materialized view (data + REFRESH MATERIALIZED VIEW). + materializedView, /// Function or aggregate ([pg_get_functiondef]). function, /// Sequence (metadata + current value). sequence, + /// All indexes in a schema (metadata list). + schemaIndexes, + /// All triggers in a schema. + schemaTriggers, + /// User-defined types in a schema. + schemaTypes, + /// [pg_extension] for current database. + databaseExtensions, + /// Foreign data wrappers and servers. + databaseForeignData, } diff --git a/lib/features/postgresql/postgres_table_privileges_dialog.dart b/lib/features/postgresql/postgres_table_privileges_dialog.dart new file mode 100644 index 00000000..3130f008 --- /dev/null +++ b/lib/features/postgresql/postgres_table_privileges_dialog.dart @@ -0,0 +1,203 @@ +import 'package:flutter/material.dart' as material; +import 'package:querya_desktop/core/database/postgres_connection.dart'; +import 'package:querya_desktop/core/database/postgres_metadata.dart'; +import 'package:querya_desktop/shared/widgets/widgets.dart'; + +/// Shows [information_schema.role_table_grants] for a table/view/matview. +Future showPostgresTablePrivilegesDialog({ + required material.BuildContext context, + required PostgresConnection connection, + required String schema, + required String tableName, +}) { + return showAppDialog( + context: context, + builder: (ctx) => _PrivilegesDialogBody( + connection: connection, + schema: schema, + tableName: tableName, + ), + ); +} + +class _PrivilegesDialogBody extends material.StatefulWidget { + const _PrivilegesDialogBody({ + required this.connection, + required this.schema, + required this.tableName, + }); + + final PostgresConnection connection; + final String schema; + final String tableName; + + @override + material.State<_PrivilegesDialogBody> createState() => + _PrivilegesDialogBodyState(); +} + +class _PrivilegesDialogBodyState extends material.State<_PrivilegesDialogBody> { + bool _loading = true; + String? _error; + List _rows = []; + + @override + void initState() { + super.initState(); + _load(); + } + + Future _load() async { + setState(() { + _loading = true; + _error = null; + }); + try { + final rows = await widget.connection.listTablePrivileges( + widget.schema, + widget.tableName, + ); + if (mounted) { + setState(() { + _rows = rows; + _loading = false; + }); + } + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + @override + material.Widget build(material.BuildContext context) { + final theme = Theme.of(context).colorScheme; + final radius = Theme.of(context).radiusXxl; + return material.Dialog( + backgroundColor: material.Colors.transparent, + insetPadding: + const material.EdgeInsets.symmetric(horizontal: 32, vertical: 24), + child: material.Container( + constraints: const material.BoxConstraints( + maxWidth: 560, + maxHeight: 480, + ), + decoration: material.BoxDecoration( + color: theme.popover, + borderRadius: material.BorderRadius.circular(radius), + border: material.Border.all(color: theme.muted), + ), + child: material.Column( + mainAxisSize: material.MainAxisSize.min, + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ + material.Padding( + padding: const material.EdgeInsets.fromLTRB(20, 16, 20, 8), + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.start, + children: [ + const Text('Table privileges').large().semiBold(), + const material.SizedBox(height: 4), + Text( + '${widget.schema}.${widget.tableName}', + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: theme.mutedForeground, + ), + ), + const material.SizedBox(height: 4), + const Text( + 'From information_schema.role_table_grants (read-only).', + ).muted().xSmall(), + ], + ), + ), + const material.Divider(height: 1), + material.SizedBox( + height: 300, + child: _loading + ? const material.Center( + child: material.CircularProgressIndicator(strokeWidth: 2), + ) + : _error != null + ? material.Center( + child: material.Padding( + padding: const material.EdgeInsets.all(16), + child: material.SelectableText( + _error!, + style: material.TextStyle(color: theme.destructive), + ), + ), + ) + : material.ListView( + padding: const material.EdgeInsets.all(12), + children: [ + for (final r in _rows) + material.Padding( + padding: + const material.EdgeInsets.only(bottom: 8), + child: material.Row( + crossAxisAlignment: + material.CrossAxisAlignment.start, + children: [ + material.SizedBox( + width: 140, + child: material.Text( + r.grantee, + style: material.TextStyle( + fontSize: 12, + color: theme.foreground, + ), + ), + ), + material.Expanded( + child: material.Text( + r.privilegeType, + style: material.TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: theme.foreground, + ), + ), + ), + Text(r.isGrantable).xSmall().muted(), + ], + ), + ), + if (_rows.isEmpty) + const Text( + 'No grants found (or no permission to view).', + ).muted().small(), + ], + ), + ), + material.Padding( + padding: const material.EdgeInsets.all(12), + child: material.Row( + mainAxisAlignment: material.MainAxisAlignment.end, + children: [ + OutlineButton( + onPressed: () => material.Navigator.of(context).pop(), + child: const Text('Close'), + ), + if (!_loading && _error == null) ...[ + const Gap(8), + OutlineButton( + onPressed: _load, + child: const Text('Reload'), + ), + ], + ], + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/features/postgresql/postgres_table_view.dart b/lib/features/postgresql/postgres_table_view.dart index fb151eae..447ebd3f 100644 --- a/lib/features/postgresql/postgres_table_view.dart +++ b/lib/features/postgresql/postgres_table_view.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart' as material; import 'package:querya_desktop/core/database/postgres_connection.dart'; import 'package:querya_desktop/core/storage/local_db.dart'; import 'package:querya_desktop/features/postgresql/postgres_sql_editor_dialog.dart'; +import 'package:querya_desktop/features/postgresql/postgres_table_privileges_dialog.dart'; import 'package:querya_desktop/features/postgresql/postgres_table_utils.dart'; import 'package:querya_desktop/shared/widgets/widgets.dart'; @@ -16,6 +17,7 @@ class PostgresTableView extends material.StatefulWidget { required this.schema, required this.tableName, this.isView = false, + this.isMaterializedView = false, this.limit = _defaultLimit, }); @@ -24,6 +26,8 @@ class PostgresTableView extends material.StatefulWidget { final String schema; final String tableName; final bool isView; + /// When true, toolbar offers REFRESH MATERIALIZED VIEW and matview label. + final bool isMaterializedView; final int limit; @override @@ -64,7 +68,8 @@ class _PostgresTableViewState extends material.State { if (oldWidget.connectionRow.id != widget.connectionRow.id || oldWidget.database != widget.database || oldWidget.schema != widget.schema || - oldWidget.tableName != widget.tableName) { + oldWidget.tableName != widget.tableName || + oldWidget.isMaterializedView != widget.isMaterializedView) { _customSqlActive = false; _customSql = null; _disconnectCurrent(); @@ -273,6 +278,34 @@ class _PostgresTableViewState extends material.State { } } + Future _refreshMaterializedView() async { + final conn = _connection; + if (conn == null || !conn.isConnected || _loading) return; + try { + await conn.refreshMaterializedView(widget.schema, widget.tableName); + if (!mounted) return; + await _fetch(refreshCount: true); + } catch (e) { + if (mounted) { + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + } + + void _openPrivileges() { + final conn = _connection; + if (conn == null || !conn.isConnected) return; + showPostgresTablePrivilegesDialog( + context: context, + connection: conn, + schema: widget.schema, + tableName: widget.tableName, + ); + } + void _openSqlEditor() { showPostgresSqlEditorDialog( context: context, @@ -435,9 +468,11 @@ class _PostgresTableViewState extends material.State { child: material.Row( children: [ material.Icon( - widget.isView - ? material.Icons.view_agenda_rounded - : material.Icons.table_chart_rounded, + widget.isMaterializedView + ? material.Icons.dynamic_feed_rounded + : widget.isView + ? material.Icons.view_agenda_rounded + : material.Icons.table_chart_rounded, size: 18, color: cs.primary, ), @@ -445,7 +480,7 @@ class _PostgresTableViewState extends material.State { material.Expanded( child: material.Text( '${widget.schema}.${widget.tableName}' - '${widget.isView ? ' (view)' : ''}', + '${widget.isMaterializedView ? ' (materialized view)' : widget.isView ? ' (view)' : ''}', style: material.TextStyle( fontSize: 13, fontWeight: material.FontWeight.w600, @@ -477,6 +512,28 @@ class _PostgresTableViewState extends material.State { ), child: const Text('SQL'), ), + const Gap(4), + OutlineButton( + size: ButtonSize.small, + onPressed: _openPrivileges, + leading: const material.Icon( + material.Icons.admin_panel_settings_rounded, + size: 15, + ), + child: const Text('Privileges'), + ), + if (widget.isMaterializedView && !_customSqlActive) ...[ + const Gap(4), + OutlineButton( + size: ButtonSize.small, + onPressed: _loading ? null : _refreshMaterializedView, + leading: const material.Icon( + material.Icons.sync_rounded, + size: 15, + ), + child: const Text('Refresh MV'), + ), + ], if (_customSqlActive) ...[ const Gap(4), OutlineButton( From 23eefa8bb34e3a02da28b4083f91c3cc4ae4c8ff Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 12:07:29 +0300 Subject: [PATCH 08/13] test(postgres): metadata DTOs, object kind enum, disconnected connection guards Made-with: Cursor --- .../database/postgres_connection_test.dart | 99 +++++++++++++++++++ .../core/database/postgres_metadata_test.dart | 97 ++++++++++++++++++ .../postgresql/postgres_object_kind_test.dart | 30 ++++++ 3 files changed, 226 insertions(+) create mode 100644 test/core/database/postgres_metadata_test.dart create mode 100644 test/features/postgresql/postgres_object_kind_test.dart diff --git a/test/core/database/postgres_connection_test.dart b/test/core/database/postgres_connection_test.dart index 9899783b..73387b3c 100644 --- a/test/core/database/postgres_connection_test.dart +++ b/test/core/database/postgres_connection_test.dart @@ -248,6 +248,105 @@ void main() { )), ); }); + + test('listMaterializedViews throws StateError', () { + expect( + () => conn.listMaterializedViews(schema: 'public'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('refreshMaterializedView throws StateError', () { + expect( + () => conn.refreshMaterializedView('public', 'mv_stats'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('listIndexesInSchema throws StateError', () { + expect( + () => conn.listIndexesInSchema('public'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('listTriggersInSchema throws StateError', () { + expect( + () => conn.listTriggersInSchema('public'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('listUserTypesInSchema throws StateError', () { + expect( + () => conn.listUserTypesInSchema('public'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('listExtensions throws StateError', () { + expect( + () => conn.listExtensions(), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('listForeignDataWrappers throws StateError', () { + expect( + () => conn.listForeignDataWrappers(), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('listForeignServers throws StateError', () { + expect( + () => conn.listForeignServers(), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); + + test('listTablePrivileges throws StateError', () { + expect( + () => conn.listTablePrivileges('public', 't'), + throwsA(isA().having( + (e) => e.message, + 'message', + contains('Not connected to PostgreSQL'), + )), + ); + }); }); group('PostgresConnection.connectToDatabase', () { diff --git a/test/core/database/postgres_metadata_test.dart b/test/core/database/postgres_metadata_test.dart new file mode 100644 index 00000000..162b484e --- /dev/null +++ b/test/core/database/postgres_metadata_test.dart @@ -0,0 +1,97 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:querya_desktop/core/database/postgres_metadata.dart'; + +void main() { + group('PgIndexRow', () { + test('stores fields and supports const canonical equality', () { + const row = PgIndexRow( + tableName: 'orders', + indexName: 'orders_pkey', + indexDef: 'CREATE UNIQUE INDEX ...', + sizeBytes: 8192, + ); + expect(row.tableName, 'orders'); + expect(row.indexName, 'orders_pkey'); + expect(row.indexDef, contains('CREATE')); + expect(row.sizeBytes, 8192); + + const same = PgIndexRow( + tableName: 'orders', + indexName: 'orders_pkey', + indexDef: 'CREATE UNIQUE INDEX ...', + sizeBytes: 8192, + ); + expect(identical(row, same), isTrue); + }); + + test('sizeBytes may be null', () { + const row = PgIndexRow( + tableName: 't', + indexName: 'i', + indexDef: 'CREATE INDEX ...', + ); + expect(row.sizeBytes, isNull); + }); + }); + + group('PgTriggerRow', () { + test('stores fields', () { + const row = PgTriggerRow( + tableName: 'users', + triggerName: 'tr_users', + definition: 'CREATE TRIGGER ...', + ); + expect(row.tableName, 'users'); + expect(row.triggerName, 'tr_users'); + expect(row.definition, contains('TRIGGER')); + }); + }); + + group('PgTypeRow', () { + test('stores name and kind', () { + const row = PgTypeRow(name: 'status_t', kind: 'enum'); + expect(row.name, 'status_t'); + expect(row.kind, 'enum'); + }); + }); + + group('PgExtensionRow', () { + test('stores name and version', () { + const row = PgExtensionRow(name: 'plpgsql', version: '1.0'); + expect(row.name, 'plpgsql'); + expect(row.version, '1.0'); + }); + }); + + group('PgFdwRow', () { + test('handler is optional', () { + const withHandler = PgFdwRow(name: 'postgres_fdw', handler: 'handler_fn'); + expect(withHandler.name, 'postgres_fdw'); + expect(withHandler.handler, 'handler_fn'); + + const bare = PgFdwRow(name: 'dummy'); + expect(bare.handler, isNull); + }); + }); + + group('PgForeignServerRow', () { + test('stores server and FDW name', () { + const row = PgForeignServerRow(serverName: 'remote_pg', fdwName: 'postgres_fdw'); + expect(row.serverName, 'remote_pg'); + expect(row.fdwName, 'postgres_fdw'); + }); + }); + + group('PgTablePrivilegeRow', () { + test('stores grant-style fields', () { + const row = PgTablePrivilegeRow( + grantee: 'app_role', + privilegeType: 'SELECT', + isGrantable: 'YES', + ); + expect(row.grantee, 'app_role'); + expect(row.privilegeType, 'SELECT'); + expect(row.isGrantable, 'YES'); + }); + }); +} diff --git a/test/features/postgresql/postgres_object_kind_test.dart b/test/features/postgresql/postgres_object_kind_test.dart new file mode 100644 index 00000000..28c9ee0f --- /dev/null +++ b/test/features/postgresql/postgres_object_kind_test.dart @@ -0,0 +1,30 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:querya_desktop/features/postgresql/postgres_object_kind.dart'; + +void main() { + group('PostgresObjectKind', () { + test('includes all browser object variants', () { + expect( + PostgresObjectKind.values.map((e) => e.name).toSet(), + equals({ + 'table', + 'view', + 'materializedView', + 'function', + 'sequence', + 'schemaIndexes', + 'schemaTriggers', + 'schemaTypes', + 'databaseExtensions', + 'databaseForeignData', + }), + ); + }); + + test('materializedView and schema metadata kinds are distinct', () { + expect(PostgresObjectKind.materializedView, isNot(PostgresObjectKind.view)); + expect(PostgresObjectKind.schemaIndexes, isNot(PostgresObjectKind.schemaTriggers)); + expect(PostgresObjectKind.databaseExtensions, isNot(PostgresObjectKind.databaseForeignData)); + }); + }); +} From da4dbbf0336f6af57b2ddb0a1908c03a6004c5e7 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sat, 21 Mar 2026 12:18:42 +0300 Subject: [PATCH 09/13] fix(shadcn): vendor ToastLayer patch for InheritedNotifier crash on resize - dependency_overrides to third_party/shadcn_flutter (0.0.52) - remove ForwardableData wrapper in ToastLayer (single Data.inherit) - enableThemeAnimation: false, enableScrollInterception: false on ShadcnApp - analyzer exclude third_party; drop vendored example app Made-with: Cursor --- .flutter-plugins-dependencies | 2 +- analysis_options.yaml | 4 + lib/app/app.dart | 4 + pubspec.yaml | 5 + third_party/README.md | 14 + third_party/shadcn_flutter/CHANGELOG.md | 791 ++ third_party/shadcn_flutter/CONTRIBUTING.md | 361 + third_party/shadcn_flutter/DOTGUIDES.md | 76 + third_party/shadcn_flutter/LICENSE | 11 + third_party/shadcn_flutter/README.md | 244 + .../shadcn_flutter/analysis_options.yaml | 8 + .../shadcn_flutter/devtools_options.yaml | 3 + .../shadcn_flutter/icons/bootstrap/LICENSE | 21 + .../icons/bootstrap/bootstrap-icons.json | 2052 +++ .../icons/bootstrap/bootstrap-icons.woff | Bin 0 -> 176032 bytes .../shadcn_flutter/icons/lucide/index.html | 138 + .../shadcn_flutter/icons/lucide/info.json | 9344 +++++++++++++ .../shadcn_flutter/icons/lucide/lucide.css | 1577 +++ .../shadcn_flutter/icons/lucide/lucide.eot | Bin 0 -> 686000 bytes .../shadcn_flutter/icons/lucide/lucide.less | 1575 +++ .../icons/lucide/lucide.module.less | 1577 +++ .../shadcn_flutter/icons/lucide/lucide.scss | 3133 +++++ .../shadcn_flutter/icons/lucide/lucide.styl | 3133 +++++ .../shadcn_flutter/icons/lucide/lucide.svg | 4683 +++++++ .../icons/lucide/lucide.symbol.svg | 1 + .../shadcn_flutter/icons/lucide/lucide.ttf | Bin 0 -> 685840 bytes .../shadcn_flutter/icons/lucide/lucide.woff | Bin 0 -> 314500 bytes .../shadcn_flutter/icons/lucide/lucide.woff2 | Bin 0 -> 223040 bytes .../shadcn_flutter/icons/lucide/symbol.html | 11035 ++++++++++++++++ .../shadcn_flutter/icons/lucide/unicode.html | 157 + .../shadcn_flutter/icons/radix/iconly.css | 1356 ++ .../shadcn_flutter/icons/radix/iconly.woff | Bin 0 -> 38384 bytes third_party/shadcn_flutter/l10n.yaml | 8 + .../shadcn_flutter/lib/fonts/Geist-Black.otf | Bin 0 -> 135452 bytes .../lib/fonts/Geist-BlackItalic.otf | Bin 0 -> 134924 bytes .../shadcn_flutter/lib/fonts/Geist-Bold.otf | Bin 0 -> 133824 bytes .../lib/fonts/Geist-BoldItalic.otf | Bin 0 -> 134668 bytes .../lib/fonts/Geist-ExtraBold.otf | Bin 0 -> 134988 bytes .../lib/fonts/Geist-ExtraBoldItalic.otf | Bin 0 -> 135804 bytes .../lib/fonts/Geist-ExtraLight.otf | Bin 0 -> 129740 bytes .../lib/fonts/Geist-ExtraLightItalic.otf | Bin 0 -> 131548 bytes .../shadcn_flutter/lib/fonts/Geist-Light.otf | Bin 0 -> 128892 bytes .../lib/fonts/Geist-LightItalic.otf | Bin 0 -> 131436 bytes .../shadcn_flutter/lib/fonts/Geist-Medium.otf | Bin 0 -> 130580 bytes .../lib/fonts/Geist-MediumItalic.otf | Bin 0 -> 132672 bytes .../lib/fonts/Geist-Regular.otf | Bin 0 -> 128048 bytes .../lib/fonts/Geist-RegularItalic.otf | Bin 0 -> 130504 bytes .../lib/fonts/Geist-SemiBold.otf | Bin 0 -> 133080 bytes .../lib/fonts/Geist-SemiBoldItalic.otf | Bin 0 -> 134104 bytes .../shadcn_flutter/lib/fonts/Geist-Thin.otf | Bin 0 -> 128480 bytes .../lib/fonts/Geist-ThinItalic.otf | Bin 0 -> 130340 bytes .../lib/fonts/Geist-UltraBlack.otf | Bin 0 -> 72812 bytes .../lib/fonts/Geist-UltraLight.otf | Bin 0 -> 69988 bytes .../lib/fonts/GeistMono-Black.otf | Bin 0 -> 148104 bytes .../lib/fonts/GeistMono-BlackItalic.otf | Bin 0 -> 148776 bytes .../lib/fonts/GeistMono-Bold.otf | Bin 0 -> 147696 bytes .../lib/fonts/GeistMono-BoldItalic.otf | Bin 0 -> 148628 bytes .../lib/fonts/GeistMono-ExtraBold.otf | Bin 0 -> 148280 bytes .../lib/fonts/GeistMono-ExtraBoldItalic.otf | Bin 0 -> 149764 bytes .../lib/fonts/GeistMono-ExtraLight.otf | Bin 0 -> 143336 bytes .../lib/fonts/GeistMono-ExtraLightItalic.otf | Bin 0 -> 145416 bytes .../lib/fonts/GeistMono-Italic.otf | Bin 0 -> 144572 bytes .../lib/fonts/GeistMono-Light.otf | Bin 0 -> 143572 bytes .../lib/fonts/GeistMono-LightItalic.otf | Bin 0 -> 145020 bytes .../lib/fonts/GeistMono-Medium.otf | Bin 0 -> 143104 bytes .../lib/fonts/GeistMono-MediumItalic.otf | Bin 0 -> 145512 bytes .../lib/fonts/GeistMono-Regular.otf | Bin 0 -> 142188 bytes .../lib/fonts/GeistMono-SemiBold.otf | Bin 0 -> 145708 bytes .../lib/fonts/GeistMono-SemiBoldItalic.otf | Bin 0 -> 146992 bytes .../lib/fonts/GeistMono-Thin.otf | Bin 0 -> 143356 bytes .../lib/fonts/GeistMono-ThinItalic.otf | Bin 0 -> 145124 bytes .../lib/fonts/GeistMono-UltraBlack.otf | Bin 0 -> 70608 bytes .../lib/fonts/GeistMono-UltraLight.otf | Bin 0 -> 67884 bytes .../shadcn_flutter/lib/fonts/LICENSE.txt | 92 + .../lib/icons/BootstrapIcons.otf | Bin 0 -> 478036 bytes .../shadcn_flutter/lib/icons/LucideIcons.ttf | Bin 0 -> 685840 bytes .../shadcn_flutter/lib/icons/RadixIcons.otf | Bin 0 -> 87120 bytes .../shadcn_flutter/lib/l10n/shadcn_en.arb | 188 + .../shadcn_flutter/lib/shadcn_flutter.dart | 178 + .../lib/shadcn_flutter_experimental.dart | 5 + .../lib/shadcn_flutter_extension.dart | 5 + .../shadcn_flutter/lib/src/animation.dart | 1176 ++ .../shadcn_flutter/lib/src/collection.dart | 172 + .../lib/src/components/async.dart | 118 + .../lib/src/components/chart/tracker.dart | 377 + .../lib/src/components/control/button.dart | 6458 +++++++++ .../lib/src/components/control/clickable.dart | 1206 ++ .../lib/src/components/control/command.dart | 683 + .../lib/src/components/control/hover.dart | 382 + .../lib/src/components/control/scrollbar.dart | 273 + .../src/components/control/scrollview.dart | 172 + .../lib/src/components/debug.dart | 82 + .../lib/src/components/display/avatar.dart | 1059 ++ .../lib/src/components/display/badge.dart | 328 + .../lib/src/components/display/calendar.dart | 2060 +++ .../lib/src/components/display/carousel.dart | 1042 ++ .../lib/src/components/display/chat.dart | 1335 ++ .../lib/src/components/display/chip.dart | 213 + .../display/circular_progress_indicator.dart | 277 + .../src/components/display/code_snippet.dart | 383 + .../lib/src/components/display/divider.dart | 592 + .../src/components/display/dot_indicator.dart | 428 + .../src/components/display/fade_scroll.dart | 187 + .../components/display/keyboard_shortcut.dart | 393 + .../display/linear_progress_indicator.dart | 568 + .../src/components/display/number_ticker.dart | 546 + .../lib/src/components/display/progress.dart | 226 + .../lib/src/components/display/skeleton.dart | 358 + .../lib/src/components/display/spinner.dart | 88 + .../lib/src/components/form/autocomplete.dart | 531 + .../lib/src/components/form/checkbox.dart | 870 ++ .../lib/src/components/form/chip_input.dart | 754 ++ .../lib/src/components/form/color/color.dart | 1047 ++ .../form/color/solid/color_input.dart | 634 + .../form/color/solid/color_picker.dart | 1017 ++ .../form/color/solid/eye_dropper.dart | 539 + .../components/form/color/solid/history.dart | 335 + .../form/color/solid/slider/alpha.dart | 48 + .../form/color/solid/slider/hsl.dart | 810 ++ .../form/color/solid/slider/hsv.dart | 821 ++ .../lib/src/components/form/control.dart | 267 + .../lib/src/components/form/date_picker.dart | 552 + .../lib/src/components/form/file_input.dart | 167 + .../lib/src/components/form/file_picker.dart | 146 + .../lib/src/components/form/form.dart | 3267 +++++ .../lib/src/components/form/form_field.dart | 524 + .../src/components/form/formatted_input.dart | 1297 ++ .../lib/src/components/form/formatter.dart | 344 + .../lib/src/components/form/image.dart | 1 + .../lib/src/components/form/input.dart | 1281 ++ .../lib/src/components/form/input_otp.dart | 982 ++ .../lib/src/components/form/item_picker.dart | 822 ++ .../src/components/form/multiple_choice.dart | 549 + .../lib/src/components/form/object_input.dart | 1051 ++ .../lib/src/components/form/phone_input.dart | 520 + .../lib/src/components/form/radio_group.dart | 917 ++ .../lib/src/components/form/select.dart | 2279 ++++ .../lib/src/components/form/slider.dart | 1418 ++ .../lib/src/components/form/sortable.dart | 364 + .../lib/src/components/form/star_rating.dart | 724 + .../lib/src/components/form/switch.dart | 476 + .../lib/src/components/form/text_area.dart | 333 + .../lib/src/components/form/text_field.dart | 3094 +++++ .../lib/src/components/form/time_picker.dart | 943 ++ .../lib/src/components/form/validated.dart | 81 + .../lib/src/components/icon/icon.dart | 215 + .../lib/src/components/icon/triple_dots.dart | 111 + .../lib/src/components/layout/accordion.dart | 696 + .../lib/src/components/layout/alert.dart | 248 + .../lib/src/components/layout/basic.dart | 524 + .../lib/src/components/layout/breadcrumb.dart | 192 + .../lib/src/components/layout/card.dart | 465 + .../lib/src/components/layout/card_image.dart | 335 + .../src/components/layout/collapsible.dart | 503 + .../layout/dialog/alert_dialog.dart | 202 + .../lib/src/components/layout/flex.dart | 834 ++ .../src/components/layout/focus_outline.dart | 205 + .../lib/src/components/layout/group.dart | 312 + .../lib/src/components/layout/hidden.dart | 474 + .../lib/src/components/layout/icon.dart | 146 + .../src/components/layout/media_query.dart | 115 + .../components/layout/outlined_container.dart | 771 ++ .../components/layout/overflow_marquee.dart | 623 + .../lib/src/components/layout/resizable.dart | 1779 +++ .../lib/src/components/layout/scaffold.dart | 1111 ++ .../lib/src/components/layout/scrollable.dart | 486 + .../components/layout/scrollable_client.dart | 396 + .../lib/src/components/layout/sortable.dart | 1774 +++ .../components/layout/stage_container.dart | 270 + .../lib/src/components/layout/stepper.dart | 1475 +++ .../lib/src/components/layout/steps.dart | 239 + .../lib/src/components/layout/table.dart | 3340 +++++ .../lib/src/components/layout/timeline.dart | 368 + .../lib/src/components/layout/tree.dart | 2547 ++++ .../lib/src/components/layout/window.dart | 2864 ++++ .../src/components/locale/locale_utils.dart | 211 + .../locale/shadcn_localizations.dart | 758 ++ .../locale/shadcn_localizations_en.dart | 376 + .../shadcn_localizations_extensions.dart | 277 + .../lib/src/components/menu/context_menu.dart | 775 ++ .../src/components/menu/dropdown_menu.dart | 287 + .../lib/src/components/menu/menu.dart | 1350 ++ .../lib/src/components/menu/menubar.dart | 316 + .../src/components/menu/navigation_menu.dart | 830 ++ .../lib/src/components/menu/popup.dart | 236 + .../components/navigation/navigation_bar.dart | 13 + .../navigation/navigation_bar/bar.dart | 205 + .../navigation_bar/collapsible.dart | 407 + .../navigation/navigation_bar/data.dart | 231 + .../navigation/navigation_bar/item.dart | 372 + .../navigation/navigation_bar/misc.dart | 776 ++ .../navigation/navigation_bar/rail.dart | 311 + .../navigation/navigation_bar/sidebar.dart | 326 + .../navigation/navigation_bar/theme.dart | 117 + .../src/components/navigation/pagination.dart | 337 + .../src/components/navigation/subfocus.dart | 651 + .../src/components/navigation/switcher.dart | 379 + .../navigation/tabs/tab_container.dart | 338 + .../components/navigation/tabs/tab_list.dart | 267 + .../components/navigation/tabs/tab_pane.dart | 647 + .../src/components/navigation/tabs/tabs.dart | 267 + .../lib/src/components/overlay/dialog.dart | 1159 ++ .../lib/src/components/overlay/drawer.dart | 2284 ++++ .../src/components/overlay/hover_card.dart | 352 + .../lib/src/components/overlay/overlay.dart | 566 + .../lib/src/components/overlay/popover.dart | 1700 +++ .../components/overlay/refresh_trigger.dart | 782 ++ .../lib/src/components/overlay/swiper.dart | 643 + .../lib/src/components/overlay/toast.dart | 1229 ++ .../lib/src/components/overlay/tooltip.dart | 622 + .../lib/src/components/patch.dart | 141 + .../lib/src/components/text/selectable.dart | 541 + .../lib/src/components/text/text.dart | 1068 ++ .../lib/src/components/wrapper.dart | 91 + .../lib/src/icons/bootstrap_icons.dart | 8215 ++++++++++++ .../lib/src/icons/lucide_icons.dart | 6249 +++++++++ .../lib/src/icons/radix_icons.dart | 1341 ++ .../platform_implementations_web.dart | 81 + .../lib/src/platform_interface.dart | 18 + .../lib/src/previewer/previewer.dart | 139 + .../shadcn_flutter/lib/src/resizer.dart | 598 + .../shadcn_flutter/lib/src/shadcn_app.dart | 1168 ++ .../lib/src/theme/color_scheme.dart | 999 ++ .../shadcn_flutter/lib/src/theme/density.dart | 710 + .../lib/src/theme/generated_colors.dart | 375 + .../lib/src/theme/generated_themes.dart | 352 + .../src/theme/legacy_generated_themes.dart | 969 ++ .../shadcn_flutter/lib/src/theme/theme.dart | 800 ++ .../lib/src/theme/theme_extension.dart | 11 + .../lib/src/theme/typography.dart | 529 + third_party/shadcn_flutter/lib/src/util.dart | 2253 ++++ third_party/shadcn_flutter/pubspec.yaml | 146 + 232 files changed, 163578 insertions(+), 1 deletion(-) create mode 100644 third_party/README.md create mode 100644 third_party/shadcn_flutter/CHANGELOG.md create mode 100644 third_party/shadcn_flutter/CONTRIBUTING.md create mode 100644 third_party/shadcn_flutter/DOTGUIDES.md create mode 100644 third_party/shadcn_flutter/LICENSE create mode 100644 third_party/shadcn_flutter/README.md create mode 100644 third_party/shadcn_flutter/analysis_options.yaml create mode 100644 third_party/shadcn_flutter/devtools_options.yaml create mode 100644 third_party/shadcn_flutter/icons/bootstrap/LICENSE create mode 100644 third_party/shadcn_flutter/icons/bootstrap/bootstrap-icons.json create mode 100644 third_party/shadcn_flutter/icons/bootstrap/bootstrap-icons.woff create mode 100644 third_party/shadcn_flutter/icons/lucide/index.html create mode 100644 third_party/shadcn_flutter/icons/lucide/info.json create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.css create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.eot create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.less create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.module.less create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.scss create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.styl create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.svg create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.symbol.svg create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.ttf create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.woff create mode 100644 third_party/shadcn_flutter/icons/lucide/lucide.woff2 create mode 100644 third_party/shadcn_flutter/icons/lucide/symbol.html create mode 100644 third_party/shadcn_flutter/icons/lucide/unicode.html create mode 100644 third_party/shadcn_flutter/icons/radix/iconly.css create mode 100644 third_party/shadcn_flutter/icons/radix/iconly.woff create mode 100644 third_party/shadcn_flutter/l10n.yaml create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-Black.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-BlackItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-Bold.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-BoldItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-ExtraBold.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-ExtraBoldItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-ExtraLight.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-ExtraLightItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-Light.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-LightItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-Medium.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-MediumItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-Regular.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-RegularItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-SemiBold.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-SemiBoldItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-Thin.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-ThinItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-UltraBlack.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/Geist-UltraLight.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-Black.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-BlackItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-Bold.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-BoldItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraBold.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraBoldItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraLight.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraLightItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-Italic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-Light.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-LightItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-Medium.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-MediumItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-Regular.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-SemiBold.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-SemiBoldItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-Thin.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-ThinItalic.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-UltraBlack.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/GeistMono-UltraLight.otf create mode 100644 third_party/shadcn_flutter/lib/fonts/LICENSE.txt create mode 100644 third_party/shadcn_flutter/lib/icons/BootstrapIcons.otf create mode 100644 third_party/shadcn_flutter/lib/icons/LucideIcons.ttf create mode 100644 third_party/shadcn_flutter/lib/icons/RadixIcons.otf create mode 100644 third_party/shadcn_flutter/lib/l10n/shadcn_en.arb create mode 100644 third_party/shadcn_flutter/lib/shadcn_flutter.dart create mode 100644 third_party/shadcn_flutter/lib/shadcn_flutter_experimental.dart create mode 100644 third_party/shadcn_flutter/lib/shadcn_flutter_extension.dart create mode 100644 third_party/shadcn_flutter/lib/src/animation.dart create mode 100644 third_party/shadcn_flutter/lib/src/collection.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/async.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/chart/tracker.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/control/button.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/control/clickable.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/control/command.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/control/hover.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/control/scrollbar.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/control/scrollview.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/debug.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/avatar.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/badge.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/calendar.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/carousel.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/chat.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/chip.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/circular_progress_indicator.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/code_snippet.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/divider.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/dot_indicator.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/fade_scroll.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/keyboard_shortcut.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/linear_progress_indicator.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/number_ticker.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/progress.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/skeleton.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/display/spinner.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/autocomplete.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/checkbox.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/chip_input.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/color.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/solid/color_input.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/solid/color_picker.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/solid/eye_dropper.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/solid/history.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/alpha.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsl.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsv.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/control.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/date_picker.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/file_input.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/file_picker.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/form.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/form_field.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/formatted_input.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/formatter.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/image.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/input.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/input_otp.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/item_picker.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/multiple_choice.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/object_input.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/phone_input.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/radio_group.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/select.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/slider.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/sortable.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/star_rating.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/switch.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/text_area.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/text_field.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/time_picker.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/form/validated.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/icon/icon.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/icon/triple_dots.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/accordion.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/alert.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/basic.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/breadcrumb.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/card.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/card_image.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/collapsible.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/dialog/alert_dialog.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/flex.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/focus_outline.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/group.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/hidden.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/icon.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/media_query.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/outlined_container.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/overflow_marquee.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/resizable.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/scaffold.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/scrollable.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/scrollable_client.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/sortable.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/stage_container.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/stepper.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/steps.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/table.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/timeline.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/tree.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/layout/window.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/locale/locale_utils.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/locale/shadcn_localizations.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/locale/shadcn_localizations_en.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/locale/shadcn_localizations_extensions.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/menu/context_menu.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/menu/dropdown_menu.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/menu/menu.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/menu/menubar.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/menu/navigation_menu.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/menu/popup.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/bar.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/collapsible.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/data.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/item.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/misc.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/rail.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/sidebar.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/navigation_bar/theme.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/pagination.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/subfocus.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/switcher.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/tabs/tab_container.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/tabs/tab_list.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/tabs/tab_pane.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/navigation/tabs/tabs.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/dialog.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/drawer.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/hover_card.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/overlay.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/popover.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/refresh_trigger.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/swiper.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/toast.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/overlay/tooltip.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/patch.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/text/selectable.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/text/text.dart create mode 100644 third_party/shadcn_flutter/lib/src/components/wrapper.dart create mode 100644 third_party/shadcn_flutter/lib/src/icons/bootstrap_icons.dart create mode 100644 third_party/shadcn_flutter/lib/src/icons/lucide_icons.dart create mode 100644 third_party/shadcn_flutter/lib/src/icons/radix_icons.dart create mode 100644 third_party/shadcn_flutter/lib/src/platform/platform_implementations_web.dart create mode 100644 third_party/shadcn_flutter/lib/src/platform_interface.dart create mode 100644 third_party/shadcn_flutter/lib/src/previewer/previewer.dart create mode 100644 third_party/shadcn_flutter/lib/src/resizer.dart create mode 100644 third_party/shadcn_flutter/lib/src/shadcn_app.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/color_scheme.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/density.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/generated_colors.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/generated_themes.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/legacy_generated_themes.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/theme.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/theme_extension.dart create mode 100644 third_party/shadcn_flutter/lib/src/theme/typography.dart create mode 100644 third_party/shadcn_flutter/lib/src/util.dart create mode 100644 third_party/shadcn_flutter/pubspec.yaml diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index e76b0b9d..0594e7e3 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.22\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_android-2.4.2+2\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"bitsdojo_window_macos","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_macos-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"bitsdojo_window_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_linux-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"bitsdojo_window_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_windows-0.1.6\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.3.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"web":[]},"dependencyGraph":[{"name":"bitsdojo_window","dependencies":["bitsdojo_window_windows","bitsdojo_window_macos","bitsdojo_window_linux"]},{"name":"bitsdojo_window_linux","dependencies":[]},{"name":"bitsdojo_window_macos","dependencies":[]},{"name":"bitsdojo_window_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqflite","dependencies":["sqflite_android","sqflite_darwin"]},{"name":"sqflite_android","dependencies":[]},{"name":"sqflite_darwin","dependencies":[]}],"date_created":"2026-03-21 11:31:19.957698","version":"3.41.5","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.22\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_android","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_android-2.4.2+2\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"bitsdojo_window_macos","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_macos-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.6.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite_darwin-2.4.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"bitsdojo_window_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_linux-0.1.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"bitsdojo_window_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bitsdojo_window_windows-0.1.6\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"C:\\\\Users\\\\junte\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.3.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false}],"web":[]},"dependencyGraph":[{"name":"bitsdojo_window","dependencies":["bitsdojo_window_windows","bitsdojo_window_macos","bitsdojo_window_linux"]},{"name":"bitsdojo_window_linux","dependencies":[]},{"name":"bitsdojo_window_macos","dependencies":[]},{"name":"bitsdojo_window_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqflite","dependencies":["sqflite_android","sqflite_darwin"]},{"name":"sqflite_android","dependencies":[]},{"name":"sqflite_darwin","dependencies":[]}],"date_created":"2026-03-21 12:14:43.755042","version":"3.41.5","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file diff --git a/analysis_options.yaml b/analysis_options.yaml index 911a49dc..2ef48d0f 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,5 +1,9 @@ include: package:flutter_lints/flutter.yaml +analyzer: + exclude: + - third_party/** + linter: rules: - prefer_const_constructors diff --git a/lib/app/app.dart b/lib/app/app.dart index f393893a..71f29318 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -14,6 +14,10 @@ class QueryaApp extends StatelessWidget { darkTheme: AppTheme.dark, themeMode: ThemeMode.dark, debugShowCheckedModeBanner: false, + // Less churn in ShadcnAnimatedTheme; helps stability with overlay layers. + enableThemeAnimation: false, + // Avoids scroll interception fighting nested Scrollbars in data views. + enableScrollInterception: false, home: const MainScreen(), ); } diff --git a/pubspec.yaml b/pubspec.yaml index 7a4bd2d9..882b3eda 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -25,6 +25,11 @@ dev_dependencies: sdk: flutter flutter_lints: ^5.0.0 +dependency_overrides: + # Patched ToastLayer (fixes InheritedNotifier crash on resize / hot reload). + shadcn_flutter: + path: third_party/shadcn_flutter + flutter: uses-material-design: true assets: diff --git a/third_party/README.md b/third_party/README.md new file mode 100644 index 00000000..fe5e3ea7 --- /dev/null +++ b/third_party/README.md @@ -0,0 +1,14 @@ +# Vendored `shadcn_flutter` + +Upstream: `shadcn_flutter` **0.0.52** (pub.dev). + +## Patch + +`lib/src/components/overlay/toast.dart`: **ToastLayer** no longer wraps the stack in +`ForwardableData` + `Data.inherit` (double inherited layer). Only `Data.inherit` remains. + +This avoids Flutter **InheritedNotifier.notifyClients** / **line 6417** assertions when +the window is resized or after hot reload (stale dependent vs ancestor). + +If you upgrade `shadcn_flutter`, re-copy the package and re-apply this patch, or +check whether upstream fixed the issue. diff --git a/third_party/shadcn_flutter/CHANGELOG.md b/third_party/shadcn_flutter/CHANGELOG.md new file mode 100644 index 00000000..4ba9999a --- /dev/null +++ b/third_party/shadcn_flutter/CHANGELOG.md @@ -0,0 +1,791 @@ +## [0.0.52] + +### Fixed + +- [#400] Fixed DatePicker resetting its view back to the current month after selecting a date in another month. + +## [0.0.51] + +### Fixed + +- Fixed ControlledComponent assertion error when no initial value is provided + despite having a nullable type parameter +- Fixed NavigationGroup causing negative size errors when the children list is + empty +- Fixed NavigationSidebar not working correctly after recent breaking changes + +### Changed + +- NavigationWidget is now a builder-only widget that requires a builder function + to be provided. + +## [0.0.50] + +### Added + +- Add min/max limits to increment/decrement input buttons and disable at bounds + +### Fixed + +- Fixed clip behavior in Dialog overlay widget +- Removed haptic on iOS + +### Breaking Changes + +- [BREAKING] Navigation selection model changed from index-based (`int`) to + key-based (`Key?`) across `NavigationBar`, `NavigationRail`, and + `NavigationSidebar` (commits 53d2d8c3, 8d3104a9, 9ef28a81) + - `index` parameter removed; use `selectedKey` instead + - `onSelected` callback signature changed from `ValueChanged?` to + `ValueChanged?` + - `NavigationItem.index` parameter removed; use the widget's `key` for + selection identity +- [BREAKING] `NavigationBarItem` abstract class removed; children parameters now + accept `List` instead of `List` +- [BREAKING] `NavigationContainerMixin` (and its `wrapChildren` method) removed +- [BREAKING] `NavigationChildControlData` and `NavigationGroupControlData` + classes removed +- [BREAKING] `NavigationBar.constraints` parameter removed; use `expandedSize` + and `collapsedSize` instead +- [BREAKING] Several `NavigationBar` parameters changed from nullable with theme + fallback to non-nullable with explicit defaults: + - `alignment` (`NavigationBarAlignment?` → `NavigationBarAlignment`, default: + `start`) + - `labelType` (`NavigationLabelType?` → `NavigationLabelType`, default: `all`) + - `labelPosition` (`NavigationLabelPosition?` → `NavigationLabelPosition`, + default: `bottom`) + - `labelSize` (`NavigationLabelSize?` → `NavigationLabelSize`, default: + `small`) + - `expanded` (`bool?` → `bool`, default: `false`) +- [BREAKING] `NavigationBar.expands` parameter removed +- [BREAKING] `NavigationGap`, `NavigationDivider`, `NavigationLabel`, and + `NavigationWidget` no longer implement `NavigationBarItem` + +Migration guide: + +1. Replace `index` / `onSelected` with `selectedKey` / key-based callback. + +```dart +// before +NavigationBar( + index: selectedIndex, + onSelected: (index) => setState(() => selectedIndex = index), + children: [ + NavigationItem(label: Text('Home'), child: Icon(Icons.home)), + NavigationItem(label: Text('Search'), child: Icon(Icons.search)), + ], +) + +// after +NavigationBar( + selectedKey: selectedKey, + onSelected: (key) => setState(() => selectedKey = key), + children: [ + NavigationItem(key: ValueKey('home'), label: Text('Home'), child: Icon(Icons.home)), + NavigationItem(key: ValueKey('search'), label: Text('Search'), child: Icon(Icons.search)), + ], +) +``` + +2. Remove any `NavigationBarItem` type annotations; use `Widget` instead. +3. Remove any usage of `NavigationContainerMixin`, `NavigationChildControlData`, + or `NavigationGroupControlData`. +4. Replace `NavigationBar(constraints: ...)` with `expandedSize` / + `collapsedSize`. + +## [0.0.49] + +- Fixed clip behavior in paint order patched layout widgets (Flex, Row, Column, + Stack) +- Added TextFlipper widget (part of Number Ticker component) + +## [0.0.48] + +### Added + +- Added Chat component +- New `ColorScheme.of` method to access color scheme from theme data +- [#346] Added param to skip focus traversal in Input features +- [PREVIEW] Added `ShadcnPreview` and `ShadcnMultiPreview` annotation to preview + widgets during development +- Add density system and density-aware padding helpers (`Density`, + `EdgeInsetsDensity`) +- Add paint-order support for `Flex`, `Row`, `Column`, and `Stack` with + `PaintOrder` and `Positioned.paintOrder` +- Add `InputStepperButtonFeature` and support for + `InputFeaturePosition.above`/`below` +- Add `Divider.childAlignment` to align divider content +- Add `Widget.sized(size:)` convenience overload +- Add `FadedScrollableViewport` helper for scroll fade masks +- [#371] Create a new page to explain GoRouter integration (by @xdidx) + +### Breaking Changes + +- Remove sidebar-specific color tokens from `ColorScheme` +- [BREAKING] `RepeatMode` has been renamed to `LoopingMode` +- [BREAKING] `ShadcnLocalizationsDelegate.delegate` has been renamed to + `ShadcnLocalizations.delegate` + +Migration guide: + +1. Remove usages of `ColorScheme.sidebar`, `sidebarForeground`, + `sidebarPrimary`, `sidebarPrimaryForeground`, `sidebarAccent`, + `sidebarAccentForeground`, `sidebarBorder`, and `sidebarRing`. +2. Replace them with existing tokens (for example, `background`, `card`, or + `accent`) or create a custom theme extension if you still need + sidebar-specific colors. + +```dart +// before +final colors = Theme.of(context).colorScheme; +final bg = colors.sidebar; + +// after +final colors = Theme.of(context).colorScheme; +final bg = colors.background; // or a custom ThemeExtension +``` + +### Changed + +- Integrate density-aware spacing and padding into core layout widgets and form + controls +- Extend density-aware spacing defaults across navigation, menus, overlays, and + display components +- Align remaining layout and form spacing with density defaults +- Revamp the theme docs page with a kitchen-sink preview and right-side options + panel + +### Fixed + +- Complete `ColorSchemeRecolorExtension` palette getters + +- [#380] Fixed issue with DatePicker when using PromptMode.popover +- [#379] Fixed issue with intrinsic row height in Table component +- [#378] Fixed issue with RepeatMode declaration in flutter master channel +- [#373] Scaffold: Set height constraints to correctly measure header size (by + @xdidx) +- [#394] Fixes ButtonStyle.withPadding by removing shadowed variable (by + @craiglabenz) + +## 0.0.47 + +- Bug fixes + - Brought back color picker history panel + - Fixed color input button without label not showing + - Color picker popover now invokes onChanged after popover closed + - Color picker eye dropper now closes popover when eye dropping and then + reopened back when done + +## 0.0.46 + +- Breaking changes + - Color picker refactor and file layout + - Most color picker code moved from a single + `lib/src/components/form/color_picker.dart` into multiple focused files + under `lib/src/components/form/color/solid/`. + - If you were deep-importing internals, update your imports to the new + paths. Importing via the main barrel + (`package:shadcn_flutter/shadcn_flutter.dart`) continues to work but the + old internal path is removed. + - API renames (ColorPicker / ColorInput) + - `allowPickFromScreen` ➜ `enableEyeDropper` + - `onPickFromScreen` ➜ `onEyeDropperRequested` + - Add the new callback only when you need to override the built-in prompt + behavior (popover closes, then eye-dropper starts). + - Internal widgets/classes + - `HSVColorPickerArea` / `HSLColorPickerArea` replaced by exported + `HSVColorSlider` / `HSLColorSlider`. + - Checkerboard painter consolidated as `AlphaPainter` (replaces ad-hoc + checkboard usage in the old file). + - Old helper composites like `ColorPickerSet`, `MiniColorPickerSet`, and + popup/dialog variants were removed in favor of `ColorInput` + + `ColorPicker` with prompt modes. + +- Color system and utilities + - Reorganized existing color utilities under the new color module; no + functional changes to `ColorDerivative` or `colorToHex`. Added gradient + types (linear, radial, sweep) for future composition. + +- Color Picker + - Replaced legacy ColorPicker implementation with a new slider-based picker + using dedicated HSV/HSL painters and alpha checkerboard. Supports live + editing via `onChanging`/`onChanged` and consistent display using an + effective in-progress value. + - Added modes for RGB, HSV, HSL, and HEX; optional alpha controls; + horizontal/vertical orientation; spacing and slider size theming via + `ColorPickerTheme`. + +- Color Input + - New `ColorInput` widget with `ColorInputController` and theming. Integrates + popover/dialog prompting, optional HEX label display, orientation, and + EyeDropper integration. `ControlledColorInput` variant for form integration. + +- Eye Dropper and History + - Added screen color picker (`pickColorFromScreen` and `ColorPickingLayer`) + with magnified preview and label; added `RecentColorsScope` and + `ColorHistoryGrid` to persist and pick previously sampled colors. + +- API exports + - Public exports updated to include color utilities, ColorPicker, ColorInput, + EyeDropper, History, and slider widgets. + +- i18n and formatting + - Added `colorPickerTabHEX` localization key and `TextInputFormatters.hex` + (supports optional hash prefix) for safe HEX input. If you provide a custom + localization, add this new key. + +## 0.0.45 + +- Breaking changes + - Removed NumberInput (previously deprecated) and its export. Migrate to + TextField with InputSpinnerFeature or to FormattedInput depending on your + use case. + +- Inputs + - TextField: migrated to a stateful base (TextInputStatefulWidget) with richer + editing model and actions. Leading/trailing properties were removed; use + InputLeadingFeature/InputTrailingFeature or other InputFeature adornments + instead. Added groupId, Action.overridable-based intents + (append/replace/set), AutoCompleteIntent support, better selection defaults, + defaultContextMenuBuilder, minimum height sizing, and platform fallbacks. + Clip behavior inside the Editable is now none to avoid content clipping. + - Input features: all features accept skipFocusTraversal to prevent them from + being part of focus order when desired. + - ChipInput (BREAKING): reworked ChipInput with better UX. No longer handles + suggestion selection internally; use AutoCompleteFeature for suggestions + instead. Added onChipsChanged callback for external chip state management. + - OverflowMarquee: curve is now applied correctly to the scroll animation. + +- Components + - Checkbox: add backgroundColor for unchecked state (thanks @fabionuno). + - Resizable: new optionalDivider that hides dividers until hover/drag; added + intrinsic size/dry layout computation for better measure/layout behavior. + - Command: autofocus the first item in the command palette for faster keyboard + UX (@cbenhagen). + - Calendar: use min-size rows to fix alignment issues (@andyhorn). + - Window: normalize WindowWidget constructor defaults for titleBarHeight and + resizeThickness to avoid incorrect implicit values. + +- Theming and platform + - ThemeData constructors are now const and ShadcnApp provides sensible + non-null defaults for theme/darkTheme. Added scroll/context-menu fallbacks + for unknown platforms to avoid runtime issues (e.g., TargetPlatform.ohos). + +## 0.0.44 + +- Fix: Sortable onDragEnd not triggered when the drag failed + +## 0.0.43 + +- Exported FocusOutline + +## 0.0.42 + +- Updated dependencies + +## 0.0.41 + +- Added AnimatedValueBuilder documentation +- Added NumberTicker documentation +- Added RepeatedAnimationBuilder documentation +- Added TimelineAnimation documentation +- Added Button documentation +- Added Accordion documentation +- Added Collapsible documentation +- Added Avatar documentation +- Added AvatarGroup documentation +- Added CodeSnippet documentation +- Added Table documentation +- Added Tracker documentation +- Added Alert documentation +- Added AlertDialog documentation +- Added CircularProgress documentation +- Added Progress documentation +- Added LinearProgress documentation +- Added Skeleton documentation +- Added Toast documentation +- Added AutoComplete documentation +- Added Checkbox documentation +- Added ChipInput documentation +- Added ColorPicker documentation +- Added ControlledCheckbox documentation +- Added ControlledChipInput documentation +- Added ControlledDatePicker documentation +- Added ControlledMultiSelect documentation +- Added ControlledRadioGroup documentation +- Added ControlledSelect documentation +- Added ControlledSlider documentation +- Added ControlledStarRating documentation +- Added ControlledSwitch documentation +- Added ControlledTimePicker documentation +- Added ControlledToggle documentation +- Added DatePicker documentation +- Added DateInput documentation +- Added DurationInput documentation +- Added Form documentation +- Added FormattedInput documentation +- Added InputOTP documentation +- Added ItemPicker documentation +- Added MultiSelect documentation +- Added MultiSelectChip documentation +- Added NumberInput documentation +- Added PhoneInput documentation +- Added RadioCard documentation +- Added RadioGroup documentation +- Added Select documentation +- Added Slider documentation +- Added StarRating documentation +- Added Switch documentation +- Added TextArea documentation +- Added TextInput documentation +- Added TimePicker documentation +- Added TimeInput documentation +- Added Toggle documentation +- Added AppBar documentation +- Added Card documentation +- Added CardImage documentation +- Added Carousel documentation +- Added Divider documentation +- Added Resizable documentation +- Added Scaffold documentation +- Added Sortable documentation +- Added SortableDragHandle documentation +- Added Steps documentation +- Added Stepper documentation +- Added Timeline documentation +- Added Breadcrumb documentation +- Added DotIndicator documentation +- Added Menubar documentation +- Added NavigationBar documentation +- Added NavigationMenu documentation +- Added NavigationRail documentation +- Added NavigationSidebar documentation +- Added Pagination documentation +- Added Switcher documentation +- Added TabList documentation +- Added TabPane documentation +- Added Tabs documentation +- Added Tree documentation +- Added Dialog documentation +- Added Drawer documentation +- Added HoverCard documentation +- Added Popover documentation +- Added Sheet documentation +- Added Swiper documentation +- Added Tooltip documentation +- Added Window documentation +- Added Badge documentation +- Added ButtonGroup documentation +- Added Calendar documentation +- Added CardButton documentation +- Added Chip documentation +- Added Command documentation +- Added ComponentController documentation +- Added ContextMenu documentation +- Added ControlledComponent documentation +- Added DropdownMenu documentation +- Added IgnoreForm documentation +- Added KeyboardDisplay documentation +- Added OverflowMarquee documentation +- Added RefreshTrigger documentation +- Added StatedWidget documentation +- Added SubFocus documentation + +## 0.0.40 + +- Added Semantics to CodeSnippet +- Clickable no longer handles Semantics +- Bumped flutter version requirement to 3.35.1 + +## 0.0.39 + +- Added SubFocus component +- Fixed ButtonStyleOverride being discarded after Button dependency update +- Fixed ButtonGroup modifiying immutable list +- Added alignment parameter to showDropdown +- Added Switcher component +- Upgraded to 3.35.1 +- FormController no longer discard detached FormValue for restoration purposes +- Added SubFocus component +- Enhanced keyboard shortcut accessibility Select, MultiSelect, Command, + Menubar, Dropdown, etc using SubFocus component +- Fixed directionality on Drawer and Sheet +- Fixed auto focus issue with components inside dialog +- Implemented New York v4 style based on original shadcn/ui design spec +- Old New York color schemes has been renamed to LegacyColorSchemes +- Added private constructor to LegacyColorSchemes and ColorSchemes +- Implemented bunch of ComponentTheme for a lot of components + +## 0.0.38 + +- Added component tiles for various UI elements (major documentation + improvement) +- Fixed missing callback invocation (#277) +- Fixed formatted input form key type (#292) +- Updated RefreshTrigger to support reverse scrolling behavior (#270) +- Fixed controller attachment to use cached value directly +- Refactored internal state classes for clarity and improved animation + controller handling +- Updated dependencies and refactored InputHintFeature for improved context + handling +- Updated funding link + +## 0.0.37 + +- Fixed web preloader issues +- Fix PhoneInput initialValue not being passed +- Added showTopSnapBar to WindowNavigator +- Fix item picker issue with popover +- Refactor IterableExtension to use ValueGetter instead of Supplier for + buildSeparator method +- Fixed issue with ResizablePane state management +- Added a way to get form values individually with type-safe casting +- Upgraded to Flutter 3.32.0 + +## 0.0.36 + +- Added native (adaptive) context menu builder for TextField +- Added material context menu builder for TextField +- Added cupertino context menu builder for TextField +- Added parameter to skip input feature focus traversal +- Fixed issue with validities casting in form widget + +## 0.0.35 + +- Fix InputSpinner gesture +- Added RadioCardThemeData (by @mcquenji) +- Added PhoneInputTheme (by @mcquenji) +- Fixed CalendarGridData +- Added generic parameter type to `FormFieldHandle#reportNewFormValue` to handle + typed-null value +- Fixed LengthValidator issue with the validator ignores null value +- Added title parameter to ItemPicker +- Fixed async error issue with FormErrorBuilder +- Fixed issue with FormEntry cached value not accepting null for the initial + value +- Removed FormValidationMode.waiting +- ValidationResult is now attached to a FormKey +- WaitingResult now stores proper validation mode value +- Added errors getter on form controller +- SubmitButton now uses FormErrorBuilder instead of handling its own state + +## 0.0.34 + +- Excluded web loaders directory from package release +- Disabled AutoComplete shortcuts and actions while suggestion popover is not + open + +## 0.0.33 + +- Added showValuePredicate parameter to Select, MultiSelect, ControlledSelect, + and ControlledMultiSelect +- Fixed AutoComplete suggestion item button +- Added AcceptSuggestionIntent and NavigateSuggestionIntent to AutoComplete +- Added resizeToAvoidBottomInset to Scaffold + +## 0.0.32 + +- Fixed StarRating component +- Added InputFeatureVisibility +- Fixed Password Toggle Input Feature + +## 0.0.31 + +- Added ItemPicker component +- Fixed TimePicker text field vertical align +- Fixed incorrect popover signature +- Added repaint boundary to Scaffold and NavigationBar +- Improved Text extension + +## 0.0.30 + +- Fixed Sheet autoOpen issue +- Fixed incorrect MultiSelectKey FormKey type +- Fixed Focus issue on closing dialog +- Fixed Focus issue on closing popover +- Default locale now accepts all language as a fallback +- Fix scaffold MediaQuery padding +- Added DateInput component +- Added TimeInput component +- Added DurationInput component +- Improved sonner/toast component hover animation +- Added PrimaryButtonTheme +- Added SecondaryButtonTheme +- Added OutlineButtonTheme +- Added GhostButtonTheme +- Added DestructiveButtonTheme +- Added LinkButtonTheme +- Added MutedButtonTheme +- Added CardButtonTheme +- Added TextButtonTheme +- Added MenuButtonTheme +- Added MenubarButtonTheme +- Added FixedButtonTheme +- FormattedInput now properly transfer focus when done editing one of the part + +## 0.0.29 + +- Properly bundled Geist and Geist Mono fonts +- Properly bundled Radix and Bootstrap Icons +- Added Lucide Icons +- Added style to SelectItemButton +- Added MultiSelectChip component +- MultiSelect now uses MultiSelectChip as the itemBuilder +- Added more extension methods to AbstractButtonStyle +- Added Swiper component +- TextEditingController no longer implements ComponentController +- NavigationLabeled now uses directional padding +- Fixed StarRatings on mobile devices +- Fixed SheetOverlayHandler safe area issue + +## 0.0.28 + +- Added no virtualization mode on Select and MultiSelect Popup +- Added intrinsic PopupConstraint +- Fixed autoClosePopup on Select and MultiSelect + +## 0.0.27 + +- Fix ControlledComponent initial state issue + +## 0.0.26 + +- Added ControlledComponent and ComponentController +- Added DateInput component +- Added FormattedInput component +- Fixed Calendar component +- Added ControlledCheckbox component +- Added ControlledChips component +- Added ControlledChipInput component +- Added ControlledDatePicker component +- Added ControlledRadioGroup component +- Added ControlledSelect component +- Added ControlledSlider component +- Added ControlledStarRating component +- Added ControlledSwitch component +- Added ControlledTimePicker component +- Added ControlledToggle component +- Select and MultiSelect rework +- Added IgnoreForm component +- Remove non-alphanumeric filter on Avatar getInitials +- TextField no longer wraps material TextField +- Removed deprecated withOpacity usage +- Added WidgetStateProvider component +- Fix ContextMenu state issue +- Fix select hover scroll color + +## 0.0.25 + +- Tabs, TabList, and TabPane are now based on the new TabContainer +- Fixed InputOTP onSubmit issue +- Added onDropFailed on Sortable +- Bump flutter dependency version to 3.29.0 +- Added TabPane component +- Added Expanded option on NavigationBar, NavigationRail, and Sidebar +- Fixed missing child in FormErrorBuilder +- Fixed Toast component state +- Fixed Progress component assertion +- Refactored NavigationMenu children component +- Refactored Navigation children components +- Internal form rework +- Fixed carousel controller disposal +- Added SortableDragHandle +- Improved Sortable animation + +## 0.0.24 + +- Remove pixel_snap +- Fixed flutter dependency version constraint +- Added Sortable drop animation +- Added SortableDragHandle component +- Added Tab Pane component +- Fixed flutter dependency version constraint + +## 0.0.23 + +- Support for 3.27.0 +- Added Sortable component +- Added Table component +- Fixed resizing issues with Resizable component +- Changed default popupWidthConstraint to anchorFixSize +- Fixed text field leading and trailing issue +- Alpha sat and val now follow the wheel value on color picker + +## 0.0.22 + +- Added Collapsible Theme +- Added CardButton component +- Added leading and trailing to form title +- Added Progress Theme +- Added Tracker Theme +- Added separate overlay handler for mobile and desktop devices +- Separated data widgets to another package +- Fix dispose on RecentColorsScope notifier +- Added ThemeMode +- Fixed Form Validation microtask delay issue +- Form Validators now return a FutureOr + +## 0.0.21 + +- Fixed issue with Form Validation Mode lifecycle +- Fixed text extension for SelectableText +- Replace switch focus border with FocusOutline +- Added tracker theme +- Added countries parameter to PhoneInput +- Added clipBehavior param to TextField +- Fix RecentColorsScope state disposal +- Scroll Interception is no longer enabled by default +- Added ShadcnLayer widget to wrap shadcn flutter components without ShadcnApp + widget + +## 0.0.20 + +- Replaced photoUrl to image provider in Avatar component +- Added ButtonGroup component +- Added StatedWidget component +- Added AutoComplete component +- Reworked the web preloader +- Added Number Input component +- Added Refresh Trigger component +- Fixed the issue with static button text style +- Fixed scaffold hitbox order issue +- Exposed textInputAction property for Text Input component +- Reworked the Color Picker component +- Added screen color picker +- Added toast layer to scaffold + +## 0.0.19 + +- Fixed test issue + +## 0.0.18 + +- Added Number Ticker component +- Added Linear Progress component +- Added Chip Input component +- Updated Color Picker component +- Added Multi Select component +- Added Phone Input component +- Added Radio Card component +- Added Star Rating component +- Added Time Picker component +- Added App Bar component +- Added Card Image component +- Added Scaffold component +- Added Stepper component +- Added Timeline component +- Added Dot Indicator component +- Added Navigation Bar component +- Added Navigation Rail component +- Added Navigation Sidebar component +- Added Tree component +- Added Avatar Group component +- Added Tracker component +- Added Keyboard Display component +- Added Overflow Marquee component +- Fixed animation implementation issue +- Improved popover system +- Added scaling option +- Added surfaceOpacity option +- Added surfaceBlur option +- Improved drawer +- Fixed button visual issue in light mode +- Fixed input issue on mobile +- Added option to use native input context menu +- Added mobile context menu +- Fixed radix icons visual glitch +- Added checkbox animation +- Added year and month selection to date picker +- Added tooltip trigger for mobile +- Fixed carousel implementation to match design spec +- Added data messenger to fix data binding issue +- Added more style to chip component +- Improved radio component visual design +- Added more params to input component +- Improved select performance +- Upgraded cross_file dependency + +## 0.0.17 + +- Fixed chained text widget +- Added toast component +- Added colors constants +- Added HSL color picker +- Fixed color shades generation issue +- Improved radio group widget + +## 0.0.16 + +- Fixed bug with data not being bound to popover context +- Fixed popover transformation matrix + +## 0.0.15 + +- Added support for Material/Cupertino widgets + +## 0.0.14 + +- Overhauled popover system +- Removed Popover, PopoverLayoutDelegate, PopoverExtension, and PopoverPortal +- Added NavigationMenu component +- Capture and re-wrap data widget in popover + +## 0.0.13 + +- Fixed platform interface initialization + +## 0.0.12 + +- Added Resizable component +- Added Menubar component +- Refactored ComboBox to Select +- Added Context Menu component +- Added Dropdown Menu component + +## 0.0.11 + +- Fixed missing icons directory + +## 0.0.10 + +- Fixed icon visual glitch + +## 0.0.9 + +- Fixed duplicate widget entries + +## 0.0.8 + +- Updated installation guide + +## 0.0.7 + +- Fix broken links in README.md + +## 0.0.6 + +- Updated README.md + +## 0.0.5 + +- Fix platform support for windows, android, macos, linux, and ios +- Added drawer and sheet + +## 0.0.4 + +- Split into 3 packages: shadcn_flutter, shadcn_flutter_web, and + shadcn_flutter_platform_interface + +## 0.0.3 + +- Added wasm support +- Overhauled the button component and the badge component + +## 0.0.2 + +- Added missing components +- Improved documentation pages + +## 0.0.1 + +- Initial release diff --git a/third_party/shadcn_flutter/CONTRIBUTING.md b/third_party/shadcn_flutter/CONTRIBUTING.md new file mode 100644 index 00000000..a55b3482 --- /dev/null +++ b/third_party/shadcn_flutter/CONTRIBUTING.md @@ -0,0 +1,361 @@ +# Contributing to shadcn_flutter + +Thanks for your interest in contributing! This guide explains how the project is +organized, how to set up your environment, and the expectations for +contributions across components, utilities, icons, docs, and developer tooling. + +If you get stuck, please open a discussion or hop into Discord: +https://discord.gg/ZzfBPQG4sV + +## Before opening a pull request + +To ensure your contribution is accepted and to prevent wasted effort, please follow these steps before submitting a Pull Request (PR): + +1. **Open an issue first**: Describe the problem you are solving or the feature you are proposing. +2. **Propose your solution**: Explain how you intend to fix the issue. This allows us to validate the problem and discuss the approach before you invest time in coding. + - Some issues might be better solved in user code rather than the library. + - We may have a specific design or architectural preference for the solution. +3. **Request assignment**: State in the issue that you would like to work on it and wait for it to be assigned to you. +4. **Link the issue**: When you open your PR, please link to the issue it resolves. + +PRs that do not follow this process may be closed if the solution is not aligned with the project's goals or if the problem is deemed invalid. + +## Quick start + +- Flutter: >= 3.32.3 +- Dart SDK: >= 3.3.0 < 4.0.0 +- Platforms: mobile, desktop, and web (docs run on web) + +Windows PowerShell quickstart: + +```powershell +# From repository root +flutter --version +flutter pub get + +# Run the example app +cd example +flutter pub get +flutter run + +# Run the docs app in Chrome with web semantics (recommended for a11y checks) +cd .. +./run_docs_web_semantics.bat +``` + +## Project layout (high level) + +- `lib/` – Public package code + - `shadcn_flutter.dart` – Barrel exports for the public API + - `src/` – Implementation details + - `components/` – Components grouped by domain (form, layout, overlay, etc.) + - `theme/` – Tokens, generated themes, typography, color schemes + - `icons/` – Icon primitives (wired to fonts configured in `pubspec.yaml`) + - `util.dart`, `animation.dart`, `collection.dart` – Shared utilities +- `docs/` – Flutter Web docs application (component gallery, usage examples) +- `docs_images/` – Images used in README/docs +- `example/` – Minimal consumer app wired to the local package path +- `gen/` – Developer tools and generators (icons, styles, LLM docs, analyzer + helpers) + - `bin/` – Entrypoints (e.g. `docs_divide.dart`, `llms_gen.dart`, + `style_transpiler_v4.dart`) + - `log/` – Analyzer outputs and derived task lists +- `icons/` – Source icon sets and licenses +- `colors/` – CSS sources used by style transpilers (for docs/themes) + +## Contribution types + +- Components: new widgets or improvements to existing ones +- Utilities: shared helpers, platform interfaces, collection/animation utils +- Icons/Fonts: adding or updating icon sets and font assets +- Docs: pages, examples, and site-level improvements +- Dev tools: generators and scripts that help build/maintain the library +- Tests: unit/widgets tests (example and test projects) + +## Standards and expectations + +- Code style: follow the repo lints (`analysis_options.yaml`). Public members + must have API docs (`public_member_api_docs`). +- Null-safety: all code must be null-safe. +- API design: favor composition over inheritance, keep widgets small and + testable, avoid breaking changes without discussion. +- Theming: consume tokens from `src/theme` and keep visual parity with shadcn/ui + defaults when applicable. +- Accessibility: ensure focus management, keyboard navigation, semantics, and + readable contrast. Validate using the docs app with web semantics enabled. +- Performance: use `const` where possible, avoid unnecessary rebuilds, prefer + lightweight layouts, and memoize expensive computations where appropriate. +- Tests: add or update tests when behavior changes; keep example/test_widget + green. +- Commits/PRs: use clear commit titles (Conventional Commits encouraged) and a + concise PR description with screenshots/gifs for UI changes. +- Scope: avoid editing files that are not related to your pull request. + - Do not include large diffs caused by formatting unrelated files. + - Do not commit build outputs or generated files unless strictly necessary. + - Do not include additional changes that were not stated in your proposal. + - If you want to add additional changes, please open another issue and PR, or edit your proposal and notify your assignee. + +## Local development + +- Install tooling once: + - Flutter 3.32.3+ and Dart 3.3+ + - Chrome for web docs + +- Typical workflow: + +```powershell +# 1) Get packages (root and the sub-app you work on) +flutter pub get +cd docs; flutter pub get; cd .. +cd example; flutter pub get; cd .. + +# 2) Run analyzer (root) +flutter analyze + +# 3) Run example app while iterating on widgets +cd example +flutter run + +# 4) Run docs with web semantics to check a11y/keyboard behavior +cd .. +./run_docs_web_semantics.bat +``` + +- Format code: + +```powershell +# From repo root +dart format . +``` + +## Submitting changes + +1. Discuss first for big changes. Open an issue to align on API and scope. +2. Create a feature/fix branch (e.g. `feat/card-media`, + `fix/select-focus-trap`). +3. Make changes and update docs and tests as needed. +4. Ensure quality gates pass locally: + +```powershell +flutter pub get +flutter analyze + +# Run tests (example and test_widget projects, if applicable) +cd example; flutter test; cd .. +cd test_widget; flutter test; cd .. + +# Optional: rebuild LLM/docs helper files when relevant +./gen_dotguides.bat + +# Optional: generate analyzer task parts after heavy changes +# Produces checklists under gen/log/analyze_parts/ +dart run gen/bin/docs_divide.dart +``` + +5. Push and open a pull request. Include: + - Summary of the change and motivation + - Screenshots/gifs for visual components (light/dark if relevant) + - Breaking changes (if any) and migration notes + - Checklist confirming analyzer/tests/docs were updated + +## Feature-specific guides + +### 1) Components + +Where: + +- `lib/src/components//...` for implementation +- Export from `lib/shadcn_flutter.dart` to make the component public +- Add docs examples under `docs/lib/pages/docs/components//...` + +Checklist: + +- Name: match shadcn/ui naming where it makes sense; use Flutter idioms for + props. +- API: keep props minimal; prefer stateless widgets and composition; support + theming via `src/theme` tokens. +- Accessibility: verify focus order, keyboard navigation, and semantics. Use + `./run_docs_web_semantics.bat` to run docs with `ENABLE_WEB_SEMANTICS`. +- Layout: ensure responsiveness; test in narrow and wide layouts. +- Exports: update `lib/shadcn_flutter.dart` to export your widget(s) in the + appropriate section. +- Docs: add at least one runnable example and a short explanation. If images are + needed for README, place them in `docs_images/`. +- Tests: add widget tests in `example/test` or `test_widget/test` (pick the + closest target). + +Suggested structure: + +- One primary widget file; split subparts when it improves clarity. +- Keep internal helpers private (prefix with `_`) and document all public + classes/members. + +### 2) Utilities + +Where: + +- `lib/src/util.dart`, `lib/src/animation.dart`, `lib/src/collection.dart`, or a + new file under `lib/src/` + +Guidelines: + +- Keep APIs small and composable; document behavior and edge cases. +- Avoid leaking implementation details to the public API unless intended; + re-export from `shadcn_flutter.dart` only when stable. +- Add unit tests where feasible; add a docs page if the utility affects + user-facing behavior. + +### 3) Icons and fonts + +Sources & assets: + +- Icon sources live under `/icons/` (e.g., `icons/bootstrap`, `icons/lucide`, + `icons/radix`) with licenses included. +- Packaged fonts are registered in `pubspec.yaml` under `flutter/fonts` and + stored in `lib/icons/`. + +Generators: + +- Bootstrap: `gen/bin/bootstrap_icon_generator.dart` +- Lucide: `gen/bin/lucide_icons_generator.dart` +- Radix: `gen/bin/radix_icon_generator.dart` +- Convert WOFF2 → OTF: `gen/bin/woff2otf.dart` + +Typical flow: + +```powershell +# After updating sources under /icons, regenerate the Dart bindings/fonts as needed +dart run gen/bin/bootstrap_icon_generator.dart +dart run gen/bin/lucide_icons_generator.dart +dart run gen/bin/radix_icon_generator.dart + +# If you add new font files, ensure pubspec.yaml has matching entries under flutter/fonts +``` + +Docs: + +- Update icon showcase pages in `docs/lib/pages/docs/icons_page.dart` if new + sets are added. + +### 4) Translations + +- Localization files are located in `lib/l10n/`. +- The source of truth is `shadcn_en.arb`. + +To add a new language: + +1. Create a new ARB file in `lib/l10n/` (e.g., `shadcn_es.arb` for Spanish). +2. Copy the content from `shadcn_en.arb` to the new file. +3. Update the `@@locale` key to the new locale code (e.g., `"@@locale": "es"`). +4. Translate the values. +5. Run `flutter gen-l10n` to generate the Dart code. + +To update existing translations: + +1. Modify the relevant ARB file in `lib/l10n/`. +2. Run `flutter gen-l10n` to regenerate the Dart code. + +### 5) Theming and colors + +- Theme tokens and generated themes live under `lib/src/theme/`. +- If you change color sources in `/colors/`, use the style transpilers to + regenerate Dart styles: + +```powershell +# Transpile styles (versioned) +dart run gen/bin/style_transpiler_v4.dart +# or +dart run gen/bin/style_transpiler.dart + +# Generate color helpers if needed +dart run gen/bin/color_generator.dart +``` + +- Validate changes visually in the docs app (light/dark + multiple color + schemes). + +### 5) Docs site and examples + +Run locally: + +```powershell +# Recommended (enables accessible web semantics) +./run_docs_web_semantics.bat + +# Manual +cd docs +flutter run -d chrome --dart-define=ENABLE_WEB_SEMANTICS=true +``` + +Add docs: + +- New component page: add an example directory under + `docs/lib/pages/docs/components//` and register in the component + pages where needed. +- Global docs (installation, theme, typography, etc.): see + `docs/lib/pages/docs/*`. +- Sidebar/nav: `docs/lib/pages/docs/sidebar_nav.dart` and related pages. + +LLMs and guides: + +- Generate machine‑readable references after component changes: + +```powershell +./gen_llms.bat # runs: dart run gen/bin/llms_gen.dart +./gen_dotguides.bat # runs: dart run gen/bin/dotguides_gen.dart +``` + +Analyzer task lists for docs reviews: + +```powershell +dart run gen/bin/docs_divide.dart +# Outputs checklists under gen/log/analyze_parts/ +``` + +## Testing + +- Prefer adding a minimal widget test when changing behavior. +- Places to put tests: + - `example/test/` – runs against the example app + - `test_widget/` – separate test harness project + +Run tests: + +```powershell +cd example; flutter test; cd .. +cd test_widget; flutter test; cd .. +``` + +## Commit messages and PRs + +- Conventional Commits encouraged (e.g., `feat: add pagination widget`, + `fix(select): correct focus restoration`). +- Scope examples: `alert`, `pagination`, `theme`, `docs`, `icons`, `generator`. +- Keep PRs focused; large refactors should be split where possible. + +PR checklist: + +- [ ] Code formatted (`dart format .`) +- [ ] Analyzer passes (`flutter analyze`) +- [ ] Tests added/updated and passing (`flutter test` where applicable) +- [ ] Public API documented (`public_member_api_docs`) +- [ ] Docs/examples updated (docs pages or README images if needed) +- [ ] Exports updated in `lib/shadcn_flutter.dart` (for new public widgets) +- [ ] Generators run (icons/styles/LLMs) when relevant + +## Issue reporting + +- Use GitHub Issues for bugs and feature requests. +- Include reproduction steps, expected vs. actual behavior, environment + (`flutter doctor -v`), and screenshots when UI-related. + +## Code of conduct + +Please be respectful and follow the GitHub Community Guidelines in all +interactions. We foster an inclusive, welcoming environment for contributors of +all backgrounds and experience levels. + +## License + +By contributing, you agree that your contributions will be licensed under the +project’s license (see `LICENSE`). diff --git a/third_party/shadcn_flutter/DOTGUIDES.md b/third_party/shadcn_flutter/DOTGUIDES.md new file mode 100644 index 00000000..6cb13c40 --- /dev/null +++ b/third_party/shadcn_flutter/DOTGUIDES.md @@ -0,0 +1,76 @@ + +This workspace uses the *Dotguides* system for providing context-aware coding guidance for open source packages it uses. Use the `read_docs` tool to load documentation files relevant to specific tasks. + +## Detected Languages + +Language: flutter +Runtime: flutter +Version: >=3.3.0 <4.0.0 +Package Manager: pub + +## Package Usage Guides + +The following are the discovered package usage guides for this workspace. FOLLOW THEIR GUIDANCE CAREFULLY. Not all packages have discoverable guidance files. + + + +# shadcn_flutter — Usage + +shadcn_flutter is a Flutter component library inspired by shadcn/ui. It brings a +consistent, modern design system to Flutter with polished, themeable widgets +that feel at home on mobile and desktop. + +## Installation (stable) + +1. Create a Flutter project + +```shell +flutter create my_app +cd my_app +``` + +2. Add the dependency + +```shell +flutter pub add shadcn_flutter +``` + +3. Import the package + +```dart +import 'package:shadcn_flutter/shadcn_flutter.dart'; +``` + +4. Use ShadcnApp in main() + +```dart +void main() { + runApp( + ShadcnApp( + title: 'My App', + home: MyHomePage(), + ), + ); +} +``` + +5. Run the app + +```shell +flutter run +``` + +## Installation (experimental) + +Use a Git dependency to track the latest changes. Not recommended for +production. + +```yaml +dependencies: + shadcn_flutter: + git: + url: "https://github.com/sunarya-thito/shadcn_flutter.git" +``` + + + \ No newline at end of file diff --git a/third_party/shadcn_flutter/LICENSE b/third_party/shadcn_flutter/LICENSE new file mode 100644 index 00000000..a7246b26 --- /dev/null +++ b/third_party/shadcn_flutter/LICENSE @@ -0,0 +1,11 @@ +Copyright 2025 Thito Yalasatria Sunarya + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/third_party/shadcn_flutter/README.md b/third_party/shadcn_flutter/README.md new file mode 100644 index 00000000..698cd99d --- /dev/null +++ b/third_party/shadcn_flutter/README.md @@ -0,0 +1,244 @@ +
+ +# 🎨 shadcn_flutter + +**A cohesive shadcn/ui ecosystem for Flutter—components, theming, and +tooling—ready to ditch Material and Cupertino** + +[![Pub Likes](https://img.shields.io/pub/likes/shadcn_flutter?style=for-the-badge&logo=dart&logoColor=white)](https://pub.dev/packages/shadcn_flutter) +[![Pub Points](https://img.shields.io/pub/points/shadcn_flutter?style=for-the-badge&logo=dart&logoColor=white)](https://pub.dev/packages/shadcn_flutter) +[![Pub Version](https://img.shields.io/pub/v/shadcn_flutter?style=for-the-badge&logo=dart&logoColor=white)](https://pub.dev/packages/shadcn_flutter) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/sunarya-thito?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/sunarya-thito) +[![GitHub Repo stars](https://img.shields.io/github/stars/sunarya-thito/shadcn_flutter?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sunarya-thito/shadcn_flutter) + +**[📚 Widget Catalog](https://sunarya-thito.github.io/shadcn_flutter/)** • +**[📦 pub.dev](https://pub.dev/packages/shadcn_flutter)** • +**[💬 Discord](https://discord.gg/ZzfBPQG4sV)** + +
+ +--- + +## Introduction + +Welcome to shadcn_flutter, a cohesive UI ecosystem built on the shadcn/ui design +system for Flutter applications across mobile, web, and desktop. Rather than a +one‑to‑one design‑system port, this project focuses on delivering a consistent, +production‑ready experience that feels at home on every platform. + +> [!NOTE] +> Already using Material or Cupertino? You can adopt shadcn_flutter +> incrementally: mix components inside your existing MaterialApp/CupertinoApp, +> keep your navigation (e.g., GoRouter), and align visuals with your +> shadcn_flutter theme. Interop is optional—go all‑in when you're ready. + +## Features + +- 84 components and growing! +- Standalone ecosystem: no Material or Cupertino requirement; optional interop + when needed. +- shadcn/ui design tokens and ready-to-use New York theme. +- Works inside MaterialApp and CupertinoApp; mix and match while you migrate. +- First-class support across Android, iOS, Web, macOS, Windows, and Linux. +- Various widget extensions for typography purposes. + +## Components Library + +### Animation + +[![AnimatedValueBuilder](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/animatedvaluebuilder.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/animated_value_builder) +[![Number Ticker](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/number_ticker.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/number_ticker) +[![RepeatedAnimationBuilder](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/repeatedanimationbuilder.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/repeated_animation_builder) + +### Disclosure + +[![Accordion](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/accordion.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/accordion) +[![Collapsible](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/collapsible.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/collapsible) + +### Feedback + +[![Alert](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/alert.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/alert) +[![Alert Dialog](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/alert_dialog.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/alert-dialog) +[![Circular Progress](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/circular_progress.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/circular-progress) +[![Progress Bar](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/progress.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/progress) +[![Skeleton](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/skeleton.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/skeleton) +[![Toast](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/toast.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/toast) + +### Forms + +[![Button](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/button.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/button) +[![Checkbox](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/checkbox.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/checkbox) +[![Chip Input](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/chip_input.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/chip_input) +[![Color Picker](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/colorpicker.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/color-picker) +[![Date Picker](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/datepicker.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/date_picker) +[![Form](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/form.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/form) +[![Input](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/input.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/input) +[![Input OTP](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/inputotp.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/input_otp) +[![Phone Input](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/phone_input.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/phone_input) +[![Radio Group](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/radiogroup.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/radio_group) +[![Select](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/select.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/select) +[![Slider](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/slider.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/slider) +[![Star Rating](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/star_rating.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/star_rating) +[![Switch](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/switch.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/switch) +[![Text Area](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/textarea.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/text_area) +[![Time Picker](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/time_picker.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/time_picker) +[![Toggle](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/toggle.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/toggle) + +### Layout + +[![Card](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/card.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/card) +[![Carousel](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/carousel.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/carousel) +[![Divider](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/divider.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/divider) +[![Resizable](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/resizable.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/resizable) +[![Stepper](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/stepper.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/stepper) +[![Steps](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/steps.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/steps) +[![Timeline](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/timeline.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/timeline) + +### Navigation + +[![Breadcrumb](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/breadcrumb.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/breadcrumb) +[![Menubar](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/menubar.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/menubar) +[![Navigation Menu](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/navigation_menu.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/navigation_menu) +[![Pagination](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/pagination.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/pagination) +[![Tabs](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/tabs.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/tabs) +[![Tab List](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/tablist.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/tab_list) +[![Tree](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/tree.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/tree) + +### Surfaces + +[![Dialog](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/dialog.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/dialog) +[![Drawer](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/drawer.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/drawer) +[![Hover Card](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/hover_card.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/hover_card) +[![Popover](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/popover.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/popover) +[![Sheet](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/sheet.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/sheet) +[![Tooltip](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/tooltip.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/tooltip) + +### Data Display + +[![Avatar](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/avatar.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/avatar) +[![Avatar Group](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/avatar_group.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/avatar_group) +[![Code Snippet](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/codesnippet.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/code-snippet) +[![Tracker](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/tracker.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/tracker) + +### Utilities + +[![Badge](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/badge.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/badge) +[![Calendar](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/calendar.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/calendar) +[![Command](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/command.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/command) +[![Context Menu](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/context_menu.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/context_menu) +[![Dropdown Menu](https://raw.githubusercontent.com/sunarya-thito/shadcn_flutter/master/docs_images/dropdown_menu.png)](https://sunarya-thito.github.io/shadcn_flutter/#/components/dropdown_menu) + +## LLMs Support + +This repository includes a prebuilt, machine‑friendly reference file you can +feed to LLMs and editor assistants: + +- [`llms-full.txt`](https://sunarya-thito.github.io/shadcn_flutter/llms-full.txt) - + Full component reference with props, methods, and usage examples + +## FAQ + +
+Does this replace Material/Cupertino? + +Yes. shadcn_flutter is a standalone ecosystem built on the shadcn/ui design +system. Interop with Material/Cupertino is optional so you can adopt it +incrementally or go all‑in. + +
+ +
+Can I use it with my existing MaterialApp/CupertinoApp? + +Yes. Drop shadcn_flutter components into your app, keep your current routing +(e.g., GoRouter) and state management, and migrate over time. + +
+ +
+Does it support GoRouter? + +Yes. + +
+ +
+Which platforms are supported? + +Android, iOS, Web, macOS, Windows, and Linux. + +
+ +
+Can I use it commercially? + +Yes. Free to use for personal and commercial projects. No attribution required. + +
+ +
+Can I choose between Default and New York styles? + +This package currently supports the New York style. If you need the default +style of shadcn/ui, consider this package: +[flutter-shadcn-ui](https://github.com/nank1ro/flutter-shadcn-ui) by +[@nank1ro](https://x.com/nank1ro). + +
+ +## Contributing & Support + +We welcome contributions from the community! Here's how you can help make +shadcn_flutter even better: + +### Ways to Contribute + +
+ +[![⭐ Star on GitHub](https://img.shields.io/badge/⭐_Star_on_GitHub-black?style=for-the-badge&logo=github)](https://github.com/sunarya-thito/shadcn_flutter) +[![💖 Sponsor](https://img.shields.io/badge/💖_Sponsor-pink?style=for-the-badge&logo=github-sponsors)](https://github.com/sponsors/sunarya-thito) +[![🐛 Report Bug](https://img.shields.io/badge/🐛_Report_Bug-red?style=for-the-badge&logo=github)](https://github.com/sunarya-thito/shadcn_flutter/issues) +[![💡 Request Feature](https://img.shields.io/badge/💡_Request_Feature-blue?style=for-the-badge&logo=github)](https://github.com/sunarya-thito/shadcn_flutter/issues) + +
+ +#### Financial Support + +- **[GitHub Sponsors](https://github.com/sponsors/sunarya-thito)** - Support + ongoing development +- **[PayPal](https://paypal.me/sunaryathito)** - Support ongoing development +- **Star the repository** - Help us reach more developers +- **Share the project** - Spread the word in your community + +#### Code Contributions + +- **Bug fixes** - Help us squash those pesky bugs +- **New features** - Add components or enhance existing ones +- **Documentation** - Improve guides, examples, and API docs +- **Testing** - Write tests to improve reliability + +#### Community Support + +- **[Join our Discord](https://discord.gg/ZzfBPQG4sV)** - Get help and connect + with other developers +- **Help others** - Answer questions and share your knowledge +- **Write tutorials** - Create blog posts or video tutorials + +### Recognition + +This project is funded and maintained by the community. Every contribution, no +matter how small, makes a difference and helps ensure the continued development +of shadcn_flutter. + +**Thank you to all our contributors and supporters! 🙏** + +--- + +
+ +**Built with ❤️ by [Thito Yalasatria Sunarya](https://github.com/sunarya-thito) +and the community** + +_Made in Indonesia 🇮🇩_ + +
diff --git a/third_party/shadcn_flutter/analysis_options.yaml b/third_party/shadcn_flutter/analysis_options.yaml new file mode 100644 index 00000000..8d5049d7 --- /dev/null +++ b/third_party/shadcn_flutter/analysis_options.yaml @@ -0,0 +1,8 @@ +include: package:flutter_lints/flutter.yaml + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options +linter: + rules: + - public_member_api_docs + # - package_api_docs diff --git a/third_party/shadcn_flutter/devtools_options.yaml b/third_party/shadcn_flutter/devtools_options.yaml new file mode 100644 index 00000000..fa0b357c --- /dev/null +++ b/third_party/shadcn_flutter/devtools_options.yaml @@ -0,0 +1,3 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: diff --git a/third_party/shadcn_flutter/icons/bootstrap/LICENSE b/third_party/shadcn_flutter/icons/bootstrap/LICENSE new file mode 100644 index 00000000..7048e17e --- /dev/null +++ b/third_party/shadcn_flutter/icons/bootstrap/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019-2024 The Bootstrap Authors + +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 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/third_party/shadcn_flutter/icons/bootstrap/bootstrap-icons.json b/third_party/shadcn_flutter/icons/bootstrap/bootstrap-icons.json new file mode 100644 index 00000000..56247e50 --- /dev/null +++ b/third_party/shadcn_flutter/icons/bootstrap/bootstrap-icons.json @@ -0,0 +1,2052 @@ +{ + "123": 63103, + "alarm-fill": 61697, + "alarm": 61698, + "align-bottom": 61699, + "align-center": 61700, + "align-end": 61701, + "align-middle": 61702, + "align-start": 61703, + "align-top": 61704, + "alt": 61705, + "app-indicator": 61706, + "app": 61707, + "archive-fill": 61708, + "archive": 61709, + "arrow-90deg-down": 61710, + "arrow-90deg-left": 61711, + "arrow-90deg-right": 61712, + "arrow-90deg-up": 61713, + "arrow-bar-down": 61714, + "arrow-bar-left": 61715, + "arrow-bar-right": 61716, + "arrow-bar-up": 61717, + "arrow-clockwise": 61718, + "arrow-counterclockwise": 61719, + "arrow-down-circle-fill": 61720, + "arrow-down-circle": 61721, + "arrow-down-left-circle-fill": 61722, + "arrow-down-left-circle": 61723, + "arrow-down-left-square-fill": 61724, + "arrow-down-left-square": 61725, + "arrow-down-left": 61726, + "arrow-down-right-circle-fill": 61727, + "arrow-down-right-circle": 61728, + "arrow-down-right-square-fill": 61729, + "arrow-down-right-square": 61730, + "arrow-down-right": 61731, + "arrow-down-short": 61732, + "arrow-down-square-fill": 61733, + "arrow-down-square": 61734, + "arrow-down-up": 61735, + "arrow-down": 61736, + "arrow-left-circle-fill": 61737, + "arrow-left-circle": 61738, + "arrow-left-right": 61739, + "arrow-left-short": 61740, + "arrow-left-square-fill": 61741, + "arrow-left-square": 61742, + "arrow-left": 61743, + "arrow-repeat": 61744, + "arrow-return-left": 61745, + "arrow-return-right": 61746, + "arrow-right-circle-fill": 61747, + "arrow-right-circle": 61748, + "arrow-right-short": 61749, + "arrow-right-square-fill": 61750, + "arrow-right-square": 61751, + "arrow-right": 61752, + "arrow-up-circle-fill": 61753, + "arrow-up-circle": 61754, + "arrow-up-left-circle-fill": 61755, + "arrow-up-left-circle": 61756, + "arrow-up-left-square-fill": 61757, + "arrow-up-left-square": 61758, + "arrow-up-left": 61759, + "arrow-up-right-circle-fill": 61760, + "arrow-up-right-circle": 61761, + "arrow-up-right-square-fill": 61762, + "arrow-up-right-square": 61763, + "arrow-up-right": 61764, + "arrow-up-short": 61765, + "arrow-up-square-fill": 61766, + "arrow-up-square": 61767, + "arrow-up": 61768, + "arrows-angle-contract": 61769, + "arrows-angle-expand": 61770, + "arrows-collapse": 61771, + "arrows-expand": 61772, + "arrows-fullscreen": 61773, + "arrows-move": 61774, + "aspect-ratio-fill": 61775, + "aspect-ratio": 61776, + "asterisk": 61777, + "at": 61778, + "award-fill": 61779, + "award": 61780, + "back": 61781, + "backspace-fill": 61782, + "backspace-reverse-fill": 61783, + "backspace-reverse": 61784, + "backspace": 61785, + "badge-3d-fill": 61786, + "badge-3d": 61787, + "badge-4k-fill": 61788, + "badge-4k": 61789, + "badge-8k-fill": 61790, + "badge-8k": 61791, + "badge-ad-fill": 61792, + "badge-ad": 61793, + "badge-ar-fill": 61794, + "badge-ar": 61795, + "badge-cc-fill": 61796, + "badge-cc": 61797, + "badge-hd-fill": 61798, + "badge-hd": 61799, + "badge-tm-fill": 61800, + "badge-tm": 61801, + "badge-vo-fill": 61802, + "badge-vo": 61803, + "badge-vr-fill": 61804, + "badge-vr": 61805, + "badge-wc-fill": 61806, + "badge-wc": 61807, + "bag-check-fill": 61808, + "bag-check": 61809, + "bag-dash-fill": 61810, + "bag-dash": 61811, + "bag-fill": 61812, + "bag-plus-fill": 61813, + "bag-plus": 61814, + "bag-x-fill": 61815, + "bag-x": 61816, + "bag": 61817, + "bar-chart-fill": 61818, + "bar-chart-line-fill": 61819, + "bar-chart-line": 61820, + "bar-chart-steps": 61821, + "bar-chart": 61822, + "basket-fill": 61823, + "basket": 61824, + "basket2-fill": 61825, + "basket2": 61826, + "basket3-fill": 61827, + "basket3": 61828, + "battery-charging": 61829, + "battery-full": 61830, + "battery-half": 61831, + "battery": 61832, + "bell-fill": 61833, + "bell": 61834, + "bezier": 61835, + "bezier2": 61836, + "bicycle": 61837, + "binoculars-fill": 61838, + "binoculars": 61839, + "blockquote-left": 61840, + "blockquote-right": 61841, + "book-fill": 61842, + "book-half": 61843, + "book": 61844, + "bookmark-check-fill": 61845, + "bookmark-check": 61846, + "bookmark-dash-fill": 61847, + "bookmark-dash": 61848, + "bookmark-fill": 61849, + "bookmark-heart-fill": 61850, + "bookmark-heart": 61851, + "bookmark-plus-fill": 61852, + "bookmark-plus": 61853, + "bookmark-star-fill": 61854, + "bookmark-star": 61855, + "bookmark-x-fill": 61856, + "bookmark-x": 61857, + "bookmark": 61858, + "bookmarks-fill": 61859, + "bookmarks": 61860, + "bookshelf": 61861, + "bootstrap-fill": 61862, + "bootstrap-reboot": 61863, + "bootstrap": 61864, + "border-all": 61865, + "border-bottom": 61866, + "border-center": 61867, + "border-inner": 61868, + "border-left": 61869, + "border-middle": 61870, + "border-outer": 61871, + "border-right": 61872, + "border-style": 61873, + "border-top": 61874, + "border-width": 61875, + "border": 61876, + "bounding-box-circles": 61877, + "bounding-box": 61878, + "box-arrow-down-left": 61879, + "box-arrow-down-right": 61880, + "box-arrow-down": 61881, + "box-arrow-in-down-left": 61882, + "box-arrow-in-down-right": 61883, + "box-arrow-in-down": 61884, + "box-arrow-in-left": 61885, + "box-arrow-in-right": 61886, + "box-arrow-in-up-left": 61887, + "box-arrow-in-up-right": 61888, + "box-arrow-in-up": 61889, + "box-arrow-left": 61890, + "box-arrow-right": 61891, + "box-arrow-up-left": 61892, + "box-arrow-up-right": 61893, + "box-arrow-up": 61894, + "box-seam": 61895, + "box": 61896, + "braces": 61897, + "bricks": 61898, + "briefcase-fill": 61899, + "briefcase": 61900, + "brightness-alt-high-fill": 61901, + "brightness-alt-high": 61902, + "brightness-alt-low-fill": 61903, + "brightness-alt-low": 61904, + "brightness-high-fill": 61905, + "brightness-high": 61906, + "brightness-low-fill": 61907, + "brightness-low": 61908, + "broadcast-pin": 61909, + "broadcast": 61910, + "brush-fill": 61911, + "brush": 61912, + "bucket-fill": 61913, + "bucket": 61914, + "bug-fill": 61915, + "bug": 61916, + "building": 61917, + "bullseye": 61918, + "calculator-fill": 61919, + "calculator": 61920, + "calendar-check-fill": 61921, + "calendar-check": 61922, + "calendar-date-fill": 61923, + "calendar-date": 61924, + "calendar-day-fill": 61925, + "calendar-day": 61926, + "calendar-event-fill": 61927, + "calendar-event": 61928, + "calendar-fill": 61929, + "calendar-minus-fill": 61930, + "calendar-minus": 61931, + "calendar-month-fill": 61932, + "calendar-month": 61933, + "calendar-plus-fill": 61934, + "calendar-plus": 61935, + "calendar-range-fill": 61936, + "calendar-range": 61937, + "calendar-week-fill": 61938, + "calendar-week": 61939, + "calendar-x-fill": 61940, + "calendar-x": 61941, + "calendar": 61942, + "calendar2-check-fill": 61943, + "calendar2-check": 61944, + "calendar2-date-fill": 61945, + "calendar2-date": 61946, + "calendar2-day-fill": 61947, + "calendar2-day": 61948, + "calendar2-event-fill": 61949, + "calendar2-event": 61950, + "calendar2-fill": 61951, + "calendar2-minus-fill": 61952, + "calendar2-minus": 61953, + "calendar2-month-fill": 61954, + "calendar2-month": 61955, + "calendar2-plus-fill": 61956, + "calendar2-plus": 61957, + "calendar2-range-fill": 61958, + "calendar2-range": 61959, + "calendar2-week-fill": 61960, + "calendar2-week": 61961, + "calendar2-x-fill": 61962, + "calendar2-x": 61963, + "calendar2": 61964, + "calendar3-event-fill": 61965, + "calendar3-event": 61966, + "calendar3-fill": 61967, + "calendar3-range-fill": 61968, + "calendar3-range": 61969, + "calendar3-week-fill": 61970, + "calendar3-week": 61971, + "calendar3": 61972, + "calendar4-event": 61973, + "calendar4-range": 61974, + "calendar4-week": 61975, + "calendar4": 61976, + "camera-fill": 61977, + "camera-reels-fill": 61978, + "camera-reels": 61979, + "camera-video-fill": 61980, + "camera-video-off-fill": 61981, + "camera-video-off": 61982, + "camera-video": 61983, + "camera": 61984, + "camera2": 61985, + "capslock-fill": 61986, + "capslock": 61987, + "card-checklist": 61988, + "card-heading": 61989, + "card-image": 61990, + "card-list": 61991, + "card-text": 61992, + "caret-down-fill": 61993, + "caret-down-square-fill": 61994, + "caret-down-square": 61995, + "caret-down": 61996, + "caret-left-fill": 61997, + "caret-left-square-fill": 61998, + "caret-left-square": 61999, + "caret-left": 62000, + "caret-right-fill": 62001, + "caret-right-square-fill": 62002, + "caret-right-square": 62003, + "caret-right": 62004, + "caret-up-fill": 62005, + "caret-up-square-fill": 62006, + "caret-up-square": 62007, + "caret-up": 62008, + "cart-check-fill": 62009, + "cart-check": 62010, + "cart-dash-fill": 62011, + "cart-dash": 62012, + "cart-fill": 62013, + "cart-plus-fill": 62014, + "cart-plus": 62015, + "cart-x-fill": 62016, + "cart-x": 62017, + "cart": 62018, + "cart2": 62019, + "cart3": 62020, + "cart4": 62021, + "cash-stack": 62022, + "cash": 62023, + "cast": 62024, + "chat-dots-fill": 62025, + "chat-dots": 62026, + "chat-fill": 62027, + "chat-left-dots-fill": 62028, + "chat-left-dots": 62029, + "chat-left-fill": 62030, + "chat-left-quote-fill": 62031, + "chat-left-quote": 62032, + "chat-left-text-fill": 62033, + "chat-left-text": 62034, + "chat-left": 62035, + "chat-quote-fill": 62036, + "chat-quote": 62037, + "chat-right-dots-fill": 62038, + "chat-right-dots": 62039, + "chat-right-fill": 62040, + "chat-right-quote-fill": 62041, + "chat-right-quote": 62042, + "chat-right-text-fill": 62043, + "chat-right-text": 62044, + "chat-right": 62045, + "chat-square-dots-fill": 62046, + "chat-square-dots": 62047, + "chat-square-fill": 62048, + "chat-square-quote-fill": 62049, + "chat-square-quote": 62050, + "chat-square-text-fill": 62051, + "chat-square-text": 62052, + "chat-square": 62053, + "chat-text-fill": 62054, + "chat-text": 62055, + "chat": 62056, + "check-all": 62057, + "check-circle-fill": 62058, + "check-circle": 62059, + "check-square-fill": 62060, + "check-square": 62061, + "check": 62062, + "check2-all": 62063, + "check2-circle": 62064, + "check2-square": 62065, + "check2": 62066, + "chevron-bar-contract": 62067, + "chevron-bar-down": 62068, + "chevron-bar-expand": 62069, + "chevron-bar-left": 62070, + "chevron-bar-right": 62071, + "chevron-bar-up": 62072, + "chevron-compact-down": 62073, + "chevron-compact-left": 62074, + "chevron-compact-right": 62075, + "chevron-compact-up": 62076, + "chevron-contract": 62077, + "chevron-double-down": 62078, + "chevron-double-left": 62079, + "chevron-double-right": 62080, + "chevron-double-up": 62081, + "chevron-down": 62082, + "chevron-expand": 62083, + "chevron-left": 62084, + "chevron-right": 62085, + "chevron-up": 62086, + "circle-fill": 62087, + "circle-half": 62088, + "circle-square": 62089, + "circle": 62090, + "clipboard-check": 62091, + "clipboard-data": 62092, + "clipboard-minus": 62093, + "clipboard-plus": 62094, + "clipboard-x": 62095, + "clipboard": 62096, + "clock-fill": 62097, + "clock-history": 62098, + "clock": 62099, + "cloud-arrow-down-fill": 62100, + "cloud-arrow-down": 62101, + "cloud-arrow-up-fill": 62102, + "cloud-arrow-up": 62103, + "cloud-check-fill": 62104, + "cloud-check": 62105, + "cloud-download-fill": 62106, + "cloud-download": 62107, + "cloud-drizzle-fill": 62108, + "cloud-drizzle": 62109, + "cloud-fill": 62110, + "cloud-fog-fill": 62111, + "cloud-fog": 62112, + "cloud-fog2-fill": 62113, + "cloud-fog2": 62114, + "cloud-hail-fill": 62115, + "cloud-hail": 62116, + "cloud-haze-fill": 62118, + "cloud-haze": 62119, + "cloud-haze2-fill": 62120, + "cloud-lightning-fill": 62121, + "cloud-lightning-rain-fill": 62122, + "cloud-lightning-rain": 62123, + "cloud-lightning": 62124, + "cloud-minus-fill": 62125, + "cloud-minus": 62126, + "cloud-moon-fill": 62127, + "cloud-moon": 62128, + "cloud-plus-fill": 62129, + "cloud-plus": 62130, + "cloud-rain-fill": 62131, + "cloud-rain-heavy-fill": 62132, + "cloud-rain-heavy": 62133, + "cloud-rain": 62134, + "cloud-slash-fill": 62135, + "cloud-slash": 62136, + "cloud-sleet-fill": 62137, + "cloud-sleet": 62138, + "cloud-snow-fill": 62139, + "cloud-snow": 62140, + "cloud-sun-fill": 62141, + "cloud-sun": 62142, + "cloud-upload-fill": 62143, + "cloud-upload": 62144, + "cloud": 62145, + "clouds-fill": 62146, + "clouds": 62147, + "cloudy-fill": 62148, + "cloudy": 62149, + "code-slash": 62150, + "code-square": 62151, + "code": 62152, + "collection-fill": 62153, + "collection-play-fill": 62154, + "collection-play": 62155, + "collection": 62156, + "columns-gap": 62157, + "columns": 62158, + "command": 62159, + "compass-fill": 62160, + "compass": 62161, + "cone-striped": 62162, + "cone": 62163, + "controller": 62164, + "cpu-fill": 62165, + "cpu": 62166, + "credit-card-2-back-fill": 62167, + "credit-card-2-back": 62168, + "credit-card-2-front-fill": 62169, + "credit-card-2-front": 62170, + "credit-card-fill": 62171, + "credit-card": 62172, + "crop": 62173, + "cup-fill": 62174, + "cup-straw": 62175, + "cup": 62176, + "cursor-fill": 62177, + "cursor-text": 62178, + "cursor": 62179, + "dash-circle-dotted": 62180, + "dash-circle-fill": 62181, + "dash-circle": 62182, + "dash-square-dotted": 62183, + "dash-square-fill": 62184, + "dash-square": 62185, + "dash": 62186, + "diagram-2-fill": 62187, + "diagram-2": 62188, + "diagram-3-fill": 62189, + "diagram-3": 62190, + "diamond-fill": 62191, + "diamond-half": 62192, + "diamond": 62193, + "dice-1-fill": 62194, + "dice-1": 62195, + "dice-2-fill": 62196, + "dice-2": 62197, + "dice-3-fill": 62198, + "dice-3": 62199, + "dice-4-fill": 62200, + "dice-4": 62201, + "dice-5-fill": 62202, + "dice-5": 62203, + "dice-6-fill": 62204, + "dice-6": 62205, + "disc-fill": 62206, + "disc": 62207, + "discord": 62208, + "display-fill": 62209, + "display": 62210, + "distribute-horizontal": 62211, + "distribute-vertical": 62212, + "door-closed-fill": 62213, + "door-closed": 62214, + "door-open-fill": 62215, + "door-open": 62216, + "dot": 62217, + "download": 62218, + "droplet-fill": 62219, + "droplet-half": 62220, + "droplet": 62221, + "earbuds": 62222, + "easel-fill": 62223, + "easel": 62224, + "egg-fill": 62225, + "egg-fried": 62226, + "egg": 62227, + "eject-fill": 62228, + "eject": 62229, + "emoji-angry-fill": 62230, + "emoji-angry": 62231, + "emoji-dizzy-fill": 62232, + "emoji-dizzy": 62233, + "emoji-expressionless-fill": 62234, + "emoji-expressionless": 62235, + "emoji-frown-fill": 62236, + "emoji-frown": 62237, + "emoji-heart-eyes-fill": 62238, + "emoji-heart-eyes": 62239, + "emoji-laughing-fill": 62240, + "emoji-laughing": 62241, + "emoji-neutral-fill": 62242, + "emoji-neutral": 62243, + "emoji-smile-fill": 62244, + "emoji-smile-upside-down-fill": 62245, + "emoji-smile-upside-down": 62246, + "emoji-smile": 62247, + "emoji-sunglasses-fill": 62248, + "emoji-sunglasses": 62249, + "emoji-wink-fill": 62250, + "emoji-wink": 62251, + "envelope-fill": 62252, + "envelope-open-fill": 62253, + "envelope-open": 62254, + "envelope": 62255, + "eraser-fill": 62256, + "eraser": 62257, + "exclamation-circle-fill": 62258, + "exclamation-circle": 62259, + "exclamation-diamond-fill": 62260, + "exclamation-diamond": 62261, + "exclamation-octagon-fill": 62262, + "exclamation-octagon": 62263, + "exclamation-square-fill": 62264, + "exclamation-square": 62265, + "exclamation-triangle-fill": 62266, + "exclamation-triangle": 62267, + "exclamation": 62268, + "exclude": 62269, + "eye-fill": 62270, + "eye-slash-fill": 62271, + "eye-slash": 62272, + "eye": 62273, + "eyedropper": 62274, + "eyeglasses": 62275, + "facebook": 62276, + "file-arrow-down-fill": 62277, + "file-arrow-down": 62278, + "file-arrow-up-fill": 62279, + "file-arrow-up": 62280, + "file-bar-graph-fill": 62281, + "file-bar-graph": 62282, + "file-binary-fill": 62283, + "file-binary": 62284, + "file-break-fill": 62285, + "file-break": 62286, + "file-check-fill": 62287, + "file-check": 62288, + "file-code-fill": 62289, + "file-code": 62290, + "file-diff-fill": 62291, + "file-diff": 62292, + "file-earmark-arrow-down-fill": 62293, + "file-earmark-arrow-down": 62294, + "file-earmark-arrow-up-fill": 62295, + "file-earmark-arrow-up": 62296, + "file-earmark-bar-graph-fill": 62297, + "file-earmark-bar-graph": 62298, + "file-earmark-binary-fill": 62299, + "file-earmark-binary": 62300, + "file-earmark-break-fill": 62301, + "file-earmark-break": 62302, + "file-earmark-check-fill": 62303, + "file-earmark-check": 62304, + "file-earmark-code-fill": 62305, + "file-earmark-code": 62306, + "file-earmark-diff-fill": 62307, + "file-earmark-diff": 62308, + "file-earmark-easel-fill": 62309, + "file-earmark-easel": 62310, + "file-earmark-excel-fill": 62311, + "file-earmark-excel": 62312, + "file-earmark-fill": 62313, + "file-earmark-font-fill": 62314, + "file-earmark-font": 62315, + "file-earmark-image-fill": 62316, + "file-earmark-image": 62317, + "file-earmark-lock-fill": 62318, + "file-earmark-lock": 62319, + "file-earmark-lock2-fill": 62320, + "file-earmark-lock2": 62321, + "file-earmark-medical-fill": 62322, + "file-earmark-medical": 62323, + "file-earmark-minus-fill": 62324, + "file-earmark-minus": 62325, + "file-earmark-music-fill": 62326, + "file-earmark-music": 62327, + "file-earmark-person-fill": 62328, + "file-earmark-person": 62329, + "file-earmark-play-fill": 62330, + "file-earmark-play": 62331, + "file-earmark-plus-fill": 62332, + "file-earmark-plus": 62333, + "file-earmark-post-fill": 62334, + "file-earmark-post": 62335, + "file-earmark-ppt-fill": 62336, + "file-earmark-ppt": 62337, + "file-earmark-richtext-fill": 62338, + "file-earmark-richtext": 62339, + "file-earmark-ruled-fill": 62340, + "file-earmark-ruled": 62341, + "file-earmark-slides-fill": 62342, + "file-earmark-slides": 62343, + "file-earmark-spreadsheet-fill": 62344, + "file-earmark-spreadsheet": 62345, + "file-earmark-text-fill": 62346, + "file-earmark-text": 62347, + "file-earmark-word-fill": 62348, + "file-earmark-word": 62349, + "file-earmark-x-fill": 62350, + "file-earmark-x": 62351, + "file-earmark-zip-fill": 62352, + "file-earmark-zip": 62353, + "file-earmark": 62354, + "file-easel-fill": 62355, + "file-easel": 62356, + "file-excel-fill": 62357, + "file-excel": 62358, + "file-fill": 62359, + "file-font-fill": 62360, + "file-font": 62361, + "file-image-fill": 62362, + "file-image": 62363, + "file-lock-fill": 62364, + "file-lock": 62365, + "file-lock2-fill": 62366, + "file-lock2": 62367, + "file-medical-fill": 62368, + "file-medical": 62369, + "file-minus-fill": 62370, + "file-minus": 62371, + "file-music-fill": 62372, + "file-music": 62373, + "file-person-fill": 62374, + "file-person": 62375, + "file-play-fill": 62376, + "file-play": 62377, + "file-plus-fill": 62378, + "file-plus": 62379, + "file-post-fill": 62380, + "file-post": 62381, + "file-ppt-fill": 62382, + "file-ppt": 62383, + "file-richtext-fill": 62384, + "file-richtext": 62385, + "file-ruled-fill": 62386, + "file-ruled": 62387, + "file-slides-fill": 62388, + "file-slides": 62389, + "file-spreadsheet-fill": 62390, + "file-spreadsheet": 62391, + "file-text-fill": 62392, + "file-text": 62393, + "file-word-fill": 62394, + "file-word": 62395, + "file-x-fill": 62396, + "file-x": 62397, + "file-zip-fill": 62398, + "file-zip": 62399, + "file": 62400, + "files-alt": 62401, + "files": 62402, + "film": 62403, + "filter-circle-fill": 62404, + "filter-circle": 62405, + "filter-left": 62406, + "filter-right": 62407, + "filter-square-fill": 62408, + "filter-square": 62409, + "filter": 62410, + "flag-fill": 62411, + "flag": 62412, + "flower1": 62413, + "flower2": 62414, + "flower3": 62415, + "folder-check": 62416, + "folder-fill": 62417, + "folder-minus": 62418, + "folder-plus": 62419, + "folder-symlink-fill": 62420, + "folder-symlink": 62421, + "folder-x": 62422, + "folder": 62423, + "folder2-open": 62424, + "folder2": 62425, + "fonts": 62426, + "forward-fill": 62427, + "forward": 62428, + "front": 62429, + "fullscreen-exit": 62430, + "fullscreen": 62431, + "funnel-fill": 62432, + "funnel": 62433, + "gear-fill": 62434, + "gear-wide-connected": 62435, + "gear-wide": 62436, + "gear": 62437, + "gem": 62438, + "geo-alt-fill": 62439, + "geo-alt": 62440, + "geo-fill": 62441, + "geo": 62442, + "gift-fill": 62443, + "gift": 62444, + "github": 62445, + "globe": 62446, + "globe2": 62447, + "google": 62448, + "graph-down": 62449, + "graph-up": 62450, + "grid-1x2-fill": 62451, + "grid-1x2": 62452, + "grid-3x2-gap-fill": 62453, + "grid-3x2-gap": 62454, + "grid-3x2": 62455, + "grid-3x3-gap-fill": 62456, + "grid-3x3-gap": 62457, + "grid-3x3": 62458, + "grid-fill": 62459, + "grid": 62460, + "grip-horizontal": 62461, + "grip-vertical": 62462, + "hammer": 62463, + "hand-index-fill": 62464, + "hand-index-thumb-fill": 62465, + "hand-index-thumb": 62466, + "hand-index": 62467, + "hand-thumbs-down-fill": 62468, + "hand-thumbs-down": 62469, + "hand-thumbs-up-fill": 62470, + "hand-thumbs-up": 62471, + "handbag-fill": 62472, + "handbag": 62473, + "hash": 62474, + "hdd-fill": 62475, + "hdd-network-fill": 62476, + "hdd-network": 62477, + "hdd-rack-fill": 62478, + "hdd-rack": 62479, + "hdd-stack-fill": 62480, + "hdd-stack": 62481, + "hdd": 62482, + "headphones": 62483, + "headset": 62484, + "heart-fill": 62485, + "heart-half": 62486, + "heart": 62487, + "heptagon-fill": 62488, + "heptagon-half": 62489, + "heptagon": 62490, + "hexagon-fill": 62491, + "hexagon-half": 62492, + "hexagon": 62493, + "hourglass-bottom": 62494, + "hourglass-split": 62495, + "hourglass-top": 62496, + "hourglass": 62497, + "house-door-fill": 62498, + "house-door": 62499, + "house-fill": 62500, + "house": 62501, + "hr": 62502, + "hurricane": 62503, + "image-alt": 62504, + "image-fill": 62505, + "image": 62506, + "images": 62507, + "inbox-fill": 62508, + "inbox": 62509, + "inboxes-fill": 62510, + "inboxes": 62511, + "info-circle-fill": 62512, + "info-circle": 62513, + "info-square-fill": 62514, + "info-square": 62515, + "info": 62516, + "input-cursor-text": 62517, + "input-cursor": 62518, + "instagram": 62519, + "intersect": 62520, + "journal-album": 62521, + "journal-arrow-down": 62522, + "journal-arrow-up": 62523, + "journal-bookmark-fill": 62524, + "journal-bookmark": 62525, + "journal-check": 62526, + "journal-code": 62527, + "journal-medical": 62528, + "journal-minus": 62529, + "journal-plus": 62530, + "journal-richtext": 62531, + "journal-text": 62532, + "journal-x": 62533, + "journal": 62534, + "journals": 62535, + "joystick": 62536, + "justify-left": 62537, + "justify-right": 62538, + "justify": 62539, + "kanban-fill": 62540, + "kanban": 62541, + "key-fill": 62542, + "key": 62543, + "keyboard-fill": 62544, + "keyboard": 62545, + "ladder": 62546, + "lamp-fill": 62547, + "lamp": 62548, + "laptop-fill": 62549, + "laptop": 62550, + "layer-backward": 62551, + "layer-forward": 62552, + "layers-fill": 62553, + "layers-half": 62554, + "layers": 62555, + "layout-sidebar-inset-reverse": 62556, + "layout-sidebar-inset": 62557, + "layout-sidebar-reverse": 62558, + "layout-sidebar": 62559, + "layout-split": 62560, + "layout-text-sidebar-reverse": 62561, + "layout-text-sidebar": 62562, + "layout-text-window-reverse": 62563, + "layout-text-window": 62564, + "layout-three-columns": 62565, + "layout-wtf": 62566, + "life-preserver": 62567, + "lightbulb-fill": 62568, + "lightbulb-off-fill": 62569, + "lightbulb-off": 62570, + "lightbulb": 62571, + "lightning-charge-fill": 62572, + "lightning-charge": 62573, + "lightning-fill": 62574, + "lightning": 62575, + "link-45deg": 62576, + "link": 62577, + "linkedin": 62578, + "list-check": 62579, + "list-nested": 62580, + "list-ol": 62581, + "list-stars": 62582, + "list-task": 62583, + "list-ul": 62584, + "list": 62585, + "lock-fill": 62586, + "lock": 62587, + "mailbox": 62588, + "mailbox2": 62589, + "map-fill": 62590, + "map": 62591, + "markdown-fill": 62592, + "markdown": 62593, + "mask": 62594, + "megaphone-fill": 62595, + "megaphone": 62596, + "menu-app-fill": 62597, + "menu-app": 62598, + "menu-button-fill": 62599, + "menu-button-wide-fill": 62600, + "menu-button-wide": 62601, + "menu-button": 62602, + "menu-down": 62603, + "menu-up": 62604, + "mic-fill": 62605, + "mic-mute-fill": 62606, + "mic-mute": 62607, + "mic": 62608, + "minecart-loaded": 62609, + "minecart": 62610, + "moisture": 62611, + "moon-fill": 62612, + "moon-stars-fill": 62613, + "moon-stars": 62614, + "moon": 62615, + "mouse-fill": 62616, + "mouse": 62617, + "mouse2-fill": 62618, + "mouse2": 62619, + "mouse3-fill": 62620, + "mouse3": 62621, + "music-note-beamed": 62622, + "music-note-list": 62623, + "music-note": 62624, + "music-player-fill": 62625, + "music-player": 62626, + "newspaper": 62627, + "node-minus-fill": 62628, + "node-minus": 62629, + "node-plus-fill": 62630, + "node-plus": 62631, + "nut-fill": 62632, + "nut": 62633, + "octagon-fill": 62634, + "octagon-half": 62635, + "octagon": 62636, + "option": 62637, + "outlet": 62638, + "paint-bucket": 62639, + "palette-fill": 62640, + "palette": 62641, + "palette2": 62642, + "paperclip": 62643, + "paragraph": 62644, + "patch-check-fill": 62645, + "patch-check": 62646, + "patch-exclamation-fill": 62647, + "patch-exclamation": 62648, + "patch-minus-fill": 62649, + "patch-minus": 62650, + "patch-plus-fill": 62651, + "patch-plus": 62652, + "patch-question-fill": 62653, + "patch-question": 62654, + "pause-btn-fill": 62655, + "pause-btn": 62656, + "pause-circle-fill": 62657, + "pause-circle": 62658, + "pause-fill": 62659, + "pause": 62660, + "peace-fill": 62661, + "peace": 62662, + "pen-fill": 62663, + "pen": 62664, + "pencil-fill": 62665, + "pencil-square": 62666, + "pencil": 62667, + "pentagon-fill": 62668, + "pentagon-half": 62669, + "pentagon": 62670, + "people-fill": 62671, + "people": 62672, + "percent": 62673, + "person-badge-fill": 62674, + "person-badge": 62675, + "person-bounding-box": 62676, + "person-check-fill": 62677, + "person-check": 62678, + "person-circle": 62679, + "person-dash-fill": 62680, + "person-dash": 62681, + "person-fill": 62682, + "person-lines-fill": 62683, + "person-plus-fill": 62684, + "person-plus": 62685, + "person-square": 62686, + "person-x-fill": 62687, + "person-x": 62688, + "person": 62689, + "phone-fill": 62690, + "phone-landscape-fill": 62691, + "phone-landscape": 62692, + "phone-vibrate-fill": 62693, + "phone-vibrate": 62694, + "phone": 62695, + "pie-chart-fill": 62696, + "pie-chart": 62697, + "pin-angle-fill": 62698, + "pin-angle": 62699, + "pin-fill": 62700, + "pin": 62701, + "pip-fill": 62702, + "pip": 62703, + "play-btn-fill": 62704, + "play-btn": 62705, + "play-circle-fill": 62706, + "play-circle": 62707, + "play-fill": 62708, + "play": 62709, + "plug-fill": 62710, + "plug": 62711, + "plus-circle-dotted": 62712, + "plus-circle-fill": 62713, + "plus-circle": 62714, + "plus-square-dotted": 62715, + "plus-square-fill": 62716, + "plus-square": 62717, + "plus": 62718, + "power": 62719, + "printer-fill": 62720, + "printer": 62721, + "puzzle-fill": 62722, + "puzzle": 62723, + "question-circle-fill": 62724, + "question-circle": 62725, + "question-diamond-fill": 62726, + "question-diamond": 62727, + "question-octagon-fill": 62728, + "question-octagon": 62729, + "question-square-fill": 62730, + "question-square": 62731, + "question": 62732, + "rainbow": 62733, + "receipt-cutoff": 62734, + "receipt": 62735, + "reception-0": 62736, + "reception-1": 62737, + "reception-2": 62738, + "reception-3": 62739, + "reception-4": 62740, + "record-btn-fill": 62741, + "record-btn": 62742, + "record-circle-fill": 62743, + "record-circle": 62744, + "record-fill": 62745, + "record": 62746, + "record2-fill": 62747, + "record2": 62748, + "reply-all-fill": 62749, + "reply-all": 62750, + "reply-fill": 62751, + "reply": 62752, + "rss-fill": 62753, + "rss": 62754, + "rulers": 62755, + "save-fill": 62756, + "save": 62757, + "save2-fill": 62758, + "save2": 62759, + "scissors": 62760, + "screwdriver": 62761, + "search": 62762, + "segmented-nav": 62763, + "server": 62764, + "share-fill": 62765, + "share": 62766, + "shield-check": 62767, + "shield-exclamation": 62768, + "shield-fill-check": 62769, + "shield-fill-exclamation": 62770, + "shield-fill-minus": 62771, + "shield-fill-plus": 62772, + "shield-fill-x": 62773, + "shield-fill": 62774, + "shield-lock-fill": 62775, + "shield-lock": 62776, + "shield-minus": 62777, + "shield-plus": 62778, + "shield-shaded": 62779, + "shield-slash-fill": 62780, + "shield-slash": 62781, + "shield-x": 62782, + "shield": 62783, + "shift-fill": 62784, + "shift": 62785, + "shop-window": 62786, + "shop": 62787, + "shuffle": 62788, + "signpost-2-fill": 62789, + "signpost-2": 62790, + "signpost-fill": 62791, + "signpost-split-fill": 62792, + "signpost-split": 62793, + "signpost": 62794, + "sim-fill": 62795, + "sim": 62796, + "skip-backward-btn-fill": 62797, + "skip-backward-btn": 62798, + "skip-backward-circle-fill": 62799, + "skip-backward-circle": 62800, + "skip-backward-fill": 62801, + "skip-backward": 62802, + "skip-end-btn-fill": 62803, + "skip-end-btn": 62804, + "skip-end-circle-fill": 62805, + "skip-end-circle": 62806, + "skip-end-fill": 62807, + "skip-end": 62808, + "skip-forward-btn-fill": 62809, + "skip-forward-btn": 62810, + "skip-forward-circle-fill": 62811, + "skip-forward-circle": 62812, + "skip-forward-fill": 62813, + "skip-forward": 62814, + "skip-start-btn-fill": 62815, + "skip-start-btn": 62816, + "skip-start-circle-fill": 62817, + "skip-start-circle": 62818, + "skip-start-fill": 62819, + "skip-start": 62820, + "slack": 62821, + "slash-circle-fill": 62822, + "slash-circle": 62823, + "slash-square-fill": 62824, + "slash-square": 62825, + "slash": 62826, + "sliders": 62827, + "smartwatch": 62828, + "snow": 62829, + "snow2": 62830, + "snow3": 62831, + "sort-alpha-down-alt": 62832, + "sort-alpha-down": 62833, + "sort-alpha-up-alt": 62834, + "sort-alpha-up": 62835, + "sort-down-alt": 62836, + "sort-down": 62837, + "sort-numeric-down-alt": 62838, + "sort-numeric-down": 62839, + "sort-numeric-up-alt": 62840, + "sort-numeric-up": 62841, + "sort-up-alt": 62842, + "sort-up": 62843, + "soundwave": 62844, + "speaker-fill": 62845, + "speaker": 62846, + "speedometer": 62847, + "speedometer2": 62848, + "spellcheck": 62849, + "square-fill": 62850, + "square-half": 62851, + "square": 62852, + "stack": 62853, + "star-fill": 62854, + "star-half": 62855, + "star": 62856, + "stars": 62857, + "stickies-fill": 62858, + "stickies": 62859, + "sticky-fill": 62860, + "sticky": 62861, + "stop-btn-fill": 62862, + "stop-btn": 62863, + "stop-circle-fill": 62864, + "stop-circle": 62865, + "stop-fill": 62866, + "stop": 62867, + "stoplights-fill": 62868, + "stoplights": 62869, + "stopwatch-fill": 62870, + "stopwatch": 62871, + "subtract": 62872, + "suit-club-fill": 62873, + "suit-club": 62874, + "suit-diamond-fill": 62875, + "suit-diamond": 62876, + "suit-heart-fill": 62877, + "suit-heart": 62878, + "suit-spade-fill": 62879, + "suit-spade": 62880, + "sun-fill": 62881, + "sun": 62882, + "sunglasses": 62883, + "sunrise-fill": 62884, + "sunrise": 62885, + "sunset-fill": 62886, + "sunset": 62887, + "symmetry-horizontal": 62888, + "symmetry-vertical": 62889, + "table": 62890, + "tablet-fill": 62891, + "tablet-landscape-fill": 62892, + "tablet-landscape": 62893, + "tablet": 62894, + "tag-fill": 62895, + "tag": 62896, + "tags-fill": 62897, + "tags": 62898, + "telegram": 62899, + "telephone-fill": 62900, + "telephone-forward-fill": 62901, + "telephone-forward": 62902, + "telephone-inbound-fill": 62903, + "telephone-inbound": 62904, + "telephone-minus-fill": 62905, + "telephone-minus": 62906, + "telephone-outbound-fill": 62907, + "telephone-outbound": 62908, + "telephone-plus-fill": 62909, + "telephone-plus": 62910, + "telephone-x-fill": 62911, + "telephone-x": 62912, + "telephone": 62913, + "terminal-fill": 62914, + "terminal": 62915, + "text-center": 62916, + "text-indent-left": 62917, + "text-indent-right": 62918, + "text-left": 62919, + "text-paragraph": 62920, + "text-right": 62921, + "textarea-resize": 62922, + "textarea-t": 62923, + "textarea": 62924, + "thermometer-half": 62925, + "thermometer-high": 62926, + "thermometer-low": 62927, + "thermometer-snow": 62928, + "thermometer-sun": 62929, + "thermometer": 62930, + "three-dots-vertical": 62931, + "three-dots": 62932, + "toggle-off": 62933, + "toggle-on": 62934, + "toggle2-off": 62935, + "toggle2-on": 62936, + "toggles": 62937, + "toggles2": 62938, + "tools": 62939, + "tornado": 62940, + "trash-fill": 62941, + "trash": 62942, + "trash2-fill": 62943, + "trash2": 62944, + "tree-fill": 62945, + "tree": 62946, + "triangle-fill": 62947, + "triangle-half": 62948, + "triangle": 62949, + "trophy-fill": 62950, + "trophy": 62951, + "tropical-storm": 62952, + "truck-flatbed": 62953, + "truck": 62954, + "tsunami": 62955, + "tv-fill": 62956, + "tv": 62957, + "twitch": 62958, + "twitter": 62959, + "type-bold": 62960, + "type-h1": 62961, + "type-h2": 62962, + "type-h3": 62963, + "type-italic": 62964, + "type-strikethrough": 62965, + "type-underline": 62966, + "type": 62967, + "ui-checks-grid": 62968, + "ui-checks": 62969, + "ui-radios-grid": 62970, + "ui-radios": 62971, + "umbrella-fill": 62972, + "umbrella": 62973, + "union": 62974, + "unlock-fill": 62975, + "unlock": 62976, + "upc-scan": 62977, + "upc": 62978, + "upload": 62979, + "vector-pen": 62980, + "view-list": 62981, + "view-stacked": 62982, + "vinyl-fill": 62983, + "vinyl": 62984, + "voicemail": 62985, + "volume-down-fill": 62986, + "volume-down": 62987, + "volume-mute-fill": 62988, + "volume-mute": 62989, + "volume-off-fill": 62990, + "volume-off": 62991, + "volume-up-fill": 62992, + "volume-up": 62993, + "vr": 62994, + "wallet-fill": 62995, + "wallet": 62996, + "wallet2": 62997, + "watch": 62998, + "water": 62999, + "whatsapp": 63000, + "wifi-1": 63001, + "wifi-2": 63002, + "wifi-off": 63003, + "wifi": 63004, + "wind": 63005, + "window-dock": 63006, + "window-sidebar": 63007, + "window": 63008, + "wrench": 63009, + "x-circle-fill": 63010, + "x-circle": 63011, + "x-diamond-fill": 63012, + "x-diamond": 63013, + "x-octagon-fill": 63014, + "x-octagon": 63015, + "x-square-fill": 63016, + "x-square": 63017, + "x": 63018, + "youtube": 63019, + "zoom-in": 63020, + "zoom-out": 63021, + "bank": 63022, + "bank2": 63023, + "bell-slash-fill": 63024, + "bell-slash": 63025, + "cash-coin": 63026, + "check-lg": 63027, + "coin": 63028, + "currency-bitcoin": 63029, + "currency-dollar": 63030, + "currency-euro": 63031, + "currency-exchange": 63032, + "currency-pound": 63033, + "currency-yen": 63034, + "dash-lg": 63035, + "exclamation-lg": 63036, + "file-earmark-pdf-fill": 63037, + "file-earmark-pdf": 63038, + "file-pdf-fill": 63039, + "file-pdf": 63040, + "gender-ambiguous": 63041, + "gender-female": 63042, + "gender-male": 63043, + "gender-trans": 63044, + "headset-vr": 63045, + "info-lg": 63046, + "mastodon": 63047, + "messenger": 63048, + "piggy-bank-fill": 63049, + "piggy-bank": 63050, + "pin-map-fill": 63051, + "pin-map": 63052, + "plus-lg": 63053, + "question-lg": 63054, + "recycle": 63055, + "reddit": 63056, + "safe-fill": 63057, + "safe2-fill": 63058, + "safe2": 63059, + "sd-card-fill": 63060, + "sd-card": 63061, + "skype": 63062, + "slash-lg": 63063, + "translate": 63064, + "x-lg": 63065, + "safe": 63066, + "apple": 63067, + "microsoft": 63069, + "windows": 63070, + "behance": 63068, + "dribbble": 63071, + "line": 63072, + "medium": 63073, + "paypal": 63074, + "pinterest": 63075, + "signal": 63076, + "snapchat": 63077, + "spotify": 63078, + "stack-overflow": 63079, + "strava": 63080, + "wordpress": 63081, + "vimeo": 63082, + "activity": 63083, + "easel2-fill": 63084, + "easel2": 63085, + "easel3-fill": 63086, + "easel3": 63087, + "fan": 63088, + "fingerprint": 63089, + "graph-down-arrow": 63090, + "graph-up-arrow": 63091, + "hypnotize": 63092, + "magic": 63093, + "person-rolodex": 63094, + "person-video": 63095, + "person-video2": 63096, + "person-video3": 63097, + "person-workspace": 63098, + "radioactive": 63099, + "webcam-fill": 63100, + "webcam": 63101, + "yin-yang": 63102, + "bandaid-fill": 63104, + "bandaid": 63105, + "bluetooth": 63106, + "body-text": 63107, + "boombox": 63108, + "boxes": 63109, + "dpad-fill": 63110, + "dpad": 63111, + "ear-fill": 63112, + "ear": 63113, + "envelope-check-fill": 63115, + "envelope-check": 63116, + "envelope-dash-fill": 63118, + "envelope-dash": 63119, + "envelope-exclamation-fill": 63121, + "envelope-exclamation": 63122, + "envelope-plus-fill": 63123, + "envelope-plus": 63124, + "envelope-slash-fill": 63126, + "envelope-slash": 63127, + "envelope-x-fill": 63129, + "envelope-x": 63130, + "explicit-fill": 63131, + "explicit": 63132, + "git": 63133, + "infinity": 63134, + "list-columns-reverse": 63135, + "list-columns": 63136, + "meta": 63137, + "nintendo-switch": 63140, + "pc-display-horizontal": 63141, + "pc-display": 63142, + "pc-horizontal": 63143, + "pc": 63144, + "playstation": 63145, + "plus-slash-minus": 63146, + "projector-fill": 63147, + "projector": 63148, + "qr-code-scan": 63149, + "qr-code": 63150, + "quora": 63151, + "quote": 63152, + "robot": 63153, + "send-check-fill": 63154, + "send-check": 63155, + "send-dash-fill": 63156, + "send-dash": 63157, + "send-exclamation-fill": 63159, + "send-exclamation": 63160, + "send-fill": 63161, + "send-plus-fill": 63162, + "send-plus": 63163, + "send-slash-fill": 63164, + "send-slash": 63165, + "send-x-fill": 63166, + "send-x": 63167, + "send": 63168, + "steam": 63169, + "terminal-dash": 63171, + "terminal-plus": 63172, + "terminal-split": 63173, + "ticket-detailed-fill": 63174, + "ticket-detailed": 63175, + "ticket-fill": 63176, + "ticket-perforated-fill": 63177, + "ticket-perforated": 63178, + "ticket": 63179, + "tiktok": 63180, + "window-dash": 63181, + "window-desktop": 63182, + "window-fullscreen": 63183, + "window-plus": 63184, + "window-split": 63185, + "window-stack": 63186, + "window-x": 63187, + "xbox": 63188, + "ethernet": 63189, + "hdmi-fill": 63190, + "hdmi": 63191, + "usb-c-fill": 63192, + "usb-c": 63193, + "usb-fill": 63194, + "usb-plug-fill": 63195, + "usb-plug": 63196, + "usb-symbol": 63197, + "usb": 63198, + "boombox-fill": 63199, + "displayport": 63201, + "gpu-card": 63202, + "memory": 63203, + "modem-fill": 63204, + "modem": 63205, + "motherboard-fill": 63206, + "motherboard": 63207, + "optical-audio-fill": 63208, + "optical-audio": 63209, + "pci-card": 63210, + "router-fill": 63211, + "router": 63212, + "thunderbolt-fill": 63215, + "thunderbolt": 63216, + "usb-drive-fill": 63217, + "usb-drive": 63218, + "usb-micro-fill": 63219, + "usb-micro": 63220, + "usb-mini-fill": 63221, + "usb-mini": 63222, + "cloud-haze2": 63223, + "device-hdd-fill": 63224, + "device-hdd": 63225, + "device-ssd-fill": 63226, + "device-ssd": 63227, + "displayport-fill": 63228, + "mortarboard-fill": 63229, + "mortarboard": 63230, + "terminal-x": 63231, + "arrow-through-heart-fill": 63232, + "arrow-through-heart": 63233, + "badge-sd-fill": 63234, + "badge-sd": 63235, + "bag-heart-fill": 63236, + "bag-heart": 63237, + "balloon-fill": 63238, + "balloon-heart-fill": 63239, + "balloon-heart": 63240, + "balloon": 63241, + "box2-fill": 63242, + "box2-heart-fill": 63243, + "box2-heart": 63244, + "box2": 63245, + "braces-asterisk": 63246, + "calendar-heart-fill": 63247, + "calendar-heart": 63248, + "calendar2-heart-fill": 63249, + "calendar2-heart": 63250, + "chat-heart-fill": 63251, + "chat-heart": 63252, + "chat-left-heart-fill": 63253, + "chat-left-heart": 63254, + "chat-right-heart-fill": 63255, + "chat-right-heart": 63256, + "chat-square-heart-fill": 63257, + "chat-square-heart": 63258, + "clipboard-check-fill": 63259, + "clipboard-data-fill": 63260, + "clipboard-fill": 63261, + "clipboard-heart-fill": 63262, + "clipboard-heart": 63263, + "clipboard-minus-fill": 63264, + "clipboard-plus-fill": 63265, + "clipboard-pulse": 63266, + "clipboard-x-fill": 63267, + "clipboard2-check-fill": 63268, + "clipboard2-check": 63269, + "clipboard2-data-fill": 63270, + "clipboard2-data": 63271, + "clipboard2-fill": 63272, + "clipboard2-heart-fill": 63273, + "clipboard2-heart": 63274, + "clipboard2-minus-fill": 63275, + "clipboard2-minus": 63276, + "clipboard2-plus-fill": 63277, + "clipboard2-plus": 63278, + "clipboard2-pulse-fill": 63279, + "clipboard2-pulse": 63280, + "clipboard2-x-fill": 63281, + "clipboard2-x": 63282, + "clipboard2": 63283, + "emoji-kiss-fill": 63284, + "emoji-kiss": 63285, + "envelope-heart-fill": 63286, + "envelope-heart": 63287, + "envelope-open-heart-fill": 63288, + "envelope-open-heart": 63289, + "envelope-paper-fill": 63290, + "envelope-paper-heart-fill": 63291, + "envelope-paper-heart": 63292, + "envelope-paper": 63293, + "filetype-aac": 63294, + "filetype-ai": 63295, + "filetype-bmp": 63296, + "filetype-cs": 63297, + "filetype-css": 63298, + "filetype-csv": 63299, + "filetype-doc": 63300, + "filetype-docx": 63301, + "filetype-exe": 63302, + "filetype-gif": 63303, + "filetype-heic": 63304, + "filetype-html": 63305, + "filetype-java": 63306, + "filetype-jpg": 63307, + "filetype-js": 63308, + "filetype-jsx": 63309, + "filetype-key": 63310, + "filetype-m4p": 63311, + "filetype-md": 63312, + "filetype-mdx": 63313, + "filetype-mov": 63314, + "filetype-mp3": 63315, + "filetype-mp4": 63316, + "filetype-otf": 63317, + "filetype-pdf": 63318, + "filetype-php": 63319, + "filetype-png": 63320, + "filetype-ppt": 63322, + "filetype-psd": 63323, + "filetype-py": 63324, + "filetype-raw": 63325, + "filetype-rb": 63326, + "filetype-sass": 63327, + "filetype-scss": 63328, + "filetype-sh": 63329, + "filetype-svg": 63330, + "filetype-tiff": 63331, + "filetype-tsx": 63332, + "filetype-ttf": 63333, + "filetype-txt": 63334, + "filetype-wav": 63335, + "filetype-woff": 63336, + "filetype-xls": 63338, + "filetype-xml": 63339, + "filetype-yml": 63340, + "heart-arrow": 63341, + "heart-pulse-fill": 63342, + "heart-pulse": 63343, + "heartbreak-fill": 63344, + "heartbreak": 63345, + "hearts": 63346, + "hospital-fill": 63347, + "hospital": 63348, + "house-heart-fill": 63349, + "house-heart": 63350, + "incognito": 63351, + "magnet-fill": 63352, + "magnet": 63353, + "person-heart": 63354, + "person-hearts": 63355, + "phone-flip": 63356, + "plugin": 63357, + "postage-fill": 63358, + "postage-heart-fill": 63359, + "postage-heart": 63360, + "postage": 63361, + "postcard-fill": 63362, + "postcard-heart-fill": 63363, + "postcard-heart": 63364, + "postcard": 63365, + "search-heart-fill": 63366, + "search-heart": 63367, + "sliders2-vertical": 63368, + "sliders2": 63369, + "trash3-fill": 63370, + "trash3": 63371, + "valentine": 63372, + "valentine2": 63373, + "wrench-adjustable-circle-fill": 63374, + "wrench-adjustable-circle": 63375, + "wrench-adjustable": 63376, + "filetype-json": 63377, + "filetype-pptx": 63378, + "filetype-xlsx": 63379, + "1-circle-fill": 63382, + "1-circle": 63383, + "1-square-fill": 63384, + "1-square": 63385, + "2-circle-fill": 63388, + "2-circle": 63389, + "2-square-fill": 63390, + "2-square": 63391, + "3-circle-fill": 63394, + "3-circle": 63395, + "3-square-fill": 63396, + "3-square": 63397, + "4-circle-fill": 63400, + "4-circle": 63401, + "4-square-fill": 63402, + "4-square": 63403, + "5-circle-fill": 63406, + "5-circle": 63407, + "5-square-fill": 63408, + "5-square": 63409, + "6-circle-fill": 63412, + "6-circle": 63413, + "6-square-fill": 63414, + "6-square": 63415, + "7-circle-fill": 63418, + "7-circle": 63419, + "7-square-fill": 63420, + "7-square": 63421, + "8-circle-fill": 63424, + "8-circle": 63425, + "8-square-fill": 63426, + "8-square": 63427, + "9-circle-fill": 63430, + "9-circle": 63431, + "9-square-fill": 63432, + "9-square": 63433, + "airplane-engines-fill": 63434, + "airplane-engines": 63435, + "airplane-fill": 63436, + "airplane": 63437, + "alexa": 63438, + "alipay": 63439, + "android": 63440, + "android2": 63441, + "box-fill": 63442, + "box-seam-fill": 63443, + "browser-chrome": 63444, + "browser-edge": 63445, + "browser-firefox": 63446, + "browser-safari": 63447, + "c-circle-fill": 63450, + "c-circle": 63451, + "c-square-fill": 63452, + "c-square": 63453, + "capsule-pill": 63454, + "capsule": 63455, + "car-front-fill": 63456, + "car-front": 63457, + "cassette-fill": 63458, + "cassette": 63459, + "cc-circle-fill": 63462, + "cc-circle": 63463, + "cc-square-fill": 63464, + "cc-square": 63465, + "cup-hot-fill": 63466, + "cup-hot": 63467, + "currency-rupee": 63468, + "dropbox": 63469, + "escape": 63470, + "fast-forward-btn-fill": 63471, + "fast-forward-btn": 63472, + "fast-forward-circle-fill": 63473, + "fast-forward-circle": 63474, + "fast-forward-fill": 63475, + "fast-forward": 63476, + "filetype-sql": 63477, + "fire": 63478, + "google-play": 63479, + "h-circle-fill": 63482, + "h-circle": 63483, + "h-square-fill": 63484, + "h-square": 63485, + "indent": 63486, + "lungs-fill": 63487, + "lungs": 63488, + "microsoft-teams": 63489, + "p-circle-fill": 63492, + "p-circle": 63493, + "p-square-fill": 63494, + "p-square": 63495, + "pass-fill": 63496, + "pass": 63497, + "prescription": 63498, + "prescription2": 63499, + "r-circle-fill": 63502, + "r-circle": 63503, + "r-square-fill": 63504, + "r-square": 63505, + "repeat-1": 63506, + "repeat": 63507, + "rewind-btn-fill": 63508, + "rewind-btn": 63509, + "rewind-circle-fill": 63510, + "rewind-circle": 63511, + "rewind-fill": 63512, + "rewind": 63513, + "train-freight-front-fill": 63514, + "train-freight-front": 63515, + "train-front-fill": 63516, + "train-front": 63517, + "train-lightrail-front-fill": 63518, + "train-lightrail-front": 63519, + "truck-front-fill": 63520, + "truck-front": 63521, + "ubuntu": 63522, + "unindent": 63523, + "unity": 63524, + "universal-access-circle": 63525, + "universal-access": 63526, + "virus": 63527, + "virus2": 63528, + "wechat": 63529, + "yelp": 63530, + "sign-stop-fill": 63531, + "sign-stop-lights-fill": 63532, + "sign-stop-lights": 63533, + "sign-stop": 63534, + "sign-turn-left-fill": 63535, + "sign-turn-left": 63536, + "sign-turn-right-fill": 63537, + "sign-turn-right": 63538, + "sign-turn-slight-left-fill": 63539, + "sign-turn-slight-left": 63540, + "sign-turn-slight-right-fill": 63541, + "sign-turn-slight-right": 63542, + "sign-yield-fill": 63543, + "sign-yield": 63544, + "ev-station-fill": 63545, + "ev-station": 63546, + "fuel-pump-diesel-fill": 63547, + "fuel-pump-diesel": 63548, + "fuel-pump-fill": 63549, + "fuel-pump": 63550, + "0-circle-fill": 63551, + "0-circle": 63552, + "0-square-fill": 63553, + "0-square": 63554, + "rocket-fill": 63555, + "rocket-takeoff-fill": 63556, + "rocket-takeoff": 63557, + "rocket": 63558, + "stripe": 63559, + "subscript": 63560, + "superscript": 63561, + "trello": 63562, + "envelope-at-fill": 63563, + "envelope-at": 63564, + "regex": 63565, + "text-wrap": 63566, + "sign-dead-end-fill": 63567, + "sign-dead-end": 63568, + "sign-do-not-enter-fill": 63569, + "sign-do-not-enter": 63570, + "sign-intersection-fill": 63571, + "sign-intersection-side-fill": 63572, + "sign-intersection-side": 63573, + "sign-intersection-t-fill": 63574, + "sign-intersection-t": 63575, + "sign-intersection-y-fill": 63576, + "sign-intersection-y": 63577, + "sign-intersection": 63578, + "sign-merge-left-fill": 63579, + "sign-merge-left": 63580, + "sign-merge-right-fill": 63581, + "sign-merge-right": 63582, + "sign-no-left-turn-fill": 63583, + "sign-no-left-turn": 63584, + "sign-no-parking-fill": 63585, + "sign-no-parking": 63586, + "sign-no-right-turn-fill": 63587, + "sign-no-right-turn": 63588, + "sign-railroad-fill": 63589, + "sign-railroad": 63590, + "building-add": 63591, + "building-check": 63592, + "building-dash": 63593, + "building-down": 63594, + "building-exclamation": 63595, + "building-fill-add": 63596, + "building-fill-check": 63597, + "building-fill-dash": 63598, + "building-fill-down": 63599, + "building-fill-exclamation": 63600, + "building-fill-gear": 63601, + "building-fill-lock": 63602, + "building-fill-slash": 63603, + "building-fill-up": 63604, + "building-fill-x": 63605, + "building-fill": 63606, + "building-gear": 63607, + "building-lock": 63608, + "building-slash": 63609, + "building-up": 63610, + "building-x": 63611, + "buildings-fill": 63612, + "buildings": 63613, + "bus-front-fill": 63614, + "bus-front": 63615, + "ev-front-fill": 63616, + "ev-front": 63617, + "globe-americas": 63618, + "globe-asia-australia": 63619, + "globe-central-south-asia": 63620, + "globe-europe-africa": 63621, + "house-add-fill": 63622, + "house-add": 63623, + "house-check-fill": 63624, + "house-check": 63625, + "house-dash-fill": 63626, + "house-dash": 63627, + "house-down-fill": 63628, + "house-down": 63629, + "house-exclamation-fill": 63630, + "house-exclamation": 63631, + "house-gear-fill": 63632, + "house-gear": 63633, + "house-lock-fill": 63634, + "house-lock": 63635, + "house-slash-fill": 63636, + "house-slash": 63637, + "house-up-fill": 63638, + "house-up": 63639, + "house-x-fill": 63640, + "house-x": 63641, + "person-add": 63642, + "person-down": 63643, + "person-exclamation": 63644, + "person-fill-add": 63645, + "person-fill-check": 63646, + "person-fill-dash": 63647, + "person-fill-down": 63648, + "person-fill-exclamation": 63649, + "person-fill-gear": 63650, + "person-fill-lock": 63651, + "person-fill-slash": 63652, + "person-fill-up": 63653, + "person-fill-x": 63654, + "person-gear": 63655, + "person-lock": 63656, + "person-slash": 63657, + "person-up": 63658, + "scooter": 63659, + "taxi-front-fill": 63660, + "taxi-front": 63661, + "amd": 63662, + "database-add": 63663, + "database-check": 63664, + "database-dash": 63665, + "database-down": 63666, + "database-exclamation": 63667, + "database-fill-add": 63668, + "database-fill-check": 63669, + "database-fill-dash": 63670, + "database-fill-down": 63671, + "database-fill-exclamation": 63672, + "database-fill-gear": 63673, + "database-fill-lock": 63674, + "database-fill-slash": 63675, + "database-fill-up": 63676, + "database-fill-x": 63677, + "database-fill": 63678, + "database-gear": 63679, + "database-lock": 63680, + "database-slash": 63681, + "database-up": 63682, + "database-x": 63683, + "database": 63684, + "houses-fill": 63685, + "houses": 63686, + "nvidia": 63687, + "person-vcard-fill": 63688, + "person-vcard": 63689, + "sina-weibo": 63690, + "tencent-qq": 63691, + "wikipedia": 63692, + "alphabet-uppercase": 62117, + "alphabet": 63114, + "amazon": 63117, + "arrows-collapse-vertical": 63120, + "arrows-expand-vertical": 63125, + "arrows-vertical": 63128, + "arrows": 63138, + "ban-fill": 63139, + "ban": 63158, + "bing": 63170, + "cake": 63200, + "cake2": 63213, + "cookie": 63214, + "copy": 63321, + "crosshair": 63337, + "crosshair2": 63380, + "emoji-astonished-fill": 63381, + "emoji-astonished": 63386, + "emoji-grimace-fill": 63387, + "emoji-grimace": 63392, + "emoji-grin-fill": 63393, + "emoji-grin": 63398, + "emoji-surprise-fill": 63399, + "emoji-surprise": 63404, + "emoji-tear-fill": 63405, + "emoji-tear": 63410, + "envelope-arrow-down-fill": 63411, + "envelope-arrow-down": 63416, + "envelope-arrow-up-fill": 63417, + "envelope-arrow-up": 63422, + "feather": 63423, + "feather2": 63428, + "floppy-fill": 63429, + "floppy": 63448, + "floppy2-fill": 63449, + "floppy2": 63460, + "gitlab": 63461, + "highlighter": 63480, + "marker-tip": 63490, + "nvme-fill": 63491, + "nvme": 63500, + "opencollective": 63501, + "pci-card-network": 63693, + "pci-card-sound": 63694, + "radar": 63695, + "send-arrow-down-fill": 63696, + "send-arrow-down": 63697, + "send-arrow-up-fill": 63698, + "send-arrow-up": 63699, + "sim-slash-fill": 63700, + "sim-slash": 63701, + "sourceforge": 63702, + "substack": 63703, + "threads-fill": 63704, + "threads": 63705, + "transparency": 63706, + "twitter-x": 63707, + "type-h4": 63708, + "type-h5": 63709, + "type-h6": 63710, + "backpack-fill": 63711, + "backpack": 63712, + "backpack2-fill": 63713, + "backpack2": 63714, + "backpack3-fill": 63715, + "backpack3": 63716, + "backpack4-fill": 63717, + "backpack4": 63718, + "brilliance": 63719, + "cake-fill": 63720, + "cake2-fill": 63721, + "duffle-fill": 63722, + "duffle": 63723, + "exposure": 63724, + "gender-neuter": 63725, + "highlights": 63726, + "luggage-fill": 63727, + "luggage": 63728, + "mailbox-flag": 63729, + "mailbox2-flag": 63730, + "noise-reduction": 63731, + "passport-fill": 63732, + "passport": 63733, + "person-arms-up": 63734, + "person-raised-hand": 63735, + "person-standing-dress": 63736, + "person-standing": 63737, + "person-walking": 63738, + "person-wheelchair": 63739, + "shadows": 63740, + "suitcase-fill": 63741, + "suitcase-lg-fill": 63742, + "suitcase-lg": 63743, + "suitcase": 63744, + "suitcase2-fill": 63745, + "suitcase2": 63746, + "vignette": 63747 +} \ No newline at end of file diff --git a/third_party/shadcn_flutter/icons/bootstrap/bootstrap-icons.woff b/third_party/shadcn_flutter/icons/bootstrap/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..51204d27de92c7bb0f8bed6165b9dc888f38ff38 GIT binary patch literal 176032 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/icons/lucide/index.html b/third_party/shadcn_flutter/icons/lucide/index.html new file mode 100644 index 00000000..16ae5c23 --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/index.html @@ -0,0 +1,138 @@ + + + + + Lucide + + + + + + + + + + + + + + + + + + + +
+ +

Lucide1.0.0

+
+ +
+

+ + GitHub · + + Feedback · + + Font Class · + + Unicode + +

+
+
+
    +
  • a-arrow-down

  • a-arrow-up

  • a-large-small

  • accessibility

  • activity

  • air-vent

  • airplay

  • alarm-clock-check

  • alarm-clock-minus

  • alarm-clock-off

  • alarm-clock-plus

  • alarm-clock

  • alarm-smoke

  • album

  • align-center-horizontal

  • align-center-vertical

  • align-center

  • align-end-horizontal

  • align-end-vertical

  • align-horizontal-distribute-center

  • align-horizontal-distribute-end

  • align-horizontal-distribute-start

  • align-horizontal-justify-center

  • align-horizontal-justify-end

  • align-horizontal-justify-start

  • align-horizontal-space-around

  • align-horizontal-space-between

  • align-justify

  • align-left

  • align-right

  • align-start-horizontal

  • align-start-vertical

  • align-vertical-distribute-center

  • align-vertical-distribute-end

  • align-vertical-distribute-start

  • align-vertical-justify-center

  • align-vertical-justify-end

  • align-vertical-justify-start

  • align-vertical-space-around

  • align-vertical-space-between

  • ambulance

  • ampersand

  • ampersands

  • amphora

  • anchor

  • angry

  • annoyed

  • antenna

  • anvil

  • aperture

  • app-window-mac

  • app-window

  • apple

  • archive-restore

  • archive-x

  • archive

  • armchair

  • arrow-big-down-dash

  • arrow-big-down

  • arrow-big-left-dash

  • arrow-big-left

  • arrow-big-right-dash

  • arrow-big-right

  • arrow-big-up-dash

  • arrow-big-up

  • arrow-down-0-1

  • arrow-down-1-0

  • arrow-down-a-z

  • arrow-down-from-line

  • arrow-down-left

  • arrow-down-narrow-wide

  • arrow-down-right

  • arrow-down-to-dot

  • arrow-down-to-line

  • arrow-down-up

  • arrow-down-wide-narrow

  • arrow-down-z-a

  • arrow-down

  • arrow-left-from-line

  • arrow-left-right

  • arrow-left-to-line

  • arrow-left

  • arrow-right-from-line

  • arrow-right-left

  • arrow-right-to-line

  • arrow-right

  • arrow-up-0-1

  • arrow-up-1-0

  • arrow-up-a-z

  • arrow-up-down

  • arrow-up-from-dot

  • arrow-up-from-line

  • arrow-up-left

  • arrow-up-narrow-wide

  • arrow-up-right

  • arrow-up-to-line

  • arrow-up-wide-narrow

  • arrow-up-z-a

  • arrow-up

  • arrows-up-from-line

  • asterisk

  • at-sign

  • atom

  • audio-lines

  • audio-waveform

  • award

  • axe

  • axis-3d

  • baby

  • backpack

  • badge-alert

  • badge-cent

  • badge-check

  • badge-dollar-sign

  • badge-euro

  • badge-help

  • badge-indian-rupee

  • badge-info

  • badge-japanese-yen

  • badge-minus

  • badge-percent

  • badge-plus

  • badge-pound-sterling

  • badge-russian-ruble

  • badge-swiss-franc

  • badge-x

  • badge

  • baggage-claim

  • ban

  • banana

  • bandage

  • banknote

  • barcode

  • baseline

  • bath

  • battery-charging

  • battery-full

  • battery-low

  • battery-medium

  • battery-plus

  • battery-warning

  • battery

  • beaker

  • bean-off

  • bean

  • bed-double

  • bed-single

  • bed

  • beef

  • beer-off

  • beer

  • bell-dot

  • bell-electric

  • bell-minus

  • bell-off

  • bell-plus

  • bell-ring

  • bell

  • between-horizontal-end

  • between-horizontal-start

  • between-vertical-end

  • between-vertical-start

  • biceps-flexed

  • bike

  • binary

  • binoculars

  • biohazard

  • bird

  • bitcoin

  • blend

  • blinds

  • blocks

  • bluetooth-connected

  • bluetooth-off

  • bluetooth-searching

  • bluetooth

  • bold

  • bolt

  • bomb

  • bone

  • book-a

  • book-audio

  • book-check

  • book-copy

  • book-dashed

  • book-down

  • book-headphones

  • book-heart

  • book-image

  • book-key

  • book-lock

  • book-marked

  • book-minus

  • book-open-check

  • book-open-text

  • book-open

  • book-plus

  • book-text

  • book-type

  • book-up-2

  • book-up

  • book-user

  • book-x

  • book

  • bookmark-check

  • bookmark-minus

  • bookmark-plus

  • bookmark-x

  • bookmark

  • boom-box

  • bot-message-square

  • bot-off

  • bot

  • box

  • boxes

  • braces

  • brackets

  • brain-circuit

  • brain-cog

  • brain

  • brick-wall

  • briefcase-business

  • briefcase-conveyor-belt

  • briefcase-medical

  • briefcase

  • bring-to-front

  • brush

  • bug-off

  • bug-play

  • bug

  • building-2

  • building

  • bus-front

  • bus

  • cable-car

  • cable

  • cake-slice

  • cake

  • calculator

  • calendar-1

  • calendar-arrow-down

  • calendar-arrow-up

  • calendar-check-2

  • calendar-check

  • calendar-clock

  • calendar-cog

  • calendar-days

  • calendar-fold

  • calendar-heart

  • calendar-minus-2

  • calendar-minus

  • calendar-off

  • calendar-plus-2

  • calendar-plus

  • calendar-range

  • calendar-search

  • calendar-sync

  • calendar-x-2

  • calendar-x

  • calendar

  • camera-off

  • camera

  • candy-cane

  • candy-off

  • candy

  • cannabis

  • captions-off

  • captions

  • car-front

  • car-taxi-front

  • car

  • caravan

  • carrot

  • case-lower

  • case-sensitive

  • case-upper

  • cassette-tape

  • cast

  • castle

  • cat

  • cctv

  • chart-area

  • chart-bar-big

  • chart-bar-decreasing

  • chart-bar-increasing

  • chart-bar-stacked

  • chart-bar

  • chart-candlestick

  • chart-column-big

  • chart-column-decreasing

  • chart-column-increasing

  • chart-column-stacked

  • chart-column

  • chart-gantt

  • chart-line

  • chart-network

  • chart-no-axes-column-decreasing

  • chart-no-axes-column-increasing

  • chart-no-axes-column

  • chart-no-axes-combined

  • chart-no-axes-gantt

  • chart-pie

  • chart-scatter

  • chart-spline

  • check-check

  • check

  • chef-hat

  • cherry

  • chevron-down

  • chevron-first

  • chevron-last

  • chevron-left

  • chevron-right

  • chevron-up

  • chevrons-down-up

  • chevrons-down

  • chevrons-left-right-ellipsis

  • chevrons-left-right

  • chevrons-left

  • chevrons-right-left

  • chevrons-right

  • chevrons-up-down

  • chevrons-up

  • chrome

  • church

  • cigarette-off

  • cigarette

  • circle-alert

  • circle-arrow-down

  • circle-arrow-left

  • circle-arrow-out-down-left

  • circle-arrow-out-down-right

  • circle-arrow-out-up-left

  • circle-arrow-out-up-right

  • circle-arrow-right

  • circle-arrow-up

  • circle-check-big

  • circle-check

  • circle-chevron-down

  • circle-chevron-left

  • circle-chevron-right

  • circle-chevron-up

  • circle-dashed

  • circle-divide

  • circle-dollar-sign

  • circle-dot-dashed

  • circle-dot

  • circle-ellipsis

  • circle-equal

  • circle-fading-arrow-up

  • circle-fading-plus

  • circle-gauge

  • circle-help

  • circle-minus

  • circle-off

  • circle-parking-off

  • circle-parking

  • circle-pause

  • circle-percent

  • circle-play

  • circle-plus

  • circle-power

  • circle-slash-2

  • circle-slash

  • circle-small

  • circle-stop

  • circle-user-round

  • circle-user

  • circle-x

  • circle

  • circuit-board

  • citrus

  • clapperboard

  • clipboard-check

  • clipboard-copy

  • clipboard-list

  • clipboard-minus

  • clipboard-paste

  • clipboard-pen-line

  • clipboard-pen

  • clipboard-plus

  • clipboard-type

  • clipboard-x

  • clipboard

  • clock-1

  • clock-10

  • clock-11

  • clock-12

  • clock-2

  • clock-3

  • clock-4

  • clock-5

  • clock-6

  • clock-7

  • clock-8

  • clock-9

  • clock-alert

  • clock-arrow-down

  • clock-arrow-up

  • clock

  • cloud-alert

  • cloud-cog

  • cloud-download

  • cloud-drizzle

  • cloud-fog

  • cloud-hail

  • cloud-lightning

  • cloud-moon-rain

  • cloud-moon

  • cloud-off

  • cloud-rain-wind

  • cloud-rain

  • cloud-snow

  • cloud-sun-rain

  • cloud-sun

  • cloud-upload

  • cloud

  • cloudy

  • clover

  • club

  • code-xml

  • code

  • codepen

  • codesandbox

  • coffee

  • cog

  • coins

  • columns-2

  • columns-3

  • columns-4

  • combine

  • command

  • compass

  • component

  • computer

  • concierge-bell

  • cone

  • construction

  • contact-round

  • contact

  • container

  • contrast

  • cookie

  • cooking-pot

  • copy-check

  • copy-minus

  • copy-plus

  • copy-slash

  • copy-x

  • copy

  • copyleft

  • copyright

  • corner-down-left

  • corner-down-right

  • corner-left-down

  • corner-left-up

  • corner-right-down

  • corner-right-up

  • corner-up-left

  • corner-up-right

  • cpu

  • creative-commons

  • credit-card

  • croissant

  • crop

  • cross

  • crosshair

  • crown

  • cuboid

  • cup-soda

  • currency

  • cylinder

  • dam

  • database-backup

  • database-zap

  • database

  • delete

  • dessert

  • diameter

  • diamond-minus

  • diamond-percent

  • diamond-plus

  • diamond

  • dice-1

  • dice-2

  • dice-3

  • dice-4

  • dice-5

  • dice-6

  • dices

  • diff

  • disc-2

  • disc-3

  • disc-album

  • disc

  • divide

  • dna-off

  • dna

  • dock

  • dog

  • dollar-sign

  • donut

  • door-closed

  • door-open

  • dot

  • download

  • drafting-compass

  • drama

  • dribbble

  • drill

  • droplet-off

  • droplet

  • droplets

  • drum

  • drumstick

  • dumbbell

  • ear-off

  • ear

  • earth-lock

  • earth

  • eclipse

  • egg-fried

  • egg-off

  • egg

  • ellipsis-vertical

  • ellipsis

  • equal-approximately

  • equal-not

  • equal

  • eraser

  • ethernet-port

  • euro

  • expand

  • external-link

  • eye-closed

  • eye-off

  • eye

  • facebook

  • factory

  • fan

  • fast-forward

  • feather

  • fence

  • ferris-wheel

  • figma

  • file-archive

  • file-audio-2

  • file-audio

  • file-axis-3d

  • file-badge-2

  • file-badge

  • file-box

  • file-chart-column-increasing

  • file-chart-column

  • file-chart-line

  • file-chart-pie

  • file-check-2

  • file-check

  • file-clock

  • file-code-2

  • file-code

  • file-cog

  • file-diff

  • file-digit

  • file-down

  • file-heart

  • file-image

  • file-input

  • file-json-2

  • file-json

  • file-key-2

  • file-key

  • file-lock-2

  • file-lock

  • file-minus-2

  • file-minus

  • file-music

  • file-output

  • file-pen-line

  • file-pen

  • file-plus-2

  • file-plus

  • file-question

  • file-scan

  • file-search-2

  • file-search

  • file-sliders

  • file-spreadsheet

  • file-stack

  • file-symlink

  • file-terminal

  • file-text

  • file-type-2

  • file-type

  • file-up

  • file-user

  • file-video-2

  • file-video

  • file-volume-2

  • file-volume

  • file-warning

  • file-x-2

  • file-x

  • file

  • files

  • film

  • filter-x

  • filter

  • fingerprint

  • fire-extinguisher

  • fish-off

  • fish-symbol

  • fish

  • flag-off

  • flag-triangle-left

  • flag-triangle-right

  • flag

  • flame-kindling

  • flame

  • flashlight-off

  • flashlight

  • flask-conical-off

  • flask-conical

  • flask-round

  • flip-horizontal-2

  • flip-horizontal

  • flip-vertical-2

  • flip-vertical

  • flower-2

  • flower

  • focus

  • fold-horizontal

  • fold-vertical

  • folder-archive

  • folder-check

  • folder-clock

  • folder-closed

  • folder-code

  • folder-cog

  • folder-dot

  • folder-down

  • folder-git-2

  • folder-git

  • folder-heart

  • folder-input

  • folder-kanban

  • folder-key

  • folder-lock

  • folder-minus

  • folder-open-dot

  • folder-open

  • folder-output

  • folder-pen

  • folder-plus

  • folder-root

  • folder-search-2

  • folder-search

  • folder-symlink

  • folder-sync

  • folder-tree

  • folder-up

  • folder-x

  • folder

  • folders

  • footprints

  • forklift

  • forward

  • frame

  • framer

  • frown

  • fuel

  • fullscreen

  • gallery-horizontal-end

  • gallery-horizontal

  • gallery-thumbnails

  • gallery-vertical-end

  • gallery-vertical

  • gamepad-2

  • gamepad

  • gauge

  • gavel

  • gem

  • ghost

  • gift

  • git-branch-plus

  • git-branch

  • git-commit-horizontal

  • git-commit-vertical

  • git-compare-arrows

  • git-compare

  • git-fork

  • git-graph

  • git-merge

  • git-pull-request-arrow

  • git-pull-request-closed

  • git-pull-request-create-arrow

  • git-pull-request-create

  • git-pull-request-draft

  • git-pull-request

  • github

  • gitlab

  • glass-water

  • glasses

  • globe-lock

  • globe

  • goal

  • grab

  • graduation-cap

  • grape

  • grid-2x2-check

  • grid-2x2-plus

  • grid-2x2-x

  • grid-2x2

  • grid-3x3

  • grip-horizontal

  • grip-vertical

  • grip

  • group

  • guitar

  • ham

  • hammer

  • hand-coins

  • hand-heart

  • hand-helping

  • hand-metal

  • hand-platter

  • hand

  • handshake

  • hard-drive-download

  • hard-drive-upload

  • hard-drive

  • hard-hat

  • hash

  • haze

  • hdmi-port

  • heading-1

  • heading-2

  • heading-3

  • heading-4

  • heading-5

  • heading-6

  • heading

  • headphone-off

  • headphones

  • headset

  • heart-crack

  • heart-handshake

  • heart-off

  • heart-pulse

  • heart

  • heater

  • hexagon

  • highlighter

  • history

  • hop-off

  • hop

  • hospital

  • hotel

  • hourglass

  • house-plug

  • house-plus

  • house-wifi

  • house

  • ice-cream-bowl

  • ice-cream-cone

  • id-card

  • image-down

  • image-minus

  • image-off

  • image-play

  • image-plus

  • image-up

  • image-upscale

  • image

  • images

  • import

  • inbox

  • indent-decrease

  • indent-increase

  • indian-rupee

  • infinity

  • info

  • inspection-panel

  • instagram

  • italic

  • iteration-ccw

  • iteration-cw

  • japanese-yen

  • joystick

  • kanban

  • key-round

  • key-square

  • key

  • keyboard-music

  • keyboard-off

  • keyboard

  • lamp-ceiling

  • lamp-desk

  • lamp-floor

  • lamp-wall-down

  • lamp-wall-up

  • lamp

  • land-plot

  • landmark

  • languages

  • laptop-minimal-check

  • laptop-minimal

  • laptop

  • lasso-select

  • lasso

  • laugh

  • layers-2

  • layers

  • layout-dashboard

  • layout-grid

  • layout-list

  • layout-panel-left

  • layout-panel-top

  • layout-template

  • leaf

  • leafy-green

  • lectern

  • letter-text

  • library-big

  • library

  • life-buoy

  • ligature

  • lightbulb-off

  • lightbulb

  • link-2-off

  • link-2

  • link

  • linkedin

  • list-check

  • list-checks

  • list-collapse

  • list-end

  • list-filter-plus

  • list-filter

  • list-minus

  • list-music

  • list-ordered

  • list-plus

  • list-restart

  • list-start

  • list-todo

  • list-tree

  • list-video

  • list-x

  • list

  • loader-circle

  • loader-pinwheel

  • loader

  • locate-fixed

  • locate-off

  • locate

  • lock-keyhole-open

  • lock-keyhole

  • lock-open

  • lock

  • log-in

  • log-out

  • logs

  • lollipop

  • luggage

  • magnet

  • mail-check

  • mail-minus

  • mail-open

  • mail-plus

  • mail-question

  • mail-search

  • mail-warning

  • mail-x

  • mail

  • mailbox

  • mails

  • map-pin-check-inside

  • map-pin-check

  • map-pin-house

  • map-pin-minus-inside

  • map-pin-minus

  • map-pin-off

  • map-pin-plus-inside

  • map-pin-plus

  • map-pin-x-inside

  • map-pin-x

  • map-pin

  • map-pinned

  • map-plus

  • map

  • mars-stroke

  • mars

  • martini

  • maximize-2

  • maximize

  • medal

  • megaphone-off

  • megaphone

  • meh

  • memory-stick

  • menu

  • merge

  • message-circle-code

  • message-circle-dashed

  • message-circle-heart

  • message-circle-more

  • message-circle-off

  • message-circle-plus

  • message-circle-question

  • message-circle-reply

  • message-circle-warning

  • message-circle-x

  • message-circle

  • message-square-code

  • message-square-dashed

  • message-square-diff

  • message-square-dot

  • message-square-heart

  • message-square-lock

  • message-square-more

  • message-square-off

  • message-square-plus

  • message-square-quote

  • message-square-reply

  • message-square-share

  • message-square-text

  • message-square-warning

  • message-square-x

  • message-square

  • messages-square

  • mic-off

  • mic-vocal

  • mic

  • microchip

  • microscope

  • microwave

  • milestone

  • milk-off

  • milk

  • minimize-2

  • minimize

  • minus

  • monitor-check

  • monitor-cog

  • monitor-dot

  • monitor-down

  • monitor-off

  • monitor-pause

  • monitor-play

  • monitor-smartphone

  • monitor-speaker

  • monitor-stop

  • monitor-up

  • monitor-x

  • monitor

  • moon-star

  • moon

  • mountain-snow

  • mountain

  • mouse-off

  • mouse-pointer-2

  • mouse-pointer-ban

  • mouse-pointer-click

  • mouse-pointer

  • mouse

  • move-3d

  • move-diagonal-2

  • move-diagonal

  • move-down-left

  • move-down-right

  • move-down

  • move-horizontal

  • move-left

  • move-right

  • move-up-left

  • move-up-right

  • move-up

  • move-vertical

  • move

  • music-2

  • music-3

  • music-4

  • music

  • navigation-2-off

  • navigation-2

  • navigation-off

  • navigation

  • network

  • newspaper

  • nfc

  • non-binary

  • notebook-pen

  • notebook-tabs

  • notebook-text

  • notebook

  • notepad-text-dashed

  • notepad-text

  • nut-off

  • nut

  • octagon-alert

  • octagon-minus

  • octagon-pause

  • octagon-x

  • octagon

  • omega

  • option

  • orbit

  • origami

  • package-2

  • package-check

  • package-minus

  • package-open

  • package-plus

  • package-search

  • package-x

  • package

  • paint-bucket

  • paint-roller

  • paintbrush-vertical

  • paintbrush

  • palette

  • panel-bottom-close

  • panel-bottom-dashed

  • panel-bottom-open

  • panel-bottom

  • panel-left-close

  • panel-left-dashed

  • panel-left-open

  • panel-left

  • panel-right-close

  • panel-right-dashed

  • panel-right-open

  • panel-right

  • panel-top-close

  • panel-top-dashed

  • panel-top-open

  • panel-top

  • panels-left-bottom

  • panels-right-bottom

  • panels-top-left

  • paperclip

  • parentheses

  • parking-meter

  • party-popper

  • pause

  • paw-print

  • pc-case

  • pen-line

  • pen-off

  • pen-tool

  • pen

  • pencil-line

  • pencil-off

  • pencil-ruler

  • pencil

  • pentagon

  • percent

  • person-standing

  • philippine-peso

  • phone-call

  • phone-forwarded

  • phone-incoming

  • phone-missed

  • phone-off

  • phone-outgoing

  • phone

  • pi

  • piano

  • pickaxe

  • picture-in-picture-2

  • picture-in-picture

  • piggy-bank

  • pilcrow-left

  • pilcrow-right

  • pilcrow

  • pill-bottle

  • pill

  • pin-off

  • pin

  • pipette

  • pizza

  • plane-landing

  • plane-takeoff

  • plane

  • play

  • plug-2

  • plug-zap

  • plug

  • plus

  • pocket-knife

  • pocket

  • podcast

  • pointer-off

  • pointer

  • popcorn

  • popsicle

  • pound-sterling

  • power-off

  • power

  • presentation

  • printer-check

  • printer

  • projector

  • proportions

  • puzzle

  • pyramid

  • qr-code

  • quote

  • rabbit

  • radar

  • radiation

  • radical

  • radio-receiver

  • radio-tower

  • radio

  • radius

  • rail-symbol

  • rainbow

  • rat

  • ratio

  • receipt-cent

  • receipt-euro

  • receipt-indian-rupee

  • receipt-japanese-yen

  • receipt-pound-sterling

  • receipt-russian-ruble

  • receipt-swiss-franc

  • receipt-text

  • receipt

  • rectangle-ellipsis

  • rectangle-horizontal

  • rectangle-vertical

  • recycle

  • redo-2

  • redo-dot

  • redo

  • refresh-ccw-dot

  • refresh-ccw

  • refresh-cw-off

  • refresh-cw

  • refrigerator

  • regex

  • remove-formatting

  • repeat-1

  • repeat-2

  • repeat

  • replace-all

  • replace

  • reply-all

  • reply

  • rewind

  • ribbon

  • rocket

  • rocking-chair

  • roller-coaster

  • rotate-3d

  • rotate-ccw-square

  • rotate-ccw

  • rotate-cw-square

  • rotate-cw

  • route-off

  • route

  • router

  • rows-2

  • rows-3

  • rows-4

  • rss

  • ruler

  • russian-ruble

  • sailboat

  • salad

  • sandwich

  • satellite-dish

  • satellite

  • save-all

  • save-off

  • save

  • scale-3d

  • scale

  • scaling

  • scan-barcode

  • scan-eye

  • scan-face

  • scan-heart

  • scan-line

  • scan-qr-code

  • scan-search

  • scan-text

  • scan

  • school

  • scissors-line-dashed

  • scissors

  • screen-share-off

  • screen-share

  • scroll-text

  • scroll

  • search-check

  • search-code

  • search-slash

  • search-x

  • search

  • section

  • send-horizontal

  • send-to-back

  • send

  • separator-horizontal

  • separator-vertical

  • server-cog

  • server-crash

  • server-off

  • server

  • settings-2

  • settings

  • shapes

  • share-2

  • share

  • sheet

  • shell

  • shield-alert

  • shield-ban

  • shield-check

  • shield-ellipsis

  • shield-half

  • shield-minus

  • shield-off

  • shield-plus

  • shield-question

  • shield-user

  • shield-x

  • shield

  • ship-wheel

  • ship

  • shirt

  • shopping-bag

  • shopping-basket

  • shopping-cart

  • shovel

  • shower-head

  • shrink

  • shrub

  • shuffle

  • sigma

  • signal-high

  • signal-low

  • signal-medium

  • signal-zero

  • signal

  • signature

  • signpost-big

  • signpost

  • siren

  • skip-back

  • skip-forward

  • skull

  • slack

  • slash

  • slice

  • sliders-horizontal

  • sliders-vertical

  • smartphone-charging

  • smartphone-nfc

  • smartphone

  • smile-plus

  • smile

  • snail

  • snowflake

  • sofa

  • soup

  • space

  • spade

  • sparkle

  • sparkles

  • speaker

  • speech

  • spell-check-2

  • spell-check

  • spline

  • split

  • spray-can

  • sprout

  • square-activity

  • square-arrow-down-left

  • square-arrow-down-right

  • square-arrow-down

  • square-arrow-left

  • square-arrow-out-down-left

  • square-arrow-out-down-right

  • square-arrow-out-up-left

  • square-arrow-out-up-right

  • square-arrow-right

  • square-arrow-up-left

  • square-arrow-up-right

  • square-arrow-up

  • square-asterisk

  • square-bottom-dashed-scissors

  • square-chart-gantt

  • square-check-big

  • square-check

  • square-chevron-down

  • square-chevron-left

  • square-chevron-right

  • square-chevron-up

  • square-code

  • square-dashed-bottom-code

  • square-dashed-bottom

  • square-dashed-kanban

  • square-dashed-mouse-pointer

  • square-dashed

  • square-divide

  • square-dot

  • square-equal

  • square-function

  • square-kanban

  • square-library

  • square-m

  • square-menu

  • square-minus

  • square-mouse-pointer

  • square-parking-off

  • square-parking

  • square-pen

  • square-percent

  • square-pi

  • square-pilcrow

  • square-play

  • square-plus

  • square-power

  • square-radical

  • square-round-corner

  • square-scissors

  • square-sigma

  • square-slash

  • square-split-horizontal

  • square-split-vertical

  • square-square

  • square-stack

  • square-terminal

  • square-user-round

  • square-user

  • square-x

  • square

  • squircle

  • squirrel

  • stamp

  • star-half

  • star-off

  • star

  • step-back

  • step-forward

  • stethoscope

  • sticker

  • sticky-note

  • store

  • stretch-horizontal

  • stretch-vertical

  • strikethrough

  • subscript

  • sun-dim

  • sun-medium

  • sun-moon

  • sun-snow

  • sun

  • sunrise

  • sunset

  • superscript

  • swatch-book

  • swiss-franc

  • switch-camera

  • sword

  • swords

  • syringe

  • table-2

  • table-cells-merge

  • table-cells-split

  • table-columns-split

  • table-of-contents

  • table-properties

  • table-rows-split

  • table

  • tablet-smartphone

  • tablet

  • tablets

  • tag

  • tags

  • tally-1

  • tally-2

  • tally-3

  • tally-4

  • tally-5

  • tangent

  • target

  • telescope

  • tent-tree

  • tent

  • terminal

  • test-tube-diagonal

  • test-tube

  • test-tubes

  • text-cursor-input

  • text-cursor

  • text-quote

  • text-search

  • text-select

  • text

  • theater

  • thermometer-snowflake

  • thermometer-sun

  • thermometer

  • thumbs-down

  • thumbs-up

  • ticket-check

  • ticket-minus

  • ticket-percent

  • ticket-plus

  • ticket-slash

  • ticket-x

  • ticket

  • tickets-plane

  • tickets

  • timer-off

  • timer-reset

  • timer

  • toggle-left

  • toggle-right

  • toilet

  • tornado

  • torus

  • touchpad-off

  • touchpad

  • tower-control

  • toy-brick

  • tractor

  • traffic-cone

  • train-front-tunnel

  • train-front

  • train-track

  • tram-front

  • transgender

  • trash-2

  • trash

  • tree-deciduous

  • tree-palm

  • tree-pine

  • trees

  • trello

  • trending-down

  • trending-up-down

  • trending-up

  • triangle-alert

  • triangle-dashed

  • triangle-right

  • triangle

  • trophy

  • truck

  • turtle

  • tv-minimal-play

  • tv-minimal

  • tv

  • twitch

  • twitter

  • type-outline

  • type

  • umbrella-off

  • umbrella

  • underline

  • undo-2

  • undo-dot

  • undo

  • unfold-horizontal

  • unfold-vertical

  • ungroup

  • university

  • unlink-2

  • unlink

  • unplug

  • upload

  • usb

  • user-check

  • user-cog

  • user-minus

  • user-pen

  • user-plus

  • user-round-check

  • user-round-cog

  • user-round-minus

  • user-round-pen

  • user-round-plus

  • user-round-search

  • user-round-x

  • user-round

  • user-search

  • user-x

  • user

  • users-round

  • users

  • utensils-crossed

  • utensils

  • utility-pole

  • variable

  • vault

  • vegan

  • venetian-mask

  • venus-and-mars

  • venus

  • vibrate-off

  • vibrate

  • video-off

  • video

  • videotape

  • view

  • voicemail

  • volleyball

  • volume-1

  • volume-2

  • volume-off

  • volume-x

  • volume

  • vote

  • wallet-cards

  • wallet-minimal

  • wallet

  • wallpaper

  • wand-sparkles

  • wand

  • warehouse

  • washing-machine

  • watch

  • waves-ladder

  • waves

  • waypoints

  • webcam

  • webhook-off

  • webhook

  • weight

  • wheat-off

  • wheat

  • whole-word

  • wifi-high

  • wifi-low

  • wifi-off

  • wifi-zero

  • wifi

  • wind-arrow-down

  • wind

  • wine-off

  • wine

  • workflow

  • worm

  • wrap-text

  • wrench

  • x

  • youtube

  • zap-off

  • zap

  • zoom-in

  • zoom-out

  • +
+
+ + + + + \ No newline at end of file diff --git a/third_party/shadcn_flutter/icons/lucide/info.json b/third_party/shadcn_flutter/icons/lucide/info.json new file mode 100644 index 00000000..a805f2cc --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/info.json @@ -0,0 +1,9344 @@ +{ + "a-arrow-down": { + "encodedCode": "\\e589", + "prefix": "icon", + "className": "icon-a-arrow-down", + "unicode": "" + }, + "a-arrow-up": { + "encodedCode": "\\e58a", + "prefix": "icon", + "className": "icon-a-arrow-up", + "unicode": "" + }, + "a-large-small": { + "encodedCode": "\\e58b", + "prefix": "icon", + "className": "icon-a-large-small", + "unicode": "" + }, + "accessibility": { + "encodedCode": "\\e296", + "prefix": "icon", + "className": "icon-accessibility", + "unicode": "" + }, + "activity": { + "encodedCode": "\\e038", + "prefix": "icon", + "className": "icon-activity", + "unicode": "" + }, + "air-vent": { + "encodedCode": "\\e350", + "prefix": "icon", + "className": "icon-air-vent", + "unicode": "" + }, + "airplay": { + "encodedCode": "\\e039", + "prefix": "icon", + "className": "icon-airplay", + "unicode": "" + }, + "alarm-clock-check": { + "encodedCode": "\\e1eb", + "prefix": "icon", + "className": "icon-alarm-clock-check", + "unicode": "" + }, + "alarm-clock-minus": { + "encodedCode": "\\e1ec", + "prefix": "icon", + "className": "icon-alarm-clock-minus", + "unicode": "" + }, + "alarm-clock-off": { + "encodedCode": "\\e23a", + "prefix": "icon", + "className": "icon-alarm-clock-off", + "unicode": "" + }, + "alarm-clock-plus": { + "encodedCode": "\\e1ed", + "prefix": "icon", + "className": "icon-alarm-clock-plus", + "unicode": "" + }, + "alarm-clock": { + "encodedCode": "\\e03a", + "prefix": "icon", + "className": "icon-alarm-clock", + "unicode": "" + }, + "alarm-smoke": { + "encodedCode": "\\e57f", + "prefix": "icon", + "className": "icon-alarm-smoke", + "unicode": "" + }, + "album": { + "encodedCode": "\\e03b", + "prefix": "icon", + "className": "icon-album", + "unicode": "" + }, + "align-center-horizontal": { + "encodedCode": "\\e26b", + "prefix": "icon", + "className": "icon-align-center-horizontal", + "unicode": "" + }, + "align-center-vertical": { + "encodedCode": "\\e26c", + "prefix": "icon", + "className": "icon-align-center-vertical", + "unicode": "" + }, + "align-center": { + "encodedCode": "\\e03c", + "prefix": "icon", + "className": "icon-align-center", + "unicode": "" + }, + "align-end-horizontal": { + "encodedCode": "\\e26d", + "prefix": "icon", + "className": "icon-align-end-horizontal", + "unicode": "" + }, + "align-end-vertical": { + "encodedCode": "\\e26e", + "prefix": "icon", + "className": "icon-align-end-vertical", + "unicode": "" + }, + "align-horizontal-distribute-center": { + "encodedCode": "\\e03d", + "prefix": "icon", + "className": "icon-align-horizontal-distribute-center", + "unicode": "" + }, + "align-horizontal-distribute-end": { + "encodedCode": "\\e03e", + "prefix": "icon", + "className": "icon-align-horizontal-distribute-end", + "unicode": "" + }, + "align-horizontal-distribute-start": { + "encodedCode": "\\e03f", + "prefix": "icon", + "className": "icon-align-horizontal-distribute-start", + "unicode": "" + }, + "align-horizontal-justify-center": { + "encodedCode": "\\e271", + "prefix": "icon", + "className": "icon-align-horizontal-justify-center", + "unicode": "" + }, + "align-horizontal-justify-end": { + "encodedCode": "\\e272", + "prefix": "icon", + "className": "icon-align-horizontal-justify-end", + "unicode": "" + }, + "align-horizontal-justify-start": { + "encodedCode": "\\e273", + "prefix": "icon", + "className": "icon-align-horizontal-justify-start", + "unicode": "" + }, + "align-horizontal-space-around": { + "encodedCode": "\\e274", + "prefix": "icon", + "className": "icon-align-horizontal-space-around", + "unicode": "" + }, + "align-horizontal-space-between": { + "encodedCode": "\\e275", + "prefix": "icon", + "className": "icon-align-horizontal-space-between", + "unicode": "" + }, + "align-justify": { + "encodedCode": "\\e040", + "prefix": "icon", + "className": "icon-align-justify", + "unicode": "" + }, + "align-left": { + "encodedCode": "\\e041", + "prefix": "icon", + "className": "icon-align-left", + "unicode": "" + }, + "align-right": { + "encodedCode": "\\e042", + "prefix": "icon", + "className": "icon-align-right", + "unicode": "" + }, + "align-start-horizontal": { + "encodedCode": "\\e26f", + "prefix": "icon", + "className": "icon-align-start-horizontal", + "unicode": "" + }, + "align-start-vertical": { + "encodedCode": "\\e270", + "prefix": "icon", + "className": "icon-align-start-vertical", + "unicode": "" + }, + "align-vertical-distribute-center": { + "encodedCode": "\\e27d", + "prefix": "icon", + "className": "icon-align-vertical-distribute-center", + "unicode": "" + }, + "align-vertical-distribute-end": { + "encodedCode": "\\e27e", + "prefix": "icon", + "className": "icon-align-vertical-distribute-end", + "unicode": "" + }, + "align-vertical-distribute-start": { + "encodedCode": "\\e27f", + "prefix": "icon", + "className": "icon-align-vertical-distribute-start", + "unicode": "" + }, + "align-vertical-justify-center": { + "encodedCode": "\\e276", + "prefix": "icon", + "className": "icon-align-vertical-justify-center", + "unicode": "" + }, + "align-vertical-justify-end": { + "encodedCode": "\\e277", + "prefix": "icon", + "className": "icon-align-vertical-justify-end", + "unicode": "" + }, + "align-vertical-justify-start": { + "encodedCode": "\\e278", + "prefix": "icon", + "className": "icon-align-vertical-justify-start", + "unicode": "" + }, + "align-vertical-space-around": { + "encodedCode": "\\e279", + "prefix": "icon", + "className": "icon-align-vertical-space-around", + "unicode": "" + }, + "align-vertical-space-between": { + "encodedCode": "\\e27a", + "prefix": "icon", + "className": "icon-align-vertical-space-between", + "unicode": "" + }, + "ambulance": { + "encodedCode": "\\e5bf", + "prefix": "icon", + "className": "icon-ambulance", + "unicode": "" + }, + "ampersand": { + "encodedCode": "\\e4a0", + "prefix": "icon", + "className": "icon-ampersand", + "unicode": "" + }, + "ampersands": { + "encodedCode": "\\e4a1", + "prefix": "icon", + "className": "icon-ampersands", + "unicode": "" + }, + "amphora": { + "encodedCode": "\\e61f", + "prefix": "icon", + "className": "icon-amphora", + "unicode": "" + }, + "anchor": { + "encodedCode": "\\e043", + "prefix": "icon", + "className": "icon-anchor", + "unicode": "" + }, + "angry": { + "encodedCode": "\\e2fb", + "prefix": "icon", + "className": "icon-angry", + "unicode": "" + }, + "annoyed": { + "encodedCode": "\\e2fc", + "prefix": "icon", + "className": "icon-annoyed", + "unicode": "" + }, + "antenna": { + "encodedCode": "\\e4e6", + "prefix": "icon", + "className": "icon-antenna", + "unicode": "" + }, + "anvil": { + "encodedCode": "\\e584", + "prefix": "icon", + "className": "icon-anvil", + "unicode": "" + }, + "aperture": { + "encodedCode": "\\e044", + "prefix": "icon", + "className": "icon-aperture", + "unicode": "" + }, + "app-window-mac": { + "encodedCode": "\\e5d6", + "prefix": "icon", + "className": "icon-app-window-mac", + "unicode": "" + }, + "app-window": { + "encodedCode": "\\e42a", + "prefix": "icon", + "className": "icon-app-window", + "unicode": "" + }, + "apple": { + "encodedCode": "\\e351", + "prefix": "icon", + "className": "icon-apple", + "unicode": "" + }, + "archive-restore": { + "encodedCode": "\\e2cc", + "prefix": "icon", + "className": "icon-archive-restore", + "unicode": "" + }, + "archive-x": { + "encodedCode": "\\e510", + "prefix": "icon", + "className": "icon-archive-x", + "unicode": "" + }, + "archive": { + "encodedCode": "\\e045", + "prefix": "icon", + "className": "icon-archive", + "unicode": "" + }, + "armchair": { + "encodedCode": "\\e2bf", + "prefix": "icon", + "className": "icon-armchair", + "unicode": "" + }, + "arrow-big-down-dash": { + "encodedCode": "\\e421", + "prefix": "icon", + "className": "icon-arrow-big-down-dash", + "unicode": "" + }, + "arrow-big-down": { + "encodedCode": "\\e1e0", + "prefix": "icon", + "className": "icon-arrow-big-down", + "unicode": "" + }, + "arrow-big-left-dash": { + "encodedCode": "\\e422", + "prefix": "icon", + "className": "icon-arrow-big-left-dash", + "unicode": "" + }, + "arrow-big-left": { + "encodedCode": "\\e1e1", + "prefix": "icon", + "className": "icon-arrow-big-left", + "unicode": "" + }, + "arrow-big-right-dash": { + "encodedCode": "\\e423", + "prefix": "icon", + "className": "icon-arrow-big-right-dash", + "unicode": "" + }, + "arrow-big-right": { + "encodedCode": "\\e1e2", + "prefix": "icon", + "className": "icon-arrow-big-right", + "unicode": "" + }, + "arrow-big-up-dash": { + "encodedCode": "\\e424", + "prefix": "icon", + "className": "icon-arrow-big-up-dash", + "unicode": "" + }, + "arrow-big-up": { + "encodedCode": "\\e1e3", + "prefix": "icon", + "className": "icon-arrow-big-up", + "unicode": "" + }, + "arrow-down-0-1": { + "encodedCode": "\\e417", + "prefix": "icon", + "className": "icon-arrow-down-0-1", + "unicode": "" + }, + "arrow-down-1-0": { + "encodedCode": "\\e418", + "prefix": "icon", + "className": "icon-arrow-down-1-0", + "unicode": "" + }, + "arrow-down-a-z": { + "encodedCode": "\\e419", + "prefix": "icon", + "className": "icon-arrow-down-a-z", + "unicode": "" + }, + "arrow-down-from-line": { + "encodedCode": "\\e458", + "prefix": "icon", + "className": "icon-arrow-down-from-line", + "unicode": "" + }, + "arrow-down-left": { + "encodedCode": "\\e047", + "prefix": "icon", + "className": "icon-arrow-down-left", + "unicode": "" + }, + "arrow-down-narrow-wide": { + "encodedCode": "\\e048", + "prefix": "icon", + "className": "icon-arrow-down-narrow-wide", + "unicode": "" + }, + "arrow-down-right": { + "encodedCode": "\\e049", + "prefix": "icon", + "className": "icon-arrow-down-right", + "unicode": "" + }, + "arrow-down-to-dot": { + "encodedCode": "\\e451", + "prefix": "icon", + "className": "icon-arrow-down-to-dot", + "unicode": "" + }, + "arrow-down-to-line": { + "encodedCode": "\\e459", + "prefix": "icon", + "className": "icon-arrow-down-to-line", + "unicode": "" + }, + "arrow-down-up": { + "encodedCode": "\\e04a", + "prefix": "icon", + "className": "icon-arrow-down-up", + "unicode": "" + }, + "arrow-down-wide-narrow": { + "encodedCode": "\\e04b", + "prefix": "icon", + "className": "icon-arrow-down-wide-narrow", + "unicode": "" + }, + "arrow-down-z-a": { + "encodedCode": "\\e41a", + "prefix": "icon", + "className": "icon-arrow-down-z-a", + "unicode": "" + }, + "arrow-down": { + "encodedCode": "\\e046", + "prefix": "icon", + "className": "icon-arrow-down", + "unicode": "" + }, + "arrow-left-from-line": { + "encodedCode": "\\e45a", + "prefix": "icon", + "className": "icon-arrow-left-from-line", + "unicode": "" + }, + "arrow-left-right": { + "encodedCode": "\\e249", + "prefix": "icon", + "className": "icon-arrow-left-right", + "unicode": "" + }, + "arrow-left-to-line": { + "encodedCode": "\\e45b", + "prefix": "icon", + "className": "icon-arrow-left-to-line", + "unicode": "" + }, + "arrow-left": { + "encodedCode": "\\e04c", + "prefix": "icon", + "className": "icon-arrow-left", + "unicode": "" + }, + "arrow-right-from-line": { + "encodedCode": "\\e45c", + "prefix": "icon", + "className": "icon-arrow-right-from-line", + "unicode": "" + }, + "arrow-right-left": { + "encodedCode": "\\e41b", + "prefix": "icon", + "className": "icon-arrow-right-left", + "unicode": "" + }, + "arrow-right-to-line": { + "encodedCode": "\\e45d", + "prefix": "icon", + "className": "icon-arrow-right-to-line", + "unicode": "" + }, + "arrow-right": { + "encodedCode": "\\e04d", + "prefix": "icon", + "className": "icon-arrow-right", + "unicode": "" + }, + "arrow-up-0-1": { + "encodedCode": "\\e41c", + "prefix": "icon", + "className": "icon-arrow-up-0-1", + "unicode": "" + }, + "arrow-up-1-0": { + "encodedCode": "\\e41d", + "prefix": "icon", + "className": "icon-arrow-up-1-0", + "unicode": "" + }, + "arrow-up-a-z": { + "encodedCode": "\\e41e", + "prefix": "icon", + "className": "icon-arrow-up-a-z", + "unicode": "" + }, + "arrow-up-down": { + "encodedCode": "\\e380", + "prefix": "icon", + "className": "icon-arrow-up-down", + "unicode": "" + }, + "arrow-up-from-dot": { + "encodedCode": "\\e452", + "prefix": "icon", + "className": "icon-arrow-up-from-dot", + "unicode": "" + }, + "arrow-up-from-line": { + "encodedCode": "\\e45e", + "prefix": "icon", + "className": "icon-arrow-up-from-line", + "unicode": "" + }, + "arrow-up-left": { + "encodedCode": "\\e04f", + "prefix": "icon", + "className": "icon-arrow-up-left", + "unicode": "" + }, + "arrow-up-narrow-wide": { + "encodedCode": "\\e050", + "prefix": "icon", + "className": "icon-arrow-up-narrow-wide", + "unicode": "" + }, + "arrow-up-right": { + "encodedCode": "\\e051", + "prefix": "icon", + "className": "icon-arrow-up-right", + "unicode": "" + }, + "arrow-up-to-line": { + "encodedCode": "\\e45f", + "prefix": "icon", + "className": "icon-arrow-up-to-line", + "unicode": "" + }, + "arrow-up-wide-narrow": { + "encodedCode": "\\e41f", + "prefix": "icon", + "className": "icon-arrow-up-wide-narrow", + "unicode": "" + }, + "arrow-up-z-a": { + "encodedCode": "\\e420", + "prefix": "icon", + "className": "icon-arrow-up-z-a", + "unicode": "" + }, + "arrow-up": { + "encodedCode": "\\e04e", + "prefix": "icon", + "className": "icon-arrow-up", + "unicode": "" + }, + "arrows-up-from-line": { + "encodedCode": "\\e4d8", + "prefix": "icon", + "className": "icon-arrows-up-from-line", + "unicode": "" + }, + "asterisk": { + "encodedCode": "\\e1ee", + "prefix": "icon", + "className": "icon-asterisk", + "unicode": "" + }, + "at-sign": { + "encodedCode": "\\e052", + "prefix": "icon", + "className": "icon-at-sign", + "unicode": "" + }, + "atom": { + "encodedCode": "\\e3da", + "prefix": "icon", + "className": "icon-atom", + "unicode": "" + }, + "audio-lines": { + "encodedCode": "\\e55e", + "prefix": "icon", + "className": "icon-audio-lines", + "unicode": "" + }, + "audio-waveform": { + "encodedCode": "\\e55f", + "prefix": "icon", + "className": "icon-audio-waveform", + "unicode": "" + }, + "award": { + "encodedCode": "\\e053", + "prefix": "icon", + "className": "icon-award", + "unicode": "" + }, + "axe": { + "encodedCode": "\\e054", + "prefix": "icon", + "className": "icon-axe", + "unicode": "" + }, + "axis-3d": { + "encodedCode": "\\e2fd", + "prefix": "icon", + "className": "icon-axis-3d", + "unicode": "" + }, + "baby": { + "encodedCode": "\\e2cd", + "prefix": "icon", + "className": "icon-baby", + "unicode": "" + }, + "backpack": { + "encodedCode": "\\e2c7", + "prefix": "icon", + "className": "icon-backpack", + "unicode": "" + }, + "badge-alert": { + "encodedCode": "\\e479", + "prefix": "icon", + "className": "icon-badge-alert", + "unicode": "" + }, + "badge-cent": { + "encodedCode": "\\e513", + "prefix": "icon", + "className": "icon-badge-cent", + "unicode": "" + }, + "badge-check": { + "encodedCode": "\\e240", + "prefix": "icon", + "className": "icon-badge-check", + "unicode": "" + }, + "badge-dollar-sign": { + "encodedCode": "\\e47a", + "prefix": "icon", + "className": "icon-badge-dollar-sign", + "unicode": "" + }, + "badge-euro": { + "encodedCode": "\\e514", + "prefix": "icon", + "className": "icon-badge-euro", + "unicode": "" + }, + "badge-help": { + "encodedCode": "\\e47b", + "prefix": "icon", + "className": "icon-badge-help", + "unicode": "" + }, + "badge-indian-rupee": { + "encodedCode": "\\e515", + "prefix": "icon", + "className": "icon-badge-indian-rupee", + "unicode": "" + }, + "badge-info": { + "encodedCode": "\\e47c", + "prefix": "icon", + "className": "icon-badge-info", + "unicode": "" + }, + "badge-japanese-yen": { + "encodedCode": "\\e516", + "prefix": "icon", + "className": "icon-badge-japanese-yen", + "unicode": "" + }, + "badge-minus": { + "encodedCode": "\\e47d", + "prefix": "icon", + "className": "icon-badge-minus", + "unicode": "" + }, + "badge-percent": { + "encodedCode": "\\e47e", + "prefix": "icon", + "className": "icon-badge-percent", + "unicode": "" + }, + "badge-plus": { + "encodedCode": "\\e47f", + "prefix": "icon", + "className": "icon-badge-plus", + "unicode": "" + }, + "badge-pound-sterling": { + "encodedCode": "\\e517", + "prefix": "icon", + "className": "icon-badge-pound-sterling", + "unicode": "" + }, + "badge-russian-ruble": { + "encodedCode": "\\e518", + "prefix": "icon", + "className": "icon-badge-russian-ruble", + "unicode": "" + }, + "badge-swiss-franc": { + "encodedCode": "\\e519", + "prefix": "icon", + "className": "icon-badge-swiss-franc", + "unicode": "" + }, + "badge-x": { + "encodedCode": "\\e480", + "prefix": "icon", + "className": "icon-badge-x", + "unicode": "" + }, + "badge": { + "encodedCode": "\\e478", + "prefix": "icon", + "className": "icon-badge", + "unicode": "" + }, + "baggage-claim": { + "encodedCode": "\\e2c8", + "prefix": "icon", + "className": "icon-baggage-claim", + "unicode": "" + }, + "ban": { + "encodedCode": "\\e055", + "prefix": "icon", + "className": "icon-ban", + "unicode": "" + }, + "banana": { + "encodedCode": "\\e352", + "prefix": "icon", + "className": "icon-banana", + "unicode": "" + }, + "bandage": { + "encodedCode": "\\e621", + "prefix": "icon", + "className": "icon-bandage", + "unicode": "" + }, + "banknote": { + "encodedCode": "\\e056", + "prefix": "icon", + "className": "icon-banknote", + "unicode": "" + }, + "barcode": { + "encodedCode": "\\e537", + "prefix": "icon", + "className": "icon-barcode", + "unicode": "" + }, + "baseline": { + "encodedCode": "\\e284", + "prefix": "icon", + "className": "icon-baseline", + "unicode": "" + }, + "bath": { + "encodedCode": "\\e2aa", + "prefix": "icon", + "className": "icon-bath", + "unicode": "" + }, + "battery-charging": { + "encodedCode": "\\e058", + "prefix": "icon", + "className": "icon-battery-charging", + "unicode": "" + }, + "battery-full": { + "encodedCode": "\\e059", + "prefix": "icon", + "className": "icon-battery-full", + "unicode": "" + }, + "battery-low": { + "encodedCode": "\\e05a", + "prefix": "icon", + "className": "icon-battery-low", + "unicode": "" + }, + "battery-medium": { + "encodedCode": "\\e05b", + "prefix": "icon", + "className": "icon-battery-medium", + "unicode": "" + }, + "battery-plus": { + "encodedCode": "\\e642", + "prefix": "icon", + "className": "icon-battery-plus", + "unicode": "" + }, + "battery-warning": { + "encodedCode": "\\e3af", + "prefix": "icon", + "className": "icon-battery-warning", + "unicode": "" + }, + "battery": { + "encodedCode": "\\e057", + "prefix": "icon", + "className": "icon-battery", + "unicode": "" + }, + "beaker": { + "encodedCode": "\\e05c", + "prefix": "icon", + "className": "icon-beaker", + "unicode": "" + }, + "bean-off": { + "encodedCode": "\\e393", + "prefix": "icon", + "className": "icon-bean-off", + "unicode": "" + }, + "bean": { + "encodedCode": "\\e392", + "prefix": "icon", + "className": "icon-bean", + "unicode": "" + }, + "bed-double": { + "encodedCode": "\\e2c1", + "prefix": "icon", + "className": "icon-bed-double", + "unicode": "" + }, + "bed-single": { + "encodedCode": "\\e2c2", + "prefix": "icon", + "className": "icon-bed-single", + "unicode": "" + }, + "bed": { + "encodedCode": "\\e2c0", + "prefix": "icon", + "className": "icon-bed", + "unicode": "" + }, + "beef": { + "encodedCode": "\\e3a8", + "prefix": "icon", + "className": "icon-beef", + "unicode": "" + }, + "beer-off": { + "encodedCode": "\\e5dd", + "prefix": "icon", + "className": "icon-beer-off", + "unicode": "" + }, + "beer": { + "encodedCode": "\\e2ce", + "prefix": "icon", + "className": "icon-beer", + "unicode": "" + }, + "bell-dot": { + "encodedCode": "\\e42f", + "prefix": "icon", + "className": "icon-bell-dot", + "unicode": "" + }, + "bell-electric": { + "encodedCode": "\\e580", + "prefix": "icon", + "className": "icon-bell-electric", + "unicode": "" + }, + "bell-minus": { + "encodedCode": "\\e1ef", + "prefix": "icon", + "className": "icon-bell-minus", + "unicode": "" + }, + "bell-off": { + "encodedCode": "\\e05e", + "prefix": "icon", + "className": "icon-bell-off", + "unicode": "" + }, + "bell-plus": { + "encodedCode": "\\e1f0", + "prefix": "icon", + "className": "icon-bell-plus", + "unicode": "" + }, + "bell-ring": { + "encodedCode": "\\e223", + "prefix": "icon", + "className": "icon-bell-ring", + "unicode": "" + }, + "bell": { + "encodedCode": "\\e05d", + "prefix": "icon", + "className": "icon-bell", + "unicode": "" + }, + "between-horizontal-end": { + "encodedCode": "\\e595", + "prefix": "icon", + "className": "icon-between-horizontal-end", + "unicode": "" + }, + "between-horizontal-start": { + "encodedCode": "\\e596", + "prefix": "icon", + "className": "icon-between-horizontal-start", + "unicode": "" + }, + "between-vertical-end": { + "encodedCode": "\\e597", + "prefix": "icon", + "className": "icon-between-vertical-end", + "unicode": "" + }, + "between-vertical-start": { + "encodedCode": "\\e598", + "prefix": "icon", + "className": "icon-between-vertical-start", + "unicode": "" + }, + "biceps-flexed": { + "encodedCode": "\\e5ef", + "prefix": "icon", + "className": "icon-biceps-flexed", + "unicode": "" + }, + "bike": { + "encodedCode": "\\e1d1", + "prefix": "icon", + "className": "icon-bike", + "unicode": "" + }, + "binary": { + "encodedCode": "\\e1f1", + "prefix": "icon", + "className": "icon-binary", + "unicode": "" + }, + "binoculars": { + "encodedCode": "\\e625", + "prefix": "icon", + "className": "icon-binoculars", + "unicode": "" + }, + "biohazard": { + "encodedCode": "\\e445", + "prefix": "icon", + "className": "icon-biohazard", + "unicode": "" + }, + "bird": { + "encodedCode": "\\e3c8", + "prefix": "icon", + "className": "icon-bird", + "unicode": "" + }, + "bitcoin": { + "encodedCode": "\\e05f", + "prefix": "icon", + "className": "icon-bitcoin", + "unicode": "" + }, + "blend": { + "encodedCode": "\\e5a0", + "prefix": "icon", + "className": "icon-blend", + "unicode": "" + }, + "blinds": { + "encodedCode": "\\e3c3", + "prefix": "icon", + "className": "icon-blinds", + "unicode": "" + }, + "blocks": { + "encodedCode": "\\e4fe", + "prefix": "icon", + "className": "icon-blocks", + "unicode": "" + }, + "bluetooth-connected": { + "encodedCode": "\\e1b7", + "prefix": "icon", + "className": "icon-bluetooth-connected", + "unicode": "" + }, + "bluetooth-off": { + "encodedCode": "\\e1b8", + "prefix": "icon", + "className": "icon-bluetooth-off", + "unicode": "" + }, + "bluetooth-searching": { + "encodedCode": "\\e1b9", + "prefix": "icon", + "className": "icon-bluetooth-searching", + "unicode": "" + }, + "bluetooth": { + "encodedCode": "\\e060", + "prefix": "icon", + "className": "icon-bluetooth", + "unicode": "" + }, + "bold": { + "encodedCode": "\\e061", + "prefix": "icon", + "className": "icon-bold", + "unicode": "" + }, + "bolt": { + "encodedCode": "\\e590", + "prefix": "icon", + "className": "icon-bolt", + "unicode": "" + }, + "bomb": { + "encodedCode": "\\e2fe", + "prefix": "icon", + "className": "icon-bomb", + "unicode": "" + }, + "bone": { + "encodedCode": "\\e35b", + "prefix": "icon", + "className": "icon-bone", + "unicode": "" + }, + "book-a": { + "encodedCode": "\\e548", + "prefix": "icon", + "className": "icon-book-a", + "unicode": "" + }, + "book-audio": { + "encodedCode": "\\e549", + "prefix": "icon", + "className": "icon-book-audio", + "unicode": "" + }, + "book-check": { + "encodedCode": "\\e54a", + "prefix": "icon", + "className": "icon-book-check", + "unicode": "" + }, + "book-copy": { + "encodedCode": "\\e3f0", + "prefix": "icon", + "className": "icon-book-copy", + "unicode": "" + }, + "book-dashed": { + "encodedCode": "\\e3f1", + "prefix": "icon", + "className": "icon-book-dashed", + "unicode": "" + }, + "book-down": { + "encodedCode": "\\e3f2", + "prefix": "icon", + "className": "icon-book-down", + "unicode": "" + }, + "book-headphones": { + "encodedCode": "\\e54b", + "prefix": "icon", + "className": "icon-book-headphones", + "unicode": "" + }, + "book-heart": { + "encodedCode": "\\e54c", + "prefix": "icon", + "className": "icon-book-heart", + "unicode": "" + }, + "book-image": { + "encodedCode": "\\e54d", + "prefix": "icon", + "className": "icon-book-image", + "unicode": "" + }, + "book-key": { + "encodedCode": "\\e3f3", + "prefix": "icon", + "className": "icon-book-key", + "unicode": "" + }, + "book-lock": { + "encodedCode": "\\e3f4", + "prefix": "icon", + "className": "icon-book-lock", + "unicode": "" + }, + "book-marked": { + "encodedCode": "\\e3f5", + "prefix": "icon", + "className": "icon-book-marked", + "unicode": "" + }, + "book-minus": { + "encodedCode": "\\e3f6", + "prefix": "icon", + "className": "icon-book-minus", + "unicode": "" + }, + "book-open-check": { + "encodedCode": "\\e384", + "prefix": "icon", + "className": "icon-book-open-check", + "unicode": "" + }, + "book-open-text": { + "encodedCode": "\\e54e", + "prefix": "icon", + "className": "icon-book-open-text", + "unicode": "" + }, + "book-open": { + "encodedCode": "\\e063", + "prefix": "icon", + "className": "icon-book-open", + "unicode": "" + }, + "book-plus": { + "encodedCode": "\\e3f7", + "prefix": "icon", + "className": "icon-book-plus", + "unicode": "" + }, + "book-text": { + "encodedCode": "\\e54f", + "prefix": "icon", + "className": "icon-book-text", + "unicode": "" + }, + "book-type": { + "encodedCode": "\\e550", + "prefix": "icon", + "className": "icon-book-type", + "unicode": "" + }, + "book-up-2": { + "encodedCode": "\\e4aa", + "prefix": "icon", + "className": "icon-book-up-2", + "unicode": "" + }, + "book-up": { + "encodedCode": "\\e3f8", + "prefix": "icon", + "className": "icon-book-up", + "unicode": "" + }, + "book-user": { + "encodedCode": "\\e551", + "prefix": "icon", + "className": "icon-book-user", + "unicode": "" + }, + "book-x": { + "encodedCode": "\\e3f9", + "prefix": "icon", + "className": "icon-book-x", + "unicode": "" + }, + "book": { + "encodedCode": "\\e062", + "prefix": "icon", + "className": "icon-book", + "unicode": "" + }, + "bookmark-check": { + "encodedCode": "\\e523", + "prefix": "icon", + "className": "icon-bookmark-check", + "unicode": "" + }, + "bookmark-minus": { + "encodedCode": "\\e23b", + "prefix": "icon", + "className": "icon-bookmark-minus", + "unicode": "" + }, + "bookmark-plus": { + "encodedCode": "\\e23c", + "prefix": "icon", + "className": "icon-bookmark-plus", + "unicode": "" + }, + "bookmark-x": { + "encodedCode": "\\e524", + "prefix": "icon", + "className": "icon-bookmark-x", + "unicode": "" + }, + "bookmark": { + "encodedCode": "\\e064", + "prefix": "icon", + "className": "icon-bookmark", + "unicode": "" + }, + "boom-box": { + "encodedCode": "\\e4f2", + "prefix": "icon", + "className": "icon-boom-box", + "unicode": "" + }, + "bot-message-square": { + "encodedCode": "\\e5d2", + "prefix": "icon", + "className": "icon-bot-message-square", + "unicode": "" + }, + "bot-off": { + "encodedCode": "\\e5e4", + "prefix": "icon", + "className": "icon-bot-off", + "unicode": "" + }, + "bot": { + "encodedCode": "\\e1ba", + "prefix": "icon", + "className": "icon-bot", + "unicode": "" + }, + "box": { + "encodedCode": "\\e065", + "prefix": "icon", + "className": "icon-box", + "unicode": "" + }, + "boxes": { + "encodedCode": "\\e2cf", + "prefix": "icon", + "className": "icon-boxes", + "unicode": "" + }, + "braces": { + "encodedCode": "\\e36d", + "prefix": "icon", + "className": "icon-braces", + "unicode": "" + }, + "brackets": { + "encodedCode": "\\e447", + "prefix": "icon", + "className": "icon-brackets", + "unicode": "" + }, + "brain-circuit": { + "encodedCode": "\\e3ca", + "prefix": "icon", + "className": "icon-brain-circuit", + "unicode": "" + }, + "brain-cog": { + "encodedCode": "\\e3cb", + "prefix": "icon", + "className": "icon-brain-cog", + "unicode": "" + }, + "brain": { + "encodedCode": "\\e3c9", + "prefix": "icon", + "className": "icon-brain", + "unicode": "" + }, + "brick-wall": { + "encodedCode": "\\e585", + "prefix": "icon", + "className": "icon-brick-wall", + "unicode": "" + }, + "briefcase-business": { + "encodedCode": "\\e5d9", + "prefix": "icon", + "className": "icon-briefcase-business", + "unicode": "" + }, + "briefcase-conveyor-belt": { + "encodedCode": "\\e62f", + "prefix": "icon", + "className": "icon-briefcase-conveyor-belt", + "unicode": "" + }, + "briefcase-medical": { + "encodedCode": "\\e5da", + "prefix": "icon", + "className": "icon-briefcase-medical", + "unicode": "" + }, + "briefcase": { + "encodedCode": "\\e066", + "prefix": "icon", + "className": "icon-briefcase", + "unicode": "" + }, + "bring-to-front": { + "encodedCode": "\\e4f3", + "prefix": "icon", + "className": "icon-bring-to-front", + "unicode": "" + }, + "brush": { + "encodedCode": "\\e1d2", + "prefix": "icon", + "className": "icon-brush", + "unicode": "" + }, + "bug-off": { + "encodedCode": "\\e511", + "prefix": "icon", + "className": "icon-bug-off", + "unicode": "" + }, + "bug-play": { + "encodedCode": "\\e512", + "prefix": "icon", + "className": "icon-bug-play", + "unicode": "" + }, + "bug": { + "encodedCode": "\\e20b", + "prefix": "icon", + "className": "icon-bug", + "unicode": "" + }, + "building-2": { + "encodedCode": "\\e28f", + "prefix": "icon", + "className": "icon-building-2", + "unicode": "" + }, + "building": { + "encodedCode": "\\e1cb", + "prefix": "icon", + "className": "icon-building", + "unicode": "" + }, + "bus-front": { + "encodedCode": "\\e4ff", + "prefix": "icon", + "className": "icon-bus-front", + "unicode": "" + }, + "bus": { + "encodedCode": "\\e1d3", + "prefix": "icon", + "className": "icon-bus", + "unicode": "" + }, + "cable-car": { + "encodedCode": "\\e500", + "prefix": "icon", + "className": "icon-cable-car", + "unicode": "" + }, + "cable": { + "encodedCode": "\\e4e7", + "prefix": "icon", + "className": "icon-cable", + "unicode": "" + }, + "cake-slice": { + "encodedCode": "\\e4bd", + "prefix": "icon", + "className": "icon-cake-slice", + "unicode": "" + }, + "cake": { + "encodedCode": "\\e347", + "prefix": "icon", + "className": "icon-cake", + "unicode": "" + }, + "calculator": { + "encodedCode": "\\e1bb", + "prefix": "icon", + "className": "icon-calculator", + "unicode": "" + }, + "calendar-1": { + "encodedCode": "\\e634", + "prefix": "icon", + "className": "icon-calendar-1", + "unicode": "" + }, + "calendar-arrow-down": { + "encodedCode": "\\e602", + "prefix": "icon", + "className": "icon-calendar-arrow-down", + "unicode": "" + }, + "calendar-arrow-up": { + "encodedCode": "\\e603", + "prefix": "icon", + "className": "icon-calendar-arrow-up", + "unicode": "" + }, + "calendar-check-2": { + "encodedCode": "\\e2b7", + "prefix": "icon", + "className": "icon-calendar-check-2", + "unicode": "" + }, + "calendar-check": { + "encodedCode": "\\e2b6", + "prefix": "icon", + "className": "icon-calendar-check", + "unicode": "" + }, + "calendar-clock": { + "encodedCode": "\\e303", + "prefix": "icon", + "className": "icon-calendar-clock", + "unicode": "" + }, + "calendar-cog": { + "encodedCode": "\\e5f1", + "prefix": "icon", + "className": "icon-calendar-cog", + "unicode": "" + }, + "calendar-days": { + "encodedCode": "\\e2b8", + "prefix": "icon", + "className": "icon-calendar-days", + "unicode": "" + }, + "calendar-fold": { + "encodedCode": "\\e5b8", + "prefix": "icon", + "className": "icon-calendar-fold", + "unicode": "" + }, + "calendar-heart": { + "encodedCode": "\\e304", + "prefix": "icon", + "className": "icon-calendar-heart", + "unicode": "" + }, + "calendar-minus-2": { + "encodedCode": "\\e5b9", + "prefix": "icon", + "className": "icon-calendar-minus-2", + "unicode": "" + }, + "calendar-minus": { + "encodedCode": "\\e2b9", + "prefix": "icon", + "className": "icon-calendar-minus", + "unicode": "" + }, + "calendar-off": { + "encodedCode": "\\e2ba", + "prefix": "icon", + "className": "icon-calendar-off", + "unicode": "" + }, + "calendar-plus-2": { + "encodedCode": "\\e5ba", + "prefix": "icon", + "className": "icon-calendar-plus-2", + "unicode": "" + }, + "calendar-plus": { + "encodedCode": "\\e2bb", + "prefix": "icon", + "className": "icon-calendar-plus", + "unicode": "" + }, + "calendar-range": { + "encodedCode": "\\e2bc", + "prefix": "icon", + "className": "icon-calendar-range", + "unicode": "" + }, + "calendar-search": { + "encodedCode": "\\e305", + "prefix": "icon", + "className": "icon-calendar-search", + "unicode": "" + }, + "calendar-sync": { + "encodedCode": "\\e63a", + "prefix": "icon", + "className": "icon-calendar-sync", + "unicode": "" + }, + "calendar-x-2": { + "encodedCode": "\\e2be", + "prefix": "icon", + "className": "icon-calendar-x-2", + "unicode": "" + }, + "calendar-x": { + "encodedCode": "\\e2bd", + "prefix": "icon", + "className": "icon-calendar-x", + "unicode": "" + }, + "calendar": { + "encodedCode": "\\e067", + "prefix": "icon", + "className": "icon-calendar", + "unicode": "" + }, + "camera-off": { + "encodedCode": "\\e069", + "prefix": "icon", + "className": "icon-camera-off", + "unicode": "" + }, + "camera": { + "encodedCode": "\\e068", + "prefix": "icon", + "className": "icon-camera", + "unicode": "" + }, + "candy-cane": { + "encodedCode": "\\e4be", + "prefix": "icon", + "className": "icon-candy-cane", + "unicode": "" + }, + "candy-off": { + "encodedCode": "\\e395", + "prefix": "icon", + "className": "icon-candy-off", + "unicode": "" + }, + "candy": { + "encodedCode": "\\e394", + "prefix": "icon", + "className": "icon-candy", + "unicode": "" + }, + "cannabis": { + "encodedCode": "\\e5d8", + "prefix": "icon", + "className": "icon-cannabis", + "unicode": "" + }, + "captions-off": { + "encodedCode": "\\e5c5", + "prefix": "icon", + "className": "icon-captions-off", + "unicode": "" + }, + "captions": { + "encodedCode": "\\e3a7", + "prefix": "icon", + "className": "icon-captions", + "unicode": "" + }, + "car-front": { + "encodedCode": "\\e501", + "prefix": "icon", + "className": "icon-car-front", + "unicode": "" + }, + "car-taxi-front": { + "encodedCode": "\\e502", + "prefix": "icon", + "className": "icon-car-taxi-front", + "unicode": "" + }, + "car": { + "encodedCode": "\\e1d4", + "prefix": "icon", + "className": "icon-car", + "unicode": "" + }, + "caravan": { + "encodedCode": "\\e53d", + "prefix": "icon", + "className": "icon-caravan", + "unicode": "" + }, + "carrot": { + "encodedCode": "\\e259", + "prefix": "icon", + "className": "icon-carrot", + "unicode": "" + }, + "case-lower": { + "encodedCode": "\\e3db", + "prefix": "icon", + "className": "icon-case-lower", + "unicode": "" + }, + "case-sensitive": { + "encodedCode": "\\e3dc", + "prefix": "icon", + "className": "icon-case-sensitive", + "unicode": "" + }, + "case-upper": { + "encodedCode": "\\e3dd", + "prefix": "icon", + "className": "icon-case-upper", + "unicode": "" + }, + "cassette-tape": { + "encodedCode": "\\e4ce", + "prefix": "icon", + "className": "icon-cassette-tape", + "unicode": "" + }, + "cast": { + "encodedCode": "\\e06a", + "prefix": "icon", + "className": "icon-cast", + "unicode": "" + }, + "castle": { + "encodedCode": "\\e3e3", + "prefix": "icon", + "className": "icon-castle", + "unicode": "" + }, + "cat": { + "encodedCode": "\\e38f", + "prefix": "icon", + "className": "icon-cat", + "unicode": "" + }, + "cctv": { + "encodedCode": "\\e581", + "prefix": "icon", + "className": "icon-cctv", + "unicode": "" + }, + "chart-area": { + "encodedCode": "\\e4d7", + "prefix": "icon", + "className": "icon-chart-area", + "unicode": "" + }, + "chart-bar-big": { + "encodedCode": "\\e4ab", + "prefix": "icon", + "className": "icon-chart-bar-big", + "unicode": "" + }, + "chart-bar-decreasing": { + "encodedCode": "\\e60b", + "prefix": "icon", + "className": "icon-chart-bar-decreasing", + "unicode": "" + }, + "chart-bar-increasing": { + "encodedCode": "\\e60c", + "prefix": "icon", + "className": "icon-chart-bar-increasing", + "unicode": "" + }, + "chart-bar-stacked": { + "encodedCode": "\\e60d", + "prefix": "icon", + "className": "icon-chart-bar-stacked", + "unicode": "" + }, + "chart-bar": { + "encodedCode": "\\e2a1", + "prefix": "icon", + "className": "icon-chart-bar", + "unicode": "" + }, + "chart-candlestick": { + "encodedCode": "\\e4ac", + "prefix": "icon", + "className": "icon-chart-candlestick", + "unicode": "" + }, + "chart-column-big": { + "encodedCode": "\\e4ad", + "prefix": "icon", + "className": "icon-chart-column-big", + "unicode": "" + }, + "chart-column-decreasing": { + "encodedCode": "\\e06b", + "prefix": "icon", + "className": "icon-chart-column-decreasing", + "unicode": "" + }, + "chart-column-increasing": { + "encodedCode": "\\e2a3", + "prefix": "icon", + "className": "icon-chart-column-increasing", + "unicode": "" + }, + "chart-column-stacked": { + "encodedCode": "\\e60e", + "prefix": "icon", + "className": "icon-chart-column-stacked", + "unicode": "" + }, + "chart-column": { + "encodedCode": "\\e2a2", + "prefix": "icon", + "className": "icon-chart-column", + "unicode": "" + }, + "chart-gantt": { + "encodedCode": "\\e628", + "prefix": "icon", + "className": "icon-chart-gantt", + "unicode": "" + }, + "chart-line": { + "encodedCode": "\\e2a4", + "prefix": "icon", + "className": "icon-chart-line", + "unicode": "" + }, + "chart-network": { + "encodedCode": "\\e60f", + "prefix": "icon", + "className": "icon-chart-network", + "unicode": "" + }, + "chart-no-axes-column-decreasing": { + "encodedCode": "\\e06d", + "prefix": "icon", + "className": "icon-chart-no-axes-column-decreasing", + "unicode": "" + }, + "chart-no-axes-column-increasing": { + "encodedCode": "\\e06e", + "prefix": "icon", + "className": "icon-chart-no-axes-column-increasing", + "unicode": "" + }, + "chart-no-axes-column": { + "encodedCode": "\\e06c", + "prefix": "icon", + "className": "icon-chart-no-axes-column", + "unicode": "" + }, + "chart-no-axes-combined": { + "encodedCode": "\\e610", + "prefix": "icon", + "className": "icon-chart-no-axes-combined", + "unicode": "" + }, + "chart-no-axes-gantt": { + "encodedCode": "\\e4c8", + "prefix": "icon", + "className": "icon-chart-no-axes-gantt", + "unicode": "" + }, + "chart-pie": { + "encodedCode": "\\e06f", + "prefix": "icon", + "className": "icon-chart-pie", + "unicode": "" + }, + "chart-scatter": { + "encodedCode": "\\e48e", + "prefix": "icon", + "className": "icon-chart-scatter", + "unicode": "" + }, + "chart-spline": { + "encodedCode": "\\e611", + "prefix": "icon", + "className": "icon-chart-spline", + "unicode": "" + }, + "check-check": { + "encodedCode": "\\e391", + "prefix": "icon", + "className": "icon-check-check", + "unicode": "" + }, + "check": { + "encodedCode": "\\e070", + "prefix": "icon", + "className": "icon-check", + "unicode": "" + }, + "chef-hat": { + "encodedCode": "\\e2ab", + "prefix": "icon", + "className": "icon-chef-hat", + "unicode": "" + }, + "cherry": { + "encodedCode": "\\e353", + "prefix": "icon", + "className": "icon-cherry", + "unicode": "" + }, + "chevron-down": { + "encodedCode": "\\e071", + "prefix": "icon", + "className": "icon-chevron-down", + "unicode": "" + }, + "chevron-first": { + "encodedCode": "\\e242", + "prefix": "icon", + "className": "icon-chevron-first", + "unicode": "" + }, + "chevron-last": { + "encodedCode": "\\e243", + "prefix": "icon", + "className": "icon-chevron-last", + "unicode": "" + }, + "chevron-left": { + "encodedCode": "\\e072", + "prefix": "icon", + "className": "icon-chevron-left", + "unicode": "" + }, + "chevron-right": { + "encodedCode": "\\e073", + "prefix": "icon", + "className": "icon-chevron-right", + "unicode": "" + }, + "chevron-up": { + "encodedCode": "\\e074", + "prefix": "icon", + "className": "icon-chevron-up", + "unicode": "" + }, + "chevrons-down-up": { + "encodedCode": "\\e227", + "prefix": "icon", + "className": "icon-chevrons-down-up", + "unicode": "" + }, + "chevrons-down": { + "encodedCode": "\\e075", + "prefix": "icon", + "className": "icon-chevrons-down", + "unicode": "" + }, + "chevrons-left-right-ellipsis": { + "encodedCode": "\\e623", + "prefix": "icon", + "className": "icon-chevrons-left-right-ellipsis", + "unicode": "" + }, + "chevrons-left-right": { + "encodedCode": "\\e292", + "prefix": "icon", + "className": "icon-chevrons-left-right", + "unicode": "" + }, + "chevrons-left": { + "encodedCode": "\\e076", + "prefix": "icon", + "className": "icon-chevrons-left", + "unicode": "" + }, + "chevrons-right-left": { + "encodedCode": "\\e293", + "prefix": "icon", + "className": "icon-chevrons-right-left", + "unicode": "" + }, + "chevrons-right": { + "encodedCode": "\\e077", + "prefix": "icon", + "className": "icon-chevrons-right", + "unicode": "" + }, + "chevrons-up-down": { + "encodedCode": "\\e210", + "prefix": "icon", + "className": "icon-chevrons-up-down", + "unicode": "" + }, + "chevrons-up": { + "encodedCode": "\\e078", + "prefix": "icon", + "className": "icon-chevrons-up", + "unicode": "" + }, + "chrome": { + "encodedCode": "\\e079", + "prefix": "icon", + "className": "icon-chrome", + "unicode": "" + }, + "church": { + "encodedCode": "\\e3e4", + "prefix": "icon", + "className": "icon-church", + "unicode": "" + }, + "cigarette-off": { + "encodedCode": "\\e2c6", + "prefix": "icon", + "className": "icon-cigarette-off", + "unicode": "" + }, + "cigarette": { + "encodedCode": "\\e2c5", + "prefix": "icon", + "className": "icon-cigarette", + "unicode": "" + }, + "circle-alert": { + "encodedCode": "\\e07b", + "prefix": "icon", + "className": "icon-circle-alert", + "unicode": "" + }, + "circle-arrow-down": { + "encodedCode": "\\e07c", + "prefix": "icon", + "className": "icon-circle-arrow-down", + "unicode": "" + }, + "circle-arrow-left": { + "encodedCode": "\\e07d", + "prefix": "icon", + "className": "icon-circle-arrow-left", + "unicode": "" + }, + "circle-arrow-out-down-left": { + "encodedCode": "\\e3fb", + "prefix": "icon", + "className": "icon-circle-arrow-out-down-left", + "unicode": "" + }, + "circle-arrow-out-down-right": { + "encodedCode": "\\e3fc", + "prefix": "icon", + "className": "icon-circle-arrow-out-down-right", + "unicode": "" + }, + "circle-arrow-out-up-left": { + "encodedCode": "\\e3fd", + "prefix": "icon", + "className": "icon-circle-arrow-out-up-left", + "unicode": "" + }, + "circle-arrow-out-up-right": { + "encodedCode": "\\e3fe", + "prefix": "icon", + "className": "icon-circle-arrow-out-up-right", + "unicode": "" + }, + "circle-arrow-right": { + "encodedCode": "\\e07e", + "prefix": "icon", + "className": "icon-circle-arrow-right", + "unicode": "" + }, + "circle-arrow-up": { + "encodedCode": "\\e07f", + "prefix": "icon", + "className": "icon-circle-arrow-up", + "unicode": "" + }, + "circle-check-big": { + "encodedCode": "\\e080", + "prefix": "icon", + "className": "icon-circle-check-big", + "unicode": "" + }, + "circle-check": { + "encodedCode": "\\e225", + "prefix": "icon", + "className": "icon-circle-check", + "unicode": "" + }, + "circle-chevron-down": { + "encodedCode": "\\e4e1", + "prefix": "icon", + "className": "icon-circle-chevron-down", + "unicode": "" + }, + "circle-chevron-left": { + "encodedCode": "\\e4e2", + "prefix": "icon", + "className": "icon-circle-chevron-left", + "unicode": "" + }, + "circle-chevron-right": { + "encodedCode": "\\e4e3", + "prefix": "icon", + "className": "icon-circle-chevron-right", + "unicode": "" + }, + "circle-chevron-up": { + "encodedCode": "\\e4e4", + "prefix": "icon", + "className": "icon-circle-chevron-up", + "unicode": "" + }, + "circle-dashed": { + "encodedCode": "\\e4b4", + "prefix": "icon", + "className": "icon-circle-dashed", + "unicode": "" + }, + "circle-divide": { + "encodedCode": "\\e081", + "prefix": "icon", + "className": "icon-circle-divide", + "unicode": "" + }, + "circle-dollar-sign": { + "encodedCode": "\\e481", + "prefix": "icon", + "className": "icon-circle-dollar-sign", + "unicode": "" + }, + "circle-dot-dashed": { + "encodedCode": "\\e4b5", + "prefix": "icon", + "className": "icon-circle-dot-dashed", + "unicode": "" + }, + "circle-dot": { + "encodedCode": "\\e348", + "prefix": "icon", + "className": "icon-circle-dot", + "unicode": "" + }, + "circle-ellipsis": { + "encodedCode": "\\e349", + "prefix": "icon", + "className": "icon-circle-ellipsis", + "unicode": "" + }, + "circle-equal": { + "encodedCode": "\\e404", + "prefix": "icon", + "className": "icon-circle-equal", + "unicode": "" + }, + "circle-fading-arrow-up": { + "encodedCode": "\\e61c", + "prefix": "icon", + "className": "icon-circle-fading-arrow-up", + "unicode": "" + }, + "circle-fading-plus": { + "encodedCode": "\\e5c0", + "prefix": "icon", + "className": "icon-circle-fading-plus", + "unicode": "" + }, + "circle-gauge": { + "encodedCode": "\\e4e5", + "prefix": "icon", + "className": "icon-circle-gauge", + "unicode": "" + }, + "circle-help": { + "encodedCode": "\\e082", + "prefix": "icon", + "className": "icon-circle-help", + "unicode": "" + }, + "circle-minus": { + "encodedCode": "\\e083", + "prefix": "icon", + "className": "icon-circle-minus", + "unicode": "" + }, + "circle-off": { + "encodedCode": "\\e405", + "prefix": "icon", + "className": "icon-circle-off", + "unicode": "" + }, + "circle-parking-off": { + "encodedCode": "\\e3cd", + "prefix": "icon", + "className": "icon-circle-parking-off", + "unicode": "" + }, + "circle-parking": { + "encodedCode": "\\e3cc", + "prefix": "icon", + "className": "icon-circle-parking", + "unicode": "" + }, + "circle-pause": { + "encodedCode": "\\e084", + "prefix": "icon", + "className": "icon-circle-pause", + "unicode": "" + }, + "circle-percent": { + "encodedCode": "\\e51e", + "prefix": "icon", + "className": "icon-circle-percent", + "unicode": "" + }, + "circle-play": { + "encodedCode": "\\e085", + "prefix": "icon", + "className": "icon-circle-play", + "unicode": "" + }, + "circle-plus": { + "encodedCode": "\\e086", + "prefix": "icon", + "className": "icon-circle-plus", + "unicode": "" + }, + "circle-power": { + "encodedCode": "\\e554", + "prefix": "icon", + "className": "icon-circle-power", + "unicode": "" + }, + "circle-slash-2": { + "encodedCode": "\\e212", + "prefix": "icon", + "className": "icon-circle-slash-2", + "unicode": "" + }, + "circle-slash": { + "encodedCode": "\\e406", + "prefix": "icon", + "className": "icon-circle-slash", + "unicode": "" + }, + "circle-small": { + "encodedCode": "\\e644", + "prefix": "icon", + "className": "icon-circle-small", + "unicode": "" + }, + "circle-stop": { + "encodedCode": "\\e087", + "prefix": "icon", + "className": "icon-circle-stop", + "unicode": "" + }, + "circle-user-round": { + "encodedCode": "\\e466", + "prefix": "icon", + "className": "icon-circle-user-round", + "unicode": "" + }, + "circle-user": { + "encodedCode": "\\e465", + "prefix": "icon", + "className": "icon-circle-user", + "unicode": "" + }, + "circle-x": { + "encodedCode": "\\e088", + "prefix": "icon", + "className": "icon-circle-x", + "unicode": "" + }, + "circle": { + "encodedCode": "\\e07a", + "prefix": "icon", + "className": "icon-circle", + "unicode": "" + }, + "circuit-board": { + "encodedCode": "\\e407", + "prefix": "icon", + "className": "icon-circuit-board", + "unicode": "" + }, + "citrus": { + "encodedCode": "\\e378", + "prefix": "icon", + "className": "icon-citrus", + "unicode": "" + }, + "clapperboard": { + "encodedCode": "\\e29a", + "prefix": "icon", + "className": "icon-clapperboard", + "unicode": "" + }, + "clipboard-check": { + "encodedCode": "\\e218", + "prefix": "icon", + "className": "icon-clipboard-check", + "unicode": "" + }, + "clipboard-copy": { + "encodedCode": "\\e224", + "prefix": "icon", + "className": "icon-clipboard-copy", + "unicode": "" + }, + "clipboard-list": { + "encodedCode": "\\e08a", + "prefix": "icon", + "className": "icon-clipboard-list", + "unicode": "" + }, + "clipboard-minus": { + "encodedCode": "\\e5c2", + "prefix": "icon", + "className": "icon-clipboard-minus", + "unicode": "" + }, + "clipboard-paste": { + "encodedCode": "\\e3eb", + "prefix": "icon", + "className": "icon-clipboard-paste", + "unicode": "" + }, + "clipboard-pen-line": { + "encodedCode": "\\e307", + "prefix": "icon", + "className": "icon-clipboard-pen-line", + "unicode": "" + }, + "clipboard-pen": { + "encodedCode": "\\e306", + "prefix": "icon", + "className": "icon-clipboard-pen", + "unicode": "" + }, + "clipboard-plus": { + "encodedCode": "\\e5c3", + "prefix": "icon", + "className": "icon-clipboard-plus", + "unicode": "" + }, + "clipboard-type": { + "encodedCode": "\\e308", + "prefix": "icon", + "className": "icon-clipboard-type", + "unicode": "" + }, + "clipboard-x": { + "encodedCode": "\\e221", + "prefix": "icon", + "className": "icon-clipboard-x", + "unicode": "" + }, + "clipboard": { + "encodedCode": "\\e089", + "prefix": "icon", + "className": "icon-clipboard", + "unicode": "" + }, + "clock-1": { + "encodedCode": "\\e24a", + "prefix": "icon", + "className": "icon-clock-1", + "unicode": "" + }, + "clock-10": { + "encodedCode": "\\e24b", + "prefix": "icon", + "className": "icon-clock-10", + "unicode": "" + }, + "clock-11": { + "encodedCode": "\\e24c", + "prefix": "icon", + "className": "icon-clock-11", + "unicode": "" + }, + "clock-12": { + "encodedCode": "\\e24d", + "prefix": "icon", + "className": "icon-clock-12", + "unicode": "" + }, + "clock-2": { + "encodedCode": "\\e24e", + "prefix": "icon", + "className": "icon-clock-2", + "unicode": "" + }, + "clock-3": { + "encodedCode": "\\e24f", + "prefix": "icon", + "className": "icon-clock-3", + "unicode": "" + }, + "clock-4": { + "encodedCode": "\\e250", + "prefix": "icon", + "className": "icon-clock-4", + "unicode": "" + }, + "clock-5": { + "encodedCode": "\\e251", + "prefix": "icon", + "className": "icon-clock-5", + "unicode": "" + }, + "clock-6": { + "encodedCode": "\\e252", + "prefix": "icon", + "className": "icon-clock-6", + "unicode": "" + }, + "clock-7": { + "encodedCode": "\\e253", + "prefix": "icon", + "className": "icon-clock-7", + "unicode": "" + }, + "clock-8": { + "encodedCode": "\\e254", + "prefix": "icon", + "className": "icon-clock-8", + "unicode": "" + }, + "clock-9": { + "encodedCode": "\\e255", + "prefix": "icon", + "className": "icon-clock-9", + "unicode": "" + }, + "clock-alert": { + "encodedCode": "\\e62e", + "prefix": "icon", + "className": "icon-clock-alert", + "unicode": "" + }, + "clock-arrow-down": { + "encodedCode": "\\e604", + "prefix": "icon", + "className": "icon-clock-arrow-down", + "unicode": "" + }, + "clock-arrow-up": { + "encodedCode": "\\e605", + "prefix": "icon", + "className": "icon-clock-arrow-up", + "unicode": "" + }, + "clock": { + "encodedCode": "\\e08b", + "prefix": "icon", + "className": "icon-clock", + "unicode": "" + }, + "cloud-alert": { + "encodedCode": "\\e637", + "prefix": "icon", + "className": "icon-cloud-alert", + "unicode": "" + }, + "cloud-cog": { + "encodedCode": "\\e309", + "prefix": "icon", + "className": "icon-cloud-cog", + "unicode": "" + }, + "cloud-download": { + "encodedCode": "\\e08d", + "prefix": "icon", + "className": "icon-cloud-download", + "unicode": "" + }, + "cloud-drizzle": { + "encodedCode": "\\e08e", + "prefix": "icon", + "className": "icon-cloud-drizzle", + "unicode": "" + }, + "cloud-fog": { + "encodedCode": "\\e213", + "prefix": "icon", + "className": "icon-cloud-fog", + "unicode": "" + }, + "cloud-hail": { + "encodedCode": "\\e08f", + "prefix": "icon", + "className": "icon-cloud-hail", + "unicode": "" + }, + "cloud-lightning": { + "encodedCode": "\\e090", + "prefix": "icon", + "className": "icon-cloud-lightning", + "unicode": "" + }, + "cloud-moon-rain": { + "encodedCode": "\\e2f9", + "prefix": "icon", + "className": "icon-cloud-moon-rain", + "unicode": "" + }, + "cloud-moon": { + "encodedCode": "\\e214", + "prefix": "icon", + "className": "icon-cloud-moon", + "unicode": "" + }, + "cloud-off": { + "encodedCode": "\\e091", + "prefix": "icon", + "className": "icon-cloud-off", + "unicode": "" + }, + "cloud-rain-wind": { + "encodedCode": "\\e093", + "prefix": "icon", + "className": "icon-cloud-rain-wind", + "unicode": "" + }, + "cloud-rain": { + "encodedCode": "\\e092", + "prefix": "icon", + "className": "icon-cloud-rain", + "unicode": "" + }, + "cloud-snow": { + "encodedCode": "\\e094", + "prefix": "icon", + "className": "icon-cloud-snow", + "unicode": "" + }, + "cloud-sun-rain": { + "encodedCode": "\\e2fa", + "prefix": "icon", + "className": "icon-cloud-sun-rain", + "unicode": "" + }, + "cloud-sun": { + "encodedCode": "\\e215", + "prefix": "icon", + "className": "icon-cloud-sun", + "unicode": "" + }, + "cloud-upload": { + "encodedCode": "\\e095", + "prefix": "icon", + "className": "icon-cloud-upload", + "unicode": "" + }, + "cloud": { + "encodedCode": "\\e08c", + "prefix": "icon", + "className": "icon-cloud", + "unicode": "" + }, + "cloudy": { + "encodedCode": "\\e216", + "prefix": "icon", + "className": "icon-cloudy", + "unicode": "" + }, + "clover": { + "encodedCode": "\\e096", + "prefix": "icon", + "className": "icon-clover", + "unicode": "" + }, + "club": { + "encodedCode": "\\e49a", + "prefix": "icon", + "className": "icon-club", + "unicode": "" + }, + "code-xml": { + "encodedCode": "\\e205", + "prefix": "icon", + "className": "icon-code-xml", + "unicode": "" + }, + "code": { + "encodedCode": "\\e097", + "prefix": "icon", + "className": "icon-code", + "unicode": "" + }, + "codepen": { + "encodedCode": "\\e098", + "prefix": "icon", + "className": "icon-codepen", + "unicode": "" + }, + "codesandbox": { + "encodedCode": "\\e099", + "prefix": "icon", + "className": "icon-codesandbox", + "unicode": "" + }, + "coffee": { + "encodedCode": "\\e09a", + "prefix": "icon", + "className": "icon-coffee", + "unicode": "" + }, + "cog": { + "encodedCode": "\\e30a", + "prefix": "icon", + "className": "icon-cog", + "unicode": "" + }, + "coins": { + "encodedCode": "\\e09b", + "prefix": "icon", + "className": "icon-coins", + "unicode": "" + }, + "columns-2": { + "encodedCode": "\\e09c", + "prefix": "icon", + "className": "icon-columns-2", + "unicode": "" + }, + "columns-3": { + "encodedCode": "\\e09d", + "prefix": "icon", + "className": "icon-columns-3", + "unicode": "" + }, + "columns-4": { + "encodedCode": "\\e58d", + "prefix": "icon", + "className": "icon-columns-4", + "unicode": "" + }, + "combine": { + "encodedCode": "\\e450", + "prefix": "icon", + "className": "icon-combine", + "unicode": "" + }, + "command": { + "encodedCode": "\\e09e", + "prefix": "icon", + "className": "icon-command", + "unicode": "" + }, + "compass": { + "encodedCode": "\\e09f", + "prefix": "icon", + "className": "icon-compass", + "unicode": "" + }, + "component": { + "encodedCode": "\\e2ac", + "prefix": "icon", + "className": "icon-component", + "unicode": "" + }, + "computer": { + "encodedCode": "\\e4e8", + "prefix": "icon", + "className": "icon-computer", + "unicode": "" + }, + "concierge-bell": { + "encodedCode": "\\e37b", + "prefix": "icon", + "className": "icon-concierge-bell", + "unicode": "" + }, + "cone": { + "encodedCode": "\\e527", + "prefix": "icon", + "className": "icon-cone", + "unicode": "" + }, + "construction": { + "encodedCode": "\\e3b7", + "prefix": "icon", + "className": "icon-construction", + "unicode": "" + }, + "contact-round": { + "encodedCode": "\\e467", + "prefix": "icon", + "className": "icon-contact-round", + "unicode": "" + }, + "contact": { + "encodedCode": "\\e0a0", + "prefix": "icon", + "className": "icon-contact", + "unicode": "" + }, + "container": { + "encodedCode": "\\e4d9", + "prefix": "icon", + "className": "icon-container", + "unicode": "" + }, + "contrast": { + "encodedCode": "\\e0a1", + "prefix": "icon", + "className": "icon-contrast", + "unicode": "" + }, + "cookie": { + "encodedCode": "\\e26a", + "prefix": "icon", + "className": "icon-cookie", + "unicode": "" + }, + "cooking-pot": { + "encodedCode": "\\e588", + "prefix": "icon", + "className": "icon-cooking-pot", + "unicode": "" + }, + "copy-check": { + "encodedCode": "\\e3ff", + "prefix": "icon", + "className": "icon-copy-check", + "unicode": "" + }, + "copy-minus": { + "encodedCode": "\\e400", + "prefix": "icon", + "className": "icon-copy-minus", + "unicode": "" + }, + "copy-plus": { + "encodedCode": "\\e401", + "prefix": "icon", + "className": "icon-copy-plus", + "unicode": "" + }, + "copy-slash": { + "encodedCode": "\\e402", + "prefix": "icon", + "className": "icon-copy-slash", + "unicode": "" + }, + "copy-x": { + "encodedCode": "\\e403", + "prefix": "icon", + "className": "icon-copy-x", + "unicode": "" + }, + "copy": { + "encodedCode": "\\e0a2", + "prefix": "icon", + "className": "icon-copy", + "unicode": "" + }, + "copyleft": { + "encodedCode": "\\e0a3", + "prefix": "icon", + "className": "icon-copyleft", + "unicode": "" + }, + "copyright": { + "encodedCode": "\\e0a4", + "prefix": "icon", + "className": "icon-copyright", + "unicode": "" + }, + "corner-down-left": { + "encodedCode": "\\e0a5", + "prefix": "icon", + "className": "icon-corner-down-left", + "unicode": "" + }, + "corner-down-right": { + "encodedCode": "\\e0a6", + "prefix": "icon", + "className": "icon-corner-down-right", + "unicode": "" + }, + "corner-left-down": { + "encodedCode": "\\e0a7", + "prefix": "icon", + "className": "icon-corner-left-down", + "unicode": "" + }, + "corner-left-up": { + "encodedCode": "\\e0a8", + "prefix": "icon", + "className": "icon-corner-left-up", + "unicode": "" + }, + "corner-right-down": { + "encodedCode": "\\e0a9", + "prefix": "icon", + "className": "icon-corner-right-down", + "unicode": "" + }, + "corner-right-up": { + "encodedCode": "\\e0aa", + "prefix": "icon", + "className": "icon-corner-right-up", + "unicode": "" + }, + "corner-up-left": { + "encodedCode": "\\e0ab", + "prefix": "icon", + "className": "icon-corner-up-left", + "unicode": "" + }, + "corner-up-right": { + "encodedCode": "\\e0ac", + "prefix": "icon", + "className": "icon-corner-up-right", + "unicode": "" + }, + "cpu": { + "encodedCode": "\\e0ad", + "prefix": "icon", + "className": "icon-cpu", + "unicode": "" + }, + "creative-commons": { + "encodedCode": "\\e3b5", + "prefix": "icon", + "className": "icon-creative-commons", + "unicode": "" + }, + "credit-card": { + "encodedCode": "\\e0ae", + "prefix": "icon", + "className": "icon-credit-card", + "unicode": "" + }, + "croissant": { + "encodedCode": "\\e2ad", + "prefix": "icon", + "className": "icon-croissant", + "unicode": "" + }, + "crop": { + "encodedCode": "\\e0af", + "prefix": "icon", + "className": "icon-crop", + "unicode": "" + }, + "cross": { + "encodedCode": "\\e1e4", + "prefix": "icon", + "className": "icon-cross", + "unicode": "" + }, + "crosshair": { + "encodedCode": "\\e0b0", + "prefix": "icon", + "className": "icon-crosshair", + "unicode": "" + }, + "crown": { + "encodedCode": "\\e1d5", + "prefix": "icon", + "className": "icon-crown", + "unicode": "" + }, + "cuboid": { + "encodedCode": "\\e528", + "prefix": "icon", + "className": "icon-cuboid", + "unicode": "" + }, + "cup-soda": { + "encodedCode": "\\e2d0", + "prefix": "icon", + "className": "icon-cup-soda", + "unicode": "" + }, + "currency": { + "encodedCode": "\\e22f", + "prefix": "icon", + "className": "icon-currency", + "unicode": "" + }, + "cylinder": { + "encodedCode": "\\e529", + "prefix": "icon", + "className": "icon-cylinder", + "unicode": "" + }, + "dam": { + "encodedCode": "\\e60a", + "prefix": "icon", + "className": "icon-dam", + "unicode": "" + }, + "database-backup": { + "encodedCode": "\\e3ae", + "prefix": "icon", + "className": "icon-database-backup", + "unicode": "" + }, + "database-zap": { + "encodedCode": "\\e50f", + "prefix": "icon", + "className": "icon-database-zap", + "unicode": "" + }, + "database": { + "encodedCode": "\\e0b1", + "prefix": "icon", + "className": "icon-database", + "unicode": "" + }, + "delete": { + "encodedCode": "\\e0b2", + "prefix": "icon", + "className": "icon-delete", + "unicode": "" + }, + "dessert": { + "encodedCode": "\\e4bf", + "prefix": "icon", + "className": "icon-dessert", + "unicode": "" + }, + "diameter": { + "encodedCode": "\\e52a", + "prefix": "icon", + "className": "icon-diameter", + "unicode": "" + }, + "diamond-minus": { + "encodedCode": "\\e5e5", + "prefix": "icon", + "className": "icon-diamond-minus", + "unicode": "" + }, + "diamond-percent": { + "encodedCode": "\\e51f", + "prefix": "icon", + "className": "icon-diamond-percent", + "unicode": "" + }, + "diamond-plus": { + "encodedCode": "\\e5e6", + "prefix": "icon", + "className": "icon-diamond-plus", + "unicode": "" + }, + "diamond": { + "encodedCode": "\\e2d1", + "prefix": "icon", + "className": "icon-diamond", + "unicode": "" + }, + "dice-1": { + "encodedCode": "\\e286", + "prefix": "icon", + "className": "icon-dice-1", + "unicode": "" + }, + "dice-2": { + "encodedCode": "\\e287", + "prefix": "icon", + "className": "icon-dice-2", + "unicode": "" + }, + "dice-3": { + "encodedCode": "\\e288", + "prefix": "icon", + "className": "icon-dice-3", + "unicode": "" + }, + "dice-4": { + "encodedCode": "\\e289", + "prefix": "icon", + "className": "icon-dice-4", + "unicode": "" + }, + "dice-5": { + "encodedCode": "\\e28a", + "prefix": "icon", + "className": "icon-dice-5", + "unicode": "" + }, + "dice-6": { + "encodedCode": "\\e28b", + "prefix": "icon", + "className": "icon-dice-6", + "unicode": "" + }, + "dices": { + "encodedCode": "\\e2c4", + "prefix": "icon", + "className": "icon-dices", + "unicode": "" + }, + "diff": { + "encodedCode": "\\e30b", + "prefix": "icon", + "className": "icon-diff", + "unicode": "" + }, + "disc-2": { + "encodedCode": "\\e3fa", + "prefix": "icon", + "className": "icon-disc-2", + "unicode": "" + }, + "disc-3": { + "encodedCode": "\\e498", + "prefix": "icon", + "className": "icon-disc-3", + "unicode": "" + }, + "disc-album": { + "encodedCode": "\\e560", + "prefix": "icon", + "className": "icon-disc-album", + "unicode": "" + }, + "disc": { + "encodedCode": "\\e0b3", + "prefix": "icon", + "className": "icon-disc", + "unicode": "" + }, + "divide": { + "encodedCode": "\\e0b4", + "prefix": "icon", + "className": "icon-divide", + "unicode": "" + }, + "dna-off": { + "encodedCode": "\\e397", + "prefix": "icon", + "className": "icon-dna-off", + "unicode": "" + }, + "dna": { + "encodedCode": "\\e396", + "prefix": "icon", + "className": "icon-dna", + "unicode": "" + }, + "dock": { + "encodedCode": "\\e5d7", + "prefix": "icon", + "className": "icon-dock", + "unicode": "" + }, + "dog": { + "encodedCode": "\\e390", + "prefix": "icon", + "className": "icon-dog", + "unicode": "" + }, + "dollar-sign": { + "encodedCode": "\\e0b5", + "prefix": "icon", + "className": "icon-dollar-sign", + "unicode": "" + }, + "donut": { + "encodedCode": "\\e4c0", + "prefix": "icon", + "className": "icon-donut", + "unicode": "" + }, + "door-closed": { + "encodedCode": "\\e3d8", + "prefix": "icon", + "className": "icon-door-closed", + "unicode": "" + }, + "door-open": { + "encodedCode": "\\e3d9", + "prefix": "icon", + "className": "icon-door-open", + "unicode": "" + }, + "dot": { + "encodedCode": "\\e453", + "prefix": "icon", + "className": "icon-dot", + "unicode": "" + }, + "download": { + "encodedCode": "\\e0b6", + "prefix": "icon", + "className": "icon-download", + "unicode": "" + }, + "drafting-compass": { + "encodedCode": "\\e52b", + "prefix": "icon", + "className": "icon-drafting-compass", + "unicode": "" + }, + "drama": { + "encodedCode": "\\e525", + "prefix": "icon", + "className": "icon-drama", + "unicode": "" + }, + "dribbble": { + "encodedCode": "\\e0b7", + "prefix": "icon", + "className": "icon-dribbble", + "unicode": "" + }, + "drill": { + "encodedCode": "\\e591", + "prefix": "icon", + "className": "icon-drill", + "unicode": "" + }, + "droplet-off": { + "encodedCode": "\\e63c", + "prefix": "icon", + "className": "icon-droplet-off", + "unicode": "" + }, + "droplet": { + "encodedCode": "\\e0b8", + "prefix": "icon", + "className": "icon-droplet", + "unicode": "" + }, + "droplets": { + "encodedCode": "\\e0b9", + "prefix": "icon", + "className": "icon-droplets", + "unicode": "" + }, + "drum": { + "encodedCode": "\\e561", + "prefix": "icon", + "className": "icon-drum", + "unicode": "" + }, + "drumstick": { + "encodedCode": "\\e25a", + "prefix": "icon", + "className": "icon-drumstick", + "unicode": "" + }, + "dumbbell": { + "encodedCode": "\\e3a4", + "prefix": "icon", + "className": "icon-dumbbell", + "unicode": "" + }, + "ear-off": { + "encodedCode": "\\e386", + "prefix": "icon", + "className": "icon-ear-off", + "unicode": "" + }, + "ear": { + "encodedCode": "\\e385", + "prefix": "icon", + "className": "icon-ear", + "unicode": "" + }, + "earth-lock": { + "encodedCode": "\\e5d0", + "prefix": "icon", + "className": "icon-earth-lock", + "unicode": "" + }, + "earth": { + "encodedCode": "\\e1f2", + "prefix": "icon", + "className": "icon-earth", + "unicode": "" + }, + "eclipse": { + "encodedCode": "\\e5a1", + "prefix": "icon", + "className": "icon-eclipse", + "unicode": "" + }, + "egg-fried": { + "encodedCode": "\\e354", + "prefix": "icon", + "className": "icon-egg-fried", + "unicode": "" + }, + "egg-off": { + "encodedCode": "\\e398", + "prefix": "icon", + "className": "icon-egg-off", + "unicode": "" + }, + "egg": { + "encodedCode": "\\e25c", + "prefix": "icon", + "className": "icon-egg", + "unicode": "" + }, + "ellipsis-vertical": { + "encodedCode": "\\e0bb", + "prefix": "icon", + "className": "icon-ellipsis-vertical", + "unicode": "" + }, + "ellipsis": { + "encodedCode": "\\e0ba", + "prefix": "icon", + "className": "icon-ellipsis", + "unicode": "" + }, + "equal-approximately": { + "encodedCode": "\\e638", + "prefix": "icon", + "className": "icon-equal-approximately", + "unicode": "" + }, + "equal-not": { + "encodedCode": "\\e1bd", + "prefix": "icon", + "className": "icon-equal-not", + "unicode": "" + }, + "equal": { + "encodedCode": "\\e1bc", + "prefix": "icon", + "className": "icon-equal", + "unicode": "" + }, + "eraser": { + "encodedCode": "\\e28e", + "prefix": "icon", + "className": "icon-eraser", + "unicode": "" + }, + "ethernet-port": { + "encodedCode": "\\e624", + "prefix": "icon", + "className": "icon-ethernet-port", + "unicode": "" + }, + "euro": { + "encodedCode": "\\e0bc", + "prefix": "icon", + "className": "icon-euro", + "unicode": "" + }, + "expand": { + "encodedCode": "\\e219", + "prefix": "icon", + "className": "icon-expand", + "unicode": "" + }, + "external-link": { + "encodedCode": "\\e0bd", + "prefix": "icon", + "className": "icon-external-link", + "unicode": "" + }, + "eye-closed": { + "encodedCode": "\\e632", + "prefix": "icon", + "className": "icon-eye-closed", + "unicode": "" + }, + "eye-off": { + "encodedCode": "\\e0bf", + "prefix": "icon", + "className": "icon-eye-off", + "unicode": "" + }, + "eye": { + "encodedCode": "\\e0be", + "prefix": "icon", + "className": "icon-eye", + "unicode": "" + }, + "facebook": { + "encodedCode": "\\e0c0", + "prefix": "icon", + "className": "icon-facebook", + "unicode": "" + }, + "factory": { + "encodedCode": "\\e29e", + "prefix": "icon", + "className": "icon-factory", + "unicode": "" + }, + "fan": { + "encodedCode": "\\e37c", + "prefix": "icon", + "className": "icon-fan", + "unicode": "" + }, + "fast-forward": { + "encodedCode": "\\e0c1", + "prefix": "icon", + "className": "icon-fast-forward", + "unicode": "" + }, + "feather": { + "encodedCode": "\\e0c2", + "prefix": "icon", + "className": "icon-feather", + "unicode": "" + }, + "fence": { + "encodedCode": "\\e586", + "prefix": "icon", + "className": "icon-fence", + "unicode": "" + }, + "ferris-wheel": { + "encodedCode": "\\e483", + "prefix": "icon", + "className": "icon-ferris-wheel", + "unicode": "" + }, + "figma": { + "encodedCode": "\\e0c3", + "prefix": "icon", + "className": "icon-figma", + "unicode": "" + }, + "file-archive": { + "encodedCode": "\\e30c", + "prefix": "icon", + "className": "icon-file-archive", + "unicode": "" + }, + "file-audio-2": { + "encodedCode": "\\e30e", + "prefix": "icon", + "className": "icon-file-audio-2", + "unicode": "" + }, + "file-audio": { + "encodedCode": "\\e30d", + "prefix": "icon", + "className": "icon-file-audio", + "unicode": "" + }, + "file-axis-3d": { + "encodedCode": "\\e30f", + "prefix": "icon", + "className": "icon-file-axis-3d", + "unicode": "" + }, + "file-badge-2": { + "encodedCode": "\\e311", + "prefix": "icon", + "className": "icon-file-badge-2", + "unicode": "" + }, + "file-badge": { + "encodedCode": "\\e310", + "prefix": "icon", + "className": "icon-file-badge", + "unicode": "" + }, + "file-box": { + "encodedCode": "\\e312", + "prefix": "icon", + "className": "icon-file-box", + "unicode": "" + }, + "file-chart-column-increasing": { + "encodedCode": "\\e314", + "prefix": "icon", + "className": "icon-file-chart-column-increasing", + "unicode": "" + }, + "file-chart-column": { + "encodedCode": "\\e313", + "prefix": "icon", + "className": "icon-file-chart-column", + "unicode": "" + }, + "file-chart-line": { + "encodedCode": "\\e315", + "prefix": "icon", + "className": "icon-file-chart-line", + "unicode": "" + }, + "file-chart-pie": { + "encodedCode": "\\e316", + "prefix": "icon", + "className": "icon-file-chart-pie", + "unicode": "" + }, + "file-check-2": { + "encodedCode": "\\e0c6", + "prefix": "icon", + "className": "icon-file-check-2", + "unicode": "" + }, + "file-check": { + "encodedCode": "\\e0c5", + "prefix": "icon", + "className": "icon-file-check", + "unicode": "" + }, + "file-clock": { + "encodedCode": "\\e317", + "prefix": "icon", + "className": "icon-file-clock", + "unicode": "" + }, + "file-code-2": { + "encodedCode": "\\e462", + "prefix": "icon", + "className": "icon-file-code-2", + "unicode": "" + }, + "file-code": { + "encodedCode": "\\e0c7", + "prefix": "icon", + "className": "icon-file-code", + "unicode": "" + }, + "file-cog": { + "encodedCode": "\\e318", + "prefix": "icon", + "className": "icon-file-cog", + "unicode": "" + }, + "file-diff": { + "encodedCode": "\\e319", + "prefix": "icon", + "className": "icon-file-diff", + "unicode": "" + }, + "file-digit": { + "encodedCode": "\\e0c8", + "prefix": "icon", + "className": "icon-file-digit", + "unicode": "" + }, + "file-down": { + "encodedCode": "\\e31a", + "prefix": "icon", + "className": "icon-file-down", + "unicode": "" + }, + "file-heart": { + "encodedCode": "\\e31b", + "prefix": "icon", + "className": "icon-file-heart", + "unicode": "" + }, + "file-image": { + "encodedCode": "\\e31c", + "prefix": "icon", + "className": "icon-file-image", + "unicode": "" + }, + "file-input": { + "encodedCode": "\\e0c9", + "prefix": "icon", + "className": "icon-file-input", + "unicode": "" + }, + "file-json-2": { + "encodedCode": "\\e36f", + "prefix": "icon", + "className": "icon-file-json-2", + "unicode": "" + }, + "file-json": { + "encodedCode": "\\e36e", + "prefix": "icon", + "className": "icon-file-json", + "unicode": "" + }, + "file-key-2": { + "encodedCode": "\\e31e", + "prefix": "icon", + "className": "icon-file-key-2", + "unicode": "" + }, + "file-key": { + "encodedCode": "\\e31d", + "prefix": "icon", + "className": "icon-file-key", + "unicode": "" + }, + "file-lock-2": { + "encodedCode": "\\e320", + "prefix": "icon", + "className": "icon-file-lock-2", + "unicode": "" + }, + "file-lock": { + "encodedCode": "\\e31f", + "prefix": "icon", + "className": "icon-file-lock", + "unicode": "" + }, + "file-minus-2": { + "encodedCode": "\\e0cb", + "prefix": "icon", + "className": "icon-file-minus-2", + "unicode": "" + }, + "file-minus": { + "encodedCode": "\\e0ca", + "prefix": "icon", + "className": "icon-file-minus", + "unicode": "" + }, + "file-music": { + "encodedCode": "\\e562", + "prefix": "icon", + "className": "icon-file-music", + "unicode": "" + }, + "file-output": { + "encodedCode": "\\e0cc", + "prefix": "icon", + "className": "icon-file-output", + "unicode": "" + }, + "file-pen-line": { + "encodedCode": "\\e322", + "prefix": "icon", + "className": "icon-file-pen-line", + "unicode": "" + }, + "file-pen": { + "encodedCode": "\\e321", + "prefix": "icon", + "className": "icon-file-pen", + "unicode": "" + }, + "file-plus-2": { + "encodedCode": "\\e0ce", + "prefix": "icon", + "className": "icon-file-plus-2", + "unicode": "" + }, + "file-plus": { + "encodedCode": "\\e0cd", + "prefix": "icon", + "className": "icon-file-plus", + "unicode": "" + }, + "file-question": { + "encodedCode": "\\e323", + "prefix": "icon", + "className": "icon-file-question", + "unicode": "" + }, + "file-scan": { + "encodedCode": "\\e324", + "prefix": "icon", + "className": "icon-file-scan", + "unicode": "" + }, + "file-search-2": { + "encodedCode": "\\e325", + "prefix": "icon", + "className": "icon-file-search-2", + "unicode": "" + }, + "file-search": { + "encodedCode": "\\e0cf", + "prefix": "icon", + "className": "icon-file-search", + "unicode": "" + }, + "file-sliders": { + "encodedCode": "\\e5a4", + "prefix": "icon", + "className": "icon-file-sliders", + "unicode": "" + }, + "file-spreadsheet": { + "encodedCode": "\\e326", + "prefix": "icon", + "className": "icon-file-spreadsheet", + "unicode": "" + }, + "file-stack": { + "encodedCode": "\\e4a5", + "prefix": "icon", + "className": "icon-file-stack", + "unicode": "" + }, + "file-symlink": { + "encodedCode": "\\e327", + "prefix": "icon", + "className": "icon-file-symlink", + "unicode": "" + }, + "file-terminal": { + "encodedCode": "\\e328", + "prefix": "icon", + "className": "icon-file-terminal", + "unicode": "" + }, + "file-text": { + "encodedCode": "\\e0d0", + "prefix": "icon", + "className": "icon-file-text", + "unicode": "" + }, + "file-type-2": { + "encodedCode": "\\e370", + "prefix": "icon", + "className": "icon-file-type-2", + "unicode": "" + }, + "file-type": { + "encodedCode": "\\e329", + "prefix": "icon", + "className": "icon-file-type", + "unicode": "" + }, + "file-up": { + "encodedCode": "\\e32a", + "prefix": "icon", + "className": "icon-file-up", + "unicode": "" + }, + "file-user": { + "encodedCode": "\\e631", + "prefix": "icon", + "className": "icon-file-user", + "unicode": "" + }, + "file-video-2": { + "encodedCode": "\\e32c", + "prefix": "icon", + "className": "icon-file-video-2", + "unicode": "" + }, + "file-video": { + "encodedCode": "\\e32b", + "prefix": "icon", + "className": "icon-file-video", + "unicode": "" + }, + "file-volume-2": { + "encodedCode": "\\e32e", + "prefix": "icon", + "className": "icon-file-volume-2", + "unicode": "" + }, + "file-volume": { + "encodedCode": "\\e32d", + "prefix": "icon", + "className": "icon-file-volume", + "unicode": "" + }, + "file-warning": { + "encodedCode": "\\e32f", + "prefix": "icon", + "className": "icon-file-warning", + "unicode": "" + }, + "file-x-2": { + "encodedCode": "\\e0d2", + "prefix": "icon", + "className": "icon-file-x-2", + "unicode": "" + }, + "file-x": { + "encodedCode": "\\e0d1", + "prefix": "icon", + "className": "icon-file-x", + "unicode": "" + }, + "file": { + "encodedCode": "\\e0c4", + "prefix": "icon", + "className": "icon-file", + "unicode": "" + }, + "files": { + "encodedCode": "\\e0d3", + "prefix": "icon", + "className": "icon-files", + "unicode": "" + }, + "film": { + "encodedCode": "\\e0d4", + "prefix": "icon", + "className": "icon-film", + "unicode": "" + }, + "filter-x": { + "encodedCode": "\\e3b8", + "prefix": "icon", + "className": "icon-filter-x", + "unicode": "" + }, + "filter": { + "encodedCode": "\\e0d5", + "prefix": "icon", + "className": "icon-filter", + "unicode": "" + }, + "fingerprint": { + "encodedCode": "\\e2ca", + "prefix": "icon", + "className": "icon-fingerprint", + "unicode": "" + }, + "fire-extinguisher": { + "encodedCode": "\\e582", + "prefix": "icon", + "className": "icon-fire-extinguisher", + "unicode": "" + }, + "fish-off": { + "encodedCode": "\\e3b3", + "prefix": "icon", + "className": "icon-fish-off", + "unicode": "" + }, + "fish-symbol": { + "encodedCode": "\\e4f8", + "prefix": "icon", + "className": "icon-fish-symbol", + "unicode": "" + }, + "fish": { + "encodedCode": "\\e3a9", + "prefix": "icon", + "className": "icon-fish", + "unicode": "" + }, + "flag-off": { + "encodedCode": "\\e291", + "prefix": "icon", + "className": "icon-flag-off", + "unicode": "" + }, + "flag-triangle-left": { + "encodedCode": "\\e236", + "prefix": "icon", + "className": "icon-flag-triangle-left", + "unicode": "" + }, + "flag-triangle-right": { + "encodedCode": "\\e237", + "prefix": "icon", + "className": "icon-flag-triangle-right", + "unicode": "" + }, + "flag": { + "encodedCode": "\\e0d6", + "prefix": "icon", + "className": "icon-flag", + "unicode": "" + }, + "flame-kindling": { + "encodedCode": "\\e53e", + "prefix": "icon", + "className": "icon-flame-kindling", + "unicode": "" + }, + "flame": { + "encodedCode": "\\e0d7", + "prefix": "icon", + "className": "icon-flame", + "unicode": "" + }, + "flashlight-off": { + "encodedCode": "\\e0d9", + "prefix": "icon", + "className": "icon-flashlight-off", + "unicode": "" + }, + "flashlight": { + "encodedCode": "\\e0d8", + "prefix": "icon", + "className": "icon-flashlight", + "unicode": "" + }, + "flask-conical-off": { + "encodedCode": "\\e399", + "prefix": "icon", + "className": "icon-flask-conical-off", + "unicode": "" + }, + "flask-conical": { + "encodedCode": "\\e0da", + "prefix": "icon", + "className": "icon-flask-conical", + "unicode": "" + }, + "flask-round": { + "encodedCode": "\\e0db", + "prefix": "icon", + "className": "icon-flask-round", + "unicode": "" + }, + "flip-horizontal-2": { + "encodedCode": "\\e361", + "prefix": "icon", + "className": "icon-flip-horizontal-2", + "unicode": "" + }, + "flip-horizontal": { + "encodedCode": "\\e360", + "prefix": "icon", + "className": "icon-flip-horizontal", + "unicode": "" + }, + "flip-vertical-2": { + "encodedCode": "\\e363", + "prefix": "icon", + "className": "icon-flip-vertical-2", + "unicode": "" + }, + "flip-vertical": { + "encodedCode": "\\e362", + "prefix": "icon", + "className": "icon-flip-vertical", + "unicode": "" + }, + "flower-2": { + "encodedCode": "\\e2d3", + "prefix": "icon", + "className": "icon-flower-2", + "unicode": "" + }, + "flower": { + "encodedCode": "\\e2d2", + "prefix": "icon", + "className": "icon-flower", + "unicode": "" + }, + "focus": { + "encodedCode": "\\e29d", + "prefix": "icon", + "className": "icon-focus", + "unicode": "" + }, + "fold-horizontal": { + "encodedCode": "\\e43f", + "prefix": "icon", + "className": "icon-fold-horizontal", + "unicode": "" + }, + "fold-vertical": { + "encodedCode": "\\e440", + "prefix": "icon", + "className": "icon-fold-vertical", + "unicode": "" + }, + "folder-archive": { + "encodedCode": "\\e330", + "prefix": "icon", + "className": "icon-folder-archive", + "unicode": "" + }, + "folder-check": { + "encodedCode": "\\e331", + "prefix": "icon", + "className": "icon-folder-check", + "unicode": "" + }, + "folder-clock": { + "encodedCode": "\\e332", + "prefix": "icon", + "className": "icon-folder-clock", + "unicode": "" + }, + "folder-closed": { + "encodedCode": "\\e333", + "prefix": "icon", + "className": "icon-folder-closed", + "unicode": "" + }, + "folder-code": { + "encodedCode": "\\e5ff", + "prefix": "icon", + "className": "icon-folder-code", + "unicode": "" + }, + "folder-cog": { + "encodedCode": "\\e334", + "prefix": "icon", + "className": "icon-folder-cog", + "unicode": "" + }, + "folder-dot": { + "encodedCode": "\\e4c9", + "prefix": "icon", + "className": "icon-folder-dot", + "unicode": "" + }, + "folder-down": { + "encodedCode": "\\e335", + "prefix": "icon", + "className": "icon-folder-down", + "unicode": "" + }, + "folder-git-2": { + "encodedCode": "\\e40e", + "prefix": "icon", + "className": "icon-folder-git-2", + "unicode": "" + }, + "folder-git": { + "encodedCode": "\\e40d", + "prefix": "icon", + "className": "icon-folder-git", + "unicode": "" + }, + "folder-heart": { + "encodedCode": "\\e336", + "prefix": "icon", + "className": "icon-folder-heart", + "unicode": "" + }, + "folder-input": { + "encodedCode": "\\e337", + "prefix": "icon", + "className": "icon-folder-input", + "unicode": "" + }, + "folder-kanban": { + "encodedCode": "\\e4ca", + "prefix": "icon", + "className": "icon-folder-kanban", + "unicode": "" + }, + "folder-key": { + "encodedCode": "\\e338", + "prefix": "icon", + "className": "icon-folder-key", + "unicode": "" + }, + "folder-lock": { + "encodedCode": "\\e339", + "prefix": "icon", + "className": "icon-folder-lock", + "unicode": "" + }, + "folder-minus": { + "encodedCode": "\\e0dd", + "prefix": "icon", + "className": "icon-folder-minus", + "unicode": "" + }, + "folder-open-dot": { + "encodedCode": "\\e4cb", + "prefix": "icon", + "className": "icon-folder-open-dot", + "unicode": "" + }, + "folder-open": { + "encodedCode": "\\e246", + "prefix": "icon", + "className": "icon-folder-open", + "unicode": "" + }, + "folder-output": { + "encodedCode": "\\e33a", + "prefix": "icon", + "className": "icon-folder-output", + "unicode": "" + }, + "folder-pen": { + "encodedCode": "\\e33b", + "prefix": "icon", + "className": "icon-folder-pen", + "unicode": "" + }, + "folder-plus": { + "encodedCode": "\\e0de", + "prefix": "icon", + "className": "icon-folder-plus", + "unicode": "" + }, + "folder-root": { + "encodedCode": "\\e4cc", + "prefix": "icon", + "className": "icon-folder-root", + "unicode": "" + }, + "folder-search-2": { + "encodedCode": "\\e33d", + "prefix": "icon", + "className": "icon-folder-search-2", + "unicode": "" + }, + "folder-search": { + "encodedCode": "\\e33c", + "prefix": "icon", + "className": "icon-folder-search", + "unicode": "" + }, + "folder-symlink": { + "encodedCode": "\\e33e", + "prefix": "icon", + "className": "icon-folder-symlink", + "unicode": "" + }, + "folder-sync": { + "encodedCode": "\\e4cd", + "prefix": "icon", + "className": "icon-folder-sync", + "unicode": "" + }, + "folder-tree": { + "encodedCode": "\\e33f", + "prefix": "icon", + "className": "icon-folder-tree", + "unicode": "" + }, + "folder-up": { + "encodedCode": "\\e340", + "prefix": "icon", + "className": "icon-folder-up", + "unicode": "" + }, + "folder-x": { + "encodedCode": "\\e341", + "prefix": "icon", + "className": "icon-folder-x", + "unicode": "" + }, + "folder": { + "encodedCode": "\\e0dc", + "prefix": "icon", + "className": "icon-folder", + "unicode": "" + }, + "folders": { + "encodedCode": "\\e342", + "prefix": "icon", + "className": "icon-folders", + "unicode": "" + }, + "footprints": { + "encodedCode": "\\e3bc", + "prefix": "icon", + "className": "icon-footprints", + "unicode": "" + }, + "forklift": { + "encodedCode": "\\e3c4", + "prefix": "icon", + "className": "icon-forklift", + "unicode": "" + }, + "forward": { + "encodedCode": "\\e228", + "prefix": "icon", + "className": "icon-forward", + "unicode": "" + }, + "frame": { + "encodedCode": "\\e290", + "prefix": "icon", + "className": "icon-frame", + "unicode": "" + }, + "framer": { + "encodedCode": "\\e0df", + "prefix": "icon", + "className": "icon-framer", + "unicode": "" + }, + "frown": { + "encodedCode": "\\e0e0", + "prefix": "icon", + "className": "icon-frown", + "unicode": "" + }, + "fuel": { + "encodedCode": "\\e2ae", + "prefix": "icon", + "className": "icon-fuel", + "unicode": "" + }, + "fullscreen": { + "encodedCode": "\\e538", + "prefix": "icon", + "className": "icon-fullscreen", + "unicode": "" + }, + "gallery-horizontal-end": { + "encodedCode": "\\e4d3", + "prefix": "icon", + "className": "icon-gallery-horizontal-end", + "unicode": "" + }, + "gallery-horizontal": { + "encodedCode": "\\e4d2", + "prefix": "icon", + "className": "icon-gallery-horizontal", + "unicode": "" + }, + "gallery-thumbnails": { + "encodedCode": "\\e4d4", + "prefix": "icon", + "className": "icon-gallery-thumbnails", + "unicode": "" + }, + "gallery-vertical-end": { + "encodedCode": "\\e4d6", + "prefix": "icon", + "className": "icon-gallery-vertical-end", + "unicode": "" + }, + "gallery-vertical": { + "encodedCode": "\\e4d5", + "prefix": "icon", + "className": "icon-gallery-vertical", + "unicode": "" + }, + "gamepad-2": { + "encodedCode": "\\e0e2", + "prefix": "icon", + "className": "icon-gamepad-2", + "unicode": "" + }, + "gamepad": { + "encodedCode": "\\e0e1", + "prefix": "icon", + "className": "icon-gamepad", + "unicode": "" + }, + "gauge": { + "encodedCode": "\\e1be", + "prefix": "icon", + "className": "icon-gauge", + "unicode": "" + }, + "gavel": { + "encodedCode": "\\e0e3", + "prefix": "icon", + "className": "icon-gavel", + "unicode": "" + }, + "gem": { + "encodedCode": "\\e241", + "prefix": "icon", + "className": "icon-gem", + "unicode": "" + }, + "ghost": { + "encodedCode": "\\e20d", + "prefix": "icon", + "className": "icon-ghost", + "unicode": "" + }, + "gift": { + "encodedCode": "\\e0e4", + "prefix": "icon", + "className": "icon-gift", + "unicode": "" + }, + "git-branch-plus": { + "encodedCode": "\\e1f3", + "prefix": "icon", + "className": "icon-git-branch-plus", + "unicode": "" + }, + "git-branch": { + "encodedCode": "\\e0e5", + "prefix": "icon", + "className": "icon-git-branch", + "unicode": "" + }, + "git-commit-horizontal": { + "encodedCode": "\\e0e6", + "prefix": "icon", + "className": "icon-git-commit-horizontal", + "unicode": "" + }, + "git-commit-vertical": { + "encodedCode": "\\e556", + "prefix": "icon", + "className": "icon-git-commit-vertical", + "unicode": "" + }, + "git-compare-arrows": { + "encodedCode": "\\e557", + "prefix": "icon", + "className": "icon-git-compare-arrows", + "unicode": "" + }, + "git-compare": { + "encodedCode": "\\e35c", + "prefix": "icon", + "className": "icon-git-compare", + "unicode": "" + }, + "git-fork": { + "encodedCode": "\\e28c", + "prefix": "icon", + "className": "icon-git-fork", + "unicode": "" + }, + "git-graph": { + "encodedCode": "\\e558", + "prefix": "icon", + "className": "icon-git-graph", + "unicode": "" + }, + "git-merge": { + "encodedCode": "\\e0e7", + "prefix": "icon", + "className": "icon-git-merge", + "unicode": "" + }, + "git-pull-request-arrow": { + "encodedCode": "\\e559", + "prefix": "icon", + "className": "icon-git-pull-request-arrow", + "unicode": "" + }, + "git-pull-request-closed": { + "encodedCode": "\\e35d", + "prefix": "icon", + "className": "icon-git-pull-request-closed", + "unicode": "" + }, + "git-pull-request-create-arrow": { + "encodedCode": "\\e55b", + "prefix": "icon", + "className": "icon-git-pull-request-create-arrow", + "unicode": "" + }, + "git-pull-request-create": { + "encodedCode": "\\e55a", + "prefix": "icon", + "className": "icon-git-pull-request-create", + "unicode": "" + }, + "git-pull-request-draft": { + "encodedCode": "\\e35e", + "prefix": "icon", + "className": "icon-git-pull-request-draft", + "unicode": "" + }, + "git-pull-request": { + "encodedCode": "\\e0e8", + "prefix": "icon", + "className": "icon-git-pull-request", + "unicode": "" + }, + "github": { + "encodedCode": "\\e0e9", + "prefix": "icon", + "className": "icon-github", + "unicode": "" + }, + "gitlab": { + "encodedCode": "\\e0ea", + "prefix": "icon", + "className": "icon-gitlab", + "unicode": "" + }, + "glass-water": { + "encodedCode": "\\e2d4", + "prefix": "icon", + "className": "icon-glass-water", + "unicode": "" + }, + "glasses": { + "encodedCode": "\\e20c", + "prefix": "icon", + "className": "icon-glasses", + "unicode": "" + }, + "globe-lock": { + "encodedCode": "\\e5d1", + "prefix": "icon", + "className": "icon-globe-lock", + "unicode": "" + }, + "globe": { + "encodedCode": "\\e0eb", + "prefix": "icon", + "className": "icon-globe", + "unicode": "" + }, + "goal": { + "encodedCode": "\\e4a9", + "prefix": "icon", + "className": "icon-goal", + "unicode": "" + }, + "grab": { + "encodedCode": "\\e1e5", + "prefix": "icon", + "className": "icon-grab", + "unicode": "" + }, + "graduation-cap": { + "encodedCode": "\\e233", + "prefix": "icon", + "className": "icon-graduation-cap", + "unicode": "" + }, + "grape": { + "encodedCode": "\\e355", + "prefix": "icon", + "className": "icon-grape", + "unicode": "" + }, + "grid-2x2-check": { + "encodedCode": "\\e5e8", + "prefix": "icon", + "className": "icon-grid-2x2-check", + "unicode": "" + }, + "grid-2x2-plus": { + "encodedCode": "\\e62c", + "prefix": "icon", + "className": "icon-grid-2x2-plus", + "unicode": "" + }, + "grid-2x2-x": { + "encodedCode": "\\e5e9", + "prefix": "icon", + "className": "icon-grid-2x2-x", + "unicode": "" + }, + "grid-2x2": { + "encodedCode": "\\e503", + "prefix": "icon", + "className": "icon-grid-2x2", + "unicode": "" + }, + "grid-3x3": { + "encodedCode": "\\e0ec", + "prefix": "icon", + "className": "icon-grid-3x3", + "unicode": "" + }, + "grip-horizontal": { + "encodedCode": "\\e0ed", + "prefix": "icon", + "className": "icon-grip-horizontal", + "unicode": "" + }, + "grip-vertical": { + "encodedCode": "\\e0ee", + "prefix": "icon", + "className": "icon-grip-vertical", + "unicode": "" + }, + "grip": { + "encodedCode": "\\e3b4", + "prefix": "icon", + "className": "icon-grip", + "unicode": "" + }, + "group": { + "encodedCode": "\\e468", + "prefix": "icon", + "className": "icon-group", + "unicode": "" + }, + "guitar": { + "encodedCode": "\\e563", + "prefix": "icon", + "className": "icon-guitar", + "unicode": "" + }, + "ham": { + "encodedCode": "\\e5db", + "prefix": "icon", + "className": "icon-ham", + "unicode": "" + }, + "hammer": { + "encodedCode": "\\e0ef", + "prefix": "icon", + "className": "icon-hammer", + "unicode": "" + }, + "hand-coins": { + "encodedCode": "\\e5bc", + "prefix": "icon", + "className": "icon-hand-coins", + "unicode": "" + }, + "hand-heart": { + "encodedCode": "\\e5bd", + "prefix": "icon", + "className": "icon-hand-heart", + "unicode": "" + }, + "hand-helping": { + "encodedCode": "\\e3bb", + "prefix": "icon", + "className": "icon-hand-helping", + "unicode": "" + }, + "hand-metal": { + "encodedCode": "\\e22b", + "prefix": "icon", + "className": "icon-hand-metal", + "unicode": "" + }, + "hand-platter": { + "encodedCode": "\\e5be", + "prefix": "icon", + "className": "icon-hand-platter", + "unicode": "" + }, + "hand": { + "encodedCode": "\\e1d6", + "prefix": "icon", + "className": "icon-hand", + "unicode": "" + }, + "handshake": { + "encodedCode": "\\e5c4", + "prefix": "icon", + "className": "icon-handshake", + "unicode": "" + }, + "hard-drive-download": { + "encodedCode": "\\e4e9", + "prefix": "icon", + "className": "icon-hard-drive-download", + "unicode": "" + }, + "hard-drive-upload": { + "encodedCode": "\\e4ea", + "prefix": "icon", + "className": "icon-hard-drive-upload", + "unicode": "" + }, + "hard-drive": { + "encodedCode": "\\e0f0", + "prefix": "icon", + "className": "icon-hard-drive", + "unicode": "" + }, + "hard-hat": { + "encodedCode": "\\e0f1", + "prefix": "icon", + "className": "icon-hard-hat", + "unicode": "" + }, + "hash": { + "encodedCode": "\\e0f2", + "prefix": "icon", + "className": "icon-hash", + "unicode": "" + }, + "haze": { + "encodedCode": "\\e0f3", + "prefix": "icon", + "className": "icon-haze", + "unicode": "" + }, + "hdmi-port": { + "encodedCode": "\\e4eb", + "prefix": "icon", + "className": "icon-hdmi-port", + "unicode": "" + }, + "heading-1": { + "encodedCode": "\\e388", + "prefix": "icon", + "className": "icon-heading-1", + "unicode": "" + }, + "heading-2": { + "encodedCode": "\\e389", + "prefix": "icon", + "className": "icon-heading-2", + "unicode": "" + }, + "heading-3": { + "encodedCode": "\\e38a", + "prefix": "icon", + "className": "icon-heading-3", + "unicode": "" + }, + "heading-4": { + "encodedCode": "\\e38b", + "prefix": "icon", + "className": "icon-heading-4", + "unicode": "" + }, + "heading-5": { + "encodedCode": "\\e38c", + "prefix": "icon", + "className": "icon-heading-5", + "unicode": "" + }, + "heading-6": { + "encodedCode": "\\e38d", + "prefix": "icon", + "className": "icon-heading-6", + "unicode": "" + }, + "heading": { + "encodedCode": "\\e387", + "prefix": "icon", + "className": "icon-heading", + "unicode": "" + }, + "headphone-off": { + "encodedCode": "\\e62d", + "prefix": "icon", + "className": "icon-headphone-off", + "unicode": "" + }, + "headphones": { + "encodedCode": "\\e0f4", + "prefix": "icon", + "className": "icon-headphones", + "unicode": "" + }, + "headset": { + "encodedCode": "\\e5c1", + "prefix": "icon", + "className": "icon-headset", + "unicode": "" + }, + "heart-crack": { + "encodedCode": "\\e2d5", + "prefix": "icon", + "className": "icon-heart-crack", + "unicode": "" + }, + "heart-handshake": { + "encodedCode": "\\e2d6", + "prefix": "icon", + "className": "icon-heart-handshake", + "unicode": "" + }, + "heart-off": { + "encodedCode": "\\e294", + "prefix": "icon", + "className": "icon-heart-off", + "unicode": "" + }, + "heart-pulse": { + "encodedCode": "\\e371", + "prefix": "icon", + "className": "icon-heart-pulse", + "unicode": "" + }, + "heart": { + "encodedCode": "\\e0f5", + "prefix": "icon", + "className": "icon-heart", + "unicode": "" + }, + "heater": { + "encodedCode": "\\e592", + "prefix": "icon", + "className": "icon-heater", + "unicode": "" + }, + "hexagon": { + "encodedCode": "\\e0f6", + "prefix": "icon", + "className": "icon-hexagon", + "unicode": "" + }, + "highlighter": { + "encodedCode": "\\e0f7", + "prefix": "icon", + "className": "icon-highlighter", + "unicode": "" + }, + "history": { + "encodedCode": "\\e1f4", + "prefix": "icon", + "className": "icon-history", + "unicode": "" + }, + "hop-off": { + "encodedCode": "\\e39b", + "prefix": "icon", + "className": "icon-hop-off", + "unicode": "" + }, + "hop": { + "encodedCode": "\\e39a", + "prefix": "icon", + "className": "icon-hop", + "unicode": "" + }, + "hospital": { + "encodedCode": "\\e5dc", + "prefix": "icon", + "className": "icon-hospital", + "unicode": "" + }, + "hotel": { + "encodedCode": "\\e3e5", + "prefix": "icon", + "className": "icon-hotel", + "unicode": "" + }, + "hourglass": { + "encodedCode": "\\e295", + "prefix": "icon", + "className": "icon-hourglass", + "unicode": "" + }, + "house-plug": { + "encodedCode": "\\e5f4", + "prefix": "icon", + "className": "icon-house-plug", + "unicode": "" + }, + "house-plus": { + "encodedCode": "\\e5f5", + "prefix": "icon", + "className": "icon-house-plus", + "unicode": "" + }, + "house-wifi": { + "encodedCode": "\\e640", + "prefix": "icon", + "className": "icon-house-wifi", + "unicode": "" + }, + "house": { + "encodedCode": "\\e0f8", + "prefix": "icon", + "className": "icon-house", + "unicode": "" + }, + "ice-cream-bowl": { + "encodedCode": "\\e3aa", + "prefix": "icon", + "className": "icon-ice-cream-bowl", + "unicode": "" + }, + "ice-cream-cone": { + "encodedCode": "\\e356", + "prefix": "icon", + "className": "icon-ice-cream-cone", + "unicode": "" + }, + "id-card": { + "encodedCode": "\\e61b", + "prefix": "icon", + "className": "icon-id-card", + "unicode": "" + }, + "image-down": { + "encodedCode": "\\e540", + "prefix": "icon", + "className": "icon-image-down", + "unicode": "" + }, + "image-minus": { + "encodedCode": "\\e1f5", + "prefix": "icon", + "className": "icon-image-minus", + "unicode": "" + }, + "image-off": { + "encodedCode": "\\e1bf", + "prefix": "icon", + "className": "icon-image-off", + "unicode": "" + }, + "image-play": { + "encodedCode": "\\e5e3", + "prefix": "icon", + "className": "icon-image-play", + "unicode": "" + }, + "image-plus": { + "encodedCode": "\\e1f6", + "prefix": "icon", + "className": "icon-image-plus", + "unicode": "" + }, + "image-up": { + "encodedCode": "\\e5cf", + "prefix": "icon", + "className": "icon-image-up", + "unicode": "" + }, + "image-upscale": { + "encodedCode": "\\e63b", + "prefix": "icon", + "className": "icon-image-upscale", + "unicode": "" + }, + "image": { + "encodedCode": "\\e0f9", + "prefix": "icon", + "className": "icon-image", + "unicode": "" + }, + "images": { + "encodedCode": "\\e5c8", + "prefix": "icon", + "className": "icon-images", + "unicode": "" + }, + "import": { + "encodedCode": "\\e22e", + "prefix": "icon", + "className": "icon-import", + "unicode": "" + }, + "inbox": { + "encodedCode": "\\e0fa", + "prefix": "icon", + "className": "icon-inbox", + "unicode": "" + }, + "indent-decrease": { + "encodedCode": "\\e0fb", + "prefix": "icon", + "className": "icon-indent-decrease", + "unicode": "" + }, + "indent-increase": { + "encodedCode": "\\e0fc", + "prefix": "icon", + "className": "icon-indent-increase", + "unicode": "" + }, + "indian-rupee": { + "encodedCode": "\\e0fd", + "prefix": "icon", + "className": "icon-indian-rupee", + "unicode": "" + }, + "infinity": { + "encodedCode": "\\e1e6", + "prefix": "icon", + "className": "icon-infinity", + "unicode": "" + }, + "info": { + "encodedCode": "\\e0fe", + "prefix": "icon", + "className": "icon-info", + "unicode": "" + }, + "inspection-panel": { + "encodedCode": "\\e587", + "prefix": "icon", + "className": "icon-inspection-panel", + "unicode": "" + }, + "instagram": { + "encodedCode": "\\e0ff", + "prefix": "icon", + "className": "icon-instagram", + "unicode": "" + }, + "italic": { + "encodedCode": "\\e100", + "prefix": "icon", + "className": "icon-italic", + "unicode": "" + }, + "iteration-ccw": { + "encodedCode": "\\e427", + "prefix": "icon", + "className": "icon-iteration-ccw", + "unicode": "" + }, + "iteration-cw": { + "encodedCode": "\\e428", + "prefix": "icon", + "className": "icon-iteration-cw", + "unicode": "" + }, + "japanese-yen": { + "encodedCode": "\\e101", + "prefix": "icon", + "className": "icon-japanese-yen", + "unicode": "" + }, + "joystick": { + "encodedCode": "\\e358", + "prefix": "icon", + "className": "icon-joystick", + "unicode": "" + }, + "kanban": { + "encodedCode": "\\e4e0", + "prefix": "icon", + "className": "icon-kanban", + "unicode": "" + }, + "key-round": { + "encodedCode": "\\e4a7", + "prefix": "icon", + "className": "icon-key-round", + "unicode": "" + }, + "key-square": { + "encodedCode": "\\e4a8", + "prefix": "icon", + "className": "icon-key-square", + "unicode": "" + }, + "key": { + "encodedCode": "\\e102", + "prefix": "icon", + "className": "icon-key", + "unicode": "" + }, + "keyboard-music": { + "encodedCode": "\\e564", + "prefix": "icon", + "className": "icon-keyboard-music", + "unicode": "" + }, + "keyboard-off": { + "encodedCode": "\\e5e2", + "prefix": "icon", + "className": "icon-keyboard-off", + "unicode": "" + }, + "keyboard": { + "encodedCode": "\\e283", + "prefix": "icon", + "className": "icon-keyboard", + "unicode": "" + }, + "lamp-ceiling": { + "encodedCode": "\\e2d8", + "prefix": "icon", + "className": "icon-lamp-ceiling", + "unicode": "" + }, + "lamp-desk": { + "encodedCode": "\\e2d9", + "prefix": "icon", + "className": "icon-lamp-desk", + "unicode": "" + }, + "lamp-floor": { + "encodedCode": "\\e2da", + "prefix": "icon", + "className": "icon-lamp-floor", + "unicode": "" + }, + "lamp-wall-down": { + "encodedCode": "\\e2db", + "prefix": "icon", + "className": "icon-lamp-wall-down", + "unicode": "" + }, + "lamp-wall-up": { + "encodedCode": "\\e2dc", + "prefix": "icon", + "className": "icon-lamp-wall-up", + "unicode": "" + }, + "lamp": { + "encodedCode": "\\e2d7", + "prefix": "icon", + "className": "icon-lamp", + "unicode": "" + }, + "land-plot": { + "encodedCode": "\\e52c", + "prefix": "icon", + "className": "icon-land-plot", + "unicode": "" + }, + "landmark": { + "encodedCode": "\\e239", + "prefix": "icon", + "className": "icon-landmark", + "unicode": "" + }, + "languages": { + "encodedCode": "\\e103", + "prefix": "icon", + "className": "icon-languages", + "unicode": "" + }, + "laptop-minimal-check": { + "encodedCode": "\\e636", + "prefix": "icon", + "className": "icon-laptop-minimal-check", + "unicode": "" + }, + "laptop-minimal": { + "encodedCode": "\\e1d7", + "prefix": "icon", + "className": "icon-laptop-minimal", + "unicode": "" + }, + "laptop": { + "encodedCode": "\\e1cc", + "prefix": "icon", + "className": "icon-laptop", + "unicode": "" + }, + "lasso-select": { + "encodedCode": "\\e1ce", + "prefix": "icon", + "className": "icon-lasso-select", + "unicode": "" + }, + "lasso": { + "encodedCode": "\\e1cd", + "prefix": "icon", + "className": "icon-lasso", + "unicode": "" + }, + "laugh": { + "encodedCode": "\\e2ff", + "prefix": "icon", + "className": "icon-laugh", + "unicode": "" + }, + "layers-2": { + "encodedCode": "\\e52e", + "prefix": "icon", + "className": "icon-layers-2", + "unicode": "" + }, + "layers": { + "encodedCode": "\\e52d", + "prefix": "icon", + "className": "icon-layers", + "unicode": "" + }, + "layout-dashboard": { + "encodedCode": "\\e1c0", + "prefix": "icon", + "className": "icon-layout-dashboard", + "unicode": "" + }, + "layout-grid": { + "encodedCode": "\\e104", + "prefix": "icon", + "className": "icon-layout-grid", + "unicode": "" + }, + "layout-list": { + "encodedCode": "\\e1d8", + "prefix": "icon", + "className": "icon-layout-list", + "unicode": "" + }, + "layout-panel-left": { + "encodedCode": "\\e474", + "prefix": "icon", + "className": "icon-layout-panel-left", + "unicode": "" + }, + "layout-panel-top": { + "encodedCode": "\\e475", + "prefix": "icon", + "className": "icon-layout-panel-top", + "unicode": "" + }, + "layout-template": { + "encodedCode": "\\e206", + "prefix": "icon", + "className": "icon-layout-template", + "unicode": "" + }, + "leaf": { + "encodedCode": "\\e2dd", + "prefix": "icon", + "className": "icon-leaf", + "unicode": "" + }, + "leafy-green": { + "encodedCode": "\\e473", + "prefix": "icon", + "className": "icon-leafy-green", + "unicode": "" + }, + "lectern": { + "encodedCode": "\\e5ed", + "prefix": "icon", + "className": "icon-lectern", + "unicode": "" + }, + "letter-text": { + "encodedCode": "\\e609", + "prefix": "icon", + "className": "icon-letter-text", + "unicode": "" + }, + "library-big": { + "encodedCode": "\\e552", + "prefix": "icon", + "className": "icon-library-big", + "unicode": "" + }, + "library": { + "encodedCode": "\\e105", + "prefix": "icon", + "className": "icon-library", + "unicode": "" + }, + "life-buoy": { + "encodedCode": "\\e106", + "prefix": "icon", + "className": "icon-life-buoy", + "unicode": "" + }, + "ligature": { + "encodedCode": "\\e43e", + "prefix": "icon", + "className": "icon-ligature", + "unicode": "" + }, + "lightbulb-off": { + "encodedCode": "\\e207", + "prefix": "icon", + "className": "icon-lightbulb-off", + "unicode": "" + }, + "lightbulb": { + "encodedCode": "\\e1c1", + "prefix": "icon", + "className": "icon-lightbulb", + "unicode": "" + }, + "link-2-off": { + "encodedCode": "\\e109", + "prefix": "icon", + "className": "icon-link-2-off", + "unicode": "" + }, + "link-2": { + "encodedCode": "\\e108", + "prefix": "icon", + "className": "icon-link-2", + "unicode": "" + }, + "link": { + "encodedCode": "\\e107", + "prefix": "icon", + "className": "icon-link", + "unicode": "" + }, + "linkedin": { + "encodedCode": "\\e10a", + "prefix": "icon", + "className": "icon-linkedin", + "unicode": "" + }, + "list-check": { + "encodedCode": "\\e5fe", + "prefix": "icon", + "className": "icon-list-check", + "unicode": "" + }, + "list-checks": { + "encodedCode": "\\e1cf", + "prefix": "icon", + "className": "icon-list-checks", + "unicode": "" + }, + "list-collapse": { + "encodedCode": "\\e59f", + "prefix": "icon", + "className": "icon-list-collapse", + "unicode": "" + }, + "list-end": { + "encodedCode": "\\e2de", + "prefix": "icon", + "className": "icon-list-end", + "unicode": "" + }, + "list-filter-plus": { + "encodedCode": "\\e63d", + "prefix": "icon", + "className": "icon-list-filter-plus", + "unicode": "" + }, + "list-filter": { + "encodedCode": "\\e464", + "prefix": "icon", + "className": "icon-list-filter", + "unicode": "" + }, + "list-minus": { + "encodedCode": "\\e23d", + "prefix": "icon", + "className": "icon-list-minus", + "unicode": "" + }, + "list-music": { + "encodedCode": "\\e2df", + "prefix": "icon", + "className": "icon-list-music", + "unicode": "" + }, + "list-ordered": { + "encodedCode": "\\e1d0", + "prefix": "icon", + "className": "icon-list-ordered", + "unicode": "" + }, + "list-plus": { + "encodedCode": "\\e23e", + "prefix": "icon", + "className": "icon-list-plus", + "unicode": "" + }, + "list-restart": { + "encodedCode": "\\e456", + "prefix": "icon", + "className": "icon-list-restart", + "unicode": "" + }, + "list-start": { + "encodedCode": "\\e2e0", + "prefix": "icon", + "className": "icon-list-start", + "unicode": "" + }, + "list-todo": { + "encodedCode": "\\e4c7", + "prefix": "icon", + "className": "icon-list-todo", + "unicode": "" + }, + "list-tree": { + "encodedCode": "\\e40c", + "prefix": "icon", + "className": "icon-list-tree", + "unicode": "" + }, + "list-video": { + "encodedCode": "\\e2e1", + "prefix": "icon", + "className": "icon-list-video", + "unicode": "" + }, + "list-x": { + "encodedCode": "\\e23f", + "prefix": "icon", + "className": "icon-list-x", + "unicode": "" + }, + "list": { + "encodedCode": "\\e10b", + "prefix": "icon", + "className": "icon-list", + "unicode": "" + }, + "loader-circle": { + "encodedCode": "\\e10d", + "prefix": "icon", + "className": "icon-loader-circle", + "unicode": "" + }, + "loader-pinwheel": { + "encodedCode": "\\e5ea", + "prefix": "icon", + "className": "icon-loader-pinwheel", + "unicode": "" + }, + "loader": { + "encodedCode": "\\e10c", + "prefix": "icon", + "className": "icon-loader", + "unicode": "" + }, + "locate-fixed": { + "encodedCode": "\\e1da", + "prefix": "icon", + "className": "icon-locate-fixed", + "unicode": "" + }, + "locate-off": { + "encodedCode": "\\e281", + "prefix": "icon", + "className": "icon-locate-off", + "unicode": "" + }, + "locate": { + "encodedCode": "\\e1d9", + "prefix": "icon", + "className": "icon-locate", + "unicode": "" + }, + "lock-keyhole-open": { + "encodedCode": "\\e536", + "prefix": "icon", + "className": "icon-lock-keyhole-open", + "unicode": "" + }, + "lock-keyhole": { + "encodedCode": "\\e535", + "prefix": "icon", + "className": "icon-lock-keyhole", + "unicode": "" + }, + "lock-open": { + "encodedCode": "\\e10f", + "prefix": "icon", + "className": "icon-lock-open", + "unicode": "" + }, + "lock": { + "encodedCode": "\\e10e", + "prefix": "icon", + "className": "icon-lock", + "unicode": "" + }, + "log-in": { + "encodedCode": "\\e110", + "prefix": "icon", + "className": "icon-log-in", + "unicode": "" + }, + "log-out": { + "encodedCode": "\\e111", + "prefix": "icon", + "className": "icon-log-out", + "unicode": "" + }, + "logs": { + "encodedCode": "\\e5f8", + "prefix": "icon", + "className": "icon-logs", + "unicode": "" + }, + "lollipop": { + "encodedCode": "\\e4c1", + "prefix": "icon", + "className": "icon-lollipop", + "unicode": "" + }, + "luggage": { + "encodedCode": "\\e2c9", + "prefix": "icon", + "className": "icon-luggage", + "unicode": "" + }, + "magnet": { + "encodedCode": "\\e2b4", + "prefix": "icon", + "className": "icon-magnet", + "unicode": "" + }, + "mail-check": { + "encodedCode": "\\e364", + "prefix": "icon", + "className": "icon-mail-check", + "unicode": "" + }, + "mail-minus": { + "encodedCode": "\\e365", + "prefix": "icon", + "className": "icon-mail-minus", + "unicode": "" + }, + "mail-open": { + "encodedCode": "\\e366", + "prefix": "icon", + "className": "icon-mail-open", + "unicode": "" + }, + "mail-plus": { + "encodedCode": "\\e367", + "prefix": "icon", + "className": "icon-mail-plus", + "unicode": "" + }, + "mail-question": { + "encodedCode": "\\e368", + "prefix": "icon", + "className": "icon-mail-question", + "unicode": "" + }, + "mail-search": { + "encodedCode": "\\e369", + "prefix": "icon", + "className": "icon-mail-search", + "unicode": "" + }, + "mail-warning": { + "encodedCode": "\\e36a", + "prefix": "icon", + "className": "icon-mail-warning", + "unicode": "" + }, + "mail-x": { + "encodedCode": "\\e36b", + "prefix": "icon", + "className": "icon-mail-x", + "unicode": "" + }, + "mail": { + "encodedCode": "\\e112", + "prefix": "icon", + "className": "icon-mail", + "unicode": "" + }, + "mailbox": { + "encodedCode": "\\e3d7", + "prefix": "icon", + "className": "icon-mailbox", + "unicode": "" + }, + "mails": { + "encodedCode": "\\e36c", + "prefix": "icon", + "className": "icon-mails", + "unicode": "" + }, + "map-pin-check-inside": { + "encodedCode": "\\e614", + "prefix": "icon", + "className": "icon-map-pin-check-inside", + "unicode": "" + }, + "map-pin-check": { + "encodedCode": "\\e613", + "prefix": "icon", + "className": "icon-map-pin-check", + "unicode": "" + }, + "map-pin-house": { + "encodedCode": "\\e620", + "prefix": "icon", + "className": "icon-map-pin-house", + "unicode": "" + }, + "map-pin-minus-inside": { + "encodedCode": "\\e616", + "prefix": "icon", + "className": "icon-map-pin-minus-inside", + "unicode": "" + }, + "map-pin-minus": { + "encodedCode": "\\e615", + "prefix": "icon", + "className": "icon-map-pin-minus", + "unicode": "" + }, + "map-pin-off": { + "encodedCode": "\\e2a5", + "prefix": "icon", + "className": "icon-map-pin-off", + "unicode": "" + }, + "map-pin-plus-inside": { + "encodedCode": "\\e618", + "prefix": "icon", + "className": "icon-map-pin-plus-inside", + "unicode": "" + }, + "map-pin-plus": { + "encodedCode": "\\e617", + "prefix": "icon", + "className": "icon-map-pin-plus", + "unicode": "" + }, + "map-pin-x-inside": { + "encodedCode": "\\e61a", + "prefix": "icon", + "className": "icon-map-pin-x-inside", + "unicode": "" + }, + "map-pin-x": { + "encodedCode": "\\e619", + "prefix": "icon", + "className": "icon-map-pin-x", + "unicode": "" + }, + "map-pin": { + "encodedCode": "\\e114", + "prefix": "icon", + "className": "icon-map-pin", + "unicode": "" + }, + "map-pinned": { + "encodedCode": "\\e541", + "prefix": "icon", + "className": "icon-map-pinned", + "unicode": "" + }, + "map-plus": { + "encodedCode": "\\e643", + "prefix": "icon", + "className": "icon-map-plus", + "unicode": "" + }, + "map": { + "encodedCode": "\\e113", + "prefix": "icon", + "className": "icon-map", + "unicode": "" + }, + "mars-stroke": { + "encodedCode": "\\e646", + "prefix": "icon", + "className": "icon-mars-stroke", + "unicode": "" + }, + "mars": { + "encodedCode": "\\e645", + "prefix": "icon", + "className": "icon-mars", + "unicode": "" + }, + "martini": { + "encodedCode": "\\e2e2", + "prefix": "icon", + "className": "icon-martini", + "unicode": "" + }, + "maximize-2": { + "encodedCode": "\\e116", + "prefix": "icon", + "className": "icon-maximize-2", + "unicode": "" + }, + "maximize": { + "encodedCode": "\\e115", + "prefix": "icon", + "className": "icon-maximize", + "unicode": "" + }, + "medal": { + "encodedCode": "\\e372", + "prefix": "icon", + "className": "icon-medal", + "unicode": "" + }, + "megaphone-off": { + "encodedCode": "\\e373", + "prefix": "icon", + "className": "icon-megaphone-off", + "unicode": "" + }, + "megaphone": { + "encodedCode": "\\e234", + "prefix": "icon", + "className": "icon-megaphone", + "unicode": "" + }, + "meh": { + "encodedCode": "\\e117", + "prefix": "icon", + "className": "icon-meh", + "unicode": "" + }, + "memory-stick": { + "encodedCode": "\\e449", + "prefix": "icon", + "className": "icon-memory-stick", + "unicode": "" + }, + "menu": { + "encodedCode": "\\e118", + "prefix": "icon", + "className": "icon-menu", + "unicode": "" + }, + "merge": { + "encodedCode": "\\e443", + "prefix": "icon", + "className": "icon-merge", + "unicode": "" + }, + "message-circle-code": { + "encodedCode": "\\e566", + "prefix": "icon", + "className": "icon-message-circle-code", + "unicode": "" + }, + "message-circle-dashed": { + "encodedCode": "\\e567", + "prefix": "icon", + "className": "icon-message-circle-dashed", + "unicode": "" + }, + "message-circle-heart": { + "encodedCode": "\\e568", + "prefix": "icon", + "className": "icon-message-circle-heart", + "unicode": "" + }, + "message-circle-more": { + "encodedCode": "\\e569", + "prefix": "icon", + "className": "icon-message-circle-more", + "unicode": "" + }, + "message-circle-off": { + "encodedCode": "\\e56a", + "prefix": "icon", + "className": "icon-message-circle-off", + "unicode": "" + }, + "message-circle-plus": { + "encodedCode": "\\e56b", + "prefix": "icon", + "className": "icon-message-circle-plus", + "unicode": "" + }, + "message-circle-question": { + "encodedCode": "\\e56c", + "prefix": "icon", + "className": "icon-message-circle-question", + "unicode": "" + }, + "message-circle-reply": { + "encodedCode": "\\e56d", + "prefix": "icon", + "className": "icon-message-circle-reply", + "unicode": "" + }, + "message-circle-warning": { + "encodedCode": "\\e56e", + "prefix": "icon", + "className": "icon-message-circle-warning", + "unicode": "" + }, + "message-circle-x": { + "encodedCode": "\\e56f", + "prefix": "icon", + "className": "icon-message-circle-x", + "unicode": "" + }, + "message-circle": { + "encodedCode": "\\e119", + "prefix": "icon", + "className": "icon-message-circle", + "unicode": "" + }, + "message-square-code": { + "encodedCode": "\\e570", + "prefix": "icon", + "className": "icon-message-square-code", + "unicode": "" + }, + "message-square-dashed": { + "encodedCode": "\\e40f", + "prefix": "icon", + "className": "icon-message-square-dashed", + "unicode": "" + }, + "message-square-diff": { + "encodedCode": "\\e571", + "prefix": "icon", + "className": "icon-message-square-diff", + "unicode": "" + }, + "message-square-dot": { + "encodedCode": "\\e572", + "prefix": "icon", + "className": "icon-message-square-dot", + "unicode": "" + }, + "message-square-heart": { + "encodedCode": "\\e573", + "prefix": "icon", + "className": "icon-message-square-heart", + "unicode": "" + }, + "message-square-lock": { + "encodedCode": "\\e630", + "prefix": "icon", + "className": "icon-message-square-lock", + "unicode": "" + }, + "message-square-more": { + "encodedCode": "\\e574", + "prefix": "icon", + "className": "icon-message-square-more", + "unicode": "" + }, + "message-square-off": { + "encodedCode": "\\e575", + "prefix": "icon", + "className": "icon-message-square-off", + "unicode": "" + }, + "message-square-plus": { + "encodedCode": "\\e410", + "prefix": "icon", + "className": "icon-message-square-plus", + "unicode": "" + }, + "message-square-quote": { + "encodedCode": "\\e576", + "prefix": "icon", + "className": "icon-message-square-quote", + "unicode": "" + }, + "message-square-reply": { + "encodedCode": "\\e577", + "prefix": "icon", + "className": "icon-message-square-reply", + "unicode": "" + }, + "message-square-share": { + "encodedCode": "\\e578", + "prefix": "icon", + "className": "icon-message-square-share", + "unicode": "" + }, + "message-square-text": { + "encodedCode": "\\e579", + "prefix": "icon", + "className": "icon-message-square-text", + "unicode": "" + }, + "message-square-warning": { + "encodedCode": "\\e57a", + "prefix": "icon", + "className": "icon-message-square-warning", + "unicode": "" + }, + "message-square-x": { + "encodedCode": "\\e57b", + "prefix": "icon", + "className": "icon-message-square-x", + "unicode": "" + }, + "message-square": { + "encodedCode": "\\e11a", + "prefix": "icon", + "className": "icon-message-square", + "unicode": "" + }, + "messages-square": { + "encodedCode": "\\e411", + "prefix": "icon", + "className": "icon-messages-square", + "unicode": "" + }, + "mic-off": { + "encodedCode": "\\e11c", + "prefix": "icon", + "className": "icon-mic-off", + "unicode": "" + }, + "mic-vocal": { + "encodedCode": "\\e34c", + "prefix": "icon", + "className": "icon-mic-vocal", + "unicode": "" + }, + "mic": { + "encodedCode": "\\e11b", + "prefix": "icon", + "className": "icon-mic", + "unicode": "" + }, + "microchip": { + "encodedCode": "\\e61e", + "prefix": "icon", + "className": "icon-microchip", + "unicode": "" + }, + "microscope": { + "encodedCode": "\\e2e3", + "prefix": "icon", + "className": "icon-microscope", + "unicode": "" + }, + "microwave": { + "encodedCode": "\\e37d", + "prefix": "icon", + "className": "icon-microwave", + "unicode": "" + }, + "milestone": { + "encodedCode": "\\e297", + "prefix": "icon", + "className": "icon-milestone", + "unicode": "" + }, + "milk-off": { + "encodedCode": "\\e39d", + "prefix": "icon", + "className": "icon-milk-off", + "unicode": "" + }, + "milk": { + "encodedCode": "\\e39c", + "prefix": "icon", + "className": "icon-milk", + "unicode": "" + }, + "minimize-2": { + "encodedCode": "\\e11e", + "prefix": "icon", + "className": "icon-minimize-2", + "unicode": "" + }, + "minimize": { + "encodedCode": "\\e11d", + "prefix": "icon", + "className": "icon-minimize", + "unicode": "" + }, + "minus": { + "encodedCode": "\\e11f", + "prefix": "icon", + "className": "icon-minus", + "unicode": "" + }, + "monitor-check": { + "encodedCode": "\\e486", + "prefix": "icon", + "className": "icon-monitor-check", + "unicode": "" + }, + "monitor-cog": { + "encodedCode": "\\e607", + "prefix": "icon", + "className": "icon-monitor-cog", + "unicode": "" + }, + "monitor-dot": { + "encodedCode": "\\e487", + "prefix": "icon", + "className": "icon-monitor-dot", + "unicode": "" + }, + "monitor-down": { + "encodedCode": "\\e425", + "prefix": "icon", + "className": "icon-monitor-down", + "unicode": "" + }, + "monitor-off": { + "encodedCode": "\\e1db", + "prefix": "icon", + "className": "icon-monitor-off", + "unicode": "" + }, + "monitor-pause": { + "encodedCode": "\\e488", + "prefix": "icon", + "className": "icon-monitor-pause", + "unicode": "" + }, + "monitor-play": { + "encodedCode": "\\e489", + "prefix": "icon", + "className": "icon-monitor-play", + "unicode": "" + }, + "monitor-smartphone": { + "encodedCode": "\\e3a5", + "prefix": "icon", + "className": "icon-monitor-smartphone", + "unicode": "" + }, + "monitor-speaker": { + "encodedCode": "\\e20f", + "prefix": "icon", + "className": "icon-monitor-speaker", + "unicode": "" + }, + "monitor-stop": { + "encodedCode": "\\e48a", + "prefix": "icon", + "className": "icon-monitor-stop", + "unicode": "" + }, + "monitor-up": { + "encodedCode": "\\e426", + "prefix": "icon", + "className": "icon-monitor-up", + "unicode": "" + }, + "monitor-x": { + "encodedCode": "\\e48b", + "prefix": "icon", + "className": "icon-monitor-x", + "unicode": "" + }, + "monitor": { + "encodedCode": "\\e120", + "prefix": "icon", + "className": "icon-monitor", + "unicode": "" + }, + "moon-star": { + "encodedCode": "\\e414", + "prefix": "icon", + "className": "icon-moon-star", + "unicode": "" + }, + "moon": { + "encodedCode": "\\e121", + "prefix": "icon", + "className": "icon-moon", + "unicode": "" + }, + "mountain-snow": { + "encodedCode": "\\e231", + "prefix": "icon", + "className": "icon-mountain-snow", + "unicode": "" + }, + "mountain": { + "encodedCode": "\\e230", + "prefix": "icon", + "className": "icon-mountain", + "unicode": "" + }, + "mouse-off": { + "encodedCode": "\\e5df", + "prefix": "icon", + "className": "icon-mouse-off", + "unicode": "" + }, + "mouse-pointer-2": { + "encodedCode": "\\e1c2", + "prefix": "icon", + "className": "icon-mouse-pointer-2", + "unicode": "" + }, + "mouse-pointer-ban": { + "encodedCode": "\\e5eb", + "prefix": "icon", + "className": "icon-mouse-pointer-ban", + "unicode": "" + }, + "mouse-pointer-click": { + "encodedCode": "\\e123", + "prefix": "icon", + "className": "icon-mouse-pointer-click", + "unicode": "" + }, + "mouse-pointer": { + "encodedCode": "\\e122", + "prefix": "icon", + "className": "icon-mouse-pointer", + "unicode": "" + }, + "mouse": { + "encodedCode": "\\e28d", + "prefix": "icon", + "className": "icon-mouse", + "unicode": "" + }, + "move-3d": { + "encodedCode": "\\e2e4", + "prefix": "icon", + "className": "icon-move-3d", + "unicode": "" + }, + "move-diagonal-2": { + "encodedCode": "\\e1c4", + "prefix": "icon", + "className": "icon-move-diagonal-2", + "unicode": "" + }, + "move-diagonal": { + "encodedCode": "\\e1c3", + "prefix": "icon", + "className": "icon-move-diagonal", + "unicode": "" + }, + "move-down-left": { + "encodedCode": "\\e491", + "prefix": "icon", + "className": "icon-move-down-left", + "unicode": "" + }, + "move-down-right": { + "encodedCode": "\\e492", + "prefix": "icon", + "className": "icon-move-down-right", + "unicode": "" + }, + "move-down": { + "encodedCode": "\\e490", + "prefix": "icon", + "className": "icon-move-down", + "unicode": "" + }, + "move-horizontal": { + "encodedCode": "\\e1c5", + "prefix": "icon", + "className": "icon-move-horizontal", + "unicode": "" + }, + "move-left": { + "encodedCode": "\\e493", + "prefix": "icon", + "className": "icon-move-left", + "unicode": "" + }, + "move-right": { + "encodedCode": "\\e494", + "prefix": "icon", + "className": "icon-move-right", + "unicode": "" + }, + "move-up-left": { + "encodedCode": "\\e496", + "prefix": "icon", + "className": "icon-move-up-left", + "unicode": "" + }, + "move-up-right": { + "encodedCode": "\\e497", + "prefix": "icon", + "className": "icon-move-up-right", + "unicode": "" + }, + "move-up": { + "encodedCode": "\\e495", + "prefix": "icon", + "className": "icon-move-up", + "unicode": "" + }, + "move-vertical": { + "encodedCode": "\\e1c6", + "prefix": "icon", + "className": "icon-move-vertical", + "unicode": "" + }, + "move": { + "encodedCode": "\\e124", + "prefix": "icon", + "className": "icon-move", + "unicode": "" + }, + "music-2": { + "encodedCode": "\\e34d", + "prefix": "icon", + "className": "icon-music-2", + "unicode": "" + }, + "music-3": { + "encodedCode": "\\e34e", + "prefix": "icon", + "className": "icon-music-3", + "unicode": "" + }, + "music-4": { + "encodedCode": "\\e34f", + "prefix": "icon", + "className": "icon-music-4", + "unicode": "" + }, + "music": { + "encodedCode": "\\e125", + "prefix": "icon", + "className": "icon-music", + "unicode": "" + }, + "navigation-2-off": { + "encodedCode": "\\e2a6", + "prefix": "icon", + "className": "icon-navigation-2-off", + "unicode": "" + }, + "navigation-2": { + "encodedCode": "\\e127", + "prefix": "icon", + "className": "icon-navigation-2", + "unicode": "" + }, + "navigation-off": { + "encodedCode": "\\e2a7", + "prefix": "icon", + "className": "icon-navigation-off", + "unicode": "" + }, + "navigation": { + "encodedCode": "\\e126", + "prefix": "icon", + "className": "icon-navigation", + "unicode": "" + }, + "network": { + "encodedCode": "\\e128", + "prefix": "icon", + "className": "icon-network", + "unicode": "" + }, + "newspaper": { + "encodedCode": "\\e34b", + "prefix": "icon", + "className": "icon-newspaper", + "unicode": "" + }, + "nfc": { + "encodedCode": "\\e3c6", + "prefix": "icon", + "className": "icon-nfc", + "unicode": "" + }, + "non-binary": { + "encodedCode": "\\e647", + "prefix": "icon", + "className": "icon-non-binary", + "unicode": "" + }, + "notebook-pen": { + "encodedCode": "\\e59a", + "prefix": "icon", + "className": "icon-notebook-pen", + "unicode": "" + }, + "notebook-tabs": { + "encodedCode": "\\e59b", + "prefix": "icon", + "className": "icon-notebook-tabs", + "unicode": "" + }, + "notebook-text": { + "encodedCode": "\\e59c", + "prefix": "icon", + "className": "icon-notebook-text", + "unicode": "" + }, + "notebook": { + "encodedCode": "\\e599", + "prefix": "icon", + "className": "icon-notebook", + "unicode": "" + }, + "notepad-text-dashed": { + "encodedCode": "\\e59e", + "prefix": "icon", + "className": "icon-notepad-text-dashed", + "unicode": "" + }, + "notepad-text": { + "encodedCode": "\\e59d", + "prefix": "icon", + "className": "icon-notepad-text", + "unicode": "" + }, + "nut-off": { + "encodedCode": "\\e39f", + "prefix": "icon", + "className": "icon-nut-off", + "unicode": "" + }, + "nut": { + "encodedCode": "\\e39e", + "prefix": "icon", + "className": "icon-nut", + "unicode": "" + }, + "octagon-alert": { + "encodedCode": "\\e12a", + "prefix": "icon", + "className": "icon-octagon-alert", + "unicode": "" + }, + "octagon-minus": { + "encodedCode": "\\e62b", + "prefix": "icon", + "className": "icon-octagon-minus", + "unicode": "" + }, + "octagon-pause": { + "encodedCode": "\\e21a", + "prefix": "icon", + "className": "icon-octagon-pause", + "unicode": "" + }, + "octagon-x": { + "encodedCode": "\\e12b", + "prefix": "icon", + "className": "icon-octagon-x", + "unicode": "" + }, + "octagon": { + "encodedCode": "\\e129", + "prefix": "icon", + "className": "icon-octagon", + "unicode": "" + }, + "omega": { + "encodedCode": "\\e61d", + "prefix": "icon", + "className": "icon-omega", + "unicode": "" + }, + "option": { + "encodedCode": "\\e1f7", + "prefix": "icon", + "className": "icon-option", + "unicode": "" + }, + "orbit": { + "encodedCode": "\\e3ea", + "prefix": "icon", + "className": "icon-orbit", + "unicode": "" + }, + "origami": { + "encodedCode": "\\e5e7", + "prefix": "icon", + "className": "icon-origami", + "unicode": "" + }, + "package-2": { + "encodedCode": "\\e343", + "prefix": "icon", + "className": "icon-package-2", + "unicode": "" + }, + "package-check": { + "encodedCode": "\\e265", + "prefix": "icon", + "className": "icon-package-check", + "unicode": "" + }, + "package-minus": { + "encodedCode": "\\e266", + "prefix": "icon", + "className": "icon-package-minus", + "unicode": "" + }, + "package-open": { + "encodedCode": "\\e2cb", + "prefix": "icon", + "className": "icon-package-open", + "unicode": "" + }, + "package-plus": { + "encodedCode": "\\e267", + "prefix": "icon", + "className": "icon-package-plus", + "unicode": "" + }, + "package-search": { + "encodedCode": "\\e268", + "prefix": "icon", + "className": "icon-package-search", + "unicode": "" + }, + "package-x": { + "encodedCode": "\\e269", + "prefix": "icon", + "className": "icon-package-x", + "unicode": "" + }, + "package": { + "encodedCode": "\\e12c", + "prefix": "icon", + "className": "icon-package", + "unicode": "" + }, + "paint-bucket": { + "encodedCode": "\\e2e5", + "prefix": "icon", + "className": "icon-paint-bucket", + "unicode": "" + }, + "paint-roller": { + "encodedCode": "\\e5a2", + "prefix": "icon", + "className": "icon-paint-roller", + "unicode": "" + }, + "paintbrush-vertical": { + "encodedCode": "\\e2e7", + "prefix": "icon", + "className": "icon-paintbrush-vertical", + "unicode": "" + }, + "paintbrush": { + "encodedCode": "\\e2e6", + "prefix": "icon", + "className": "icon-paintbrush", + "unicode": "" + }, + "palette": { + "encodedCode": "\\e1dc", + "prefix": "icon", + "className": "icon-palette", + "unicode": "" + }, + "panel-bottom-close": { + "encodedCode": "\\e431", + "prefix": "icon", + "className": "icon-panel-bottom-close", + "unicode": "" + }, + "panel-bottom-dashed": { + "encodedCode": "\\e432", + "prefix": "icon", + "className": "icon-panel-bottom-dashed", + "unicode": "" + }, + "panel-bottom-open": { + "encodedCode": "\\e433", + "prefix": "icon", + "className": "icon-panel-bottom-open", + "unicode": "" + }, + "panel-bottom": { + "encodedCode": "\\e430", + "prefix": "icon", + "className": "icon-panel-bottom", + "unicode": "" + }, + "panel-left-close": { + "encodedCode": "\\e21b", + "prefix": "icon", + "className": "icon-panel-left-close", + "unicode": "" + }, + "panel-left-dashed": { + "encodedCode": "\\e434", + "prefix": "icon", + "className": "icon-panel-left-dashed", + "unicode": "" + }, + "panel-left-open": { + "encodedCode": "\\e21c", + "prefix": "icon", + "className": "icon-panel-left-open", + "unicode": "" + }, + "panel-left": { + "encodedCode": "\\e12d", + "prefix": "icon", + "className": "icon-panel-left", + "unicode": "" + }, + "panel-right-close": { + "encodedCode": "\\e436", + "prefix": "icon", + "className": "icon-panel-right-close", + "unicode": "" + }, + "panel-right-dashed": { + "encodedCode": "\\e437", + "prefix": "icon", + "className": "icon-panel-right-dashed", + "unicode": "" + }, + "panel-right-open": { + "encodedCode": "\\e438", + "prefix": "icon", + "className": "icon-panel-right-open", + "unicode": "" + }, + "panel-right": { + "encodedCode": "\\e435", + "prefix": "icon", + "className": "icon-panel-right", + "unicode": "" + }, + "panel-top-close": { + "encodedCode": "\\e43a", + "prefix": "icon", + "className": "icon-panel-top-close", + "unicode": "" + }, + "panel-top-dashed": { + "encodedCode": "\\e43b", + "prefix": "icon", + "className": "icon-panel-top-dashed", + "unicode": "" + }, + "panel-top-open": { + "encodedCode": "\\e43c", + "prefix": "icon", + "className": "icon-panel-top-open", + "unicode": "" + }, + "panel-top": { + "encodedCode": "\\e439", + "prefix": "icon", + "className": "icon-panel-top", + "unicode": "" + }, + "panels-left-bottom": { + "encodedCode": "\\e12e", + "prefix": "icon", + "className": "icon-panels-left-bottom", + "unicode": "" + }, + "panels-right-bottom": { + "encodedCode": "\\e58c", + "prefix": "icon", + "className": "icon-panels-right-bottom", + "unicode": "" + }, + "panels-top-left": { + "encodedCode": "\\e12f", + "prefix": "icon", + "className": "icon-panels-top-left", + "unicode": "" + }, + "paperclip": { + "encodedCode": "\\e130", + "prefix": "icon", + "className": "icon-paperclip", + "unicode": "" + }, + "parentheses": { + "encodedCode": "\\e448", + "prefix": "icon", + "className": "icon-parentheses", + "unicode": "" + }, + "parking-meter": { + "encodedCode": "\\e504", + "prefix": "icon", + "className": "icon-parking-meter", + "unicode": "" + }, + "party-popper": { + "encodedCode": "\\e346", + "prefix": "icon", + "className": "icon-party-popper", + "unicode": "" + }, + "pause": { + "encodedCode": "\\e131", + "prefix": "icon", + "className": "icon-pause", + "unicode": "" + }, + "paw-print": { + "encodedCode": "\\e4f9", + "prefix": "icon", + "className": "icon-paw-print", + "unicode": "" + }, + "pc-case": { + "encodedCode": "\\e44a", + "prefix": "icon", + "className": "icon-pc-case", + "unicode": "" + }, + "pen-line": { + "encodedCode": "\\e133", + "prefix": "icon", + "className": "icon-pen-line", + "unicode": "" + }, + "pen-off": { + "encodedCode": "\\e5f2", + "prefix": "icon", + "className": "icon-pen-off", + "unicode": "" + }, + "pen-tool": { + "encodedCode": "\\e134", + "prefix": "icon", + "className": "icon-pen-tool", + "unicode": "" + }, + "pen": { + "encodedCode": "\\e132", + "prefix": "icon", + "className": "icon-pen", + "unicode": "" + }, + "pencil-line": { + "encodedCode": "\\e4f4", + "prefix": "icon", + "className": "icon-pencil-line", + "unicode": "" + }, + "pencil-off": { + "encodedCode": "\\e5f3", + "prefix": "icon", + "className": "icon-pencil-off", + "unicode": "" + }, + "pencil-ruler": { + "encodedCode": "\\e4f5", + "prefix": "icon", + "className": "icon-pencil-ruler", + "unicode": "" + }, + "pencil": { + "encodedCode": "\\e1f8", + "prefix": "icon", + "className": "icon-pencil", + "unicode": "" + }, + "pentagon": { + "encodedCode": "\\e52f", + "prefix": "icon", + "className": "icon-pentagon", + "unicode": "" + }, + "percent": { + "encodedCode": "\\e135", + "prefix": "icon", + "className": "icon-percent", + "unicode": "" + }, + "person-standing": { + "encodedCode": "\\e21d", + "prefix": "icon", + "className": "icon-person-standing", + "unicode": "" + }, + "philippine-peso": { + "encodedCode": "\\e608", + "prefix": "icon", + "className": "icon-philippine-peso", + "unicode": "" + }, + "phone-call": { + "encodedCode": "\\e137", + "prefix": "icon", + "className": "icon-phone-call", + "unicode": "" + }, + "phone-forwarded": { + "encodedCode": "\\e138", + "prefix": "icon", + "className": "icon-phone-forwarded", + "unicode": "" + }, + "phone-incoming": { + "encodedCode": "\\e139", + "prefix": "icon", + "className": "icon-phone-incoming", + "unicode": "" + }, + "phone-missed": { + "encodedCode": "\\e13a", + "prefix": "icon", + "className": "icon-phone-missed", + "unicode": "" + }, + "phone-off": { + "encodedCode": "\\e13b", + "prefix": "icon", + "className": "icon-phone-off", + "unicode": "" + }, + "phone-outgoing": { + "encodedCode": "\\e13c", + "prefix": "icon", + "className": "icon-phone-outgoing", + "unicode": "" + }, + "phone": { + "encodedCode": "\\e136", + "prefix": "icon", + "className": "icon-phone", + "unicode": "" + }, + "pi": { + "encodedCode": "\\e476", + "prefix": "icon", + "className": "icon-pi", + "unicode": "" + }, + "piano": { + "encodedCode": "\\e565", + "prefix": "icon", + "className": "icon-piano", + "unicode": "" + }, + "pickaxe": { + "encodedCode": "\\e5ca", + "prefix": "icon", + "className": "icon-pickaxe", + "unicode": "" + }, + "picture-in-picture-2": { + "encodedCode": "\\e3b2", + "prefix": "icon", + "className": "icon-picture-in-picture-2", + "unicode": "" + }, + "picture-in-picture": { + "encodedCode": "\\e3b1", + "prefix": "icon", + "className": "icon-picture-in-picture", + "unicode": "" + }, + "piggy-bank": { + "encodedCode": "\\e13d", + "prefix": "icon", + "className": "icon-piggy-bank", + "unicode": "" + }, + "pilcrow-left": { + "encodedCode": "\\e5e0", + "prefix": "icon", + "className": "icon-pilcrow-left", + "unicode": "" + }, + "pilcrow-right": { + "encodedCode": "\\e5e1", + "prefix": "icon", + "className": "icon-pilcrow-right", + "unicode": "" + }, + "pilcrow": { + "encodedCode": "\\e3a6", + "prefix": "icon", + "className": "icon-pilcrow", + "unicode": "" + }, + "pill-bottle": { + "encodedCode": "\\e5ee", + "prefix": "icon", + "className": "icon-pill-bottle", + "unicode": "" + }, + "pill": { + "encodedCode": "\\e3c0", + "prefix": "icon", + "className": "icon-pill", + "unicode": "" + }, + "pin-off": { + "encodedCode": "\\e2b5", + "prefix": "icon", + "className": "icon-pin-off", + "unicode": "" + }, + "pin": { + "encodedCode": "\\e258", + "prefix": "icon", + "className": "icon-pin", + "unicode": "" + }, + "pipette": { + "encodedCode": "\\e13e", + "prefix": "icon", + "className": "icon-pipette", + "unicode": "" + }, + "pizza": { + "encodedCode": "\\e357", + "prefix": "icon", + "className": "icon-pizza", + "unicode": "" + }, + "plane-landing": { + "encodedCode": "\\e3d0", + "prefix": "icon", + "className": "icon-plane-landing", + "unicode": "" + }, + "plane-takeoff": { + "encodedCode": "\\e3d1", + "prefix": "icon", + "className": "icon-plane-takeoff", + "unicode": "" + }, + "plane": { + "encodedCode": "\\e1dd", + "prefix": "icon", + "className": "icon-plane", + "unicode": "" + }, + "play": { + "encodedCode": "\\e13f", + "prefix": "icon", + "className": "icon-play", + "unicode": "" + }, + "plug-2": { + "encodedCode": "\\e383", + "prefix": "icon", + "className": "icon-plug-2", + "unicode": "" + }, + "plug-zap": { + "encodedCode": "\\e460", + "prefix": "icon", + "className": "icon-plug-zap", + "unicode": "" + }, + "plug": { + "encodedCode": "\\e382", + "prefix": "icon", + "className": "icon-plug", + "unicode": "" + }, + "plus": { + "encodedCode": "\\e140", + "prefix": "icon", + "className": "icon-plus", + "unicode": "" + }, + "pocket-knife": { + "encodedCode": "\\e4a4", + "prefix": "icon", + "className": "icon-pocket-knife", + "unicode": "" + }, + "pocket": { + "encodedCode": "\\e141", + "prefix": "icon", + "className": "icon-pocket", + "unicode": "" + }, + "podcast": { + "encodedCode": "\\e1f9", + "prefix": "icon", + "className": "icon-podcast", + "unicode": "" + }, + "pointer-off": { + "encodedCode": "\\e583", + "prefix": "icon", + "className": "icon-pointer-off", + "unicode": "" + }, + "pointer": { + "encodedCode": "\\e1e7", + "prefix": "icon", + "className": "icon-pointer", + "unicode": "" + }, + "popcorn": { + "encodedCode": "\\e4c2", + "prefix": "icon", + "className": "icon-popcorn", + "unicode": "" + }, + "popsicle": { + "encodedCode": "\\e4c3", + "prefix": "icon", + "className": "icon-popsicle", + "unicode": "" + }, + "pound-sterling": { + "encodedCode": "\\e142", + "prefix": "icon", + "className": "icon-pound-sterling", + "unicode": "" + }, + "power-off": { + "encodedCode": "\\e208", + "prefix": "icon", + "className": "icon-power-off", + "unicode": "" + }, + "power": { + "encodedCode": "\\e143", + "prefix": "icon", + "className": "icon-power", + "unicode": "" + }, + "presentation": { + "encodedCode": "\\e4b2", + "prefix": "icon", + "className": "icon-presentation", + "unicode": "" + }, + "printer-check": { + "encodedCode": "\\e5f9", + "prefix": "icon", + "className": "icon-printer-check", + "unicode": "" + }, + "printer": { + "encodedCode": "\\e144", + "prefix": "icon", + "className": "icon-printer", + "unicode": "" + }, + "projector": { + "encodedCode": "\\e4b3", + "prefix": "icon", + "className": "icon-projector", + "unicode": "" + }, + "proportions": { + "encodedCode": "\\e5d3", + "prefix": "icon", + "className": "icon-proportions", + "unicode": "" + }, + "puzzle": { + "encodedCode": "\\e29b", + "prefix": "icon", + "className": "icon-puzzle", + "unicode": "" + }, + "pyramid": { + "encodedCode": "\\e530", + "prefix": "icon", + "className": "icon-pyramid", + "unicode": "" + }, + "qr-code": { + "encodedCode": "\\e1de", + "prefix": "icon", + "className": "icon-qr-code", + "unicode": "" + }, + "quote": { + "encodedCode": "\\e238", + "prefix": "icon", + "className": "icon-quote", + "unicode": "" + }, + "rabbit": { + "encodedCode": "\\e4fa", + "prefix": "icon", + "className": "icon-rabbit", + "unicode": "" + }, + "radar": { + "encodedCode": "\\e49b", + "prefix": "icon", + "className": "icon-radar", + "unicode": "" + }, + "radiation": { + "encodedCode": "\\e446", + "prefix": "icon", + "className": "icon-radiation", + "unicode": "" + }, + "radical": { + "encodedCode": "\\e5c6", + "prefix": "icon", + "className": "icon-radical", + "unicode": "" + }, + "radio-receiver": { + "encodedCode": "\\e1fa", + "prefix": "icon", + "className": "icon-radio-receiver", + "unicode": "" + }, + "radio-tower": { + "encodedCode": "\\e408", + "prefix": "icon", + "className": "icon-radio-tower", + "unicode": "" + }, + "radio": { + "encodedCode": "\\e145", + "prefix": "icon", + "className": "icon-radio", + "unicode": "" + }, + "radius": { + "encodedCode": "\\e531", + "prefix": "icon", + "className": "icon-radius", + "unicode": "" + }, + "rail-symbol": { + "encodedCode": "\\e505", + "prefix": "icon", + "className": "icon-rail-symbol", + "unicode": "" + }, + "rainbow": { + "encodedCode": "\\e4c6", + "prefix": "icon", + "className": "icon-rainbow", + "unicode": "" + }, + "rat": { + "encodedCode": "\\e3ef", + "prefix": "icon", + "className": "icon-rat", + "unicode": "" + }, + "ratio": { + "encodedCode": "\\e4ec", + "prefix": "icon", + "className": "icon-ratio", + "unicode": "" + }, + "receipt-cent": { + "encodedCode": "\\e5a9", + "prefix": "icon", + "className": "icon-receipt-cent", + "unicode": "" + }, + "receipt-euro": { + "encodedCode": "\\e5aa", + "prefix": "icon", + "className": "icon-receipt-euro", + "unicode": "" + }, + "receipt-indian-rupee": { + "encodedCode": "\\e5ab", + "prefix": "icon", + "className": "icon-receipt-indian-rupee", + "unicode": "" + }, + "receipt-japanese-yen": { + "encodedCode": "\\e5ac", + "prefix": "icon", + "className": "icon-receipt-japanese-yen", + "unicode": "" + }, + "receipt-pound-sterling": { + "encodedCode": "\\e5ad", + "prefix": "icon", + "className": "icon-receipt-pound-sterling", + "unicode": "" + }, + "receipt-russian-ruble": { + "encodedCode": "\\e5ae", + "prefix": "icon", + "className": "icon-receipt-russian-ruble", + "unicode": "" + }, + "receipt-swiss-franc": { + "encodedCode": "\\e5af", + "prefix": "icon", + "className": "icon-receipt-swiss-franc", + "unicode": "" + }, + "receipt-text": { + "encodedCode": "\\e5b0", + "prefix": "icon", + "className": "icon-receipt-text", + "unicode": "" + }, + "receipt": { + "encodedCode": "\\e3d6", + "prefix": "icon", + "className": "icon-receipt", + "unicode": "" + }, + "rectangle-ellipsis": { + "encodedCode": "\\e21e", + "prefix": "icon", + "className": "icon-rectangle-ellipsis", + "unicode": "" + }, + "rectangle-horizontal": { + "encodedCode": "\\e379", + "prefix": "icon", + "className": "icon-rectangle-horizontal", + "unicode": "" + }, + "rectangle-vertical": { + "encodedCode": "\\e37a", + "prefix": "icon", + "className": "icon-rectangle-vertical", + "unicode": "" + }, + "recycle": { + "encodedCode": "\\e2e8", + "prefix": "icon", + "className": "icon-recycle", + "unicode": "" + }, + "redo-2": { + "encodedCode": "\\e29f", + "prefix": "icon", + "className": "icon-redo-2", + "unicode": "" + }, + "redo-dot": { + "encodedCode": "\\e454", + "prefix": "icon", + "className": "icon-redo-dot", + "unicode": "" + }, + "redo": { + "encodedCode": "\\e146", + "prefix": "icon", + "className": "icon-redo", + "unicode": "" + }, + "refresh-ccw-dot": { + "encodedCode": "\\e4b6", + "prefix": "icon", + "className": "icon-refresh-ccw-dot", + "unicode": "" + }, + "refresh-ccw": { + "encodedCode": "\\e147", + "prefix": "icon", + "className": "icon-refresh-ccw", + "unicode": "" + }, + "refresh-cw-off": { + "encodedCode": "\\e49c", + "prefix": "icon", + "className": "icon-refresh-cw-off", + "unicode": "" + }, + "refresh-cw": { + "encodedCode": "\\e148", + "prefix": "icon", + "className": "icon-refresh-cw", + "unicode": "" + }, + "refrigerator": { + "encodedCode": "\\e37e", + "prefix": "icon", + "className": "icon-refrigerator", + "unicode": "" + }, + "regex": { + "encodedCode": "\\e1fb", + "prefix": "icon", + "className": "icon-regex", + "unicode": "" + }, + "remove-formatting": { + "encodedCode": "\\e3b6", + "prefix": "icon", + "className": "icon-remove-formatting", + "unicode": "" + }, + "repeat-1": { + "encodedCode": "\\e1fc", + "prefix": "icon", + "className": "icon-repeat-1", + "unicode": "" + }, + "repeat-2": { + "encodedCode": "\\e415", + "prefix": "icon", + "className": "icon-repeat-2", + "unicode": "" + }, + "repeat": { + "encodedCode": "\\e149", + "prefix": "icon", + "className": "icon-repeat", + "unicode": "" + }, + "replace-all": { + "encodedCode": "\\e3df", + "prefix": "icon", + "className": "icon-replace-all", + "unicode": "" + }, + "replace": { + "encodedCode": "\\e3de", + "prefix": "icon", + "className": "icon-replace", + "unicode": "" + }, + "reply-all": { + "encodedCode": "\\e22a", + "prefix": "icon", + "className": "icon-reply-all", + "unicode": "" + }, + "reply": { + "encodedCode": "\\e229", + "prefix": "icon", + "className": "icon-reply", + "unicode": "" + }, + "rewind": { + "encodedCode": "\\e14a", + "prefix": "icon", + "className": "icon-rewind", + "unicode": "" + }, + "ribbon": { + "encodedCode": "\\e55c", + "prefix": "icon", + "className": "icon-ribbon", + "unicode": "" + }, + "rocket": { + "encodedCode": "\\e285", + "prefix": "icon", + "className": "icon-rocket", + "unicode": "" + }, + "rocking-chair": { + "encodedCode": "\\e232", + "prefix": "icon", + "className": "icon-rocking-chair", + "unicode": "" + }, + "roller-coaster": { + "encodedCode": "\\e484", + "prefix": "icon", + "className": "icon-roller-coaster", + "unicode": "" + }, + "rotate-3d": { + "encodedCode": "\\e2e9", + "prefix": "icon", + "className": "icon-rotate-3d", + "unicode": "" + }, + "rotate-ccw-square": { + "encodedCode": "\\e5d4", + "prefix": "icon", + "className": "icon-rotate-ccw-square", + "unicode": "" + }, + "rotate-ccw": { + "encodedCode": "\\e14b", + "prefix": "icon", + "className": "icon-rotate-ccw", + "unicode": "" + }, + "rotate-cw-square": { + "encodedCode": "\\e5d5", + "prefix": "icon", + "className": "icon-rotate-cw-square", + "unicode": "" + }, + "rotate-cw": { + "encodedCode": "\\e14c", + "prefix": "icon", + "className": "icon-rotate-cw", + "unicode": "" + }, + "route-off": { + "encodedCode": "\\e543", + "prefix": "icon", + "className": "icon-route-off", + "unicode": "" + }, + "route": { + "encodedCode": "\\e542", + "prefix": "icon", + "className": "icon-route", + "unicode": "" + }, + "router": { + "encodedCode": "\\e3c2", + "prefix": "icon", + "className": "icon-router", + "unicode": "" + }, + "rows-2": { + "encodedCode": "\\e43d", + "prefix": "icon", + "className": "icon-rows-2", + "unicode": "" + }, + "rows-3": { + "encodedCode": "\\e58e", + "prefix": "icon", + "className": "icon-rows-3", + "unicode": "" + }, + "rows-4": { + "encodedCode": "\\e58f", + "prefix": "icon", + "className": "icon-rows-4", + "unicode": "" + }, + "rss": { + "encodedCode": "\\e14d", + "prefix": "icon", + "className": "icon-rss", + "unicode": "" + }, + "ruler": { + "encodedCode": "\\e14e", + "prefix": "icon", + "className": "icon-ruler", + "unicode": "" + }, + "russian-ruble": { + "encodedCode": "\\e14f", + "prefix": "icon", + "className": "icon-russian-ruble", + "unicode": "" + }, + "sailboat": { + "encodedCode": "\\e381", + "prefix": "icon", + "className": "icon-sailboat", + "unicode": "" + }, + "salad": { + "encodedCode": "\\e3ab", + "prefix": "icon", + "className": "icon-salad", + "unicode": "" + }, + "sandwich": { + "encodedCode": "\\e3ac", + "prefix": "icon", + "className": "icon-sandwich", + "unicode": "" + }, + "satellite-dish": { + "encodedCode": "\\e44c", + "prefix": "icon", + "className": "icon-satellite-dish", + "unicode": "" + }, + "satellite": { + "encodedCode": "\\e44b", + "prefix": "icon", + "className": "icon-satellite", + "unicode": "" + }, + "save-all": { + "encodedCode": "\\e413", + "prefix": "icon", + "className": "icon-save-all", + "unicode": "" + }, + "save-off": { + "encodedCode": "\\e5f7", + "prefix": "icon", + "className": "icon-save-off", + "unicode": "" + }, + "save": { + "encodedCode": "\\e150", + "prefix": "icon", + "className": "icon-save", + "unicode": "" + }, + "scale-3d": { + "encodedCode": "\\e2ea", + "prefix": "icon", + "className": "icon-scale-3d", + "unicode": "" + }, + "scale": { + "encodedCode": "\\e211", + "prefix": "icon", + "className": "icon-scale", + "unicode": "" + }, + "scaling": { + "encodedCode": "\\e2eb", + "prefix": "icon", + "className": "icon-scaling", + "unicode": "" + }, + "scan-barcode": { + "encodedCode": "\\e539", + "prefix": "icon", + "className": "icon-scan-barcode", + "unicode": "" + }, + "scan-eye": { + "encodedCode": "\\e53a", + "prefix": "icon", + "className": "icon-scan-eye", + "unicode": "" + }, + "scan-face": { + "encodedCode": "\\e374", + "prefix": "icon", + "className": "icon-scan-face", + "unicode": "" + }, + "scan-heart": { + "encodedCode": "\\e63e", + "prefix": "icon", + "className": "icon-scan-heart", + "unicode": "" + }, + "scan-line": { + "encodedCode": "\\e257", + "prefix": "icon", + "className": "icon-scan-line", + "unicode": "" + }, + "scan-qr-code": { + "encodedCode": "\\e5fa", + "prefix": "icon", + "className": "icon-scan-qr-code", + "unicode": "" + }, + "scan-search": { + "encodedCode": "\\e53b", + "prefix": "icon", + "className": "icon-scan-search", + "unicode": "" + }, + "scan-text": { + "encodedCode": "\\e53c", + "prefix": "icon", + "className": "icon-scan-text", + "unicode": "" + }, + "scan": { + "encodedCode": "\\e256", + "prefix": "icon", + "className": "icon-scan", + "unicode": "" + }, + "school": { + "encodedCode": "\\e3e6", + "prefix": "icon", + "className": "icon-school", + "unicode": "" + }, + "scissors-line-dashed": { + "encodedCode": "\\e4ed", + "prefix": "icon", + "className": "icon-scissors-line-dashed", + "unicode": "" + }, + "scissors": { + "encodedCode": "\\e151", + "prefix": "icon", + "className": "icon-scissors", + "unicode": "" + }, + "screen-share-off": { + "encodedCode": "\\e153", + "prefix": "icon", + "className": "icon-screen-share-off", + "unicode": "" + }, + "screen-share": { + "encodedCode": "\\e152", + "prefix": "icon", + "className": "icon-screen-share", + "unicode": "" + }, + "scroll-text": { + "encodedCode": "\\e463", + "prefix": "icon", + "className": "icon-scroll-text", + "unicode": "" + }, + "scroll": { + "encodedCode": "\\e2ec", + "prefix": "icon", + "className": "icon-scroll", + "unicode": "" + }, + "search-check": { + "encodedCode": "\\e4ae", + "prefix": "icon", + "className": "icon-search-check", + "unicode": "" + }, + "search-code": { + "encodedCode": "\\e4af", + "prefix": "icon", + "className": "icon-search-code", + "unicode": "" + }, + "search-slash": { + "encodedCode": "\\e4b0", + "prefix": "icon", + "className": "icon-search-slash", + "unicode": "" + }, + "search-x": { + "encodedCode": "\\e4b1", + "prefix": "icon", + "className": "icon-search-x", + "unicode": "" + }, + "search": { + "encodedCode": "\\e154", + "prefix": "icon", + "className": "icon-search", + "unicode": "" + }, + "section": { + "encodedCode": "\\e5ec", + "prefix": "icon", + "className": "icon-section", + "unicode": "" + }, + "send-horizontal": { + "encodedCode": "\\e4f6", + "prefix": "icon", + "className": "icon-send-horizontal", + "unicode": "" + }, + "send-to-back": { + "encodedCode": "\\e4f7", + "prefix": "icon", + "className": "icon-send-to-back", + "unicode": "" + }, + "send": { + "encodedCode": "\\e155", + "prefix": "icon", + "className": "icon-send", + "unicode": "" + }, + "separator-horizontal": { + "encodedCode": "\\e1c7", + "prefix": "icon", + "className": "icon-separator-horizontal", + "unicode": "" + }, + "separator-vertical": { + "encodedCode": "\\e1c8", + "prefix": "icon", + "className": "icon-separator-vertical", + "unicode": "" + }, + "server-cog": { + "encodedCode": "\\e344", + "prefix": "icon", + "className": "icon-server-cog", + "unicode": "" + }, + "server-crash": { + "encodedCode": "\\e1e8", + "prefix": "icon", + "className": "icon-server-crash", + "unicode": "" + }, + "server-off": { + "encodedCode": "\\e1e9", + "prefix": "icon", + "className": "icon-server-off", + "unicode": "" + }, + "server": { + "encodedCode": "\\e156", + "prefix": "icon", + "className": "icon-server", + "unicode": "" + }, + "settings-2": { + "encodedCode": "\\e244", + "prefix": "icon", + "className": "icon-settings-2", + "unicode": "" + }, + "settings": { + "encodedCode": "\\e157", + "prefix": "icon", + "className": "icon-settings", + "unicode": "" + }, + "shapes": { + "encodedCode": "\\e4b7", + "prefix": "icon", + "className": "icon-shapes", + "unicode": "" + }, + "share-2": { + "encodedCode": "\\e159", + "prefix": "icon", + "className": "icon-share-2", + "unicode": "" + }, + "share": { + "encodedCode": "\\e158", + "prefix": "icon", + "className": "icon-share", + "unicode": "" + }, + "sheet": { + "encodedCode": "\\e15a", + "prefix": "icon", + "className": "icon-sheet", + "unicode": "" + }, + "shell": { + "encodedCode": "\\e4fb", + "prefix": "icon", + "className": "icon-shell", + "unicode": "" + }, + "shield-alert": { + "encodedCode": "\\e1fd", + "prefix": "icon", + "className": "icon-shield-alert", + "unicode": "" + }, + "shield-ban": { + "encodedCode": "\\e15c", + "prefix": "icon", + "className": "icon-shield-ban", + "unicode": "" + }, + "shield-check": { + "encodedCode": "\\e1fe", + "prefix": "icon", + "className": "icon-shield-check", + "unicode": "" + }, + "shield-ellipsis": { + "encodedCode": "\\e51a", + "prefix": "icon", + "className": "icon-shield-ellipsis", + "unicode": "" + }, + "shield-half": { + "encodedCode": "\\e51b", + "prefix": "icon", + "className": "icon-shield-half", + "unicode": "" + }, + "shield-minus": { + "encodedCode": "\\e51c", + "prefix": "icon", + "className": "icon-shield-minus", + "unicode": "" + }, + "shield-off": { + "encodedCode": "\\e15d", + "prefix": "icon", + "className": "icon-shield-off", + "unicode": "" + }, + "shield-plus": { + "encodedCode": "\\e51d", + "prefix": "icon", + "className": "icon-shield-plus", + "unicode": "" + }, + "shield-question": { + "encodedCode": "\\e412", + "prefix": "icon", + "className": "icon-shield-question", + "unicode": "" + }, + "shield-user": { + "encodedCode": "\\e64b", + "prefix": "icon", + "className": "icon-shield-user", + "unicode": "" + }, + "shield-x": { + "encodedCode": "\\e1ff", + "prefix": "icon", + "className": "icon-shield-x", + "unicode": "" + }, + "shield": { + "encodedCode": "\\e15b", + "prefix": "icon", + "className": "icon-shield", + "unicode": "" + }, + "ship-wheel": { + "encodedCode": "\\e506", + "prefix": "icon", + "className": "icon-ship-wheel", + "unicode": "" + }, + "ship": { + "encodedCode": "\\e3bd", + "prefix": "icon", + "className": "icon-ship", + "unicode": "" + }, + "shirt": { + "encodedCode": "\\e1c9", + "prefix": "icon", + "className": "icon-shirt", + "unicode": "" + }, + "shopping-bag": { + "encodedCode": "\\e15e", + "prefix": "icon", + "className": "icon-shopping-bag", + "unicode": "" + }, + "shopping-basket": { + "encodedCode": "\\e4ee", + "prefix": "icon", + "className": "icon-shopping-basket", + "unicode": "" + }, + "shopping-cart": { + "encodedCode": "\\e15f", + "prefix": "icon", + "className": "icon-shopping-cart", + "unicode": "" + }, + "shovel": { + "encodedCode": "\\e160", + "prefix": "icon", + "className": "icon-shovel", + "unicode": "" + }, + "shower-head": { + "encodedCode": "\\e37f", + "prefix": "icon", + "className": "icon-shower-head", + "unicode": "" + }, + "shrink": { + "encodedCode": "\\e21f", + "prefix": "icon", + "className": "icon-shrink", + "unicode": "" + }, + "shrub": { + "encodedCode": "\\e2ed", + "prefix": "icon", + "className": "icon-shrub", + "unicode": "" + }, + "shuffle": { + "encodedCode": "\\e161", + "prefix": "icon", + "className": "icon-shuffle", + "unicode": "" + }, + "sigma": { + "encodedCode": "\\e200", + "prefix": "icon", + "className": "icon-sigma", + "unicode": "" + }, + "signal-high": { + "encodedCode": "\\e25f", + "prefix": "icon", + "className": "icon-signal-high", + "unicode": "" + }, + "signal-low": { + "encodedCode": "\\e260", + "prefix": "icon", + "className": "icon-signal-low", + "unicode": "" + }, + "signal-medium": { + "encodedCode": "\\e261", + "prefix": "icon", + "className": "icon-signal-medium", + "unicode": "" + }, + "signal-zero": { + "encodedCode": "\\e262", + "prefix": "icon", + "className": "icon-signal-zero", + "unicode": "" + }, + "signal": { + "encodedCode": "\\e25e", + "prefix": "icon", + "className": "icon-signal", + "unicode": "" + }, + "signature": { + "encodedCode": "\\e5f6", + "prefix": "icon", + "className": "icon-signature", + "unicode": "" + }, + "signpost-big": { + "encodedCode": "\\e545", + "prefix": "icon", + "className": "icon-signpost-big", + "unicode": "" + }, + "signpost": { + "encodedCode": "\\e544", + "prefix": "icon", + "className": "icon-signpost", + "unicode": "" + }, + "siren": { + "encodedCode": "\\e2ee", + "prefix": "icon", + "className": "icon-siren", + "unicode": "" + }, + "skip-back": { + "encodedCode": "\\e162", + "prefix": "icon", + "className": "icon-skip-back", + "unicode": "" + }, + "skip-forward": { + "encodedCode": "\\e163", + "prefix": "icon", + "className": "icon-skip-forward", + "unicode": "" + }, + "skull": { + "encodedCode": "\\e220", + "prefix": "icon", + "className": "icon-skull", + "unicode": "" + }, + "slack": { + "encodedCode": "\\e164", + "prefix": "icon", + "className": "icon-slack", + "unicode": "" + }, + "slash": { + "encodedCode": "\\e521", + "prefix": "icon", + "className": "icon-slash", + "unicode": "" + }, + "slice": { + "encodedCode": "\\e2ef", + "prefix": "icon", + "className": "icon-slice", + "unicode": "" + }, + "sliders-horizontal": { + "encodedCode": "\\e299", + "prefix": "icon", + "className": "icon-sliders-horizontal", + "unicode": "" + }, + "sliders-vertical": { + "encodedCode": "\\e165", + "prefix": "icon", + "className": "icon-sliders-vertical", + "unicode": "" + }, + "smartphone-charging": { + "encodedCode": "\\e22d", + "prefix": "icon", + "className": "icon-smartphone-charging", + "unicode": "" + }, + "smartphone-nfc": { + "encodedCode": "\\e3c7", + "prefix": "icon", + "className": "icon-smartphone-nfc", + "unicode": "" + }, + "smartphone": { + "encodedCode": "\\e166", + "prefix": "icon", + "className": "icon-smartphone", + "unicode": "" + }, + "smile-plus": { + "encodedCode": "\\e300", + "prefix": "icon", + "className": "icon-smile-plus", + "unicode": "" + }, + "smile": { + "encodedCode": "\\e167", + "prefix": "icon", + "className": "icon-smile", + "unicode": "" + }, + "snail": { + "encodedCode": "\\e4fc", + "prefix": "icon", + "className": "icon-snail", + "unicode": "" + }, + "snowflake": { + "encodedCode": "\\e168", + "prefix": "icon", + "className": "icon-snowflake", + "unicode": "" + }, + "sofa": { + "encodedCode": "\\e2c3", + "prefix": "icon", + "className": "icon-sofa", + "unicode": "" + }, + "soup": { + "encodedCode": "\\e3ad", + "prefix": "icon", + "className": "icon-soup", + "unicode": "" + }, + "space": { + "encodedCode": "\\e3e0", + "prefix": "icon", + "className": "icon-space", + "unicode": "" + }, + "spade": { + "encodedCode": "\\e49d", + "prefix": "icon", + "className": "icon-spade", + "unicode": "" + }, + "sparkle": { + "encodedCode": "\\e482", + "prefix": "icon", + "className": "icon-sparkle", + "unicode": "" + }, + "sparkles": { + "encodedCode": "\\e416", + "prefix": "icon", + "className": "icon-sparkles", + "unicode": "" + }, + "speaker": { + "encodedCode": "\\e169", + "prefix": "icon", + "className": "icon-speaker", + "unicode": "" + }, + "speech": { + "encodedCode": "\\e522", + "prefix": "icon", + "className": "icon-speech", + "unicode": "" + }, + "spell-check-2": { + "encodedCode": "\\e49f", + "prefix": "icon", + "className": "icon-spell-check-2", + "unicode": "" + }, + "spell-check": { + "encodedCode": "\\e49e", + "prefix": "icon", + "className": "icon-spell-check", + "unicode": "" + }, + "spline": { + "encodedCode": "\\e38e", + "prefix": "icon", + "className": "icon-spline", + "unicode": "" + }, + "split": { + "encodedCode": "\\e444", + "prefix": "icon", + "className": "icon-split", + "unicode": "" + }, + "spray-can": { + "encodedCode": "\\e499", + "prefix": "icon", + "className": "icon-spray-can", + "unicode": "" + }, + "sprout": { + "encodedCode": "\\e1ea", + "prefix": "icon", + "className": "icon-sprout", + "unicode": "" + }, + "square-activity": { + "encodedCode": "\\e4b8", + "prefix": "icon", + "className": "icon-square-activity", + "unicode": "" + }, + "square-arrow-down-left": { + "encodedCode": "\\e4b9", + "prefix": "icon", + "className": "icon-square-arrow-down-left", + "unicode": "" + }, + "square-arrow-down-right": { + "encodedCode": "\\e4ba", + "prefix": "icon", + "className": "icon-square-arrow-down-right", + "unicode": "" + }, + "square-arrow-down": { + "encodedCode": "\\e42b", + "prefix": "icon", + "className": "icon-square-arrow-down", + "unicode": "" + }, + "square-arrow-left": { + "encodedCode": "\\e42c", + "prefix": "icon", + "className": "icon-square-arrow-left", + "unicode": "" + }, + "square-arrow-out-down-left": { + "encodedCode": "\\e5a5", + "prefix": "icon", + "className": "icon-square-arrow-out-down-left", + "unicode": "" + }, + "square-arrow-out-down-right": { + "encodedCode": "\\e5a6", + "prefix": "icon", + "className": "icon-square-arrow-out-down-right", + "unicode": "" + }, + "square-arrow-out-up-left": { + "encodedCode": "\\e5a7", + "prefix": "icon", + "className": "icon-square-arrow-out-up-left", + "unicode": "" + }, + "square-arrow-out-up-right": { + "encodedCode": "\\e5a8", + "prefix": "icon", + "className": "icon-square-arrow-out-up-right", + "unicode": "" + }, + "square-arrow-right": { + "encodedCode": "\\e42d", + "prefix": "icon", + "className": "icon-square-arrow-right", + "unicode": "" + }, + "square-arrow-up-left": { + "encodedCode": "\\e4bb", + "prefix": "icon", + "className": "icon-square-arrow-up-left", + "unicode": "" + }, + "square-arrow-up-right": { + "encodedCode": "\\e4bc", + "prefix": "icon", + "className": "icon-square-arrow-up-right", + "unicode": "" + }, + "square-arrow-up": { + "encodedCode": "\\e42e", + "prefix": "icon", + "className": "icon-square-arrow-up", + "unicode": "" + }, + "square-asterisk": { + "encodedCode": "\\e16b", + "prefix": "icon", + "className": "icon-square-asterisk", + "unicode": "" + }, + "square-bottom-dashed-scissors": { + "encodedCode": "\\e4ef", + "prefix": "icon", + "className": "icon-square-bottom-dashed-scissors", + "unicode": "" + }, + "square-chart-gantt": { + "encodedCode": "\\e16c", + "prefix": "icon", + "className": "icon-square-chart-gantt", + "unicode": "" + }, + "square-check-big": { + "encodedCode": "\\e16d", + "prefix": "icon", + "className": "icon-square-check-big", + "unicode": "" + }, + "square-check": { + "encodedCode": "\\e55d", + "prefix": "icon", + "className": "icon-square-check", + "unicode": "" + }, + "square-chevron-down": { + "encodedCode": "\\e3d2", + "prefix": "icon", + "className": "icon-square-chevron-down", + "unicode": "" + }, + "square-chevron-left": { + "encodedCode": "\\e3d3", + "prefix": "icon", + "className": "icon-square-chevron-left", + "unicode": "" + }, + "square-chevron-right": { + "encodedCode": "\\e3d4", + "prefix": "icon", + "className": "icon-square-chevron-right", + "unicode": "" + }, + "square-chevron-up": { + "encodedCode": "\\e3d5", + "prefix": "icon", + "className": "icon-square-chevron-up", + "unicode": "" + }, + "square-code": { + "encodedCode": "\\e16e", + "prefix": "icon", + "className": "icon-square-code", + "unicode": "" + }, + "square-dashed-bottom-code": { + "encodedCode": "\\e4c5", + "prefix": "icon", + "className": "icon-square-dashed-bottom-code", + "unicode": "" + }, + "square-dashed-bottom": { + "encodedCode": "\\e4c4", + "prefix": "icon", + "className": "icon-square-dashed-bottom", + "unicode": "" + }, + "square-dashed-kanban": { + "encodedCode": "\\e16f", + "prefix": "icon", + "className": "icon-square-dashed-kanban", + "unicode": "" + }, + "square-dashed-mouse-pointer": { + "encodedCode": "\\e50d", + "prefix": "icon", + "className": "icon-square-dashed-mouse-pointer", + "unicode": "" + }, + "square-dashed": { + "encodedCode": "\\e1ca", + "prefix": "icon", + "className": "icon-square-dashed", + "unicode": "" + }, + "square-divide": { + "encodedCode": "\\e170", + "prefix": "icon", + "className": "icon-square-divide", + "unicode": "" + }, + "square-dot": { + "encodedCode": "\\e171", + "prefix": "icon", + "className": "icon-square-dot", + "unicode": "" + }, + "square-equal": { + "encodedCode": "\\e172", + "prefix": "icon", + "className": "icon-square-equal", + "unicode": "" + }, + "square-function": { + "encodedCode": "\\e22c", + "prefix": "icon", + "className": "icon-square-function", + "unicode": "" + }, + "square-kanban": { + "encodedCode": "\\e173", + "prefix": "icon", + "className": "icon-square-kanban", + "unicode": "" + }, + "square-library": { + "encodedCode": "\\e553", + "prefix": "icon", + "className": "icon-square-library", + "unicode": "" + }, + "square-m": { + "encodedCode": "\\e507", + "prefix": "icon", + "className": "icon-square-m", + "unicode": "" + }, + "square-menu": { + "encodedCode": "\\e457", + "prefix": "icon", + "className": "icon-square-menu", + "unicode": "" + }, + "square-minus": { + "encodedCode": "\\e174", + "prefix": "icon", + "className": "icon-square-minus", + "unicode": "" + }, + "square-mouse-pointer": { + "encodedCode": "\\e201", + "prefix": "icon", + "className": "icon-square-mouse-pointer", + "unicode": "" + }, + "square-parking-off": { + "encodedCode": "\\e3cf", + "prefix": "icon", + "className": "icon-square-parking-off", + "unicode": "" + }, + "square-parking": { + "encodedCode": "\\e3ce", + "prefix": "icon", + "className": "icon-square-parking", + "unicode": "" + }, + "square-pen": { + "encodedCode": "\\e175", + "prefix": "icon", + "className": "icon-square-pen", + "unicode": "" + }, + "square-percent": { + "encodedCode": "\\e520", + "prefix": "icon", + "className": "icon-square-percent", + "unicode": "" + }, + "square-pi": { + "encodedCode": "\\e48c", + "prefix": "icon", + "className": "icon-square-pi", + "unicode": "" + }, + "square-pilcrow": { + "encodedCode": "\\e48f", + "prefix": "icon", + "className": "icon-square-pilcrow", + "unicode": "" + }, + "square-play": { + "encodedCode": "\\e485", + "prefix": "icon", + "className": "icon-square-play", + "unicode": "" + }, + "square-plus": { + "encodedCode": "\\e176", + "prefix": "icon", + "className": "icon-square-plus", + "unicode": "" + }, + "square-power": { + "encodedCode": "\\e555", + "prefix": "icon", + "className": "icon-square-power", + "unicode": "" + }, + "square-radical": { + "encodedCode": "\\e5c7", + "prefix": "icon", + "className": "icon-square-radical", + "unicode": "" + }, + "square-round-corner": { + "encodedCode": "\\e64c", + "prefix": "icon", + "className": "icon-square-round-corner", + "unicode": "" + }, + "square-scissors": { + "encodedCode": "\\e4f0", + "prefix": "icon", + "className": "icon-square-scissors", + "unicode": "" + }, + "square-sigma": { + "encodedCode": "\\e48d", + "prefix": "icon", + "className": "icon-square-sigma", + "unicode": "" + }, + "square-slash": { + "encodedCode": "\\e177", + "prefix": "icon", + "className": "icon-square-slash", + "unicode": "" + }, + "square-split-horizontal": { + "encodedCode": "\\e3b9", + "prefix": "icon", + "className": "icon-square-split-horizontal", + "unicode": "" + }, + "square-split-vertical": { + "encodedCode": "\\e3ba", + "prefix": "icon", + "className": "icon-square-split-vertical", + "unicode": "" + }, + "square-square": { + "encodedCode": "\\e612", + "prefix": "icon", + "className": "icon-square-square", + "unicode": "" + }, + "square-stack": { + "encodedCode": "\\e4a6", + "prefix": "icon", + "className": "icon-square-stack", + "unicode": "" + }, + "square-terminal": { + "encodedCode": "\\e209", + "prefix": "icon", + "className": "icon-square-terminal", + "unicode": "" + }, + "square-user-round": { + "encodedCode": "\\e46a", + "prefix": "icon", + "className": "icon-square-user-round", + "unicode": "" + }, + "square-user": { + "encodedCode": "\\e469", + "prefix": "icon", + "className": "icon-square-user", + "unicode": "" + }, + "square-x": { + "encodedCode": "\\e178", + "prefix": "icon", + "className": "icon-square-x", + "unicode": "" + }, + "square": { + "encodedCode": "\\e16a", + "prefix": "icon", + "className": "icon-square", + "unicode": "" + }, + "squircle": { + "encodedCode": "\\e57e", + "prefix": "icon", + "className": "icon-squircle", + "unicode": "" + }, + "squirrel": { + "encodedCode": "\\e4a3", + "prefix": "icon", + "className": "icon-squirrel", + "unicode": "" + }, + "stamp": { + "encodedCode": "\\e3be", + "prefix": "icon", + "className": "icon-stamp", + "unicode": "" + }, + "star-half": { + "encodedCode": "\\e20a", + "prefix": "icon", + "className": "icon-star-half", + "unicode": "" + }, + "star-off": { + "encodedCode": "\\e2af", + "prefix": "icon", + "className": "icon-star-off", + "unicode": "" + }, + "star": { + "encodedCode": "\\e179", + "prefix": "icon", + "className": "icon-star", + "unicode": "" + }, + "step-back": { + "encodedCode": "\\e3ec", + "prefix": "icon", + "className": "icon-step-back", + "unicode": "" + }, + "step-forward": { + "encodedCode": "\\e3ed", + "prefix": "icon", + "className": "icon-step-forward", + "unicode": "" + }, + "stethoscope": { + "encodedCode": "\\e2f0", + "prefix": "icon", + "className": "icon-stethoscope", + "unicode": "" + }, + "sticker": { + "encodedCode": "\\e301", + "prefix": "icon", + "className": "icon-sticker", + "unicode": "" + }, + "sticky-note": { + "encodedCode": "\\e302", + "prefix": "icon", + "className": "icon-sticky-note", + "unicode": "" + }, + "store": { + "encodedCode": "\\e3e7", + "prefix": "icon", + "className": "icon-store", + "unicode": "" + }, + "stretch-horizontal": { + "encodedCode": "\\e27b", + "prefix": "icon", + "className": "icon-stretch-horizontal", + "unicode": "" + }, + "stretch-vertical": { + "encodedCode": "\\e27c", + "prefix": "icon", + "className": "icon-stretch-vertical", + "unicode": "" + }, + "strikethrough": { + "encodedCode": "\\e17a", + "prefix": "icon", + "className": "icon-strikethrough", + "unicode": "" + }, + "subscript": { + "encodedCode": "\\e25b", + "prefix": "icon", + "className": "icon-subscript", + "unicode": "" + }, + "sun-dim": { + "encodedCode": "\\e298", + "prefix": "icon", + "className": "icon-sun-dim", + "unicode": "" + }, + "sun-medium": { + "encodedCode": "\\e2b0", + "prefix": "icon", + "className": "icon-sun-medium", + "unicode": "" + }, + "sun-moon": { + "encodedCode": "\\e2b1", + "prefix": "icon", + "className": "icon-sun-moon", + "unicode": "" + }, + "sun-snow": { + "encodedCode": "\\e375", + "prefix": "icon", + "className": "icon-sun-snow", + "unicode": "" + }, + "sun": { + "encodedCode": "\\e17b", + "prefix": "icon", + "className": "icon-sun", + "unicode": "" + }, + "sunrise": { + "encodedCode": "\\e17c", + "prefix": "icon", + "className": "icon-sunrise", + "unicode": "" + }, + "sunset": { + "encodedCode": "\\e17d", + "prefix": "icon", + "className": "icon-sunset", + "unicode": "" + }, + "superscript": { + "encodedCode": "\\e25d", + "prefix": "icon", + "className": "icon-superscript", + "unicode": "" + }, + "swatch-book": { + "encodedCode": "\\e5a3", + "prefix": "icon", + "className": "icon-swatch-book", + "unicode": "" + }, + "swiss-franc": { + "encodedCode": "\\e17e", + "prefix": "icon", + "className": "icon-swiss-franc", + "unicode": "" + }, + "switch-camera": { + "encodedCode": "\\e17f", + "prefix": "icon", + "className": "icon-switch-camera", + "unicode": "" + }, + "sword": { + "encodedCode": "\\e2b2", + "prefix": "icon", + "className": "icon-sword", + "unicode": "" + }, + "swords": { + "encodedCode": "\\e2b3", + "prefix": "icon", + "className": "icon-swords", + "unicode": "" + }, + "syringe": { + "encodedCode": "\\e2f1", + "prefix": "icon", + "className": "icon-syringe", + "unicode": "" + }, + "table-2": { + "encodedCode": "\\e2f8", + "prefix": "icon", + "className": "icon-table-2", + "unicode": "" + }, + "table-cells-merge": { + "encodedCode": "\\e5cb", + "prefix": "icon", + "className": "icon-table-cells-merge", + "unicode": "" + }, + "table-cells-split": { + "encodedCode": "\\e5cc", + "prefix": "icon", + "className": "icon-table-cells-split", + "unicode": "" + }, + "table-columns-split": { + "encodedCode": "\\e5cd", + "prefix": "icon", + "className": "icon-table-columns-split", + "unicode": "" + }, + "table-of-contents": { + "encodedCode": "\\e622", + "prefix": "icon", + "className": "icon-table-of-contents", + "unicode": "" + }, + "table-properties": { + "encodedCode": "\\e4df", + "prefix": "icon", + "className": "icon-table-properties", + "unicode": "" + }, + "table-rows-split": { + "encodedCode": "\\e5ce", + "prefix": "icon", + "className": "icon-table-rows-split", + "unicode": "" + }, + "table": { + "encodedCode": "\\e180", + "prefix": "icon", + "className": "icon-table", + "unicode": "" + }, + "tablet-smartphone": { + "encodedCode": "\\e50e", + "prefix": "icon", + "className": "icon-tablet-smartphone", + "unicode": "" + }, + "tablet": { + "encodedCode": "\\e181", + "prefix": "icon", + "className": "icon-tablet", + "unicode": "" + }, + "tablets": { + "encodedCode": "\\e3c1", + "prefix": "icon", + "className": "icon-tablets", + "unicode": "" + }, + "tag": { + "encodedCode": "\\e182", + "prefix": "icon", + "className": "icon-tag", + "unicode": "" + }, + "tags": { + "encodedCode": "\\e35f", + "prefix": "icon", + "className": "icon-tags", + "unicode": "" + }, + "tally-1": { + "encodedCode": "\\e4da", + "prefix": "icon", + "className": "icon-tally-1", + "unicode": "" + }, + "tally-2": { + "encodedCode": "\\e4db", + "prefix": "icon", + "className": "icon-tally-2", + "unicode": "" + }, + "tally-3": { + "encodedCode": "\\e4dc", + "prefix": "icon", + "className": "icon-tally-3", + "unicode": "" + }, + "tally-4": { + "encodedCode": "\\e4dd", + "prefix": "icon", + "className": "icon-tally-4", + "unicode": "" + }, + "tally-5": { + "encodedCode": "\\e4de", + "prefix": "icon", + "className": "icon-tally-5", + "unicode": "" + }, + "tangent": { + "encodedCode": "\\e532", + "prefix": "icon", + "className": "icon-tangent", + "unicode": "" + }, + "target": { + "encodedCode": "\\e183", + "prefix": "icon", + "className": "icon-target", + "unicode": "" + }, + "telescope": { + "encodedCode": "\\e5c9", + "prefix": "icon", + "className": "icon-telescope", + "unicode": "" + }, + "tent-tree": { + "encodedCode": "\\e53f", + "prefix": "icon", + "className": "icon-tent-tree", + "unicode": "" + }, + "tent": { + "encodedCode": "\\e226", + "prefix": "icon", + "className": "icon-tent", + "unicode": "" + }, + "terminal": { + "encodedCode": "\\e184", + "prefix": "icon", + "className": "icon-terminal", + "unicode": "" + }, + "test-tube-diagonal": { + "encodedCode": "\\e40a", + "prefix": "icon", + "className": "icon-test-tube-diagonal", + "unicode": "" + }, + "test-tube": { + "encodedCode": "\\e409", + "prefix": "icon", + "className": "icon-test-tube", + "unicode": "" + }, + "test-tubes": { + "encodedCode": "\\e40b", + "prefix": "icon", + "className": "icon-test-tubes", + "unicode": "" + }, + "text-cursor-input": { + "encodedCode": "\\e264", + "prefix": "icon", + "className": "icon-text-cursor-input", + "unicode": "" + }, + "text-cursor": { + "encodedCode": "\\e263", + "prefix": "icon", + "className": "icon-text-cursor", + "unicode": "" + }, + "text-quote": { + "encodedCode": "\\e4a2", + "prefix": "icon", + "className": "icon-text-quote", + "unicode": "" + }, + "text-search": { + "encodedCode": "\\e5b1", + "prefix": "icon", + "className": "icon-text-search", + "unicode": "" + }, + "text-select": { + "encodedCode": "\\e3e1", + "prefix": "icon", + "className": "icon-text-select", + "unicode": "" + }, + "text": { + "encodedCode": "\\e3ee", + "prefix": "icon", + "className": "icon-text", + "unicode": "" + }, + "theater": { + "encodedCode": "\\e526", + "prefix": "icon", + "className": "icon-theater", + "unicode": "" + }, + "thermometer-snowflake": { + "encodedCode": "\\e186", + "prefix": "icon", + "className": "icon-thermometer-snowflake", + "unicode": "" + }, + "thermometer-sun": { + "encodedCode": "\\e187", + "prefix": "icon", + "className": "icon-thermometer-sun", + "unicode": "" + }, + "thermometer": { + "encodedCode": "\\e185", + "prefix": "icon", + "className": "icon-thermometer", + "unicode": "" + }, + "thumbs-down": { + "encodedCode": "\\e188", + "prefix": "icon", + "className": "icon-thumbs-down", + "unicode": "" + }, + "thumbs-up": { + "encodedCode": "\\e189", + "prefix": "icon", + "className": "icon-thumbs-up", + "unicode": "" + }, + "ticket-check": { + "encodedCode": "\\e5b2", + "prefix": "icon", + "className": "icon-ticket-check", + "unicode": "" + }, + "ticket-minus": { + "encodedCode": "\\e5b3", + "prefix": "icon", + "className": "icon-ticket-minus", + "unicode": "" + }, + "ticket-percent": { + "encodedCode": "\\e5b4", + "prefix": "icon", + "className": "icon-ticket-percent", + "unicode": "" + }, + "ticket-plus": { + "encodedCode": "\\e5b5", + "prefix": "icon", + "className": "icon-ticket-plus", + "unicode": "" + }, + "ticket-slash": { + "encodedCode": "\\e5b6", + "prefix": "icon", + "className": "icon-ticket-slash", + "unicode": "" + }, + "ticket-x": { + "encodedCode": "\\e5b7", + "prefix": "icon", + "className": "icon-ticket-x", + "unicode": "" + }, + "ticket": { + "encodedCode": "\\e20e", + "prefix": "icon", + "className": "icon-ticket", + "unicode": "" + }, + "tickets-plane": { + "encodedCode": "\\e627", + "prefix": "icon", + "className": "icon-tickets-plane", + "unicode": "" + }, + "tickets": { + "encodedCode": "\\e626", + "prefix": "icon", + "className": "icon-tickets", + "unicode": "" + }, + "timer-off": { + "encodedCode": "\\e248", + "prefix": "icon", + "className": "icon-timer-off", + "unicode": "" + }, + "timer-reset": { + "encodedCode": "\\e235", + "prefix": "icon", + "className": "icon-timer-reset", + "unicode": "" + }, + "timer": { + "encodedCode": "\\e1df", + "prefix": "icon", + "className": "icon-timer", + "unicode": "" + }, + "toggle-left": { + "encodedCode": "\\e18a", + "prefix": "icon", + "className": "icon-toggle-left", + "unicode": "" + }, + "toggle-right": { + "encodedCode": "\\e18b", + "prefix": "icon", + "className": "icon-toggle-right", + "unicode": "" + }, + "toilet": { + "encodedCode": "\\e639", + "prefix": "icon", + "className": "icon-toilet", + "unicode": "" + }, + "tornado": { + "encodedCode": "\\e217", + "prefix": "icon", + "className": "icon-tornado", + "unicode": "" + }, + "torus": { + "encodedCode": "\\e533", + "prefix": "icon", + "className": "icon-torus", + "unicode": "" + }, + "touchpad-off": { + "encodedCode": "\\e44e", + "prefix": "icon", + "className": "icon-touchpad-off", + "unicode": "" + }, + "touchpad": { + "encodedCode": "\\e44d", + "prefix": "icon", + "className": "icon-touchpad", + "unicode": "" + }, + "tower-control": { + "encodedCode": "\\e3bf", + "prefix": "icon", + "className": "icon-tower-control", + "unicode": "" + }, + "toy-brick": { + "encodedCode": "\\e34a", + "prefix": "icon", + "className": "icon-toy-brick", + "unicode": "" + }, + "tractor": { + "encodedCode": "\\e508", + "prefix": "icon", + "className": "icon-tractor", + "unicode": "" + }, + "traffic-cone": { + "encodedCode": "\\e509", + "prefix": "icon", + "className": "icon-traffic-cone", + "unicode": "" + }, + "train-front-tunnel": { + "encodedCode": "\\e50b", + "prefix": "icon", + "className": "icon-train-front-tunnel", + "unicode": "" + }, + "train-front": { + "encodedCode": "\\e50a", + "prefix": "icon", + "className": "icon-train-front", + "unicode": "" + }, + "train-track": { + "encodedCode": "\\e50c", + "prefix": "icon", + "className": "icon-train-track", + "unicode": "" + }, + "tram-front": { + "encodedCode": "\\e2a8", + "prefix": "icon", + "className": "icon-tram-front", + "unicode": "" + }, + "transgender": { + "encodedCode": "\\e648", + "prefix": "icon", + "className": "icon-transgender", + "unicode": "" + }, + "trash-2": { + "encodedCode": "\\e18d", + "prefix": "icon", + "className": "icon-trash-2", + "unicode": "" + }, + "trash": { + "encodedCode": "\\e18c", + "prefix": "icon", + "className": "icon-trash", + "unicode": "" + }, + "tree-deciduous": { + "encodedCode": "\\e2f2", + "prefix": "icon", + "className": "icon-tree-deciduous", + "unicode": "" + }, + "tree-palm": { + "encodedCode": "\\e280", + "prefix": "icon", + "className": "icon-tree-palm", + "unicode": "" + }, + "tree-pine": { + "encodedCode": "\\e2f3", + "prefix": "icon", + "className": "icon-tree-pine", + "unicode": "" + }, + "trees": { + "encodedCode": "\\e2f4", + "prefix": "icon", + "className": "icon-trees", + "unicode": "" + }, + "trello": { + "encodedCode": "\\e18e", + "prefix": "icon", + "className": "icon-trello", + "unicode": "" + }, + "trending-down": { + "encodedCode": "\\e18f", + "prefix": "icon", + "className": "icon-trending-down", + "unicode": "" + }, + "trending-up-down": { + "encodedCode": "\\e629", + "prefix": "icon", + "className": "icon-trending-up-down", + "unicode": "" + }, + "trending-up": { + "encodedCode": "\\e190", + "prefix": "icon", + "className": "icon-trending-up", + "unicode": "" + }, + "triangle-alert": { + "encodedCode": "\\e192", + "prefix": "icon", + "className": "icon-triangle-alert", + "unicode": "" + }, + "triangle-dashed": { + "encodedCode": "\\e641", + "prefix": "icon", + "className": "icon-triangle-dashed", + "unicode": "" + }, + "triangle-right": { + "encodedCode": "\\e4f1", + "prefix": "icon", + "className": "icon-triangle-right", + "unicode": "" + }, + "triangle": { + "encodedCode": "\\e191", + "prefix": "icon", + "className": "icon-triangle", + "unicode": "" + }, + "trophy": { + "encodedCode": "\\e376", + "prefix": "icon", + "className": "icon-trophy", + "unicode": "" + }, + "truck": { + "encodedCode": "\\e193", + "prefix": "icon", + "className": "icon-truck", + "unicode": "" + }, + "turtle": { + "encodedCode": "\\e4fd", + "prefix": "icon", + "className": "icon-turtle", + "unicode": "" + }, + "tv-minimal-play": { + "encodedCode": "\\e5f0", + "prefix": "icon", + "className": "icon-tv-minimal-play", + "unicode": "" + }, + "tv-minimal": { + "encodedCode": "\\e202", + "prefix": "icon", + "className": "icon-tv-minimal", + "unicode": "" + }, + "tv": { + "encodedCode": "\\e194", + "prefix": "icon", + "className": "icon-tv", + "unicode": "" + }, + "twitch": { + "encodedCode": "\\e195", + "prefix": "icon", + "className": "icon-twitch", + "unicode": "" + }, + "twitter": { + "encodedCode": "\\e196", + "prefix": "icon", + "className": "icon-twitter", + "unicode": "" + }, + "type-outline": { + "encodedCode": "\\e606", + "prefix": "icon", + "className": "icon-type-outline", + "unicode": "" + }, + "type": { + "encodedCode": "\\e197", + "prefix": "icon", + "className": "icon-type", + "unicode": "" + }, + "umbrella-off": { + "encodedCode": "\\e547", + "prefix": "icon", + "className": "icon-umbrella-off", + "unicode": "" + }, + "umbrella": { + "encodedCode": "\\e198", + "prefix": "icon", + "className": "icon-umbrella", + "unicode": "" + }, + "underline": { + "encodedCode": "\\e199", + "prefix": "icon", + "className": "icon-underline", + "unicode": "" + }, + "undo-2": { + "encodedCode": "\\e2a0", + "prefix": "icon", + "className": "icon-undo-2", + "unicode": "" + }, + "undo-dot": { + "encodedCode": "\\e455", + "prefix": "icon", + "className": "icon-undo-dot", + "unicode": "" + }, + "undo": { + "encodedCode": "\\e19a", + "prefix": "icon", + "className": "icon-undo", + "unicode": "" + }, + "unfold-horizontal": { + "encodedCode": "\\e441", + "prefix": "icon", + "className": "icon-unfold-horizontal", + "unicode": "" + }, + "unfold-vertical": { + "encodedCode": "\\e442", + "prefix": "icon", + "className": "icon-unfold-vertical", + "unicode": "" + }, + "ungroup": { + "encodedCode": "\\e46b", + "prefix": "icon", + "className": "icon-ungroup", + "unicode": "" + }, + "university": { + "encodedCode": "\\e3e8", + "prefix": "icon", + "className": "icon-university", + "unicode": "" + }, + "unlink-2": { + "encodedCode": "\\e19c", + "prefix": "icon", + "className": "icon-unlink-2", + "unicode": "" + }, + "unlink": { + "encodedCode": "\\e19b", + "prefix": "icon", + "className": "icon-unlink", + "unicode": "" + }, + "unplug": { + "encodedCode": "\\e461", + "prefix": "icon", + "className": "icon-unplug", + "unicode": "" + }, + "upload": { + "encodedCode": "\\e19d", + "prefix": "icon", + "className": "icon-upload", + "unicode": "" + }, + "usb": { + "encodedCode": "\\e359", + "prefix": "icon", + "className": "icon-usb", + "unicode": "" + }, + "user-check": { + "encodedCode": "\\e19f", + "prefix": "icon", + "className": "icon-user-check", + "unicode": "" + }, + "user-cog": { + "encodedCode": "\\e345", + "prefix": "icon", + "className": "icon-user-cog", + "unicode": "" + }, + "user-minus": { + "encodedCode": "\\e1a0", + "prefix": "icon", + "className": "icon-user-minus", + "unicode": "" + }, + "user-pen": { + "encodedCode": "\\e600", + "prefix": "icon", + "className": "icon-user-pen", + "unicode": "" + }, + "user-plus": { + "encodedCode": "\\e1a1", + "prefix": "icon", + "className": "icon-user-plus", + "unicode": "" + }, + "user-round-check": { + "encodedCode": "\\e46d", + "prefix": "icon", + "className": "icon-user-round-check", + "unicode": "" + }, + "user-round-cog": { + "encodedCode": "\\e46e", + "prefix": "icon", + "className": "icon-user-round-cog", + "unicode": "" + }, + "user-round-minus": { + "encodedCode": "\\e46f", + "prefix": "icon", + "className": "icon-user-round-minus", + "unicode": "" + }, + "user-round-pen": { + "encodedCode": "\\e601", + "prefix": "icon", + "className": "icon-user-round-pen", + "unicode": "" + }, + "user-round-plus": { + "encodedCode": "\\e470", + "prefix": "icon", + "className": "icon-user-round-plus", + "unicode": "" + }, + "user-round-search": { + "encodedCode": "\\e57c", + "prefix": "icon", + "className": "icon-user-round-search", + "unicode": "" + }, + "user-round-x": { + "encodedCode": "\\e471", + "prefix": "icon", + "className": "icon-user-round-x", + "unicode": "" + }, + "user-round": { + "encodedCode": "\\e46c", + "prefix": "icon", + "className": "icon-user-round", + "unicode": "" + }, + "user-search": { + "encodedCode": "\\e57d", + "prefix": "icon", + "className": "icon-user-search", + "unicode": "" + }, + "user-x": { + "encodedCode": "\\e1a2", + "prefix": "icon", + "className": "icon-user-x", + "unicode": "" + }, + "user": { + "encodedCode": "\\e19e", + "prefix": "icon", + "className": "icon-user", + "unicode": "" + }, + "users-round": { + "encodedCode": "\\e472", + "prefix": "icon", + "className": "icon-users-round", + "unicode": "" + }, + "users": { + "encodedCode": "\\e1a3", + "prefix": "icon", + "className": "icon-users", + "unicode": "" + }, + "utensils-crossed": { + "encodedCode": "\\e2f6", + "prefix": "icon", + "className": "icon-utensils-crossed", + "unicode": "" + }, + "utensils": { + "encodedCode": "\\e2f5", + "prefix": "icon", + "className": "icon-utensils", + "unicode": "" + }, + "utility-pole": { + "encodedCode": "\\e3c5", + "prefix": "icon", + "className": "icon-utility-pole", + "unicode": "" + }, + "variable": { + "encodedCode": "\\e477", + "prefix": "icon", + "className": "icon-variable", + "unicode": "" + }, + "vault": { + "encodedCode": "\\e593", + "prefix": "icon", + "className": "icon-vault", + "unicode": "" + }, + "vegan": { + "encodedCode": "\\e3a0", + "prefix": "icon", + "className": "icon-vegan", + "unicode": "" + }, + "venetian-mask": { + "encodedCode": "\\e2a9", + "prefix": "icon", + "className": "icon-venetian-mask", + "unicode": "" + }, + "venus-and-mars": { + "encodedCode": "\\e64a", + "prefix": "icon", + "className": "icon-venus-and-mars", + "unicode": "" + }, + "venus": { + "encodedCode": "\\e649", + "prefix": "icon", + "className": "icon-venus", + "unicode": "" + }, + "vibrate-off": { + "encodedCode": "\\e29c", + "prefix": "icon", + "className": "icon-vibrate-off", + "unicode": "" + }, + "vibrate": { + "encodedCode": "\\e222", + "prefix": "icon", + "className": "icon-vibrate", + "unicode": "" + }, + "video-off": { + "encodedCode": "\\e1a5", + "prefix": "icon", + "className": "icon-video-off", + "unicode": "" + }, + "video": { + "encodedCode": "\\e1a4", + "prefix": "icon", + "className": "icon-video", + "unicode": "" + }, + "videotape": { + "encodedCode": "\\e4cf", + "prefix": "icon", + "className": "icon-videotape", + "unicode": "" + }, + "view": { + "encodedCode": "\\e1a6", + "prefix": "icon", + "className": "icon-view", + "unicode": "" + }, + "voicemail": { + "encodedCode": "\\e1a7", + "prefix": "icon", + "className": "icon-voicemail", + "unicode": "" + }, + "volleyball": { + "encodedCode": "\\e633", + "prefix": "icon", + "className": "icon-volleyball", + "unicode": "" + }, + "volume-1": { + "encodedCode": "\\e1a9", + "prefix": "icon", + "className": "icon-volume-1", + "unicode": "" + }, + "volume-2": { + "encodedCode": "\\e1aa", + "prefix": "icon", + "className": "icon-volume-2", + "unicode": "" + }, + "volume-off": { + "encodedCode": "\\e62a", + "prefix": "icon", + "className": "icon-volume-off", + "unicode": "" + }, + "volume-x": { + "encodedCode": "\\e1ab", + "prefix": "icon", + "className": "icon-volume-x", + "unicode": "" + }, + "volume": { + "encodedCode": "\\e1a8", + "prefix": "icon", + "className": "icon-volume", + "unicode": "" + }, + "vote": { + "encodedCode": "\\e3b0", + "prefix": "icon", + "className": "icon-vote", + "unicode": "" + }, + "wallet-cards": { + "encodedCode": "\\e4d0", + "prefix": "icon", + "className": "icon-wallet-cards", + "unicode": "" + }, + "wallet-minimal": { + "encodedCode": "\\e4d1", + "prefix": "icon", + "className": "icon-wallet-minimal", + "unicode": "" + }, + "wallet": { + "encodedCode": "\\e203", + "prefix": "icon", + "className": "icon-wallet", + "unicode": "" + }, + "wallpaper": { + "encodedCode": "\\e44f", + "prefix": "icon", + "className": "icon-wallpaper", + "unicode": "" + }, + "wand-sparkles": { + "encodedCode": "\\e35a", + "prefix": "icon", + "className": "icon-wand-sparkles", + "unicode": "" + }, + "wand": { + "encodedCode": "\\e245", + "prefix": "icon", + "className": "icon-wand", + "unicode": "" + }, + "warehouse": { + "encodedCode": "\\e3e9", + "prefix": "icon", + "className": "icon-warehouse", + "unicode": "" + }, + "washing-machine": { + "encodedCode": "\\e594", + "prefix": "icon", + "className": "icon-washing-machine", + "unicode": "" + }, + "watch": { + "encodedCode": "\\e1ac", + "prefix": "icon", + "className": "icon-watch", + "unicode": "" + }, + "waves-ladder": { + "encodedCode": "\\e63f", + "prefix": "icon", + "className": "icon-waves-ladder", + "unicode": "" + }, + "waves": { + "encodedCode": "\\e282", + "prefix": "icon", + "className": "icon-waves", + "unicode": "" + }, + "waypoints": { + "encodedCode": "\\e546", + "prefix": "icon", + "className": "icon-waypoints", + "unicode": "" + }, + "webcam": { + "encodedCode": "\\e204", + "prefix": "icon", + "className": "icon-webcam", + "unicode": "" + }, + "webhook-off": { + "encodedCode": "\\e5bb", + "prefix": "icon", + "className": "icon-webhook-off", + "unicode": "" + }, + "webhook": { + "encodedCode": "\\e377", + "prefix": "icon", + "className": "icon-webhook", + "unicode": "" + }, + "weight": { + "encodedCode": "\\e534", + "prefix": "icon", + "className": "icon-weight", + "unicode": "" + }, + "wheat-off": { + "encodedCode": "\\e3a2", + "prefix": "icon", + "className": "icon-wheat-off", + "unicode": "" + }, + "wheat": { + "encodedCode": "\\e3a1", + "prefix": "icon", + "className": "icon-wheat", + "unicode": "" + }, + "whole-word": { + "encodedCode": "\\e3e2", + "prefix": "icon", + "className": "icon-whole-word", + "unicode": "" + }, + "wifi-high": { + "encodedCode": "\\e5fb", + "prefix": "icon", + "className": "icon-wifi-high", + "unicode": "" + }, + "wifi-low": { + "encodedCode": "\\e5fc", + "prefix": "icon", + "className": "icon-wifi-low", + "unicode": "" + }, + "wifi-off": { + "encodedCode": "\\e1ae", + "prefix": "icon", + "className": "icon-wifi-off", + "unicode": "" + }, + "wifi-zero": { + "encodedCode": "\\e5fd", + "prefix": "icon", + "className": "icon-wifi-zero", + "unicode": "" + }, + "wifi": { + "encodedCode": "\\e1ad", + "prefix": "icon", + "className": "icon-wifi", + "unicode": "" + }, + "wind-arrow-down": { + "encodedCode": "\\e635", + "prefix": "icon", + "className": "icon-wind-arrow-down", + "unicode": "" + }, + "wind": { + "encodedCode": "\\e1af", + "prefix": "icon", + "className": "icon-wind", + "unicode": "" + }, + "wine-off": { + "encodedCode": "\\e3a3", + "prefix": "icon", + "className": "icon-wine-off", + "unicode": "" + }, + "wine": { + "encodedCode": "\\e2f7", + "prefix": "icon", + "className": "icon-wine", + "unicode": "" + }, + "workflow": { + "encodedCode": "\\e429", + "prefix": "icon", + "className": "icon-workflow", + "unicode": "" + }, + "worm": { + "encodedCode": "\\e5de", + "prefix": "icon", + "className": "icon-worm", + "unicode": "" + }, + "wrap-text": { + "encodedCode": "\\e247", + "prefix": "icon", + "className": "icon-wrap-text", + "unicode": "" + }, + "wrench": { + "encodedCode": "\\e1b0", + "prefix": "icon", + "className": "icon-wrench", + "unicode": "" + }, + "x": { + "encodedCode": "\\e1b1", + "prefix": "icon", + "className": "icon-x", + "unicode": "" + }, + "youtube": { + "encodedCode": "\\e1b2", + "prefix": "icon", + "className": "icon-youtube", + "unicode": "" + }, + "zap-off": { + "encodedCode": "\\e1b4", + "prefix": "icon", + "className": "icon-zap-off", + "unicode": "" + }, + "zap": { + "encodedCode": "\\e1b3", + "prefix": "icon", + "className": "icon-zap", + "unicode": "" + }, + "zoom-in": { + "encodedCode": "\\e1b5", + "prefix": "icon", + "className": "icon-zoom-in", + "unicode": "" + }, + "zoom-out": { + "encodedCode": "\\e1b6", + "prefix": "icon", + "className": "icon-zoom-out", + "unicode": "" + } +} diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.css b/third_party/shadcn_flutter/icons/lucide/lucide.css new file mode 100644 index 00000000..d15155bc --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/lucide.css @@ -0,0 +1,1577 @@ +@font-face { + font-family: "lucide"; + src: url('lucide.eot?t=1741351670382'); /* IE9*/ + src: url('lucide.eot?t=1741351670382#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url("lucide.woff2?t=1741351670382") format("woff2"), + url("lucide.woff?t=1741351670382") format("woff"), + url('lucide.ttf?t=1741351670382') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + url('lucide.svg?t=1741351670382#lucide') format('svg'); /* iOS 4.1- */ +} + +[class^="icon-"], [class*=" icon-"] { + font-family: 'lucide' !important;font-size: inherit; + font-style:normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +.icon-a-arrow-down:before { content: "\e589"; } +.icon-a-arrow-up:before { content: "\e58a"; } +.icon-a-large-small:before { content: "\e58b"; } +.icon-accessibility:before { content: "\e296"; } +.icon-activity:before { content: "\e038"; } +.icon-air-vent:before { content: "\e350"; } +.icon-airplay:before { content: "\e039"; } +.icon-alarm-clock-check:before { content: "\e1eb"; } +.icon-alarm-clock-minus:before { content: "\e1ec"; } +.icon-alarm-clock-off:before { content: "\e23a"; } +.icon-alarm-clock-plus:before { content: "\e1ed"; } +.icon-alarm-clock:before { content: "\e03a"; } +.icon-alarm-smoke:before { content: "\e57f"; } +.icon-album:before { content: "\e03b"; } +.icon-align-center-horizontal:before { content: "\e26b"; } +.icon-align-center-vertical:before { content: "\e26c"; } +.icon-align-center:before { content: "\e03c"; } +.icon-align-end-horizontal:before { content: "\e26d"; } +.icon-align-end-vertical:before { content: "\e26e"; } +.icon-align-horizontal-distribute-center:before { content: "\e03d"; } +.icon-align-horizontal-distribute-end:before { content: "\e03e"; } +.icon-align-horizontal-distribute-start:before { content: "\e03f"; } +.icon-align-horizontal-justify-center:before { content: "\e271"; } +.icon-align-horizontal-justify-end:before { content: "\e272"; } +.icon-align-horizontal-justify-start:before { content: "\e273"; } +.icon-align-horizontal-space-around:before { content: "\e274"; } +.icon-align-horizontal-space-between:before { content: "\e275"; } +.icon-align-justify:before { content: "\e040"; } +.icon-align-left:before { content: "\e041"; } +.icon-align-right:before { content: "\e042"; } +.icon-align-start-horizontal:before { content: "\e26f"; } +.icon-align-start-vertical:before { content: "\e270"; } +.icon-align-vertical-distribute-center:before { content: "\e27d"; } +.icon-align-vertical-distribute-end:before { content: "\e27e"; } +.icon-align-vertical-distribute-start:before { content: "\e27f"; } +.icon-align-vertical-justify-center:before { content: "\e276"; } +.icon-align-vertical-justify-end:before { content: "\e277"; } +.icon-align-vertical-justify-start:before { content: "\e278"; } +.icon-align-vertical-space-around:before { content: "\e279"; } +.icon-align-vertical-space-between:before { content: "\e27a"; } +.icon-ambulance:before { content: "\e5bf"; } +.icon-ampersand:before { content: "\e4a0"; } +.icon-ampersands:before { content: "\e4a1"; } +.icon-amphora:before { content: "\e61f"; } +.icon-anchor:before { content: "\e043"; } +.icon-angry:before { content: "\e2fb"; } +.icon-annoyed:before { content: "\e2fc"; } +.icon-antenna:before { content: "\e4e6"; } +.icon-anvil:before { content: "\e584"; } +.icon-aperture:before { content: "\e044"; } +.icon-app-window-mac:before { content: "\e5d6"; } +.icon-app-window:before { content: "\e42a"; } +.icon-apple:before { content: "\e351"; } +.icon-archive-restore:before { content: "\e2cc"; } +.icon-archive-x:before { content: "\e510"; } +.icon-archive:before { content: "\e045"; } +.icon-armchair:before { content: "\e2bf"; } +.icon-arrow-big-down-dash:before { content: "\e421"; } +.icon-arrow-big-down:before { content: "\e1e0"; } +.icon-arrow-big-left-dash:before { content: "\e422"; } +.icon-arrow-big-left:before { content: "\e1e1"; } +.icon-arrow-big-right-dash:before { content: "\e423"; } +.icon-arrow-big-right:before { content: "\e1e2"; } +.icon-arrow-big-up-dash:before { content: "\e424"; } +.icon-arrow-big-up:before { content: "\e1e3"; } +.icon-arrow-down-0-1:before { content: "\e417"; } +.icon-arrow-down-1-0:before { content: "\e418"; } +.icon-arrow-down-a-z:before { content: "\e419"; } +.icon-arrow-down-from-line:before { content: "\e458"; } +.icon-arrow-down-left:before { content: "\e047"; } +.icon-arrow-down-narrow-wide:before { content: "\e048"; } +.icon-arrow-down-right:before { content: "\e049"; } +.icon-arrow-down-to-dot:before { content: "\e451"; } +.icon-arrow-down-to-line:before { content: "\e459"; } +.icon-arrow-down-up:before { content: "\e04a"; } +.icon-arrow-down-wide-narrow:before { content: "\e04b"; } +.icon-arrow-down-z-a:before { content: "\e41a"; } +.icon-arrow-down:before { content: "\e046"; } +.icon-arrow-left-from-line:before { content: "\e45a"; } +.icon-arrow-left-right:before { content: "\e249"; } +.icon-arrow-left-to-line:before { content: "\e45b"; } +.icon-arrow-left:before { content: "\e04c"; } +.icon-arrow-right-from-line:before { content: "\e45c"; } +.icon-arrow-right-left:before { content: "\e41b"; } +.icon-arrow-right-to-line:before { content: "\e45d"; } +.icon-arrow-right:before { content: "\e04d"; } +.icon-arrow-up-0-1:before { content: "\e41c"; } +.icon-arrow-up-1-0:before { content: "\e41d"; } +.icon-arrow-up-a-z:before { content: "\e41e"; } +.icon-arrow-up-down:before { content: "\e380"; } +.icon-arrow-up-from-dot:before { content: "\e452"; } +.icon-arrow-up-from-line:before { content: "\e45e"; } +.icon-arrow-up-left:before { content: "\e04f"; } +.icon-arrow-up-narrow-wide:before { content: "\e050"; } +.icon-arrow-up-right:before { content: "\e051"; } +.icon-arrow-up-to-line:before { content: "\e45f"; } +.icon-arrow-up-wide-narrow:before { content: "\e41f"; } +.icon-arrow-up-z-a:before { content: "\e420"; } +.icon-arrow-up:before { content: "\e04e"; } +.icon-arrows-up-from-line:before { content: "\e4d8"; } +.icon-asterisk:before { content: "\e1ee"; } +.icon-at-sign:before { content: "\e052"; } +.icon-atom:before { content: "\e3da"; } +.icon-audio-lines:before { content: "\e55e"; } +.icon-audio-waveform:before { content: "\e55f"; } +.icon-award:before { content: "\e053"; } +.icon-axe:before { content: "\e054"; } +.icon-axis-3d:before { content: "\e2fd"; } +.icon-baby:before { content: "\e2cd"; } +.icon-backpack:before { content: "\e2c7"; } +.icon-badge-alert:before { content: "\e479"; } +.icon-badge-cent:before { content: "\e513"; } +.icon-badge-check:before { content: "\e240"; } +.icon-badge-dollar-sign:before { content: "\e47a"; } +.icon-badge-euro:before { content: "\e514"; } +.icon-badge-help:before { content: "\e47b"; } +.icon-badge-indian-rupee:before { content: "\e515"; } +.icon-badge-info:before { content: "\e47c"; } +.icon-badge-japanese-yen:before { content: "\e516"; } +.icon-badge-minus:before { content: "\e47d"; } +.icon-badge-percent:before { content: "\e47e"; } +.icon-badge-plus:before { content: "\e47f"; } +.icon-badge-pound-sterling:before { content: "\e517"; } +.icon-badge-russian-ruble:before { content: "\e518"; } +.icon-badge-swiss-franc:before { content: "\e519"; } +.icon-badge-x:before { content: "\e480"; } +.icon-badge:before { content: "\e478"; } +.icon-baggage-claim:before { content: "\e2c8"; } +.icon-ban:before { content: "\e055"; } +.icon-banana:before { content: "\e352"; } +.icon-bandage:before { content: "\e621"; } +.icon-banknote:before { content: "\e056"; } +.icon-barcode:before { content: "\e537"; } +.icon-baseline:before { content: "\e284"; } +.icon-bath:before { content: "\e2aa"; } +.icon-battery-charging:before { content: "\e058"; } +.icon-battery-full:before { content: "\e059"; } +.icon-battery-low:before { content: "\e05a"; } +.icon-battery-medium:before { content: "\e05b"; } +.icon-battery-plus:before { content: "\e642"; } +.icon-battery-warning:before { content: "\e3af"; } +.icon-battery:before { content: "\e057"; } +.icon-beaker:before { content: "\e05c"; } +.icon-bean-off:before { content: "\e393"; } +.icon-bean:before { content: "\e392"; } +.icon-bed-double:before { content: "\e2c1"; } +.icon-bed-single:before { content: "\e2c2"; } +.icon-bed:before { content: "\e2c0"; } +.icon-beef:before { content: "\e3a8"; } +.icon-beer-off:before { content: "\e5dd"; } +.icon-beer:before { content: "\e2ce"; } +.icon-bell-dot:before { content: "\e42f"; } +.icon-bell-electric:before { content: "\e580"; } +.icon-bell-minus:before { content: "\e1ef"; } +.icon-bell-off:before { content: "\e05e"; } +.icon-bell-plus:before { content: "\e1f0"; } +.icon-bell-ring:before { content: "\e223"; } +.icon-bell:before { content: "\e05d"; } +.icon-between-horizontal-end:before { content: "\e595"; } +.icon-between-horizontal-start:before { content: "\e596"; } +.icon-between-vertical-end:before { content: "\e597"; } +.icon-between-vertical-start:before { content: "\e598"; } +.icon-biceps-flexed:before { content: "\e5ef"; } +.icon-bike:before { content: "\e1d1"; } +.icon-binary:before { content: "\e1f1"; } +.icon-binoculars:before { content: "\e625"; } +.icon-biohazard:before { content: "\e445"; } +.icon-bird:before { content: "\e3c8"; } +.icon-bitcoin:before { content: "\e05f"; } +.icon-blend:before { content: "\e5a0"; } +.icon-blinds:before { content: "\e3c3"; } +.icon-blocks:before { content: "\e4fe"; } +.icon-bluetooth-connected:before { content: "\e1b7"; } +.icon-bluetooth-off:before { content: "\e1b8"; } +.icon-bluetooth-searching:before { content: "\e1b9"; } +.icon-bluetooth:before { content: "\e060"; } +.icon-bold:before { content: "\e061"; } +.icon-bolt:before { content: "\e590"; } +.icon-bomb:before { content: "\e2fe"; } +.icon-bone:before { content: "\e35b"; } +.icon-book-a:before { content: "\e548"; } +.icon-book-audio:before { content: "\e549"; } +.icon-book-check:before { content: "\e54a"; } +.icon-book-copy:before { content: "\e3f0"; } +.icon-book-dashed:before { content: "\e3f1"; } +.icon-book-down:before { content: "\e3f2"; } +.icon-book-headphones:before { content: "\e54b"; } +.icon-book-heart:before { content: "\e54c"; } +.icon-book-image:before { content: "\e54d"; } +.icon-book-key:before { content: "\e3f3"; } +.icon-book-lock:before { content: "\e3f4"; } +.icon-book-marked:before { content: "\e3f5"; } +.icon-book-minus:before { content: "\e3f6"; } +.icon-book-open-check:before { content: "\e384"; } +.icon-book-open-text:before { content: "\e54e"; } +.icon-book-open:before { content: "\e063"; } +.icon-book-plus:before { content: "\e3f7"; } +.icon-book-text:before { content: "\e54f"; } +.icon-book-type:before { content: "\e550"; } +.icon-book-up-2:before { content: "\e4aa"; } +.icon-book-up:before { content: "\e3f8"; } +.icon-book-user:before { content: "\e551"; } +.icon-book-x:before { content: "\e3f9"; } +.icon-book:before { content: "\e062"; } +.icon-bookmark-check:before { content: "\e523"; } +.icon-bookmark-minus:before { content: "\e23b"; } +.icon-bookmark-plus:before { content: "\e23c"; } +.icon-bookmark-x:before { content: "\e524"; } +.icon-bookmark:before { content: "\e064"; } +.icon-boom-box:before { content: "\e4f2"; } +.icon-bot-message-square:before { content: "\e5d2"; } +.icon-bot-off:before { content: "\e5e4"; } +.icon-bot:before { content: "\e1ba"; } +.icon-box:before { content: "\e065"; } +.icon-boxes:before { content: "\e2cf"; } +.icon-braces:before { content: "\e36d"; } +.icon-brackets:before { content: "\e447"; } +.icon-brain-circuit:before { content: "\e3ca"; } +.icon-brain-cog:before { content: "\e3cb"; } +.icon-brain:before { content: "\e3c9"; } +.icon-brick-wall:before { content: "\e585"; } +.icon-briefcase-business:before { content: "\e5d9"; } +.icon-briefcase-conveyor-belt:before { content: "\e62f"; } +.icon-briefcase-medical:before { content: "\e5da"; } +.icon-briefcase:before { content: "\e066"; } +.icon-bring-to-front:before { content: "\e4f3"; } +.icon-brush:before { content: "\e1d2"; } +.icon-bug-off:before { content: "\e511"; } +.icon-bug-play:before { content: "\e512"; } +.icon-bug:before { content: "\e20b"; } +.icon-building-2:before { content: "\e28f"; } +.icon-building:before { content: "\e1cb"; } +.icon-bus-front:before { content: "\e4ff"; } +.icon-bus:before { content: "\e1d3"; } +.icon-cable-car:before { content: "\e500"; } +.icon-cable:before { content: "\e4e7"; } +.icon-cake-slice:before { content: "\e4bd"; } +.icon-cake:before { content: "\e347"; } +.icon-calculator:before { content: "\e1bb"; } +.icon-calendar-1:before { content: "\e634"; } +.icon-calendar-arrow-down:before { content: "\e602"; } +.icon-calendar-arrow-up:before { content: "\e603"; } +.icon-calendar-check-2:before { content: "\e2b7"; } +.icon-calendar-check:before { content: "\e2b6"; } +.icon-calendar-clock:before { content: "\e303"; } +.icon-calendar-cog:before { content: "\e5f1"; } +.icon-calendar-days:before { content: "\e2b8"; } +.icon-calendar-fold:before { content: "\e5b8"; } +.icon-calendar-heart:before { content: "\e304"; } +.icon-calendar-minus-2:before { content: "\e5b9"; } +.icon-calendar-minus:before { content: "\e2b9"; } +.icon-calendar-off:before { content: "\e2ba"; } +.icon-calendar-plus-2:before { content: "\e5ba"; } +.icon-calendar-plus:before { content: "\e2bb"; } +.icon-calendar-range:before { content: "\e2bc"; } +.icon-calendar-search:before { content: "\e305"; } +.icon-calendar-sync:before { content: "\e63a"; } +.icon-calendar-x-2:before { content: "\e2be"; } +.icon-calendar-x:before { content: "\e2bd"; } +.icon-calendar:before { content: "\e067"; } +.icon-camera-off:before { content: "\e069"; } +.icon-camera:before { content: "\e068"; } +.icon-candy-cane:before { content: "\e4be"; } +.icon-candy-off:before { content: "\e395"; } +.icon-candy:before { content: "\e394"; } +.icon-cannabis:before { content: "\e5d8"; } +.icon-captions-off:before { content: "\e5c5"; } +.icon-captions:before { content: "\e3a7"; } +.icon-car-front:before { content: "\e501"; } +.icon-car-taxi-front:before { content: "\e502"; } +.icon-car:before { content: "\e1d4"; } +.icon-caravan:before { content: "\e53d"; } +.icon-carrot:before { content: "\e259"; } +.icon-case-lower:before { content: "\e3db"; } +.icon-case-sensitive:before { content: "\e3dc"; } +.icon-case-upper:before { content: "\e3dd"; } +.icon-cassette-tape:before { content: "\e4ce"; } +.icon-cast:before { content: "\e06a"; } +.icon-castle:before { content: "\e3e3"; } +.icon-cat:before { content: "\e38f"; } +.icon-cctv:before { content: "\e581"; } +.icon-chart-area:before { content: "\e4d7"; } +.icon-chart-bar-big:before { content: "\e4ab"; } +.icon-chart-bar-decreasing:before { content: "\e60b"; } +.icon-chart-bar-increasing:before { content: "\e60c"; } +.icon-chart-bar-stacked:before { content: "\e60d"; } +.icon-chart-bar:before { content: "\e2a1"; } +.icon-chart-candlestick:before { content: "\e4ac"; } +.icon-chart-column-big:before { content: "\e4ad"; } +.icon-chart-column-decreasing:before { content: "\e06b"; } +.icon-chart-column-increasing:before { content: "\e2a3"; } +.icon-chart-column-stacked:before { content: "\e60e"; } +.icon-chart-column:before { content: "\e2a2"; } +.icon-chart-gantt:before { content: "\e628"; } +.icon-chart-line:before { content: "\e2a4"; } +.icon-chart-network:before { content: "\e60f"; } +.icon-chart-no-axes-column-decreasing:before { content: "\e06d"; } +.icon-chart-no-axes-column-increasing:before { content: "\e06e"; } +.icon-chart-no-axes-column:before { content: "\e06c"; } +.icon-chart-no-axes-combined:before { content: "\e610"; } +.icon-chart-no-axes-gantt:before { content: "\e4c8"; } +.icon-chart-pie:before { content: "\e06f"; } +.icon-chart-scatter:before { content: "\e48e"; } +.icon-chart-spline:before { content: "\e611"; } +.icon-check-check:before { content: "\e391"; } +.icon-check:before { content: "\e070"; } +.icon-chef-hat:before { content: "\e2ab"; } +.icon-cherry:before { content: "\e353"; } +.icon-chevron-down:before { content: "\e071"; } +.icon-chevron-first:before { content: "\e242"; } +.icon-chevron-last:before { content: "\e243"; } +.icon-chevron-left:before { content: "\e072"; } +.icon-chevron-right:before { content: "\e073"; } +.icon-chevron-up:before { content: "\e074"; } +.icon-chevrons-down-up:before { content: "\e227"; } +.icon-chevrons-down:before { content: "\e075"; } +.icon-chevrons-left-right-ellipsis:before { content: "\e623"; } +.icon-chevrons-left-right:before { content: "\e292"; } +.icon-chevrons-left:before { content: "\e076"; } +.icon-chevrons-right-left:before { content: "\e293"; } +.icon-chevrons-right:before { content: "\e077"; } +.icon-chevrons-up-down:before { content: "\e210"; } +.icon-chevrons-up:before { content: "\e078"; } +.icon-chrome:before { content: "\e079"; } +.icon-church:before { content: "\e3e4"; } +.icon-cigarette-off:before { content: "\e2c6"; } +.icon-cigarette:before { content: "\e2c5"; } +.icon-circle-alert:before { content: "\e07b"; } +.icon-circle-arrow-down:before { content: "\e07c"; } +.icon-circle-arrow-left:before { content: "\e07d"; } +.icon-circle-arrow-out-down-left:before { content: "\e3fb"; } +.icon-circle-arrow-out-down-right:before { content: "\e3fc"; } +.icon-circle-arrow-out-up-left:before { content: "\e3fd"; } +.icon-circle-arrow-out-up-right:before { content: "\e3fe"; } +.icon-circle-arrow-right:before { content: "\e07e"; } +.icon-circle-arrow-up:before { content: "\e07f"; } +.icon-circle-check-big:before { content: "\e080"; } +.icon-circle-check:before { content: "\e225"; } +.icon-circle-chevron-down:before { content: "\e4e1"; } +.icon-circle-chevron-left:before { content: "\e4e2"; } +.icon-circle-chevron-right:before { content: "\e4e3"; } +.icon-circle-chevron-up:before { content: "\e4e4"; } +.icon-circle-dashed:before { content: "\e4b4"; } +.icon-circle-divide:before { content: "\e081"; } +.icon-circle-dollar-sign:before { content: "\e481"; } +.icon-circle-dot-dashed:before { content: "\e4b5"; } +.icon-circle-dot:before { content: "\e348"; } +.icon-circle-ellipsis:before { content: "\e349"; } +.icon-circle-equal:before { content: "\e404"; } +.icon-circle-fading-arrow-up:before { content: "\e61c"; } +.icon-circle-fading-plus:before { content: "\e5c0"; } +.icon-circle-gauge:before { content: "\e4e5"; } +.icon-circle-help:before { content: "\e082"; } +.icon-circle-minus:before { content: "\e083"; } +.icon-circle-off:before { content: "\e405"; } +.icon-circle-parking-off:before { content: "\e3cd"; } +.icon-circle-parking:before { content: "\e3cc"; } +.icon-circle-pause:before { content: "\e084"; } +.icon-circle-percent:before { content: "\e51e"; } +.icon-circle-play:before { content: "\e085"; } +.icon-circle-plus:before { content: "\e086"; } +.icon-circle-power:before { content: "\e554"; } +.icon-circle-slash-2:before { content: "\e212"; } +.icon-circle-slash:before { content: "\e406"; } +.icon-circle-small:before { content: "\e644"; } +.icon-circle-stop:before { content: "\e087"; } +.icon-circle-user-round:before { content: "\e466"; } +.icon-circle-user:before { content: "\e465"; } +.icon-circle-x:before { content: "\e088"; } +.icon-circle:before { content: "\e07a"; } +.icon-circuit-board:before { content: "\e407"; } +.icon-citrus:before { content: "\e378"; } +.icon-clapperboard:before { content: "\e29a"; } +.icon-clipboard-check:before { content: "\e218"; } +.icon-clipboard-copy:before { content: "\e224"; } +.icon-clipboard-list:before { content: "\e08a"; } +.icon-clipboard-minus:before { content: "\e5c2"; } +.icon-clipboard-paste:before { content: "\e3eb"; } +.icon-clipboard-pen-line:before { content: "\e307"; } +.icon-clipboard-pen:before { content: "\e306"; } +.icon-clipboard-plus:before { content: "\e5c3"; } +.icon-clipboard-type:before { content: "\e308"; } +.icon-clipboard-x:before { content: "\e221"; } +.icon-clipboard:before { content: "\e089"; } +.icon-clock-1:before { content: "\e24a"; } +.icon-clock-10:before { content: "\e24b"; } +.icon-clock-11:before { content: "\e24c"; } +.icon-clock-12:before { content: "\e24d"; } +.icon-clock-2:before { content: "\e24e"; } +.icon-clock-3:before { content: "\e24f"; } +.icon-clock-4:before { content: "\e250"; } +.icon-clock-5:before { content: "\e251"; } +.icon-clock-6:before { content: "\e252"; } +.icon-clock-7:before { content: "\e253"; } +.icon-clock-8:before { content: "\e254"; } +.icon-clock-9:before { content: "\e255"; } +.icon-clock-alert:before { content: "\e62e"; } +.icon-clock-arrow-down:before { content: "\e604"; } +.icon-clock-arrow-up:before { content: "\e605"; } +.icon-clock:before { content: "\e08b"; } +.icon-cloud-alert:before { content: "\e637"; } +.icon-cloud-cog:before { content: "\e309"; } +.icon-cloud-download:before { content: "\e08d"; } +.icon-cloud-drizzle:before { content: "\e08e"; } +.icon-cloud-fog:before { content: "\e213"; } +.icon-cloud-hail:before { content: "\e08f"; } +.icon-cloud-lightning:before { content: "\e090"; } +.icon-cloud-moon-rain:before { content: "\e2f9"; } +.icon-cloud-moon:before { content: "\e214"; } +.icon-cloud-off:before { content: "\e091"; } +.icon-cloud-rain-wind:before { content: "\e093"; } +.icon-cloud-rain:before { content: "\e092"; } +.icon-cloud-snow:before { content: "\e094"; } +.icon-cloud-sun-rain:before { content: "\e2fa"; } +.icon-cloud-sun:before { content: "\e215"; } +.icon-cloud-upload:before { content: "\e095"; } +.icon-cloud:before { content: "\e08c"; } +.icon-cloudy:before { content: "\e216"; } +.icon-clover:before { content: "\e096"; } +.icon-club:before { content: "\e49a"; } +.icon-code-xml:before { content: "\e205"; } +.icon-code:before { content: "\e097"; } +.icon-codepen:before { content: "\e098"; } +.icon-codesandbox:before { content: "\e099"; } +.icon-coffee:before { content: "\e09a"; } +.icon-cog:before { content: "\e30a"; } +.icon-coins:before { content: "\e09b"; } +.icon-columns-2:before { content: "\e09c"; } +.icon-columns-3:before { content: "\e09d"; } +.icon-columns-4:before { content: "\e58d"; } +.icon-combine:before { content: "\e450"; } +.icon-command:before { content: "\e09e"; } +.icon-compass:before { content: "\e09f"; } +.icon-component:before { content: "\e2ac"; } +.icon-computer:before { content: "\e4e8"; } +.icon-concierge-bell:before { content: "\e37b"; } +.icon-cone:before { content: "\e527"; } +.icon-construction:before { content: "\e3b7"; } +.icon-contact-round:before { content: "\e467"; } +.icon-contact:before { content: "\e0a0"; } +.icon-container:before { content: "\e4d9"; } +.icon-contrast:before { content: "\e0a1"; } +.icon-cookie:before { content: "\e26a"; } +.icon-cooking-pot:before { content: "\e588"; } +.icon-copy-check:before { content: "\e3ff"; } +.icon-copy-minus:before { content: "\e400"; } +.icon-copy-plus:before { content: "\e401"; } +.icon-copy-slash:before { content: "\e402"; } +.icon-copy-x:before { content: "\e403"; } +.icon-copy:before { content: "\e0a2"; } +.icon-copyleft:before { content: "\e0a3"; } +.icon-copyright:before { content: "\e0a4"; } +.icon-corner-down-left:before { content: "\e0a5"; } +.icon-corner-down-right:before { content: "\e0a6"; } +.icon-corner-left-down:before { content: "\e0a7"; } +.icon-corner-left-up:before { content: "\e0a8"; } +.icon-corner-right-down:before { content: "\e0a9"; } +.icon-corner-right-up:before { content: "\e0aa"; } +.icon-corner-up-left:before { content: "\e0ab"; } +.icon-corner-up-right:before { content: "\e0ac"; } +.icon-cpu:before { content: "\e0ad"; } +.icon-creative-commons:before { content: "\e3b5"; } +.icon-credit-card:before { content: "\e0ae"; } +.icon-croissant:before { content: "\e2ad"; } +.icon-crop:before { content: "\e0af"; } +.icon-cross:before { content: "\e1e4"; } +.icon-crosshair:before { content: "\e0b0"; } +.icon-crown:before { content: "\e1d5"; } +.icon-cuboid:before { content: "\e528"; } +.icon-cup-soda:before { content: "\e2d0"; } +.icon-currency:before { content: "\e22f"; } +.icon-cylinder:before { content: "\e529"; } +.icon-dam:before { content: "\e60a"; } +.icon-database-backup:before { content: "\e3ae"; } +.icon-database-zap:before { content: "\e50f"; } +.icon-database:before { content: "\e0b1"; } +.icon-delete:before { content: "\e0b2"; } +.icon-dessert:before { content: "\e4bf"; } +.icon-diameter:before { content: "\e52a"; } +.icon-diamond-minus:before { content: "\e5e5"; } +.icon-diamond-percent:before { content: "\e51f"; } +.icon-diamond-plus:before { content: "\e5e6"; } +.icon-diamond:before { content: "\e2d1"; } +.icon-dice-1:before { content: "\e286"; } +.icon-dice-2:before { content: "\e287"; } +.icon-dice-3:before { content: "\e288"; } +.icon-dice-4:before { content: "\e289"; } +.icon-dice-5:before { content: "\e28a"; } +.icon-dice-6:before { content: "\e28b"; } +.icon-dices:before { content: "\e2c4"; } +.icon-diff:before { content: "\e30b"; } +.icon-disc-2:before { content: "\e3fa"; } +.icon-disc-3:before { content: "\e498"; } +.icon-disc-album:before { content: "\e560"; } +.icon-disc:before { content: "\e0b3"; } +.icon-divide:before { content: "\e0b4"; } +.icon-dna-off:before { content: "\e397"; } +.icon-dna:before { content: "\e396"; } +.icon-dock:before { content: "\e5d7"; } +.icon-dog:before { content: "\e390"; } +.icon-dollar-sign:before { content: "\e0b5"; } +.icon-donut:before { content: "\e4c0"; } +.icon-door-closed:before { content: "\e3d8"; } +.icon-door-open:before { content: "\e3d9"; } +.icon-dot:before { content: "\e453"; } +.icon-download:before { content: "\e0b6"; } +.icon-drafting-compass:before { content: "\e52b"; } +.icon-drama:before { content: "\e525"; } +.icon-dribbble:before { content: "\e0b7"; } +.icon-drill:before { content: "\e591"; } +.icon-droplet-off:before { content: "\e63c"; } +.icon-droplet:before { content: "\e0b8"; } +.icon-droplets:before { content: "\e0b9"; } +.icon-drum:before { content: "\e561"; } +.icon-drumstick:before { content: "\e25a"; } +.icon-dumbbell:before { content: "\e3a4"; } +.icon-ear-off:before { content: "\e386"; } +.icon-ear:before { content: "\e385"; } +.icon-earth-lock:before { content: "\e5d0"; } +.icon-earth:before { content: "\e1f2"; } +.icon-eclipse:before { content: "\e5a1"; } +.icon-egg-fried:before { content: "\e354"; } +.icon-egg-off:before { content: "\e398"; } +.icon-egg:before { content: "\e25c"; } +.icon-ellipsis-vertical:before { content: "\e0bb"; } +.icon-ellipsis:before { content: "\e0ba"; } +.icon-equal-approximately:before { content: "\e638"; } +.icon-equal-not:before { content: "\e1bd"; } +.icon-equal:before { content: "\e1bc"; } +.icon-eraser:before { content: "\e28e"; } +.icon-ethernet-port:before { content: "\e624"; } +.icon-euro:before { content: "\e0bc"; } +.icon-expand:before { content: "\e219"; } +.icon-external-link:before { content: "\e0bd"; } +.icon-eye-closed:before { content: "\e632"; } +.icon-eye-off:before { content: "\e0bf"; } +.icon-eye:before { content: "\e0be"; } +.icon-facebook:before { content: "\e0c0"; } +.icon-factory:before { content: "\e29e"; } +.icon-fan:before { content: "\e37c"; } +.icon-fast-forward:before { content: "\e0c1"; } +.icon-feather:before { content: "\e0c2"; } +.icon-fence:before { content: "\e586"; } +.icon-ferris-wheel:before { content: "\e483"; } +.icon-figma:before { content: "\e0c3"; } +.icon-file-archive:before { content: "\e30c"; } +.icon-file-audio-2:before { content: "\e30e"; } +.icon-file-audio:before { content: "\e30d"; } +.icon-file-axis-3d:before { content: "\e30f"; } +.icon-file-badge-2:before { content: "\e311"; } +.icon-file-badge:before { content: "\e310"; } +.icon-file-box:before { content: "\e312"; } +.icon-file-chart-column-increasing:before { content: "\e314"; } +.icon-file-chart-column:before { content: "\e313"; } +.icon-file-chart-line:before { content: "\e315"; } +.icon-file-chart-pie:before { content: "\e316"; } +.icon-file-check-2:before { content: "\e0c6"; } +.icon-file-check:before { content: "\e0c5"; } +.icon-file-clock:before { content: "\e317"; } +.icon-file-code-2:before { content: "\e462"; } +.icon-file-code:before { content: "\e0c7"; } +.icon-file-cog:before { content: "\e318"; } +.icon-file-diff:before { content: "\e319"; } +.icon-file-digit:before { content: "\e0c8"; } +.icon-file-down:before { content: "\e31a"; } +.icon-file-heart:before { content: "\e31b"; } +.icon-file-image:before { content: "\e31c"; } +.icon-file-input:before { content: "\e0c9"; } +.icon-file-json-2:before { content: "\e36f"; } +.icon-file-json:before { content: "\e36e"; } +.icon-file-key-2:before { content: "\e31e"; } +.icon-file-key:before { content: "\e31d"; } +.icon-file-lock-2:before { content: "\e320"; } +.icon-file-lock:before { content: "\e31f"; } +.icon-file-minus-2:before { content: "\e0cb"; } +.icon-file-minus:before { content: "\e0ca"; } +.icon-file-music:before { content: "\e562"; } +.icon-file-output:before { content: "\e0cc"; } +.icon-file-pen-line:before { content: "\e322"; } +.icon-file-pen:before { content: "\e321"; } +.icon-file-plus-2:before { content: "\e0ce"; } +.icon-file-plus:before { content: "\e0cd"; } +.icon-file-question:before { content: "\e323"; } +.icon-file-scan:before { content: "\e324"; } +.icon-file-search-2:before { content: "\e325"; } +.icon-file-search:before { content: "\e0cf"; } +.icon-file-sliders:before { content: "\e5a4"; } +.icon-file-spreadsheet:before { content: "\e326"; } +.icon-file-stack:before { content: "\e4a5"; } +.icon-file-symlink:before { content: "\e327"; } +.icon-file-terminal:before { content: "\e328"; } +.icon-file-text:before { content: "\e0d0"; } +.icon-file-type-2:before { content: "\e370"; } +.icon-file-type:before { content: "\e329"; } +.icon-file-up:before { content: "\e32a"; } +.icon-file-user:before { content: "\e631"; } +.icon-file-video-2:before { content: "\e32c"; } +.icon-file-video:before { content: "\e32b"; } +.icon-file-volume-2:before { content: "\e32e"; } +.icon-file-volume:before { content: "\e32d"; } +.icon-file-warning:before { content: "\e32f"; } +.icon-file-x-2:before { content: "\e0d2"; } +.icon-file-x:before { content: "\e0d1"; } +.icon-file:before { content: "\e0c4"; } +.icon-files:before { content: "\e0d3"; } +.icon-film:before { content: "\e0d4"; } +.icon-filter-x:before { content: "\e3b8"; } +.icon-filter:before { content: "\e0d5"; } +.icon-fingerprint:before { content: "\e2ca"; } +.icon-fire-extinguisher:before { content: "\e582"; } +.icon-fish-off:before { content: "\e3b3"; } +.icon-fish-symbol:before { content: "\e4f8"; } +.icon-fish:before { content: "\e3a9"; } +.icon-flag-off:before { content: "\e291"; } +.icon-flag-triangle-left:before { content: "\e236"; } +.icon-flag-triangle-right:before { content: "\e237"; } +.icon-flag:before { content: "\e0d6"; } +.icon-flame-kindling:before { content: "\e53e"; } +.icon-flame:before { content: "\e0d7"; } +.icon-flashlight-off:before { content: "\e0d9"; } +.icon-flashlight:before { content: "\e0d8"; } +.icon-flask-conical-off:before { content: "\e399"; } +.icon-flask-conical:before { content: "\e0da"; } +.icon-flask-round:before { content: "\e0db"; } +.icon-flip-horizontal-2:before { content: "\e361"; } +.icon-flip-horizontal:before { content: "\e360"; } +.icon-flip-vertical-2:before { content: "\e363"; } +.icon-flip-vertical:before { content: "\e362"; } +.icon-flower-2:before { content: "\e2d3"; } +.icon-flower:before { content: "\e2d2"; } +.icon-focus:before { content: "\e29d"; } +.icon-fold-horizontal:before { content: "\e43f"; } +.icon-fold-vertical:before { content: "\e440"; } +.icon-folder-archive:before { content: "\e330"; } +.icon-folder-check:before { content: "\e331"; } +.icon-folder-clock:before { content: "\e332"; } +.icon-folder-closed:before { content: "\e333"; } +.icon-folder-code:before { content: "\e5ff"; } +.icon-folder-cog:before { content: "\e334"; } +.icon-folder-dot:before { content: "\e4c9"; } +.icon-folder-down:before { content: "\e335"; } +.icon-folder-git-2:before { content: "\e40e"; } +.icon-folder-git:before { content: "\e40d"; } +.icon-folder-heart:before { content: "\e336"; } +.icon-folder-input:before { content: "\e337"; } +.icon-folder-kanban:before { content: "\e4ca"; } +.icon-folder-key:before { content: "\e338"; } +.icon-folder-lock:before { content: "\e339"; } +.icon-folder-minus:before { content: "\e0dd"; } +.icon-folder-open-dot:before { content: "\e4cb"; } +.icon-folder-open:before { content: "\e246"; } +.icon-folder-output:before { content: "\e33a"; } +.icon-folder-pen:before { content: "\e33b"; } +.icon-folder-plus:before { content: "\e0de"; } +.icon-folder-root:before { content: "\e4cc"; } +.icon-folder-search-2:before { content: "\e33d"; } +.icon-folder-search:before { content: "\e33c"; } +.icon-folder-symlink:before { content: "\e33e"; } +.icon-folder-sync:before { content: "\e4cd"; } +.icon-folder-tree:before { content: "\e33f"; } +.icon-folder-up:before { content: "\e340"; } +.icon-folder-x:before { content: "\e341"; } +.icon-folder:before { content: "\e0dc"; } +.icon-folders:before { content: "\e342"; } +.icon-footprints:before { content: "\e3bc"; } +.icon-forklift:before { content: "\e3c4"; } +.icon-forward:before { content: "\e228"; } +.icon-frame:before { content: "\e290"; } +.icon-framer:before { content: "\e0df"; } +.icon-frown:before { content: "\e0e0"; } +.icon-fuel:before { content: "\e2ae"; } +.icon-fullscreen:before { content: "\e538"; } +.icon-gallery-horizontal-end:before { content: "\e4d3"; } +.icon-gallery-horizontal:before { content: "\e4d2"; } +.icon-gallery-thumbnails:before { content: "\e4d4"; } +.icon-gallery-vertical-end:before { content: "\e4d6"; } +.icon-gallery-vertical:before { content: "\e4d5"; } +.icon-gamepad-2:before { content: "\e0e2"; } +.icon-gamepad:before { content: "\e0e1"; } +.icon-gauge:before { content: "\e1be"; } +.icon-gavel:before { content: "\e0e3"; } +.icon-gem:before { content: "\e241"; } +.icon-ghost:before { content: "\e20d"; } +.icon-gift:before { content: "\e0e4"; } +.icon-git-branch-plus:before { content: "\e1f3"; } +.icon-git-branch:before { content: "\e0e5"; } +.icon-git-commit-horizontal:before { content: "\e0e6"; } +.icon-git-commit-vertical:before { content: "\e556"; } +.icon-git-compare-arrows:before { content: "\e557"; } +.icon-git-compare:before { content: "\e35c"; } +.icon-git-fork:before { content: "\e28c"; } +.icon-git-graph:before { content: "\e558"; } +.icon-git-merge:before { content: "\e0e7"; } +.icon-git-pull-request-arrow:before { content: "\e559"; } +.icon-git-pull-request-closed:before { content: "\e35d"; } +.icon-git-pull-request-create-arrow:before { content: "\e55b"; } +.icon-git-pull-request-create:before { content: "\e55a"; } +.icon-git-pull-request-draft:before { content: "\e35e"; } +.icon-git-pull-request:before { content: "\e0e8"; } +.icon-github:before { content: "\e0e9"; } +.icon-gitlab:before { content: "\e0ea"; } +.icon-glass-water:before { content: "\e2d4"; } +.icon-glasses:before { content: "\e20c"; } +.icon-globe-lock:before { content: "\e5d1"; } +.icon-globe:before { content: "\e0eb"; } +.icon-goal:before { content: "\e4a9"; } +.icon-grab:before { content: "\e1e5"; } +.icon-graduation-cap:before { content: "\e233"; } +.icon-grape:before { content: "\e355"; } +.icon-grid-2x2-check:before { content: "\e5e8"; } +.icon-grid-2x2-plus:before { content: "\e62c"; } +.icon-grid-2x2-x:before { content: "\e5e9"; } +.icon-grid-2x2:before { content: "\e503"; } +.icon-grid-3x3:before { content: "\e0ec"; } +.icon-grip-horizontal:before { content: "\e0ed"; } +.icon-grip-vertical:before { content: "\e0ee"; } +.icon-grip:before { content: "\e3b4"; } +.icon-group:before { content: "\e468"; } +.icon-guitar:before { content: "\e563"; } +.icon-ham:before { content: "\e5db"; } +.icon-hammer:before { content: "\e0ef"; } +.icon-hand-coins:before { content: "\e5bc"; } +.icon-hand-heart:before { content: "\e5bd"; } +.icon-hand-helping:before { content: "\e3bb"; } +.icon-hand-metal:before { content: "\e22b"; } +.icon-hand-platter:before { content: "\e5be"; } +.icon-hand:before { content: "\e1d6"; } +.icon-handshake:before { content: "\e5c4"; } +.icon-hard-drive-download:before { content: "\e4e9"; } +.icon-hard-drive-upload:before { content: "\e4ea"; } +.icon-hard-drive:before { content: "\e0f0"; } +.icon-hard-hat:before { content: "\e0f1"; } +.icon-hash:before { content: "\e0f2"; } +.icon-haze:before { content: "\e0f3"; } +.icon-hdmi-port:before { content: "\e4eb"; } +.icon-heading-1:before { content: "\e388"; } +.icon-heading-2:before { content: "\e389"; } +.icon-heading-3:before { content: "\e38a"; } +.icon-heading-4:before { content: "\e38b"; } +.icon-heading-5:before { content: "\e38c"; } +.icon-heading-6:before { content: "\e38d"; } +.icon-heading:before { content: "\e387"; } +.icon-headphone-off:before { content: "\e62d"; } +.icon-headphones:before { content: "\e0f4"; } +.icon-headset:before { content: "\e5c1"; } +.icon-heart-crack:before { content: "\e2d5"; } +.icon-heart-handshake:before { content: "\e2d6"; } +.icon-heart-off:before { content: "\e294"; } +.icon-heart-pulse:before { content: "\e371"; } +.icon-heart:before { content: "\e0f5"; } +.icon-heater:before { content: "\e592"; } +.icon-hexagon:before { content: "\e0f6"; } +.icon-highlighter:before { content: "\e0f7"; } +.icon-history:before { content: "\e1f4"; } +.icon-hop-off:before { content: "\e39b"; } +.icon-hop:before { content: "\e39a"; } +.icon-hospital:before { content: "\e5dc"; } +.icon-hotel:before { content: "\e3e5"; } +.icon-hourglass:before { content: "\e295"; } +.icon-house-plug:before { content: "\e5f4"; } +.icon-house-plus:before { content: "\e5f5"; } +.icon-house-wifi:before { content: "\e640"; } +.icon-house:before { content: "\e0f8"; } +.icon-ice-cream-bowl:before { content: "\e3aa"; } +.icon-ice-cream-cone:before { content: "\e356"; } +.icon-id-card:before { content: "\e61b"; } +.icon-image-down:before { content: "\e540"; } +.icon-image-minus:before { content: "\e1f5"; } +.icon-image-off:before { content: "\e1bf"; } +.icon-image-play:before { content: "\e5e3"; } +.icon-image-plus:before { content: "\e1f6"; } +.icon-image-up:before { content: "\e5cf"; } +.icon-image-upscale:before { content: "\e63b"; } +.icon-image:before { content: "\e0f9"; } +.icon-images:before { content: "\e5c8"; } +.icon-import:before { content: "\e22e"; } +.icon-inbox:before { content: "\e0fa"; } +.icon-indent-decrease:before { content: "\e0fb"; } +.icon-indent-increase:before { content: "\e0fc"; } +.icon-indian-rupee:before { content: "\e0fd"; } +.icon-infinity:before { content: "\e1e6"; } +.icon-info:before { content: "\e0fe"; } +.icon-inspection-panel:before { content: "\e587"; } +.icon-instagram:before { content: "\e0ff"; } +.icon-italic:before { content: "\e100"; } +.icon-iteration-ccw:before { content: "\e427"; } +.icon-iteration-cw:before { content: "\e428"; } +.icon-japanese-yen:before { content: "\e101"; } +.icon-joystick:before { content: "\e358"; } +.icon-kanban:before { content: "\e4e0"; } +.icon-key-round:before { content: "\e4a7"; } +.icon-key-square:before { content: "\e4a8"; } +.icon-key:before { content: "\e102"; } +.icon-keyboard-music:before { content: "\e564"; } +.icon-keyboard-off:before { content: "\e5e2"; } +.icon-keyboard:before { content: "\e283"; } +.icon-lamp-ceiling:before { content: "\e2d8"; } +.icon-lamp-desk:before { content: "\e2d9"; } +.icon-lamp-floor:before { content: "\e2da"; } +.icon-lamp-wall-down:before { content: "\e2db"; } +.icon-lamp-wall-up:before { content: "\e2dc"; } +.icon-lamp:before { content: "\e2d7"; } +.icon-land-plot:before { content: "\e52c"; } +.icon-landmark:before { content: "\e239"; } +.icon-languages:before { content: "\e103"; } +.icon-laptop-minimal-check:before { content: "\e636"; } +.icon-laptop-minimal:before { content: "\e1d7"; } +.icon-laptop:before { content: "\e1cc"; } +.icon-lasso-select:before { content: "\e1ce"; } +.icon-lasso:before { content: "\e1cd"; } +.icon-laugh:before { content: "\e2ff"; } +.icon-layers-2:before { content: "\e52e"; } +.icon-layers:before { content: "\e52d"; } +.icon-layout-dashboard:before { content: "\e1c0"; } +.icon-layout-grid:before { content: "\e104"; } +.icon-layout-list:before { content: "\e1d8"; } +.icon-layout-panel-left:before { content: "\e474"; } +.icon-layout-panel-top:before { content: "\e475"; } +.icon-layout-template:before { content: "\e206"; } +.icon-leaf:before { content: "\e2dd"; } +.icon-leafy-green:before { content: "\e473"; } +.icon-lectern:before { content: "\e5ed"; } +.icon-letter-text:before { content: "\e609"; } +.icon-library-big:before { content: "\e552"; } +.icon-library:before { content: "\e105"; } +.icon-life-buoy:before { content: "\e106"; } +.icon-ligature:before { content: "\e43e"; } +.icon-lightbulb-off:before { content: "\e207"; } +.icon-lightbulb:before { content: "\e1c1"; } +.icon-link-2-off:before { content: "\e109"; } +.icon-link-2:before { content: "\e108"; } +.icon-link:before { content: "\e107"; } +.icon-linkedin:before { content: "\e10a"; } +.icon-list-check:before { content: "\e5fe"; } +.icon-list-checks:before { content: "\e1cf"; } +.icon-list-collapse:before { content: "\e59f"; } +.icon-list-end:before { content: "\e2de"; } +.icon-list-filter-plus:before { content: "\e63d"; } +.icon-list-filter:before { content: "\e464"; } +.icon-list-minus:before { content: "\e23d"; } +.icon-list-music:before { content: "\e2df"; } +.icon-list-ordered:before { content: "\e1d0"; } +.icon-list-plus:before { content: "\e23e"; } +.icon-list-restart:before { content: "\e456"; } +.icon-list-start:before { content: "\e2e0"; } +.icon-list-todo:before { content: "\e4c7"; } +.icon-list-tree:before { content: "\e40c"; } +.icon-list-video:before { content: "\e2e1"; } +.icon-list-x:before { content: "\e23f"; } +.icon-list:before { content: "\e10b"; } +.icon-loader-circle:before { content: "\e10d"; } +.icon-loader-pinwheel:before { content: "\e5ea"; } +.icon-loader:before { content: "\e10c"; } +.icon-locate-fixed:before { content: "\e1da"; } +.icon-locate-off:before { content: "\e281"; } +.icon-locate:before { content: "\e1d9"; } +.icon-lock-keyhole-open:before { content: "\e536"; } +.icon-lock-keyhole:before { content: "\e535"; } +.icon-lock-open:before { content: "\e10f"; } +.icon-lock:before { content: "\e10e"; } +.icon-log-in:before { content: "\e110"; } +.icon-log-out:before { content: "\e111"; } +.icon-logs:before { content: "\e5f8"; } +.icon-lollipop:before { content: "\e4c1"; } +.icon-luggage:before { content: "\e2c9"; } +.icon-magnet:before { content: "\e2b4"; } +.icon-mail-check:before { content: "\e364"; } +.icon-mail-minus:before { content: "\e365"; } +.icon-mail-open:before { content: "\e366"; } +.icon-mail-plus:before { content: "\e367"; } +.icon-mail-question:before { content: "\e368"; } +.icon-mail-search:before { content: "\e369"; } +.icon-mail-warning:before { content: "\e36a"; } +.icon-mail-x:before { content: "\e36b"; } +.icon-mail:before { content: "\e112"; } +.icon-mailbox:before { content: "\e3d7"; } +.icon-mails:before { content: "\e36c"; } +.icon-map-pin-check-inside:before { content: "\e614"; } +.icon-map-pin-check:before { content: "\e613"; } +.icon-map-pin-house:before { content: "\e620"; } +.icon-map-pin-minus-inside:before { content: "\e616"; } +.icon-map-pin-minus:before { content: "\e615"; } +.icon-map-pin-off:before { content: "\e2a5"; } +.icon-map-pin-plus-inside:before { content: "\e618"; } +.icon-map-pin-plus:before { content: "\e617"; } +.icon-map-pin-x-inside:before { content: "\e61a"; } +.icon-map-pin-x:before { content: "\e619"; } +.icon-map-pin:before { content: "\e114"; } +.icon-map-pinned:before { content: "\e541"; } +.icon-map-plus:before { content: "\e643"; } +.icon-map:before { content: "\e113"; } +.icon-mars-stroke:before { content: "\e646"; } +.icon-mars:before { content: "\e645"; } +.icon-martini:before { content: "\e2e2"; } +.icon-maximize-2:before { content: "\e116"; } +.icon-maximize:before { content: "\e115"; } +.icon-medal:before { content: "\e372"; } +.icon-megaphone-off:before { content: "\e373"; } +.icon-megaphone:before { content: "\e234"; } +.icon-meh:before { content: "\e117"; } +.icon-memory-stick:before { content: "\e449"; } +.icon-menu:before { content: "\e118"; } +.icon-merge:before { content: "\e443"; } +.icon-message-circle-code:before { content: "\e566"; } +.icon-message-circle-dashed:before { content: "\e567"; } +.icon-message-circle-heart:before { content: "\e568"; } +.icon-message-circle-more:before { content: "\e569"; } +.icon-message-circle-off:before { content: "\e56a"; } +.icon-message-circle-plus:before { content: "\e56b"; } +.icon-message-circle-question:before { content: "\e56c"; } +.icon-message-circle-reply:before { content: "\e56d"; } +.icon-message-circle-warning:before { content: "\e56e"; } +.icon-message-circle-x:before { content: "\e56f"; } +.icon-message-circle:before { content: "\e119"; } +.icon-message-square-code:before { content: "\e570"; } +.icon-message-square-dashed:before { content: "\e40f"; } +.icon-message-square-diff:before { content: "\e571"; } +.icon-message-square-dot:before { content: "\e572"; } +.icon-message-square-heart:before { content: "\e573"; } +.icon-message-square-lock:before { content: "\e630"; } +.icon-message-square-more:before { content: "\e574"; } +.icon-message-square-off:before { content: "\e575"; } +.icon-message-square-plus:before { content: "\e410"; } +.icon-message-square-quote:before { content: "\e576"; } +.icon-message-square-reply:before { content: "\e577"; } +.icon-message-square-share:before { content: "\e578"; } +.icon-message-square-text:before { content: "\e579"; } +.icon-message-square-warning:before { content: "\e57a"; } +.icon-message-square-x:before { content: "\e57b"; } +.icon-message-square:before { content: "\e11a"; } +.icon-messages-square:before { content: "\e411"; } +.icon-mic-off:before { content: "\e11c"; } +.icon-mic-vocal:before { content: "\e34c"; } +.icon-mic:before { content: "\e11b"; } +.icon-microchip:before { content: "\e61e"; } +.icon-microscope:before { content: "\e2e3"; } +.icon-microwave:before { content: "\e37d"; } +.icon-milestone:before { content: "\e297"; } +.icon-milk-off:before { content: "\e39d"; } +.icon-milk:before { content: "\e39c"; } +.icon-minimize-2:before { content: "\e11e"; } +.icon-minimize:before { content: "\e11d"; } +.icon-minus:before { content: "\e11f"; } +.icon-monitor-check:before { content: "\e486"; } +.icon-monitor-cog:before { content: "\e607"; } +.icon-monitor-dot:before { content: "\e487"; } +.icon-monitor-down:before { content: "\e425"; } +.icon-monitor-off:before { content: "\e1db"; } +.icon-monitor-pause:before { content: "\e488"; } +.icon-monitor-play:before { content: "\e489"; } +.icon-monitor-smartphone:before { content: "\e3a5"; } +.icon-monitor-speaker:before { content: "\e20f"; } +.icon-monitor-stop:before { content: "\e48a"; } +.icon-monitor-up:before { content: "\e426"; } +.icon-monitor-x:before { content: "\e48b"; } +.icon-monitor:before { content: "\e120"; } +.icon-moon-star:before { content: "\e414"; } +.icon-moon:before { content: "\e121"; } +.icon-mountain-snow:before { content: "\e231"; } +.icon-mountain:before { content: "\e230"; } +.icon-mouse-off:before { content: "\e5df"; } +.icon-mouse-pointer-2:before { content: "\e1c2"; } +.icon-mouse-pointer-ban:before { content: "\e5eb"; } +.icon-mouse-pointer-click:before { content: "\e123"; } +.icon-mouse-pointer:before { content: "\e122"; } +.icon-mouse:before { content: "\e28d"; } +.icon-move-3d:before { content: "\e2e4"; } +.icon-move-diagonal-2:before { content: "\e1c4"; } +.icon-move-diagonal:before { content: "\e1c3"; } +.icon-move-down-left:before { content: "\e491"; } +.icon-move-down-right:before { content: "\e492"; } +.icon-move-down:before { content: "\e490"; } +.icon-move-horizontal:before { content: "\e1c5"; } +.icon-move-left:before { content: "\e493"; } +.icon-move-right:before { content: "\e494"; } +.icon-move-up-left:before { content: "\e496"; } +.icon-move-up-right:before { content: "\e497"; } +.icon-move-up:before { content: "\e495"; } +.icon-move-vertical:before { content: "\e1c6"; } +.icon-move:before { content: "\e124"; } +.icon-music-2:before { content: "\e34d"; } +.icon-music-3:before { content: "\e34e"; } +.icon-music-4:before { content: "\e34f"; } +.icon-music:before { content: "\e125"; } +.icon-navigation-2-off:before { content: "\e2a6"; } +.icon-navigation-2:before { content: "\e127"; } +.icon-navigation-off:before { content: "\e2a7"; } +.icon-navigation:before { content: "\e126"; } +.icon-network:before { content: "\e128"; } +.icon-newspaper:before { content: "\e34b"; } +.icon-nfc:before { content: "\e3c6"; } +.icon-non-binary:before { content: "\e647"; } +.icon-notebook-pen:before { content: "\e59a"; } +.icon-notebook-tabs:before { content: "\e59b"; } +.icon-notebook-text:before { content: "\e59c"; } +.icon-notebook:before { content: "\e599"; } +.icon-notepad-text-dashed:before { content: "\e59e"; } +.icon-notepad-text:before { content: "\e59d"; } +.icon-nut-off:before { content: "\e39f"; } +.icon-nut:before { content: "\e39e"; } +.icon-octagon-alert:before { content: "\e12a"; } +.icon-octagon-minus:before { content: "\e62b"; } +.icon-octagon-pause:before { content: "\e21a"; } +.icon-octagon-x:before { content: "\e12b"; } +.icon-octagon:before { content: "\e129"; } +.icon-omega:before { content: "\e61d"; } +.icon-option:before { content: "\e1f7"; } +.icon-orbit:before { content: "\e3ea"; } +.icon-origami:before { content: "\e5e7"; } +.icon-package-2:before { content: "\e343"; } +.icon-package-check:before { content: "\e265"; } +.icon-package-minus:before { content: "\e266"; } +.icon-package-open:before { content: "\e2cb"; } +.icon-package-plus:before { content: "\e267"; } +.icon-package-search:before { content: "\e268"; } +.icon-package-x:before { content: "\e269"; } +.icon-package:before { content: "\e12c"; } +.icon-paint-bucket:before { content: "\e2e5"; } +.icon-paint-roller:before { content: "\e5a2"; } +.icon-paintbrush-vertical:before { content: "\e2e7"; } +.icon-paintbrush:before { content: "\e2e6"; } +.icon-palette:before { content: "\e1dc"; } +.icon-panel-bottom-close:before { content: "\e431"; } +.icon-panel-bottom-dashed:before { content: "\e432"; } +.icon-panel-bottom-open:before { content: "\e433"; } +.icon-panel-bottom:before { content: "\e430"; } +.icon-panel-left-close:before { content: "\e21b"; } +.icon-panel-left-dashed:before { content: "\e434"; } +.icon-panel-left-open:before { content: "\e21c"; } +.icon-panel-left:before { content: "\e12d"; } +.icon-panel-right-close:before { content: "\e436"; } +.icon-panel-right-dashed:before { content: "\e437"; } +.icon-panel-right-open:before { content: "\e438"; } +.icon-panel-right:before { content: "\e435"; } +.icon-panel-top-close:before { content: "\e43a"; } +.icon-panel-top-dashed:before { content: "\e43b"; } +.icon-panel-top-open:before { content: "\e43c"; } +.icon-panel-top:before { content: "\e439"; } +.icon-panels-left-bottom:before { content: "\e12e"; } +.icon-panels-right-bottom:before { content: "\e58c"; } +.icon-panels-top-left:before { content: "\e12f"; } +.icon-paperclip:before { content: "\e130"; } +.icon-parentheses:before { content: "\e448"; } +.icon-parking-meter:before { content: "\e504"; } +.icon-party-popper:before { content: "\e346"; } +.icon-pause:before { content: "\e131"; } +.icon-paw-print:before { content: "\e4f9"; } +.icon-pc-case:before { content: "\e44a"; } +.icon-pen-line:before { content: "\e133"; } +.icon-pen-off:before { content: "\e5f2"; } +.icon-pen-tool:before { content: "\e134"; } +.icon-pen:before { content: "\e132"; } +.icon-pencil-line:before { content: "\e4f4"; } +.icon-pencil-off:before { content: "\e5f3"; } +.icon-pencil-ruler:before { content: "\e4f5"; } +.icon-pencil:before { content: "\e1f8"; } +.icon-pentagon:before { content: "\e52f"; } +.icon-percent:before { content: "\e135"; } +.icon-person-standing:before { content: "\e21d"; } +.icon-philippine-peso:before { content: "\e608"; } +.icon-phone-call:before { content: "\e137"; } +.icon-phone-forwarded:before { content: "\e138"; } +.icon-phone-incoming:before { content: "\e139"; } +.icon-phone-missed:before { content: "\e13a"; } +.icon-phone-off:before { content: "\e13b"; } +.icon-phone-outgoing:before { content: "\e13c"; } +.icon-phone:before { content: "\e136"; } +.icon-pi:before { content: "\e476"; } +.icon-piano:before { content: "\e565"; } +.icon-pickaxe:before { content: "\e5ca"; } +.icon-picture-in-picture-2:before { content: "\e3b2"; } +.icon-picture-in-picture:before { content: "\e3b1"; } +.icon-piggy-bank:before { content: "\e13d"; } +.icon-pilcrow-left:before { content: "\e5e0"; } +.icon-pilcrow-right:before { content: "\e5e1"; } +.icon-pilcrow:before { content: "\e3a6"; } +.icon-pill-bottle:before { content: "\e5ee"; } +.icon-pill:before { content: "\e3c0"; } +.icon-pin-off:before { content: "\e2b5"; } +.icon-pin:before { content: "\e258"; } +.icon-pipette:before { content: "\e13e"; } +.icon-pizza:before { content: "\e357"; } +.icon-plane-landing:before { content: "\e3d0"; } +.icon-plane-takeoff:before { content: "\e3d1"; } +.icon-plane:before { content: "\e1dd"; } +.icon-play:before { content: "\e13f"; } +.icon-plug-2:before { content: "\e383"; } +.icon-plug-zap:before { content: "\e460"; } +.icon-plug:before { content: "\e382"; } +.icon-plus:before { content: "\e140"; } +.icon-pocket-knife:before { content: "\e4a4"; } +.icon-pocket:before { content: "\e141"; } +.icon-podcast:before { content: "\e1f9"; } +.icon-pointer-off:before { content: "\e583"; } +.icon-pointer:before { content: "\e1e7"; } +.icon-popcorn:before { content: "\e4c2"; } +.icon-popsicle:before { content: "\e4c3"; } +.icon-pound-sterling:before { content: "\e142"; } +.icon-power-off:before { content: "\e208"; } +.icon-power:before { content: "\e143"; } +.icon-presentation:before { content: "\e4b2"; } +.icon-printer-check:before { content: "\e5f9"; } +.icon-printer:before { content: "\e144"; } +.icon-projector:before { content: "\e4b3"; } +.icon-proportions:before { content: "\e5d3"; } +.icon-puzzle:before { content: "\e29b"; } +.icon-pyramid:before { content: "\e530"; } +.icon-qr-code:before { content: "\e1de"; } +.icon-quote:before { content: "\e238"; } +.icon-rabbit:before { content: "\e4fa"; } +.icon-radar:before { content: "\e49b"; } +.icon-radiation:before { content: "\e446"; } +.icon-radical:before { content: "\e5c6"; } +.icon-radio-receiver:before { content: "\e1fa"; } +.icon-radio-tower:before { content: "\e408"; } +.icon-radio:before { content: "\e145"; } +.icon-radius:before { content: "\e531"; } +.icon-rail-symbol:before { content: "\e505"; } +.icon-rainbow:before { content: "\e4c6"; } +.icon-rat:before { content: "\e3ef"; } +.icon-ratio:before { content: "\e4ec"; } +.icon-receipt-cent:before { content: "\e5a9"; } +.icon-receipt-euro:before { content: "\e5aa"; } +.icon-receipt-indian-rupee:before { content: "\e5ab"; } +.icon-receipt-japanese-yen:before { content: "\e5ac"; } +.icon-receipt-pound-sterling:before { content: "\e5ad"; } +.icon-receipt-russian-ruble:before { content: "\e5ae"; } +.icon-receipt-swiss-franc:before { content: "\e5af"; } +.icon-receipt-text:before { content: "\e5b0"; } +.icon-receipt:before { content: "\e3d6"; } +.icon-rectangle-ellipsis:before { content: "\e21e"; } +.icon-rectangle-horizontal:before { content: "\e379"; } +.icon-rectangle-vertical:before { content: "\e37a"; } +.icon-recycle:before { content: "\e2e8"; } +.icon-redo-2:before { content: "\e29f"; } +.icon-redo-dot:before { content: "\e454"; } +.icon-redo:before { content: "\e146"; } +.icon-refresh-ccw-dot:before { content: "\e4b6"; } +.icon-refresh-ccw:before { content: "\e147"; } +.icon-refresh-cw-off:before { content: "\e49c"; } +.icon-refresh-cw:before { content: "\e148"; } +.icon-refrigerator:before { content: "\e37e"; } +.icon-regex:before { content: "\e1fb"; } +.icon-remove-formatting:before { content: "\e3b6"; } +.icon-repeat-1:before { content: "\e1fc"; } +.icon-repeat-2:before { content: "\e415"; } +.icon-repeat:before { content: "\e149"; } +.icon-replace-all:before { content: "\e3df"; } +.icon-replace:before { content: "\e3de"; } +.icon-reply-all:before { content: "\e22a"; } +.icon-reply:before { content: "\e229"; } +.icon-rewind:before { content: "\e14a"; } +.icon-ribbon:before { content: "\e55c"; } +.icon-rocket:before { content: "\e285"; } +.icon-rocking-chair:before { content: "\e232"; } +.icon-roller-coaster:before { content: "\e484"; } +.icon-rotate-3d:before { content: "\e2e9"; } +.icon-rotate-ccw-square:before { content: "\e5d4"; } +.icon-rotate-ccw:before { content: "\e14b"; } +.icon-rotate-cw-square:before { content: "\e5d5"; } +.icon-rotate-cw:before { content: "\e14c"; } +.icon-route-off:before { content: "\e543"; } +.icon-route:before { content: "\e542"; } +.icon-router:before { content: "\e3c2"; } +.icon-rows-2:before { content: "\e43d"; } +.icon-rows-3:before { content: "\e58e"; } +.icon-rows-4:before { content: "\e58f"; } +.icon-rss:before { content: "\e14d"; } +.icon-ruler:before { content: "\e14e"; } +.icon-russian-ruble:before { content: "\e14f"; } +.icon-sailboat:before { content: "\e381"; } +.icon-salad:before { content: "\e3ab"; } +.icon-sandwich:before { content: "\e3ac"; } +.icon-satellite-dish:before { content: "\e44c"; } +.icon-satellite:before { content: "\e44b"; } +.icon-save-all:before { content: "\e413"; } +.icon-save-off:before { content: "\e5f7"; } +.icon-save:before { content: "\e150"; } +.icon-scale-3d:before { content: "\e2ea"; } +.icon-scale:before { content: "\e211"; } +.icon-scaling:before { content: "\e2eb"; } +.icon-scan-barcode:before { content: "\e539"; } +.icon-scan-eye:before { content: "\e53a"; } +.icon-scan-face:before { content: "\e374"; } +.icon-scan-heart:before { content: "\e63e"; } +.icon-scan-line:before { content: "\e257"; } +.icon-scan-qr-code:before { content: "\e5fa"; } +.icon-scan-search:before { content: "\e53b"; } +.icon-scan-text:before { content: "\e53c"; } +.icon-scan:before { content: "\e256"; } +.icon-school:before { content: "\e3e6"; } +.icon-scissors-line-dashed:before { content: "\e4ed"; } +.icon-scissors:before { content: "\e151"; } +.icon-screen-share-off:before { content: "\e153"; } +.icon-screen-share:before { content: "\e152"; } +.icon-scroll-text:before { content: "\e463"; } +.icon-scroll:before { content: "\e2ec"; } +.icon-search-check:before { content: "\e4ae"; } +.icon-search-code:before { content: "\e4af"; } +.icon-search-slash:before { content: "\e4b0"; } +.icon-search-x:before { content: "\e4b1"; } +.icon-search:before { content: "\e154"; } +.icon-section:before { content: "\e5ec"; } +.icon-send-horizontal:before { content: "\e4f6"; } +.icon-send-to-back:before { content: "\e4f7"; } +.icon-send:before { content: "\e155"; } +.icon-separator-horizontal:before { content: "\e1c7"; } +.icon-separator-vertical:before { content: "\e1c8"; } +.icon-server-cog:before { content: "\e344"; } +.icon-server-crash:before { content: "\e1e8"; } +.icon-server-off:before { content: "\e1e9"; } +.icon-server:before { content: "\e156"; } +.icon-settings-2:before { content: "\e244"; } +.icon-settings:before { content: "\e157"; } +.icon-shapes:before { content: "\e4b7"; } +.icon-share-2:before { content: "\e159"; } +.icon-share:before { content: "\e158"; } +.icon-sheet:before { content: "\e15a"; } +.icon-shell:before { content: "\e4fb"; } +.icon-shield-alert:before { content: "\e1fd"; } +.icon-shield-ban:before { content: "\e15c"; } +.icon-shield-check:before { content: "\e1fe"; } +.icon-shield-ellipsis:before { content: "\e51a"; } +.icon-shield-half:before { content: "\e51b"; } +.icon-shield-minus:before { content: "\e51c"; } +.icon-shield-off:before { content: "\e15d"; } +.icon-shield-plus:before { content: "\e51d"; } +.icon-shield-question:before { content: "\e412"; } +.icon-shield-user:before { content: "\e64b"; } +.icon-shield-x:before { content: "\e1ff"; } +.icon-shield:before { content: "\e15b"; } +.icon-ship-wheel:before { content: "\e506"; } +.icon-ship:before { content: "\e3bd"; } +.icon-shirt:before { content: "\e1c9"; } +.icon-shopping-bag:before { content: "\e15e"; } +.icon-shopping-basket:before { content: "\e4ee"; } +.icon-shopping-cart:before { content: "\e15f"; } +.icon-shovel:before { content: "\e160"; } +.icon-shower-head:before { content: "\e37f"; } +.icon-shrink:before { content: "\e21f"; } +.icon-shrub:before { content: "\e2ed"; } +.icon-shuffle:before { content: "\e161"; } +.icon-sigma:before { content: "\e200"; } +.icon-signal-high:before { content: "\e25f"; } +.icon-signal-low:before { content: "\e260"; } +.icon-signal-medium:before { content: "\e261"; } +.icon-signal-zero:before { content: "\e262"; } +.icon-signal:before { content: "\e25e"; } +.icon-signature:before { content: "\e5f6"; } +.icon-signpost-big:before { content: "\e545"; } +.icon-signpost:before { content: "\e544"; } +.icon-siren:before { content: "\e2ee"; } +.icon-skip-back:before { content: "\e162"; } +.icon-skip-forward:before { content: "\e163"; } +.icon-skull:before { content: "\e220"; } +.icon-slack:before { content: "\e164"; } +.icon-slash:before { content: "\e521"; } +.icon-slice:before { content: "\e2ef"; } +.icon-sliders-horizontal:before { content: "\e299"; } +.icon-sliders-vertical:before { content: "\e165"; } +.icon-smartphone-charging:before { content: "\e22d"; } +.icon-smartphone-nfc:before { content: "\e3c7"; } +.icon-smartphone:before { content: "\e166"; } +.icon-smile-plus:before { content: "\e300"; } +.icon-smile:before { content: "\e167"; } +.icon-snail:before { content: "\e4fc"; } +.icon-snowflake:before { content: "\e168"; } +.icon-sofa:before { content: "\e2c3"; } +.icon-soup:before { content: "\e3ad"; } +.icon-space:before { content: "\e3e0"; } +.icon-spade:before { content: "\e49d"; } +.icon-sparkle:before { content: "\e482"; } +.icon-sparkles:before { content: "\e416"; } +.icon-speaker:before { content: "\e169"; } +.icon-speech:before { content: "\e522"; } +.icon-spell-check-2:before { content: "\e49f"; } +.icon-spell-check:before { content: "\e49e"; } +.icon-spline:before { content: "\e38e"; } +.icon-split:before { content: "\e444"; } +.icon-spray-can:before { content: "\e499"; } +.icon-sprout:before { content: "\e1ea"; } +.icon-square-activity:before { content: "\e4b8"; } +.icon-square-arrow-down-left:before { content: "\e4b9"; } +.icon-square-arrow-down-right:before { content: "\e4ba"; } +.icon-square-arrow-down:before { content: "\e42b"; } +.icon-square-arrow-left:before { content: "\e42c"; } +.icon-square-arrow-out-down-left:before { content: "\e5a5"; } +.icon-square-arrow-out-down-right:before { content: "\e5a6"; } +.icon-square-arrow-out-up-left:before { content: "\e5a7"; } +.icon-square-arrow-out-up-right:before { content: "\e5a8"; } +.icon-square-arrow-right:before { content: "\e42d"; } +.icon-square-arrow-up-left:before { content: "\e4bb"; } +.icon-square-arrow-up-right:before { content: "\e4bc"; } +.icon-square-arrow-up:before { content: "\e42e"; } +.icon-square-asterisk:before { content: "\e16b"; } +.icon-square-bottom-dashed-scissors:before { content: "\e4ef"; } +.icon-square-chart-gantt:before { content: "\e16c"; } +.icon-square-check-big:before { content: "\e16d"; } +.icon-square-check:before { content: "\e55d"; } +.icon-square-chevron-down:before { content: "\e3d2"; } +.icon-square-chevron-left:before { content: "\e3d3"; } +.icon-square-chevron-right:before { content: "\e3d4"; } +.icon-square-chevron-up:before { content: "\e3d5"; } +.icon-square-code:before { content: "\e16e"; } +.icon-square-dashed-bottom-code:before { content: "\e4c5"; } +.icon-square-dashed-bottom:before { content: "\e4c4"; } +.icon-square-dashed-kanban:before { content: "\e16f"; } +.icon-square-dashed-mouse-pointer:before { content: "\e50d"; } +.icon-square-dashed:before { content: "\e1ca"; } +.icon-square-divide:before { content: "\e170"; } +.icon-square-dot:before { content: "\e171"; } +.icon-square-equal:before { content: "\e172"; } +.icon-square-function:before { content: "\e22c"; } +.icon-square-kanban:before { content: "\e173"; } +.icon-square-library:before { content: "\e553"; } +.icon-square-m:before { content: "\e507"; } +.icon-square-menu:before { content: "\e457"; } +.icon-square-minus:before { content: "\e174"; } +.icon-square-mouse-pointer:before { content: "\e201"; } +.icon-square-parking-off:before { content: "\e3cf"; } +.icon-square-parking:before { content: "\e3ce"; } +.icon-square-pen:before { content: "\e175"; } +.icon-square-percent:before { content: "\e520"; } +.icon-square-pi:before { content: "\e48c"; } +.icon-square-pilcrow:before { content: "\e48f"; } +.icon-square-play:before { content: "\e485"; } +.icon-square-plus:before { content: "\e176"; } +.icon-square-power:before { content: "\e555"; } +.icon-square-radical:before { content: "\e5c7"; } +.icon-square-round-corner:before { content: "\e64c"; } +.icon-square-scissors:before { content: "\e4f0"; } +.icon-square-sigma:before { content: "\e48d"; } +.icon-square-slash:before { content: "\e177"; } +.icon-square-split-horizontal:before { content: "\e3b9"; } +.icon-square-split-vertical:before { content: "\e3ba"; } +.icon-square-square:before { content: "\e612"; } +.icon-square-stack:before { content: "\e4a6"; } +.icon-square-terminal:before { content: "\e209"; } +.icon-square-user-round:before { content: "\e46a"; } +.icon-square-user:before { content: "\e469"; } +.icon-square-x:before { content: "\e178"; } +.icon-square:before { content: "\e16a"; } +.icon-squircle:before { content: "\e57e"; } +.icon-squirrel:before { content: "\e4a3"; } +.icon-stamp:before { content: "\e3be"; } +.icon-star-half:before { content: "\e20a"; } +.icon-star-off:before { content: "\e2af"; } +.icon-star:before { content: "\e179"; } +.icon-step-back:before { content: "\e3ec"; } +.icon-step-forward:before { content: "\e3ed"; } +.icon-stethoscope:before { content: "\e2f0"; } +.icon-sticker:before { content: "\e301"; } +.icon-sticky-note:before { content: "\e302"; } +.icon-store:before { content: "\e3e7"; } +.icon-stretch-horizontal:before { content: "\e27b"; } +.icon-stretch-vertical:before { content: "\e27c"; } +.icon-strikethrough:before { content: "\e17a"; } +.icon-subscript:before { content: "\e25b"; } +.icon-sun-dim:before { content: "\e298"; } +.icon-sun-medium:before { content: "\e2b0"; } +.icon-sun-moon:before { content: "\e2b1"; } +.icon-sun-snow:before { content: "\e375"; } +.icon-sun:before { content: "\e17b"; } +.icon-sunrise:before { content: "\e17c"; } +.icon-sunset:before { content: "\e17d"; } +.icon-superscript:before { content: "\e25d"; } +.icon-swatch-book:before { content: "\e5a3"; } +.icon-swiss-franc:before { content: "\e17e"; } +.icon-switch-camera:before { content: "\e17f"; } +.icon-sword:before { content: "\e2b2"; } +.icon-swords:before { content: "\e2b3"; } +.icon-syringe:before { content: "\e2f1"; } +.icon-table-2:before { content: "\e2f8"; } +.icon-table-cells-merge:before { content: "\e5cb"; } +.icon-table-cells-split:before { content: "\e5cc"; } +.icon-table-columns-split:before { content: "\e5cd"; } +.icon-table-of-contents:before { content: "\e622"; } +.icon-table-properties:before { content: "\e4df"; } +.icon-table-rows-split:before { content: "\e5ce"; } +.icon-table:before { content: "\e180"; } +.icon-tablet-smartphone:before { content: "\e50e"; } +.icon-tablet:before { content: "\e181"; } +.icon-tablets:before { content: "\e3c1"; } +.icon-tag:before { content: "\e182"; } +.icon-tags:before { content: "\e35f"; } +.icon-tally-1:before { content: "\e4da"; } +.icon-tally-2:before { content: "\e4db"; } +.icon-tally-3:before { content: "\e4dc"; } +.icon-tally-4:before { content: "\e4dd"; } +.icon-tally-5:before { content: "\e4de"; } +.icon-tangent:before { content: "\e532"; } +.icon-target:before { content: "\e183"; } +.icon-telescope:before { content: "\e5c9"; } +.icon-tent-tree:before { content: "\e53f"; } +.icon-tent:before { content: "\e226"; } +.icon-terminal:before { content: "\e184"; } +.icon-test-tube-diagonal:before { content: "\e40a"; } +.icon-test-tube:before { content: "\e409"; } +.icon-test-tubes:before { content: "\e40b"; } +.icon-text-cursor-input:before { content: "\e264"; } +.icon-text-cursor:before { content: "\e263"; } +.icon-text-quote:before { content: "\e4a2"; } +.icon-text-search:before { content: "\e5b1"; } +.icon-text-select:before { content: "\e3e1"; } +.icon-text:before { content: "\e3ee"; } +.icon-theater:before { content: "\e526"; } +.icon-thermometer-snowflake:before { content: "\e186"; } +.icon-thermometer-sun:before { content: "\e187"; } +.icon-thermometer:before { content: "\e185"; } +.icon-thumbs-down:before { content: "\e188"; } +.icon-thumbs-up:before { content: "\e189"; } +.icon-ticket-check:before { content: "\e5b2"; } +.icon-ticket-minus:before { content: "\e5b3"; } +.icon-ticket-percent:before { content: "\e5b4"; } +.icon-ticket-plus:before { content: "\e5b5"; } +.icon-ticket-slash:before { content: "\e5b6"; } +.icon-ticket-x:before { content: "\e5b7"; } +.icon-ticket:before { content: "\e20e"; } +.icon-tickets-plane:before { content: "\e627"; } +.icon-tickets:before { content: "\e626"; } +.icon-timer-off:before { content: "\e248"; } +.icon-timer-reset:before { content: "\e235"; } +.icon-timer:before { content: "\e1df"; } +.icon-toggle-left:before { content: "\e18a"; } +.icon-toggle-right:before { content: "\e18b"; } +.icon-toilet:before { content: "\e639"; } +.icon-tornado:before { content: "\e217"; } +.icon-torus:before { content: "\e533"; } +.icon-touchpad-off:before { content: "\e44e"; } +.icon-touchpad:before { content: "\e44d"; } +.icon-tower-control:before { content: "\e3bf"; } +.icon-toy-brick:before { content: "\e34a"; } +.icon-tractor:before { content: "\e508"; } +.icon-traffic-cone:before { content: "\e509"; } +.icon-train-front-tunnel:before { content: "\e50b"; } +.icon-train-front:before { content: "\e50a"; } +.icon-train-track:before { content: "\e50c"; } +.icon-tram-front:before { content: "\e2a8"; } +.icon-transgender:before { content: "\e648"; } +.icon-trash-2:before { content: "\e18d"; } +.icon-trash:before { content: "\e18c"; } +.icon-tree-deciduous:before { content: "\e2f2"; } +.icon-tree-palm:before { content: "\e280"; } +.icon-tree-pine:before { content: "\e2f3"; } +.icon-trees:before { content: "\e2f4"; } +.icon-trello:before { content: "\e18e"; } +.icon-trending-down:before { content: "\e18f"; } +.icon-trending-up-down:before { content: "\e629"; } +.icon-trending-up:before { content: "\e190"; } +.icon-triangle-alert:before { content: "\e192"; } +.icon-triangle-dashed:before { content: "\e641"; } +.icon-triangle-right:before { content: "\e4f1"; } +.icon-triangle:before { content: "\e191"; } +.icon-trophy:before { content: "\e376"; } +.icon-truck:before { content: "\e193"; } +.icon-turtle:before { content: "\e4fd"; } +.icon-tv-minimal-play:before { content: "\e5f0"; } +.icon-tv-minimal:before { content: "\e202"; } +.icon-tv:before { content: "\e194"; } +.icon-twitch:before { content: "\e195"; } +.icon-twitter:before { content: "\e196"; } +.icon-type-outline:before { content: "\e606"; } +.icon-type:before { content: "\e197"; } +.icon-umbrella-off:before { content: "\e547"; } +.icon-umbrella:before { content: "\e198"; } +.icon-underline:before { content: "\e199"; } +.icon-undo-2:before { content: "\e2a0"; } +.icon-undo-dot:before { content: "\e455"; } +.icon-undo:before { content: "\e19a"; } +.icon-unfold-horizontal:before { content: "\e441"; } +.icon-unfold-vertical:before { content: "\e442"; } +.icon-ungroup:before { content: "\e46b"; } +.icon-university:before { content: "\e3e8"; } +.icon-unlink-2:before { content: "\e19c"; } +.icon-unlink:before { content: "\e19b"; } +.icon-unplug:before { content: "\e461"; } +.icon-upload:before { content: "\e19d"; } +.icon-usb:before { content: "\e359"; } +.icon-user-check:before { content: "\e19f"; } +.icon-user-cog:before { content: "\e345"; } +.icon-user-minus:before { content: "\e1a0"; } +.icon-user-pen:before { content: "\e600"; } +.icon-user-plus:before { content: "\e1a1"; } +.icon-user-round-check:before { content: "\e46d"; } +.icon-user-round-cog:before { content: "\e46e"; } +.icon-user-round-minus:before { content: "\e46f"; } +.icon-user-round-pen:before { content: "\e601"; } +.icon-user-round-plus:before { content: "\e470"; } +.icon-user-round-search:before { content: "\e57c"; } +.icon-user-round-x:before { content: "\e471"; } +.icon-user-round:before { content: "\e46c"; } +.icon-user-search:before { content: "\e57d"; } +.icon-user-x:before { content: "\e1a2"; } +.icon-user:before { content: "\e19e"; } +.icon-users-round:before { content: "\e472"; } +.icon-users:before { content: "\e1a3"; } +.icon-utensils-crossed:before { content: "\e2f6"; } +.icon-utensils:before { content: "\e2f5"; } +.icon-utility-pole:before { content: "\e3c5"; } +.icon-variable:before { content: "\e477"; } +.icon-vault:before { content: "\e593"; } +.icon-vegan:before { content: "\e3a0"; } +.icon-venetian-mask:before { content: "\e2a9"; } +.icon-venus-and-mars:before { content: "\e64a"; } +.icon-venus:before { content: "\e649"; } +.icon-vibrate-off:before { content: "\e29c"; } +.icon-vibrate:before { content: "\e222"; } +.icon-video-off:before { content: "\e1a5"; } +.icon-video:before { content: "\e1a4"; } +.icon-videotape:before { content: "\e4cf"; } +.icon-view:before { content: "\e1a6"; } +.icon-voicemail:before { content: "\e1a7"; } +.icon-volleyball:before { content: "\e633"; } +.icon-volume-1:before { content: "\e1a9"; } +.icon-volume-2:before { content: "\e1aa"; } +.icon-volume-off:before { content: "\e62a"; } +.icon-volume-x:before { content: "\e1ab"; } +.icon-volume:before { content: "\e1a8"; } +.icon-vote:before { content: "\e3b0"; } +.icon-wallet-cards:before { content: "\e4d0"; } +.icon-wallet-minimal:before { content: "\e4d1"; } +.icon-wallet:before { content: "\e203"; } +.icon-wallpaper:before { content: "\e44f"; } +.icon-wand-sparkles:before { content: "\e35a"; } +.icon-wand:before { content: "\e245"; } +.icon-warehouse:before { content: "\e3e9"; } +.icon-washing-machine:before { content: "\e594"; } +.icon-watch:before { content: "\e1ac"; } +.icon-waves-ladder:before { content: "\e63f"; } +.icon-waves:before { content: "\e282"; } +.icon-waypoints:before { content: "\e546"; } +.icon-webcam:before { content: "\e204"; } +.icon-webhook-off:before { content: "\e5bb"; } +.icon-webhook:before { content: "\e377"; } +.icon-weight:before { content: "\e534"; } +.icon-wheat-off:before { content: "\e3a2"; } +.icon-wheat:before { content: "\e3a1"; } +.icon-whole-word:before { content: "\e3e2"; } +.icon-wifi-high:before { content: "\e5fb"; } +.icon-wifi-low:before { content: "\e5fc"; } +.icon-wifi-off:before { content: "\e1ae"; } +.icon-wifi-zero:before { content: "\e5fd"; } +.icon-wifi:before { content: "\e1ad"; } +.icon-wind-arrow-down:before { content: "\e635"; } +.icon-wind:before { content: "\e1af"; } +.icon-wine-off:before { content: "\e3a3"; } +.icon-wine:before { content: "\e2f7"; } +.icon-workflow:before { content: "\e429"; } +.icon-worm:before { content: "\e5de"; } +.icon-wrap-text:before { content: "\e247"; } +.icon-wrench:before { content: "\e1b0"; } +.icon-x:before { content: "\e1b1"; } +.icon-youtube:before { content: "\e1b2"; } +.icon-zap-off:before { content: "\e1b4"; } +.icon-zap:before { content: "\e1b3"; } +.icon-zoom-in:before { content: "\e1b5"; } +.icon-zoom-out:before { content: "\e1b6"; } + + diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.eot b/third_party/shadcn_flutter/icons/lucide/lucide.eot new file mode 100644 index 0000000000000000000000000000000000000000..11713c7d7387f6804a19192b1693cdda5b22af0f GIT binary patch literal 686000 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 z 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 X@JGykSfUW_Z?eh%0Ti literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.woff2 b/third_party/shadcn_flutter/icons/lucide/lucide.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..841a39adbf3dbd0cc2df5341884672cb56d2da35 GIT binary patch literal 223040 zcmV(}K+wN;Pew8T0RR9117|=03jhEB3U?3y17_?10RR9100000000000000000000 z0000SR0d!GfvpG%rmk?DzFGk`0we>lR12_J00bZfgMJ5rsD4}D<(Guu?RzhH0hR9L zKk)UwYLcTGWs2yaukeo{z7Q0t>F6V2x83-JFSiY-8KAFB-=F>e|NsBLFPVsK$*sMl zYbZ<*5QoYH@j>wu0`ua%>Dq%(y~(W2m4n3~&0U!?>D7%I)KU|z^zFKBs@~>zXKHsZ zW0}onA^V}G-($iXFPgG0t+n=`9+T~uejO1Zb9u_Ab&o?t=sv#<+(tx%G>Po$w3?{* z&+fXFBP1aS$z+6tA8H;IR@{`A62We68k*h1{h;^}8by{2^=6*6jwBBO^%v_-T92nL8p8=wb>4T@C=RsoM~d+&66 zWBf!*M$wo(LuPQ^s6$AhZ{X5IdV!m3CFurhL8O~=?Ov$}HIh5O`6pjUfl?U${5Q=n zRWdWXE6wnQh6mJc3OvlCz#`>EvI7h0z;KpmNcxq24-^OtRV+*Hwg9b8gWW*xE>$i3 z;XL>L?>B)0NpKQn(up{M?9MUYu7PmNwalCgXw_GL%FTcN+Y|z1GRe#tNr)H;0fI?O zp<=haz3p{--%S=P(be{EHh*HRc0;3dLZk*lB(0gAuAeA)WWG`YkqF?Q|MtJ#w-3Yc z6_%!K@AhCQ#$*@-Ez!pqzjyaPs!2lgM5yLXr6iT<)@cwr(IhVc5CsJ=5Cj8wGjTGj zlZWTWfq&n{<`fp^nAqgF5SiE(rS!=Po&Q~-;rX@I`xR434KOpzPy!OE(@ZchL8QzK zSYQA~qJ$Nc_PL0NwE@=d>3So0if*svVD&T|b-lI&`!$nzhbprLe%Z z_NVDEfYgUiAI?ZS((V;@PC6_VaBqrVZ_BKwe`n~PG4D*3h$=Txq*(>YhXdMGIit$C z({6|Qe~w@wNbWeb6+|@OH`V_c$$GG(wI1xu1PbIja1jER3T!6>k{pn1x#>OEDLf$k z?4*A)>EFz*Ee8scWeD8%*kL=RBrPY-!XTcHY$(_qI|l-V zb9iJq2iCRUNiL@M-uFfRnMqC`%sA|qOlBrcGy%N;_yDq1+%YAi)uJ5y?)P-ec#2GUKxK+rl?g#8!e9Qm;PV0MV=1+Q$ zHwX$EY{`iWE)+G^AXHcBB=%ZWtEKmxOC7IOJwX1k-uy{3Ea?bRNrNpVcEN>I(#;pE zhrqEPApN{;CA848!>%K%s1D39;KQO%uDw1fD$$N@@4QTvDyc>M|Nq+f@NMgpt6pEA z)C6r!5Muo@<~zF$y4y3GaZb7NuJHKLTUmg^^K0|{izwH;L}To$CPXse_B7}u5GtbK-8W_Dj4nUn`(T!-zwE5$z*5D8O! zf$yA)6*^pzKLhkM|{`>y}{2u^8d;p{XFo*zy0E)8k0g3`hN=O7i zibInC1X6MsrLk#Q<5BWhPCLX07yt$l07;3Y0)u3U^vGjTmTh^HDA^uKmc3MP3=={I zbjiMoa^=}-uAA*VTY0w{`%)~*t4hyRGh2DCI&U?5-FD-v?z$Yy;+p=b|G06U=(h!t zZXO1`%lOe-Sd{%TJdp4R{c=cui1aqe*CKoPf6iL_*@`>O)m^tG&uaT}hf6cC&&OZ_ zBbdQ7V`O%1+f*_}FoF@*1Q;)crtn#G7G0-5KQ)VPD~-V5g~+dbJO6*l9_h>B+q1OO7(7^&6awtu%*Xb#@X}C*2&dMc>XBm1AxcF6I(gSorr~n;Vbz0Po>ihqHZ>iNb01zd}byGb~ zJyuoYI9|1yElFvNF{|FqELQpMz3+Ye_ul`3Zz7WMe`JDTGNFvfBp4>aN(1u!ACZwi zA_K|DBuFIyN(E45K&lKum7&Ti696TGs_LSsc5by(soMM9D!_46tu(W$+107t?E3Vo zXTPiEY{&oqY3bpzY$t(}z%YerZi%l?S%(J6i4eS6}PGW`jCG;UpNA z4rx==LxzsB>`<=#*>ARIEL|M}B2gCV`Z9h#Pdh2-`JcO5RW)Kn#3;ljS;&gTKHtBFK2g+cS2SOfxp{%-)WMQu4(y*l7dmPMQ96eUwa#3oBvNA7(=&n zQR)N+NTh%gcfcKy>f*M5rYKc zV^87i2&dM&O$zwH&0SNBL9!*IEK9u013T>{srnx!a*CbuO8sf_vt(1`9ofawt^ju^ zyTC3MnE8w7>c3_C>wR|G0&yU~bZQ{Q?vgB#fA<%2e*b|G!vfCCMCuk$u(U{ozQEG- zu8YIL_TI|s^Vq9LPLd>(naRxL>abmvNFa`YdL06#Uwk+q_SrTv#}|CZkKx1qhw6(3VIUgB zf&|G@q{@~fSB*wZ26gJvtxvyElNL>zF>A$!O$Quy)^R7Cbjmq*-LmVR``&_A;1l=` z*!&Si@Q*s}q8v>Z%hlfI0D?!HAUR&pgD}mDcKCe$6Dg{0*skM+NnVsy)2?^>`S^qp z6vGLUq8XMKWykG@^>PRJVvUC{KoXQDSKx&&T?1ot8~Y9*U<8iIU~_nKrCO!c`HRBy z_zJm7Yh!D0a(3}Rp)o`@hs#sw492>;w@cS<-Fx=xotBg3#pTWY>)S%P*lM;r%jfO; z>yLPOJfGfN-#)+o8mTlot?qWYc>?<6$Dav~w8J7vTUp*7EY=4QL9tdp&gc6#B}%eg zHT7XUUmw7eM=4p=tTZc{ew?9RegXMllHmnW*6kqcR$7!~O^=eSn?At%8zM?km>1Q$ z-gf;kEyv3XLN%PERU=LEqO0oG+3~sV>eII$0;7miu1vWKb1nwGc=#Bgp73UZK?WFQ z+IkzD8u1;L4iQ4+C|s8v$3cT`bsk#mi9v@N-V|1|@Dn0Jj6|l|4Kix8$>xDrHrwie zHmULk4t}{;{ooz)STdCwXs@F^_BrPAXg9d4y(AY-ybPYeWVbNwEnW}}ku)V=6Pv`O zCu`BMFE;-OiK1wX*)F&rk8NLC9HO~D5o(+6x^;Hsz6K7uO9$U#1>1J&@rrkR;v2vCCm?|dN^n9FYMxp0g;)sYE)rJehAXbR z=K37xz%@7AanD1VlZ7}CFHw>_`O>7zkSR;C5~a$NU+^g@P^joSs(Vi*a&*12liloP zKLh=wWJ;;=?iD;yAGWQm0_f+>d|5xL-#(oHQ`89_u{BUE{ye@Y6(r(?caAhzP zlYWw?cIszvhP7B;|9trJCmukR*r>Xz=}?(EUYp3!Ap&gI_HEj|!K zrjn2}wd!nnSjK&KawqS zP#7GA!4ilRGL1@iI9+ZpA1Dlg#NtRqGL=SW_HX{LAEz(VAHNTK{p)Z4dP_^6`R4EO zk>=NZzQxvmt|c5yj_Z>_Z!#7Z6_=Ejl~+`c>6?Wc|N9dv1}`(Fv9i78pI`l!ni6rq z|IVM`Mk}u9bq@@T!ryeGo89Vmce?9a@bf7g7bP+X5D7iYWf9@|z3DY26m!7-)*j6N zzlRazyj;P6D`VXkV~q7SOBZ(MvT0XCM>D2F>S{Wkx%Orgot*gM5NIN@-2Tg-2eTXJ*xGt7cnH0?T87q>g3}| zQcwz`6(iOn$qYOR6D8hin!tecXt3vC7>3ap2V7qWZf3rDD;mO2_~ z9@Cs+KN~JF#4uxwGsOgxIrSr{y8iXvS6_}1)2*DC@+yxX8uU)wV2EN7OAlFYg_SC+ z7QGny+x9_VFos|Z#)97i2Ys14%#>4p1Y?+lN?2M}zXmnD(ZSjCUF@=1&1`man-jvb zPUAlB%f9a0zRv=jXrdjR=*IjUoTj>qUFy2#7C19BEN%TaZF`Ajd(7HeiL1_TuU2uT zj+_Jq;==EUWug zg;df=CxgsQZf2r~;zkIXtjtNQ4JkP2;z3BYJm?j}48Q8U^?a+lzYLkOWOs*6w%BHm zU8JsW;E~^_TgAa*1V&;M8q`uNt+mlsJ3q~NKJ%U5{1>pmd%Wj++iRyf-MM4P;vU8+ zZe0ixS~+%%u@+gDIMbQU5-1pl-@2Jq*Uy0C%EusrFKy05Z!i9Vj9ivOM@#|1=h?^> zm+k8ST69|tkIt8Km3J?JtbXgGn$ahd-_>0wJQ1s-QYu_?C&Xce z9bSa7iNoAj&Ub$Ei+}vZp8tJ|DQDy#b5~r|nMb6g%fFBXhju+X;i&!HPuOiVp<2b= z%e#CyM3aW1V!eStQ0OmY%-mz2R(zp#%6D9GVPomr+=ip$IDm)pJW*N=W)4KzW|rdM zM?JBaC4d043=m{i147JNK$zJ;gxO5A2{$oiz-%SXY$L&JC&}y}#q1=_>?6bMC(9fq z*T~7!Fa;W>$ju=)hcPFqFlVVUSEw=Ps59qjFc)Yt*J&}gX)|}|Fn8%P59l$k=rd0k zFi#mW&loY!88fe$Fz=Z%ZCcBPQM9{KZM_3BH$kp^q&Z`Ct@6k1VsP9%vJMUq656fq=OEJ+ndGQ^W?2_#P<$(KY5B$GlZq*y8`kw!|TlL{H6QYLAT zMVe%jE;*!IF6og+dgYTo1*Bgg8Bjz96_X()WLPN~QAS3UlW`SfQYD#IMOIXkRW;;X zExAxfZq<_~4dhiL`2bB6jAn|Wg(7RESlTF#c8afq;_0LWx+t-3N}`97>!n8eD2sl| zY=E*Gq+Et5pJ6Iygo+xa62_>EaVl+sDww2drl_H5YG8&Mo24e^sF`{C$pZaik$$s8 zzgnh0tk9oUX}mQWXq|@Hps6-#nk|}do95Y}g?4F)Jz8d;mOG%e4r#L^+TxhDI-#9T z>5wxz?3|9cpp!1?vMajcny$K`Yi{X*yBe{3>exL{*(3DX6ALh&S%CM#0)kf-5WTU0 z= z8Jx}GU;z(HxLd);8h$p2vPG61^6Zi0fHFsvI-%SdEiPztMXwur+%e;U1y8JaVaXe- zJ~;Kop&w5C@rYg8SqKcQ1Qj-d4m-hsgW$kPh~Ogla1%m!2nD=^5k5i~3a z5F+#l69z;GJEDXivC^A37YT?Il0*S1qJ%V2MTQt5OMW3o{vc2Op+KBbBpxUcf0Rie zDkK6`5{Vj#LY*X`K?>0%#b}Wtv`G~@qz+xuf*xr@pLAkCIxr+%7?E*|NiQa32vahR z8JWeL%wa*6uq3-!kv*)*0XF0WTXK#ax#SbM<}-QX3l-rjMdces=R3vV2gTzjCFB<+ z;Ws7a4<+L-rQjc>;Xh@-p0eUVxpAbzI8iB_sWL896IZH*8`Z|0>fu54@uXIGQ5(Fe z9X|9YzVt7C)jxlzI|0;#z&dt8R2B@4AcRH|N;3(g8HCe3B4|F5w2&xTN;EAZhL#gc ztBIpE#M4?5Xg!IvktEtgGHoS=c9TlGNTa=^(>XF|KbdrpEILd!oh64ZkV|*TqdVl& zeG2FSh4hRfdPFfjri7kSN*^fW1WP$5Xev0tQ^^UHDo$urb3&(v6DGBsFsS2%MLj2M z8knDHWPU*t^GlkU-vL^f{{vb%&}rj9qn)FG4mKD%*(`Lih3Rg~^}rsampwoqdz60m zGy|lbLDIkwnPQj{Gs64>Fv_N5jLpC}o1O`_B$I3frkJmoX8r=0Vg3b}WuYTRCq zcv)c6vdCs*iLJ*nTZa{P4Xf-o)`&3cM2ig?&L(puTg=sLGuN`iT+c3Riam~Q_SwiB z5LpgM6Gx<(V+w{7=1jmTa~9x?IR|jgyvzmjIhV|rTrppB%>l;^M=7@*w%x(;0o=18 zd1%M&5kkfjk>;5g@Ivf)C62t29^OeGA7m_54*;_a2$mL*Y!#r`D?op{`-6eZ1uV@8 zI9dqsj3N+N0U)vxKq7tuAXDu?p^AaZ1_6z306HlN3?>Db$7 zKb(jM;7mLS7giCjtPZoQ7P{SIcmbO40!;5<27c>w*qmlR>O~l`5 zCjLPS@gG`=|3MoGg?17W9mF%}B;G?8@eaC)chSS#pqD&CA1Q}^QWgWm3m7C`!4PeZ z;i_!}`WB$EgBXnAbX%GjdSuuZ#Rhc3V_-H$!`3H$Ub4(JygGT(8;_~MvJ z#tD;(Q>GMW%p%U29b7O+xMXE<#Twz7&B6_vgIhKickB}G*+o2X01=O@F`mc-JdNEbn( zk0BEZD1-_sp@c@Lp%Ypdga#&|gGCr%6M8s=5iVhZM_Az#4g`b~A>l?ucn}j_Bt!@) z5ky8rkP~4PL<%L5L`7s#6FD?Q9xYKqM^w-gRSZM}Bhkb}bTAWbEJP10(Zxpeu@fg8 z#2F`X!9`qg6L&ns6EE?>M||-Ue*z?cAPFHvLJ5;dA|!$+i6TZ~h?7_nB#tCWAjP>N z%`}o>2gowm0r!Ig7bp@K#by_qxZGu3D z^wK4-^cVs99Bc+`A4B$r5p|C-sbWIvnUW@E>?h{rHw*HMCHc#W{9)bc&4v!MrNiv# zuupW@XFBW)9rl$D`^Ix#->GlF4a6ynupyYAt-dO-007F?mtK#3*HAl`*%< z=_M7^4VCPWc@swJc9=rQ$-gNC}dMu@2N&47j{hW0J%$Y&zmLcjFFkJaI0`(IZrEQGS*2YVs~T(<)%K3BhU?lGPy;t5ax} zi7+fHVOigVWBnDL7>Ypui%9>8MD0aptBS(mEh>kXXzUo#*~wzCv&AGMVvz)~*{$Lb zCvnN6c+3srGdD`W+$14$w?xcC5;KoV!aOD^^SETp^O7?!NWokoC3BTj%r#Oo*Ga>! zmX_Tl9UDV>Hl_@mkYr>omx)5lOkrf9h_X@?*_cmdClGS5-{oX~fLsKO+yqJz} zm5;#5Pv8|GC<+opg$RYMUxFRyBI9I;&g_=5{riC)Hv-s!e{XLtE5kE2&4R)n{(j zfVo3M=3b4M`!!}B)P#9h)225wZl05fX+e9mqQSoMD581pj~ z@(UI8EA8+bo%TB&@dq9CCmr(_o$xoE@(-Q&FPqzcY%N0-ISuYe^iB1>81 zma!--FRX&XDk-dr!m1(4)(|yoS$fv746P@>Z6NJ7QV5$Uq|Fq{7K&smMYfIkFR+~j zX9sJ|PS%}WY%{xwoIOO|UP@pe#kZfBI>1(Okj3H5 zz)#G&q#siWX21M<|XCy zik5iI{2F+}{26#lh`l4E-jf<1NUe_?Rz4A2pNWnyq}x|=_FFtiC+dIB6n1)fQSz$8IrQXnzOkeO5{3=veu8X9XEIJ&crPhm5s}oMA*kAEKn6Q4t>i z)WpXC4eJFhQJmsE&XREgIBHR4S`op=k-Al?NuDLz^ZC2iIhIt&|KvVtC2 zNuR7?K-MuN8yS%ejA>6M3?@_JFf-x^bJiIP5`rZu&WapoO%br6nb}eS?5IGWs34!I zU|*;ZU#U>vs4(BDa6hOBKdDH+sA#{bSbwNEf2nx?s6_v%B=%Ga2P%~#mBxum=S*dA zp)$ELliZjY?u;l8VmshT+~CC`;7wZap=J0IJNXe`0RAMY018zgt3?p8fM6nl5Tbxk z8ci6hOn5C9LCqo|?u%l*i6+m*FsovjdvU}~@x(0&#BGVh9ZA%VWNK3iwI!9>mPYMK zr*>sfQZk8qvPgK@)UzB$S1ze2kAaoXz$swh6*35lXbZ)(r4rgoDQ&Hcwoy*os-W#u z(w|f@&Z-$7HH@!X#!nsNubv6ezyxX}{?bJJqnY?$3-hX#oYF>4YbWP)5Ic0T%yf~5 zx>-(oSZ;dB1$`_e{j|OThTR|qYl!(}m}W7;m>6YDjWK4%8A}rslt~iS6xm_=;xm9& zH%t4OqXWznyDhM;EwT_T5nlq!#Mi(IIboH&wMJaE&IV)~RHsdv!xqhHnF{R~%>UK(3JEM4<)7&nIyDphZSHvH#X#zJiiCgl)9r@^< z-t<5xdZbJ}(JG$lY%gqp^vVV(Z)||^PD%J6-2~f)9kOM|?U*0-%pV65jw6Y{iLJw# zR^q}%1y{-oH?rtXh~Ys<;7LdUAk+X7dVmNsz=RzTmJd++14h5Y>2C!6g{1#b^e>v) zW9WY@=M6_p@$`&9^C32QCqaLbnHMOmIhBZj)~Pm~X50+e5SVN*tkRneTL6bW;nE`> zr=QQ+7mzT7%x5E_35Ypb5)Lk;?4gYLBIgE2QR}RPM55xLQnOKL2m~#KrX%lqDr4Zv z#K=CHI8SD_7z^`;l{$Hm@7~nahr0Np8@}0e{IHvT+y4IG8ujmYTb2VeHyi@o8SyA5 z>xHKL;pIb~)?_UxSWuA9Pd;#f6aS9vE+lP@7JB_v{aMu%>(lEuL8?a#)AE8KTy)VF#KVW{`Ftm~{4B(s~drBhbrLLpOW95+$!Cx>(?2N-w_ znkH#AQi|q8=S-1zc=i~SX6C3&p#z;Mt3qvyU%sB+{7bXtR@GQSC77d_2xcv^2+x($ zMILj4OZXFBQL|ex{cq7xX}ZisHqp#X$i#WT7?TSZkC!;F3Rz%`W|6GwwS0xY_+s5^ z6u+b&X9*Xe(|hi&#~L)tEHC1GU8De{BTUUQv6SRqlQp5$l#ES}l0W38K*>1HCpkub z^Q23UXNT72(9s^h=l00k@fJ(znk^j3T16eXyQuQP_#Gm=chzs!^Z5C_hQTr{78G}T zE;WPz)Bg-Hziwp{h7x^}4Y;HvP=B_Rm&OGc1)_oPnTiDQP|ukr3()BJnJey|(5Tr>rJoQvA$jbY5lG3YQ}s z+z5^&@p;{@oJraF)`XiJrn(bUD?=rt8UbLO+n9R_jnMQj(D9@ao9GE>^`zu$7zPTlB1uIGk|Xbh0O9mc5mt^_3?PL~XV#YjFGI&<3Ut)(ZkR%?B#l&w z^Uo4(HJ0g~pl@oPZgXPX5c)pENyYC};?9mC-nK5zNIAU}l`uGS!$OgV=0#9IVU$pn zJJt0hh@z3+8?x~X#?!I~4)auCGa3eg8tvI~I&QVsW5Bl~NeL2{dYobUgrhEZVTWZ3 z2}lBA)6fglo|-~e^ssR$G+3LR1M8#$4Teg=7R%$N`lhZgy2>cxQ* zsU9KVYt`#IM#M83dZUi(fxrzM=%}t=%^#w?kMt3m1@GMNk&cteo}^t-N~rGac#fDQ=vemeZ@>Sl_r_k>pnfIX_&0sR@S62E;pXtx1Dq*LCTeQdK zeP;9_=kCI}|08T)DO*uSC9^>O=-BBekxYI8<8(#_jH3Hb1!?sT##!hsrtpM}5_qp- z2G0pF!ZqmP$DwBi>H<@5Wt<>8jJ3$~B1&8n84V1?UR~S$d2bH-d)GL1I(AAYn0S zgtx=6xp0GUkrmNKy)Ft+K0@srp|qWK5L$h-Ce#r^+KxwggDQz(<5d-u-T!C-=2kLt3res2qrk6!?3HPhV{3mxjQlp9X~8Rw^=LIB6!ucoJZa1Rd;#QEd(+Au|%lL?t7J> zZe#@W{VuQH>9)LBVAoyVy41|6-@n%#l9UEl+8>-H5gLltCw-zZy(u0vYW z$kAO3YvxnZFdEhme|Hdgmg{Mdd-ikeG%&}reLKb0$tgnCA+L>l5sEf_3_ zZf;!cB>tW%9D8>b;Vv{YA{&Zk06_%Nf z(@RMtrOusPO}S+OWx!fFfJ4Zb%wQ>1ltCBs&wS~{BW&l3F?cznq8b24EicC07VwG} zcU$_aH86=}zWc?&#yRrp0%^3buAdZ22j_8V{Bl>Sac;grDZeGzV5cluN}P);xNB|;uYPz?Nqgz zR;^V}8a1=&x}vmX=KpfxNM8kG6%joKLTN}3;#eF6;`=#6f{*y1nO9y~ysQ#Hm9pWI zSYF+~SFKidR>#a-ErD9&My+129ak#ZbTGlV(WiZ*^dUnEC=-P%Q^$)ZSwZ8A)2s9Q zr$;Bh0x|O9?$p=yTg;k_tn~fQ%_lvdrFFf2D1(oFVv9elJhGpBu+zkrb}puK>+#|; zFcUKjK^ko8Vc6Xfag4xd`~KZpx#-iR%>Jvqa9u(ax*1X z9Y2YS@7gS14cr%pUpKIjOZ?tb&ul_xdmvS7zyjY=KouDbP8sV-eU<_U_{J>jbo2dh z%DNFw>`-i%%Z>};<_($eREJUJTX$AQg#K?JwH382hd$5*B;-W9f0Ufm^+K)mjx)#1M9B83^qD?Hai6^J{NR!f* zQdsZ@T09W#^?MO5G38RzZ!>*BWZhJcql@ve3mb^ z-QEoMkz?iE9dqGW!;q*bR9}IV=y;yH?XM7U(Ayc4p{5_CWI|#5VlWY%VNrx4&Xk(X zlv?`IW?wA=s|>@ZiIAnOGp+aPi*ONxKYnpS%zV#yn?#>WwTw_NOZ;*|P#K!LNA&3U zZU0rw%CKB4>c~6nRqX%b%lUkNRPT3!XMs_MNtP6LkL%X;z|zlOp$YQbdojk*M}mq% zp*V9vDl4Mgw_OmfWI>Z8++2>wI(GRG>j&;WY6SI4O{-Ved%AvM!sW{LR7~UpAxbe2 zw`TymVj;d+AnCCYaCj_4Xh>{NMMs3YFm8+1q%A;HwCgnc-vbrM=sOua8CZaXOPOvG z8ddh^hu^Z&k2DeC2eqH2oT#bB6oDW%Zpq`+AoXp}(1fO~HW~ z8JOJg+}V4CS<&ue{Lkdg1QlMZiHjwA=or|X4l6!P0Iao7<@AoElB9jU^N>on(!G#$ zTih&zvd?fmj6x-m!1ozg`B@MtCYk4{%h;y@=U$9i#0}iQUeO5D=)=dS4+Iwqu8!a) zg>YS=fk83eWNwZzd9R%f6AWyxsy{=TRccpe^{i?xQZlN{wR+w83Tau=G`CSDXoe6p zVMwaq5jLKs4f4<#UKndrg+`}Sv=H)8ii!ZCq=QglA(k*iWzwRi6Rrk247S)`T9kqXv|#{!PjaIN~ri7Mn;S;mo?1qxCp3?Oc%GIPRv ziWY0Idn$9xM~bRqWc!&@UMV`xoRO!=W#%Y)#u-?TtCM9_YrK^g&8(8OlU6$)R~fGe zcNSOha0g%F2pnWw3LRN(I2jIj(YBp{K_IzDi*^xolwcTin?<`DYlOk4Sb~73ROG49 z3qS;%Cq6wd$w??YRk*t|9eE1tMiydEm9nx7y4V(~bS$BRM|&3A^6*K=(cg=D+`Rdh z3me;}teM;ku$VDtS%QkMz18h6Ecd!fid;0}_Py`8KCM@@QT(Va z0xr)_t)E1}eKbOh(-Cb!;A!~Bf6Uvd#<+!0j$M))9s;u7^vW;94VG_VFO)dX3-cR6gf921QPgZ?gN+mz8P8JP|Q+;Bh`*fVBv94km0OW-j24hI!25OGFQTG15bEDkU6 z7vTx6d*#P?*41JQ2N1ndWQYEb{a7f%NAz)@~vWav-GOCJl7jqqlPDxl6|_f`}Tz3{*7*@ zl}+#74UTVsJwG337_;(Meg}g~V`t}x0$8I+08vzvw6=Ssgh-mY2^^c2!%a+VZ02Ug zhZrKlBa8Xwplr8dL@&c{cJD3)|G$!3Guc+hv7*fa5m#E&Z< zleM_P16BuEaGDm0$3(JS>0NKFcxvD*rtt{ zEg+7D5mynnox`;q#Gw*k<*PUcXg0+wxeUN;+U1n#T*P(ITLnx;{FoVPW+_I{kGOQG z0Gq%}os|0G14uVk#4*Pa-$yewBkt~yZj-)M#0Q()hp{;k-@tM@nhc#0uhT-^ULYc# zSkWo5qEb=o>qz!$e^0#GIJ82&%HNQ{ZD1n~n)MZ)?vX(G(DZG)wO*`s zgV+oR(J|+e#Rv(YgzPb4o-6SqtPsi$#%!KZwPb8u^rqzPjuz`cn2p_=+fbbBoTNL& z!;19|k5&=ZA6fUJiz|&HTBm^bx)r7LmhDcRHc(CW7l9zxQfgbeN31Y}C{<2E`_u30 z{OPYE*o!ksIe|kjqiF0UXTn;0a)g<>e#Vug-e_i4gLn!(S+#D^(;wyAUPY zbCUo!hs*(U;zW8iMpuBay7uEFD>p_!1ISD{Jm@@x-r4Xi8 zV=1a`^cKc8bBA}Gw2L&+Mco{!H5u@d8Gn@ zN;4eTgDR;?QH_qKpDTX-PzuBzf| zvy=6mju$FY3RdGSO`Dln00pjab`liRhbt%IoAu z6{JpzKSVDg0jqI1kpuvMPgC6a;}_B{YCm_#ggWnwqg$5RvOEs42`@9WW~PzNYJ=*P}$YA448*0bDTBO_cOu z2qMB(axF9z!xfnY^g0X5!fq8>%=PQ~Dw7$NK@koCUuaRpak+|gl7c!-6DnhuUR7el z7IeKen8)(kYikH!3<1EtwpaK){20Av%qP;;I~P!E9QONX-=<4}lv5^XhcX!Y%!y+W zQt(beq>P@6Oy+x6!IYZ<(4%cJhKU*aXeTdH$Z-9Z6UqO4v$F+UZU`AUp=lJ93Y0-!Z6q8 z)!A<&vy#{_13v}H6esCl4DS*ah(SWM5*21WAR5PG>ub>^t-l;XPJj*FyhmG2RGuB9 z+h042uzmt205H{a;Z>x>6t?XbGj@OVtfM#A0EoZ-1`FqNtR}NkIm=0%oy8JhRB3;J z(0eVUTHBW~Jen}fc=s$5m+Ojd?_5#kqr!)te&jlH?!8g8OK*ZW_A=^C=E?y*tuE{C z9wo{SHwtYIw8CN=AbklUZNIPSGOPDgC@EPZUeGB~>Ww$eFS?90gDKs1IF$ z5O4qMY@ssWx}~6{Gq@uG@ajHu>d+=I*v$5LS$2BlWf*8yabgDJm9()VDOMH$j=J9Gx?e==gdnv3N zayX)(JKT#3N(J0BTS0xmK*t!bYqknamavFm))a$}pbVcoQiAT}Sy3Y=^O|9c*?Lt7+C^pq-`kFfljsiNF}ZF#miSxMWD(xcJs5wjrn4vQcxj9e8;1Zyhq!4jQ?QkQ4ROjxh_Q_tMh4;~m*T+i@!AhTiX|^Cu;^?J$nTgUchM zBwGJN%sMi`yr>@0c3jMH1I5q_nr2H@qU`4pw}gwea{J4Z0^`w>fh|LEYP)?k{LPX9 zE?yp5YId;z{l7|deW38|zcY8)(tRj;&FuieTyCSjFBw{P^r49o>ht&sL>BVK&M9%u z!1>@@fD(@PL8z{&OJQzZFocpP4!cd*T3(9=@RDJk)e`wv3Q`+L^FE~29zmNCIk}GX z>`j{+3hLc%1r*d&tcUkKk{rNp%9S%UnePV#Ztds8Y+UX%?4XOSbQGN+Fzx-o;=ag) z5qDr9?o>IK+#=S`q>AvP%ZGG$nEm5m)VJG6U4d=3jRSJ+t4D!Q$Sa*3Wp8#4j%=E* zlE!@;x4`3aPGgXda?IU6D27^sHRK0gW(byp;EWB=i@%o14%E)gulrtB!9EpKz%9IK zm>HNPBe?)AK+?a9WPE5tsD+E!3^1WWcAC(D=)AkAazwlDnCiUY;n1d%A!*0(;iNOJ z5uC?SNCw$-IN>CPW;jNK?=bnbnmN)qklO}2LQkG8oiS<{-P3~2N47@zM;6~5_p!m+ zJA3ec^2zm#5X!TTXD)Ulpojv-X~Ys{K55=WCn{3oDx3D^cysMyB9 zym_S$`A%_#PZ7*03r(k&F92oduB6_ee_Izt)Y{ld1faFGiV}$^4&(^bj5Zr2D%~`xaN9r16{6bFO56#68vVsvE0X6r7sIaT^tFN> zrm@j{6&Zyu)ndQn$|d0rrl>8v_NU~J-+9WTTB1mPZBXdgVCQS_g~p#)cYJ^);LZS! z5<*3>s|;oEHo!ct^;-7>gAPY>YNa_lS19w8j_Z|Fi?P;dX#`O`54WLG;X_0|p+hSX zdfTS8pe&*5b%aOa=Vlg^uXUYWm+K5|N^A?UwQ4;?wTju%x!DW3+U7b%y>wJ~4O87I zOm*#A7DBBYQARy1D&lLeRN-F6D*vSy6XQ_2nhP7?G(Vj?pdCff^z>8#G&IMd0S_f8 z)(t$VxGGvKsQZ(qJ}b%2Ih&*S7U)XC;~M*vgl*Nk5@wV=<7}ivjy$}f1ryJ5MJF>} zCP?61mh-^981MT4TGoK5eIb~Rpv6I~rbwl4G|BZ6siyUS%bL};#52`nUXaqH94`o; zO(}Krq6ltDS3%yy=d)~ds){Ikgq;ly*+^9>gAGaVMX3PdSfr=_ERp%k0N|t4i3otU z&r)#6=pFz>_-C-Uz+KWbL?c}>{xj^y@8c&H4=zuO}zmVkFRQtS>;P!xK`ah#dT&wy}#^I zOZ%iQlYz`JX4HghGEt2VWIB}`9sbh6D6J+5R;B=HP5zEWx(YN22#EJ6)KHcwPnQk{ zLy$p5VlDpx4L&261_y3K+^`WfJ9!$k#b(-*MXiyHsn6cbzvqz~gq(F&lgG*^XMLv$LzuOcB1Pw)gsAE6rZNi- zzUkAb{CdS_kRWO%#$@E95s9;b)D6L#nBqRQM8D$Iz=@~rAun@Zm^aSypuA<-d*+jn zDiI$QO=Ys9RHK+HfB2dwxlga=Lm9F}t7N2l#)q4Fm?Ya7wW7mIt_g1TD9-MFZVT+> zxX$w-ZU%A*0T^LcFU&P#es||E)7it%u_{&~1kO+LMr2uR<9jwGJ%)?|%fmSD8<-lE zmW7L$52emtEkqG&#jO$beNl$lGLoD=djG@DRsjOzVx=L43u|xfxRN=n9e-!%YHl;9 z*C*cIy_6*TQ?U&IJ8$kEB_cwkY zuxL#k>qI`0XO?JWxezyz#D4OXd_Z-aA>nQ0{qvB zX>5s6YB9T-LG=8hsG$pxfsij9uEu0qj3XWG~(oH7Z=V zb9YHa6fz|vH?J)v1a1SJ0HptE@n!Oj6Tyb%=CM2P+SUZv|7Se_%$i7F@v`ozWN^46 z(#a1>rlV|ww@n)A*?JBMVT1Y?9{!v}>E;ec$aQSvx-MR+pNVvUBzG0;9ZrLE0t?Ir zNfoqHz>BZYB(T4z z{qs|JmDxgCNanYr&h3#TMF4K+v*HP&$8AD~5-Z!qHWu1!>vC&Tq14>D{LK6Orl((n ziv%z8`82WX-t&0$0D}WWAEQ-=R9r$?Wb4T;EXRpA>Pv|YEIWzFWLGtr)_4QnyhvQUSS)e?pvZ!|97yc^?T2RmLT`Cn|`^pwvygZMYcgsiF`i7HBBlE=t z`c?&*P2bFKT)mXbO@j}(B#t*DyvfaY*qhs-12nNIN)u&Sjz)I&RsJ;q3X$or8bmuL zKCvnK83;FFDjy=d9L~jm&>*4KDz?^ zjKbhLJ|NLxGc90|k)3V(DN4#}V=rET+whlI2lWl@Pq{b5X{^*Di*q08N|HB7a7Ts0fL%FYB|5@3i{8}MIcBMjqz{I4qA80jMKtO z1i0zKbH?3Z?Rjm-ZjPg5=e`xVRL_1C;E#$(z=DIqLWwWGSZpbFGHvy)mkHUG-VTli zXbs~ac?bFU*5*`ki^EQaa|^AOSsdWvdif#!-kwCC1`#B08tvbJ88E%P4YvMC_HnkB zq**m>a_w`8BrPZM#dbqrmqJqW94~K~Jt8&vxs0o6P~-CQsE*BUpb7!tb0N>p3-d^6 z#Mxpjy3Z)b>=#I+j&)wR!E9Cbp^f{Pw*Hz$8Da>c1kkPDdw-V_`>0T@2=AUw-3uGv{QoqnO4DSDWSc z4^`o{Svn_OX+&j#RW&5RKQTHWo`0KC+rZc%merK0SgFpETE4| zA#=FK%jHBslcvi-DdDpAyds*k+ezywDns}W*f5uZfzjX3O?~1y$0lJ{>`u^|pB^=P zDg)^x#+0T80QiTWL_xZvazm^gv^IR>W+e2C3~H{)L5{x_2}CL|uX}h@QAuxOlvpJ8 z<2XpIumk2_BSbqJRw{wqbPRyhlnSciHty21_C3bOVrNjS4X4uZ6LRL4k7BY~cxxg+ zwB#{1E%BS*Jr*{uJ8QP4_@g-3oGb}e=IJ2$>qb@g?q54?89rIFV(gPb{0Z4n`$Ci) zfGj4$ji$@2iiwq@V(azdy?4K(RpG$DD40{LYx0xQJ-;+SZ02(|*7Lu#ajt3*4PaSD zQR~?BUlxo-^?Q+G0~Kcr|`7%3CzsaI9A_%+%Dl|o)JE)qfx)%anSA)pvjuOhldKPo06Sr zX++}tZdI7yFuCS;JHGejH3Kx9c3QmA90nDwd86A8HupJEHEUs*SgtAQAFKLHeKd)X4jE@lz97HlYP0yG|GL6X zOg{R?o?KX;$-?~?rL*D?IlTY`9Yx-4_NdagK{}T=70cToJ2z3{x8$hqkH1~aY~I?IgzXL?pcpjDx&t%X;KNE(6nZep3EoK6NRn_FW`f> zju;N@@&5bDpY->vNA$Vec?$CJ?m07=jx714g^!g7o>PAQ?rIqtBaJ!8%riv+`gg|~ z`Jvx6U~sD78H7qHygx^i#FenTNaheLk*rx!$+eDhRzy;3h6V?O>;gr86+Lo}(UuxY zCYvM<6CY?k#W=4v$_|NF+^8plRI+A~DV8uK!}K>;k|3{p&&r+(W7VtzD7c;i0Aw^& zpZtmMs^inbE9uD1DQV%>%IK}|^tqdZy|+6z1q}xJQ~s{BY(4D%L=}BGpdrgy9KZWxISotaaG6U z%n0~4yiXf%IS#~sqH~?bMc%*NjXwh9rGKpdV|)1~-^~A7GFvPZlZ=kl`DdzAR+_>O zW%%db+{OY7(oi(5?ccYDKActAG2|4d{${y6M@m(e!=rbHLi5n&1ZWqxZW%xeqYT$J zmlU_3d7#?>kjsapXimGYwacn7Pfa3du{$nr(k~k~3#t85+9H|Rxq5PyOP{3?j}c)A z45@G~$}?d7g9s-X5YkPyFgJm7K37M8$C`O7BI5%I8B`&A&sxo(CA?{II97KU-!9x4 z7BfTfH!>6a<~M12hjsmLt6uQ;kt0~8+xPm@v$`{bIOjn}gh9Uor`Xcx{+K66CV9M z!RGkjQ&m(BEL}R2%Acr4 zRD})b99zdZiKB$K9Ru?Bi80^8!mr!)L_#L++)AV=K*Tmym<(jU!xJdOay#vabjlXWhuz~^!({0%wlU#2k0*QfL103%z)O8Dw2EqPr9&|gs} zns{qz8b+;Ij(Gcu7id)q_DOOwDMuCkgW>Qg3zU^$-82z;DTcNDu264O(X&CWv(d7N zyph5gnm|rEM6nNpO-Gfs5Mv?apz%FlWve=$-BZ;Iz;mY1dk^7l28Luf0f`} zUgadEv73zvm>p&j!V`sg)v3Rd#nbM~dw5XG=m<|n`O?o%&>AKon_kPYoUF2_I)k?R zRET7q-j2o|CFFsu1lVq)pJvX1$Z0Vsf$53q&NF?TC~=Q_iaEg-WXULjtd zxQR$>W8)lOlzdPE^9fMh`c#3T3*mGq#IG}zroyD4Z)eTh178PG=gXjJC3*)_7Kz2s zDfDQTA|p>2?=y=PjF+ZlBiA=0}Ie zbFA3d-u1oZ$^3z)lT&7fuga@vEwxxeF_F$Ge{(00lH#bFUgwd5f%g*U-J|D_SuN&4 z{RQiq;7?0%%r~&AdqFHD!2rN?7#-D~nb722NuVU>Z-bda)Q%``-whn}mJO4yW;?!3 z07qwGwRPOaCThioH)L4Rt?fk+K{c!yutVvapNNzE5?Y}yC4tz+e{VAYV%yrF(i}RN z&4C!Z98P3)8Jqt_D6vQcG2}V|v(qq3S9}{>Kfmv?r>=ritQxM9y1-<=wo|;XBs=Bn zeEP_bO0YO9o51R-pW+wRDy{&Lu(dyIBcg<2%qnA{wH{bqQWgctR^P1s%L| zI(nKyvwJaoZ};y0iCZRm>t-gffbeXJmJ7FdhP8Xh#%CPdLFeFTFtk`o-GbCz2}MqHc^OpSTgPG3sm}VY*y)Ixb+EjUO|aHR^<{I9}uPvA9#X zhF@D=bWW%%(yh2=*;n2=vkRnvHH0FlP`QSdUy`QNY-<-Ew`Ed6W96Q)?6gX!TMOon zKREgF)y1`sU8qGa&#iA{I}CbuS)mJXL2w4=yp_T012#v+s7@pRR3)qBfT$*bSiO|U z5Hl-4$k?Hmw?o=xua(WxXoUp3+}I&|!=b^VzG1<@Qic#BC_cMWL7>ASe?d)QZNrz| z1vBr|sijpX)LPAsMYNG*pL4pcL1`4sD)gwhgfhe9i?(pXoe!cuAqV+khOiry^n-=t zA4rs_QnQ2$)G!5Q&o+?FH!IIs=pDuHJpjVmpG5d_w&|5> zjl{Nntc`)39DM=WbU9hf;L|1`DhA`v`6KEEVr{NV7Bv`&P`2u}SE63_<7JflxwXRl z`aA4CFq6U4h6uWGQ0)9|M&s1s1>D=kkiW|1Bf%zC_Usjd%Z}trPW2G3f%>Q z{l%(S_J#+zXtLpV6KQWa@sD?}l#>MMUo@OGH>)ywI^t06#|Z!>i<2e~eOjmGU7TX8c7;pHEqWJ=fiG#rGaslzjHB;kSq0@| zsX~e%Y63JN<^nYi;zwH{L)tc{U=#(2FfXT(;-fdW2`4HIzPJXZiX z#;Ot#O=yeTN}zOpOng{)lWQH>a$n!D9YftJH7l^Re14yjK2oxuJzl*-SoB1@<|+a; zzl2f0wHbOWO&J8Hama$N;VW_S;N$%d6Ec{N?2Mq*z#^`P>n$MOv|IXg_4_9=JY{)| z%87_*-!9)THNK*Xlnu|1I#EUYZT(Cjno5|}Zhtg7JJqW(&f=NcA)4pV^^jKAZ*Ct8 z;{qwhP7y#-RzxD?cC$iul4Mbsw(p!9NRqWA5K&m(tOUV5t0mG^+2!ag@Z{};f~5!WjhUzeNyIWBP^WFTqCw0QRG z@Ix=T;Yn}vmqBm)G-~5q3GyC7FV$^lFqc(^c=xJ|8Q( zx#K``aE){#g?V>HQ!~^%yUCjk#F9hTXp-w*-AR^F(|T0%NcJZF_bsoTGSkp-2-AX7 z)Cbo<2X-l0s+_CbF10Pf+>}qHOxJ4;X_S3em&K|JBxdAfu8Vq58%Gn^Hh0e}P3VDV zZF+g1&ShRqdM=5#$HgjH`gcu;5hA1rJ7?=2v>>Q`8SW56u@`a0eHca}HkLDllGk z4rE)tY31#+TFq}j>3Tk8P{jjztpq<{$Kf|*PZrzZPIEs;In7&gg-ff)BouzN#IK|~ zLim@ntJh7@zrN{ds1s>a1_$PF3r+VFwMxw+yH7~NEc=k1fPe2y70jyv=T{E&04e*b zT_S}kNBXFNyNX^_U}zV_N_~0%P*yfwpDD#tuNcNvap4Lk z2TPTzq{Z>v1)$z5X*l*~QZ_2aG@JgO)JDBQg7ATRsV|R*vz0EE?GAF*gb+A*SX)tx@8kM6u*-eY&fiQ*i@G< ztpce}M8^2t3i(~P4-FFl0GUSddK$i#MOO$J`X)8SgsjJ;ezg0@Wd&iRSjXRDr()SM ziOQ~Qv+M9Ly=Ee%7aMygzdtSS-~+PhI7$EE$(N=A074M}4Lts8-LO)grR7wI#!Buy z+87NKzfJ=4x25a(8H(hJoHI{lsH!5X<_`y56a+&IfqFb>FNJ_XIonve#+_w0gV5O8 z!mVfb&XFa9!UG6Zi7`9CIH_eFiIKTKS+1W%X~V)VET)5qVi5>7N5tk$gt&TGn)Z#r z1rYs+GNUJmOga!H<^pW6?eJfQ^dI(si{`eB+pZT{V#B8gwnjsGIKKz+?$Df9Ii}E` zlJh>y3`J2S2&e$I4Vw^31&|dW?{>s;6n^^&TX59Lckd3PH^;atL%a43z1`{+3aNr# zN%IsO0sjeY6|U%4FzI&N-xgR@f;=Uz_JN(6L%$TikoJijCVjeSuoYy3)Pnn`p7g-+vP$!W^9J>Eqem~bW^JotQb+$>_p!*^wf&vB)D(X?43WzY*&y2^$+lL zD#gqB7g>P&3n0XzOm>c)qMMHv8oS0ddCW{a5a^J+&{^Je%%9janFUtVJK9-gk(Vep zn*7E_ew`X1M7PmqOK;G#3;v!&oaFOQ04Rv@%T#xMx{jtNw25QJ@{iYq=5rcqsg z@Fb^mn~|Z$t$tBKrUcGj;K`xI#Vzdp>ruIVvZAWtFO1?bUa+}B8 zkqsr1^d*E`RW(pDW&_BjD)%A?XIqj|R+8DIV}?^(G=Npd>VvY^)u2Myjz#)2h7x1M zLiq&E^s~+bcWiKzXpxnJdbSLiZwl2<%8e%CatRsyVo~tr`raH=I&uPfYch_t&A@=o zd|`B{3={vhP!HMNj)jG`T9q#!x?pk2R{=I6GfmjSgvs6H#N6a%kvB60jD{up?RNjK zCRM=bF=6&wz#cc*cI>o77`tmrCa;%WxajuJFJS?`fmJkPY{ar)1x3LG^Al-QMu)`e zIZLl13+ul?VS#!0rRNJ&o7H}$gNWJ}dEnF&?d&!y{Fjg5_wg!=I1rw!3n_Z|jqKHc zoZ9-!NTL=b-yLN$2Yov3$78lHKg~{%lIX&-pvuc*Z*Yux6HgBcY8K%Jl&Z?sRCH<4 z;`Z=S+VJ+w05jaSw*v+kg7LRogfGlp9;_QCDLiAFD1a zzQ_kA5Mh(>KeuMnlnc&R_j4u0Z-#0(VX;R2I6YvA zU$flaMCK92A;DoDHX$&WB31Fc^xFn=>hkAf4AhrLoI5C!sl+;-2nF#(GU30(tD{E0 zWgDP>=}ybfqc6j+Qf1m>^#{f@6n+7Cl4-L9CV*Yz8V|sdVc0y05+}h#otVjdkq*{QM3T4){8g+xfD1zF zYI@?Wy+^WAsgu$oHDX7VE&=TtF-is{Ot&vay18~uj;)9c)e}!u!2mLFgs~J$n4OBP zRh&la!cIPbGPPJI%Y^H0BXr&t!$)YA3^7@u$56`vd@%~kcE_a%Qx-*CI0iuJw0EDf zX3?mYo8{v*wtY{6-LT%Gic{a^O-??NG&g~_kcS9a+!wr?( z*bMr@`|cqLZ}ZVE#iX{jr78n1rjZ0(fd1^sTmd3NjwM3zcy5rj^2D zqN|(CO4_h&fQj0A(BH5^Ic>!md>W+_BfDZ701F88DPNT@3mT&p1G$VtR*y#^?$)&h z-Spxx)Cg+!WN_dg!zyxgsu7z!4(b{&`0#&*q4c#D*i}2I8k7)$0IyF@coi73-YLl9 zhC{X(ct+cMtHQ~hUq6(SJOT0AEF0VIRDgiXMirvy+M7g(IXFo=<%TBBA&gH3Yerp- z`q0JAhn9Qaw4=%~!U_jE8v2-wPClxFL{vN)KYeZjo)6K(WaUVWgn zGk4xC-!tLf8my+c?{(a{d9P%yx3t7~=n-*LMKnc?OjayJYdd+-Xip^CfV04gOAWHB z#fDPwQV&Ij5Y}1qAa4Oo;En$xsHTj@ckzdavbD*#Y&#SJOOdfFW%k3}COLCH-c*yp zk+}a)s>%iC4=9^=WknF1N-4PHfVf%*tQL7NA1L55w?~0_&hSCf^)yyKrml-C(mO=StxZTnREkPEO z3aSh7IaQ9uoKCB4&UQw_VrAI)wQ1xHfe0zDYJPEnJ2}mH=mM;RfTOnn&he?v!qul+ zNNR59p+yCJQxuD_KY~c9QK|Un$|e$b&-90+3(%WX?o?}5@6hOK$Fl8xjcTVO%-SDw zW>~OlH9B#oqR*nqgq0e`Cpho?A`$6PXVqnfr5;=m9Td4vZZ?;hgb+9LH-*%Wgoa*B zB!z03JFu69zrZ8^Y7!26P%|%I?>3bN^Ofp=Y5AD8bSAf6XDvDkA}qi=SR^j#;?A(7 zyoY4do>ha&s_eD8D(z6mcV4TH@nf7<%24eqA4zrPfW4@mnhQRDX`x)qI<_Jxxfl3} z8m&3r<|8e8(dn{>n$H7~VstZm1n z6}JbThZ=yxA8bBTa|$KCz!Gmc0@kdP}!|MM8yX=`oIVJa$PY7ZSa@0f;q{aFLLC zbH)5~0Humra9nn9OD}_3p}aSS8hHVKmuAY!YVuS z9OHsJ8S6amlw>WaUeeY9(5Pyyd7T8NyD6pg2DTq!zyRTjZ0J_Xyd%6fv9Gfn9fN3w zs-C@}$%rFnSE)))I&qXCyT7!wz&<7Zh7AM*O^M##(9Nec!5>6^1^P@PH;vdN!Ym`U^M zJb_qz+EY~INki}S8hTcv2NO7^$`aV?u`Lz(8Lpga*1M6&!s&bKW1jDs2M8ki+^9A@ z8O(S#a&Qdmsj%{1@J1=*|8ZC(Jleu^>C9&SVjANX$5}b2w9BV1(H3b>!h>W_GA-=2 zz5T(G)Z;rLj3_M>>J;a;lrQbkrQ>UjRS`|ZrHc7iT38}CQT~Y3^3a}*vxT-+aj3@k zgezA7;{0r7ku0~@PO>L<`_(nVM7GRCGF?fe@{!U;CfuTz~POe&vwG zmOE!nEZ{kO09)l90`GA9pE@tan^BPREaG^=jTK)Ubya))KJ1%YjMVflmFX~2)6FB( z)6IBMI)y~F!mcyLJi!aa&Z&T2h?ByB*n|5+V-|E3>TLy?!CU;{r#+JKo z3kC@fhJ364Ka_(eV#$D?(4KWdWt$c56uq`%gJ{7$6(AqI{ibDqYKX|VYW?>rUNx{P zh=E;|om7Z6wCMj%0YwfQYxAB3iOj>eBYv-iW{K?DfQ|hPa81#FN<#oAn(A8=ouUDH z0|ztPCiXj=3JU>?H9)6`lI7m?^z74pnK|XnIdV!wD1&lTpod`;+_hZieY=66&|sR{ zy2z&GDJvqT)jd|RNQ_{v1S!3Bf!Ey3UZJxwx-e}`9l^U(TOL(R7dOHSMwz%8ti0@G9 z1?e`rB@>toj&RF%>VeDAv~C&GlS{b=>MWfvQ1qP7;(k3%pih(IUMbL3@g3C{yK%3s z*Z#lgu{U?E$y5j92Bt@pw_>OwxuSb@s}vG>Wj&IeLgef%FAZex%arof`179ry)Rh# z6R$x!$_u~m5+a;43O{^jW1Kw$ss*7%I32odh<9DmqMk~H{%Jrn@b!p1?ypl@<%t_I-WUDwp@W*@cj=Edw&NAU%KzF z@~iNjU}847&8#w~R`30xxE^=0F>iDmXsKTDrGUUog@xwVb`UCB;-F}# ziU;;j4d8>E4#2q#_Hp3dXh*k%me(-ZlVR1UDeM^4l*3f=W>B8bX95tH;U@E@p1r63 z>f5&WwI9F7vkkw9aT<`R4FG1H*;B#j#ZWTz4N1G6AVWsog%DEB!n+B`s#JfLKId5t ziwH#U=B}utDWNmKXc>SP(|*!76>n8HQN#M)unl7y&^l2k^7$(Z8uFbh7R_RLs`Lrsx&MO=z+}HV74ySgu3nE01#h*&3(_ zrf=Fdaf>T2g=G(pR8tDhd_3p78eaPD*rMb8Gxl{-G-p<-=6tj3<%lTVa)2fL*+Nbh zxI6lD(DM!CTPYEsTXVDr5AK*&{JKU7EIbQ@ig|S; zLSN<=wT(!abLZxUm11+~nL0TIhrZ##m|xU5iaqkAQGdz=niyA+!OmxL#I1AwX{EMo zVlRS(9Ec9Xtr?+LAZb6PpxQ3+8Adm<%3#fZkVgfhS>|&2D9I)K3bG?L8;|zk7r#6d zlopT+aRC3Ki*&US4VrX-~CEAT{ZU=$JWlg(2N(`%0%?KfSiOh z+Oi$@Cl!Z9=LW#{Uhf$-wV80LXDumo}mS+w*GeCiDltFez)@{UsjnFCyj_uJ-&og zU)ryxm)Cnpq!jP-WfCWWET=s=wGescxxQJRR162HqSw`UpVSx|{U?E-LJC6-k^aRH zFF2YYg% z$@{kS{G6-;bo$>vD2z#KNi+)_5N#*d&3Y z@P&S!nbi?>ViClyMVe%)y8$V+ycJlG!rxsM&;B4UpXb;{+`Y?PKN9Ag?7rVT{zVY0 z)Xg5TP8`t=5(+JeI+I(5z+g+dcb!#a__-#bLBGNkCK~j6o*8+Hs>C zbJDg@agyShK{_`LT$4KS^{=_y)+k2FQR@4J*m?9t$fg>B`k5}|a^zq-Fs$&g;Mg-r z<)zaSEH=h(rUe5yVg@A4xN!u5!F3uNdm|kudh4?Zx+3w!*3F2f%)12(pdJ9tJbZ6> zS3ADm^ZJ7?x=?n`nN4GZe_lWXb5E)d2kDeRudhD3tD8mBqLBRj4bAA2*o7pM$GGzS z@(GlH0Qi!9LFQLOl5}|1X|4v+3zSEY$uY~810ZBiVAIl=T6BCC>PbeK91+>h(@^{F zbUMC9y-dV-GO$Vs1Up$|oF(Z-Snr35*1L@J z1~7)*6y&!fE&YOD8M5u`B41L?F4NJInhizcNkBywev(gUxT>aE@#L(+&I8MJc`1HX zoSHvvmCWlBO??~34QCAvVBMIC+P!LXE{D61M?+Q|a<<`O96)^#4E+I8D7oW(yGU9x z9}5Bn5n7%vOaKVw=>=uEZf7QlfLBp`tZ3c-+T*uk&7Yz<_;Z)?YkL zMf<-)4G_jYW*nzpZpg&f8i}SaU$V8CkS~&tqe;64IQIZMZLb2#q3518ArTI9Uw6KW z17d%R=KKVOV)5X;p-?R$d+%QQU7% zkF2dFp0&aq!?5tP5&OD%NythPWvGCPdl#hgjmczFMCOe%k9MdGe~iZfc{j+Vz;--j z>Zk#y!MII9H&&EMQ6H7jrj1%U%FQIcxNZpGwHx1|Bi)f1>{!ESUUHU0S%oQrXb1`h z^^nyAU1{ccU;xlkJ_jo$Wlz3hg)O`-rIeCAM{*%WKZq;!Z{q@7U|FTGm7A+G1fNwL z`y269Y9cVkKW8kEKw0hnYRLAEW5tO`p!`Jp_1rP+n?RKZNEUIG88yGibO}bwnfO_2 z25QE5zthp>)XijGgkn7Fz)lV9tp$1Og9(7;tUCAe6^<8ZP^G^BG(Dsfpw~CC$@+&e zUEhPmgMNJQ@SPXrcZl|qaH09=J#GBLYvbaCm5$6DFIQ4d*(!hh*i>(LM2L=)ejew3 zl!zo7$N!cQqZXJc!L*vyga6vInZvUl-~9>vfBXDTEc!XoN_gtKkE~r#M{SY$Vw9k= z&f7k|V5bz^%{fI0Vn?Da$Dprx6t`TFM;)3$c$R{weNI6kNQha2GQovDPZ&MH8 zN9oBx`p#j>0KmcP?Z=WANs@`^Eq!-!e+tbG(*sb|okz77aQ#i)re;)K@=HUpKF8viFY)*!B@P4@gN+$4CSBk+Q<`V6%gZnx9nUUGfL%0AvU=KMciI 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ⅆ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ÿ-3h&D>6eyH z6)~HP;JXOM{q~P%o&kmC3tWI~XXK|=0352%h+GoR7FOqvbFqGbDD$?%N0NOIE(d2T zDy?lD$n%RnWHFJpqHe9t<+-k6JAx=)mMZgll5;=Xy+&L4s=+$PLr>Pl>u%a*li%fq zZUS6lN5X z^+J+p1#Z^5H@bU)@lK`rQ*qXQLCaQ+*bR@fHukY7=4yq%JBrx}!=-Gu+uC303@65R zcQPrKTCQWo3}0;=yY0aXQIx!gG>|p;O&!{R(`j zsR@UgGIlFfsgGlH){9?BpDl1KyPXaRNZzTE_>4d_`*O2|g}$TPUMkBZCT31hDp{4XU9pM5@ zj~lhadE<|+N<%4R&wMfSaUjvPo1yBSJt`?BGf@d>f6KBZ|r z7SK}sl{2&omodUCf&|TPcHR8VEu&(L&q%qrHBAN-JmsKsj<+hVP@b@X!0WyVZ=)nj zF?>0CP;0xPGOim1>F7;ec63`joHEfKNotjk?{$Km(jBtpP3?jNp3e@8tstfkfWOi7 zvU+&PKM)`Ua^Wf>r9&H-q%@MDn)5An7N4iBZRcaI*A)b?|51|DLK4M*gKEP(P z+2AuN_)z;8$F^4{jctx{SYE>>(sQLL-fP)Lvgyp85G+I1N9^^9)465gVpOD5j8P0N zabSS>qCFPELB6kJDp5dBS}j%LOPm5cSim&SY1XwbSBh^evsd7)_LShng}NeHOV$O; z!eT;W7l+9Bq+iZ5Dek}kuWYlN7U4c315Fc0lOg(u(#$WLZ#VhehJf_Q#o|Cc`w>K0 zx$&t#nJMc|(zsEHL5#8$G@UYp8%j3^nen8aUvptw*(XTJhP;i!)#ofXHCg4K8Pl*I zROJx^_L97Y4sY!~HEM}6b!*)NigPxfa0`C3rpMOOP2cb25G^Q zcjX&yDU^$KFdlG9^&r<*7VHlBcC2-?ESZKgnz4a%%&mQ!&s>xtMdS&W=j!);tIL1= z#=+$Citw3`oB*(I7m$lcA@AgO{T!d~nFINu3p%Y^;(GU@jCAwL%pg^%;$JFE?5qvd zP*^P->kN?+IsTl#zvfRZHXeM62)zG|h65 z)qeEXcJo2S-+dtzX;&D7FgRMT$A?vm?ah9f7NAFDG6lGdM5Cs670)i(5Xz~NYUo*Qj1oVs33T- zUDc^i&O-j$p%7nW`Nk63c7Ek>`4g%LhqIFrR)k2|j(PGHmO)4KN@>Yv){0slM zlxv+v&nb2&>E+`YyA8?QCEruQi))G&*$H^DS-d@{frv*)KUl+It^e763orwjUbvXF zWobS=JsW@UCj8FHvOc-$_jWEpUupRhwYl~jU#98Djtj@KWAeM%!PIZZB6z23>?739 zjW-cg+N~$BLVONCdWe)tJFC6>U%UIRr=PANG=0-olOeqal7#QxAGX$DOL;{0l8L2` zn!_t=77n)eljQug`hVOVZCF$8dNs!;cpUu&FmqnwMLPh#YG!4B3*M2y%T;evEv?OG zR;G6$(ihk{m#6>1>M(NhF85J_dbcprA6|VnN{IN7dggDiELbCN$q%rp%0AGt*iQ4K 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 + + + + Lucide + + + + + + + + + + + + + + + + + +

+ +

Lucide1.0.0

+
+ +
+

+ + GitHub · + + Feedback · + + Font Class · + + Unicode + +

+
+
+
    + +
  • + +

    icon-a-arrow-down

    +
  • + +
  • + +

    icon-a-arrow-up

    +
  • + +
  • + +

    icon-a-large-small

    +
  • + +
  • + +

    icon-accessibility

    +
  • + +
  • + +

    icon-activity

    +
  • + +
  • + +

    icon-air-vent

    +
  • + +
  • + +

    icon-airplay

    +
  • + +
  • + +

    icon-alarm-clock-check

    +
  • + +
  • + +

    icon-alarm-clock-minus

    +
  • + +
  • + +

    icon-alarm-clock-off

    +
  • + +
  • + +

    icon-alarm-clock-plus

    +
  • + +
  • + +

    icon-alarm-clock

    +
  • + +
  • + +

    icon-alarm-smoke

    +
  • + +
  • + +

    icon-album

    +
  • + +
  • + +

    icon-align-center-horizontal

    +
  • + +
  • + +

    icon-align-center-vertical

    +
  • + +
  • + +

    icon-align-center

    +
  • + +
  • + +

    icon-align-end-horizontal

    +
  • + +
  • + +

    icon-align-end-vertical

    +
  • + +
  • + +

    icon-align-horizontal-distribute-center

    +
  • + +
  • + +

    icon-align-horizontal-distribute-end

    +
  • + +
  • + +

    icon-align-horizontal-distribute-start

    +
  • + +
  • + +

    icon-align-horizontal-justify-center

    +
  • + +
  • + +

    icon-align-horizontal-justify-end

    +
  • + +
  • + +

    icon-align-horizontal-justify-start

    +
  • + +
  • + +

    icon-align-horizontal-space-around

    +
  • + +
  • + +

    icon-align-horizontal-space-between

    +
  • + +
  • + +

    icon-align-justify

    +
  • + +
  • + +

    icon-align-left

    +
  • + +
  • + +

    icon-align-right

    +
  • + +
  • + +

    icon-align-start-horizontal

    +
  • + +
  • + +

    icon-align-start-vertical

    +
  • + +
  • + +

    icon-align-vertical-distribute-center

    +
  • + +
  • + +

    icon-align-vertical-distribute-end

    +
  • + +
  • + +

    icon-align-vertical-distribute-start

    +
  • + +
  • + +

    icon-align-vertical-justify-center

    +
  • + +
  • + +

    icon-align-vertical-justify-end

    +
  • + +
  • + +

    icon-align-vertical-justify-start

    +
  • + +
  • + +

    icon-align-vertical-space-around

    +
  • + +
  • + +

    icon-align-vertical-space-between

    +
  • + +
  • + +

    icon-ambulance

    +
  • + +
  • + +

    icon-ampersand

    +
  • + +
  • + +

    icon-ampersands

    +
  • + +
  • + +

    icon-amphora

    +
  • + +
  • + +

    icon-anchor

    +
  • + +
  • + +

    icon-angry

    +
  • + +
  • + +

    icon-annoyed

    +
  • + +
  • + +

    icon-antenna

    +
  • + +
  • + +

    icon-anvil

    +
  • + +
  • + +

    icon-aperture

    +
  • + +
  • + +

    icon-app-window-mac

    +
  • + +
  • + +

    icon-app-window

    +
  • + +
  • + +

    icon-apple

    +
  • + +
  • + +

    icon-archive-restore

    +
  • + +
  • + +

    icon-archive-x

    +
  • + +
  • + +

    icon-archive

    +
  • + +
  • + +

    icon-armchair

    +
  • + +
  • + +

    icon-arrow-big-down-dash

    +
  • + +
  • + +

    icon-arrow-big-down

    +
  • + +
  • + +

    icon-arrow-big-left-dash

    +
  • + +
  • + +

    icon-arrow-big-left

    +
  • + +
  • + +

    icon-arrow-big-right-dash

    +
  • + +
  • + +

    icon-arrow-big-right

    +
  • + +
  • + +

    icon-arrow-big-up-dash

    +
  • + +
  • + +

    icon-arrow-big-up

    +
  • + +
  • + +

    icon-arrow-down-0-1

    +
  • + +
  • + +

    icon-arrow-down-1-0

    +
  • + +
  • + +

    icon-arrow-down-a-z

    +
  • + +
  • + +

    icon-arrow-down-from-line

    +
  • + +
  • + +

    icon-arrow-down-left

    +
  • + +
  • + +

    icon-arrow-down-narrow-wide

    +
  • + +
  • + +

    icon-arrow-down-right

    +
  • + +
  • + +

    icon-arrow-down-to-dot

    +
  • + +
  • + +

    icon-arrow-down-to-line

    +
  • + +
  • + +

    icon-arrow-down-up

    +
  • + +
  • + +

    icon-arrow-down-wide-narrow

    +
  • + +
  • + +

    icon-arrow-down-z-a

    +
  • + +
  • + +

    icon-arrow-down

    +
  • + +
  • + +

    icon-arrow-left-from-line

    +
  • + +
  • + +

    icon-arrow-left-right

    +
  • + +
  • + +

    icon-arrow-left-to-line

    +
  • + +
  • + +

    icon-arrow-left

    +
  • + +
  • + +

    icon-arrow-right-from-line

    +
  • + +
  • + +

    icon-arrow-right-left

    +
  • + +
  • + +

    icon-arrow-right-to-line

    +
  • + +
  • + +

    icon-arrow-right

    +
  • + +
  • + +

    icon-arrow-up-0-1

    +
  • + +
  • + +

    icon-arrow-up-1-0

    +
  • + +
  • + +

    icon-arrow-up-a-z

    +
  • + +
  • + +

    icon-arrow-up-down

    +
  • + +
  • + +

    icon-arrow-up-from-dot

    +
  • + +
  • + +

    icon-arrow-up-from-line

    +
  • + +
  • + +

    icon-arrow-up-left

    +
  • + +
  • + +

    icon-arrow-up-narrow-wide

    +
  • + +
  • + +

    icon-arrow-up-right

    +
  • + +
  • + +

    icon-arrow-up-to-line

    +
  • + +
  • + +

    icon-arrow-up-wide-narrow

    +
  • + +
  • + +

    icon-arrow-up-z-a

    +
  • + +
  • + +

    icon-arrow-up

    +
  • + +
  • + +

    icon-arrows-up-from-line

    +
  • + +
  • + +

    icon-asterisk

    +
  • + +
  • + +

    icon-at-sign

    +
  • + +
  • + +

    icon-atom

    +
  • + +
  • + +

    icon-audio-lines

    +
  • + +
  • + +

    icon-audio-waveform

    +
  • + +
  • + +

    icon-award

    +
  • + +
  • + +

    icon-axe

    +
  • + +
  • + +

    icon-axis-3d

    +
  • + +
  • + +

    icon-baby

    +
  • + +
  • + +

    icon-backpack

    +
  • + +
  • + +

    icon-badge-alert

    +
  • + +
  • + +

    icon-badge-cent

    +
  • + +
  • + +

    icon-badge-check

    +
  • + +
  • + +

    icon-badge-dollar-sign

    +
  • + +
  • + +

    icon-badge-euro

    +
  • + +
  • + +

    icon-badge-help

    +
  • + +
  • + +

    icon-badge-indian-rupee

    +
  • + +
  • + +

    icon-badge-info

    +
  • + +
  • + +

    icon-badge-japanese-yen

    +
  • + +
  • + +

    icon-badge-minus

    +
  • + +
  • + +

    icon-badge-percent

    +
  • + +
  • + +

    icon-badge-plus

    +
  • + +
  • + +

    icon-badge-pound-sterling

    +
  • + +
  • + +

    icon-badge-russian-ruble

    +
  • + +
  • + +

    icon-badge-swiss-franc

    +
  • + +
  • + +

    icon-badge-x

    +
  • + +
  • + +

    icon-badge

    +
  • + +
  • + +

    icon-baggage-claim

    +
  • + +
  • + +

    icon-ban

    +
  • + +
  • + +

    icon-banana

    +
  • + +
  • + +

    icon-bandage

    +
  • + +
  • + +

    icon-banknote

    +
  • + +
  • + +

    icon-barcode

    +
  • + +
  • + +

    icon-baseline

    +
  • + +
  • + +

    icon-bath

    +
  • + +
  • + +

    icon-battery-charging

    +
  • + +
  • + +

    icon-battery-full

    +
  • + +
  • + +

    icon-battery-low

    +
  • + +
  • + +

    icon-battery-medium

    +
  • + +
  • + +

    icon-battery-plus

    +
  • + +
  • + +

    icon-battery-warning

    +
  • + +
  • + +

    icon-battery

    +
  • + +
  • + +

    icon-beaker

    +
  • + +
  • + +

    icon-bean-off

    +
  • + +
  • + +

    icon-bean

    +
  • + +
  • + +

    icon-bed-double

    +
  • + +
  • + +

    icon-bed-single

    +
  • + +
  • + +

    icon-bed

    +
  • + +
  • + +

    icon-beef

    +
  • + +
  • + +

    icon-beer-off

    +
  • + +
  • + +

    icon-beer

    +
  • + +
  • + +

    icon-bell-dot

    +
  • + +
  • + +

    icon-bell-electric

    +
  • + +
  • + +

    icon-bell-minus

    +
  • + +
  • + +

    icon-bell-off

    +
  • + +
  • + +

    icon-bell-plus

    +
  • + +
  • + +

    icon-bell-ring

    +
  • + +
  • + +

    icon-bell

    +
  • + +
  • + +

    icon-between-horizontal-end

    +
  • + +
  • + +

    icon-between-horizontal-start

    +
  • + +
  • + +

    icon-between-vertical-end

    +
  • + +
  • + +

    icon-between-vertical-start

    +
  • + +
  • + +

    icon-biceps-flexed

    +
  • + +
  • + +

    icon-bike

    +
  • + +
  • + +

    icon-binary

    +
  • + +
  • + +

    icon-binoculars

    +
  • + +
  • + +

    icon-biohazard

    +
  • + +
  • + +

    icon-bird

    +
  • + +
  • + +

    icon-bitcoin

    +
  • + +
  • + +

    icon-blend

    +
  • + +
  • + +

    icon-blinds

    +
  • + +
  • + +

    icon-blocks

    +
  • + +
  • + +

    icon-bluetooth-connected

    +
  • + +
  • + +

    icon-bluetooth-off

    +
  • + +
  • + +

    icon-bluetooth-searching

    +
  • + +
  • + +

    icon-bluetooth

    +
  • + +
  • + +

    icon-bold

    +
  • + +
  • + +

    icon-bolt

    +
  • + +
  • + +

    icon-bomb

    +
  • + +
  • + +

    icon-bone

    +
  • + +
  • + +

    icon-book-a

    +
  • + +
  • + +

    icon-book-audio

    +
  • + +
  • + +

    icon-book-check

    +
  • + +
  • + +

    icon-book-copy

    +
  • + +
  • + +

    icon-book-dashed

    +
  • + +
  • + +

    icon-book-down

    +
  • + +
  • + +

    icon-book-headphones

    +
  • + +
  • + +

    icon-book-heart

    +
  • + +
  • + +

    icon-book-image

    +
  • + +
  • + +

    icon-book-key

    +
  • + +
  • + +

    icon-book-lock

    +
  • + +
  • + +

    icon-book-marked

    +
  • + +
  • + +

    icon-book-minus

    +
  • + +
  • + +

    icon-book-open-check

    +
  • + +
  • + +

    icon-book-open-text

    +
  • + +
  • + +

    icon-book-open

    +
  • + +
  • + +

    icon-book-plus

    +
  • + +
  • + +

    icon-book-text

    +
  • + +
  • + +

    icon-book-type

    +
  • + +
  • + +

    icon-book-up-2

    +
  • + +
  • + +

    icon-book-up

    +
  • + +
  • + +

    icon-book-user

    +
  • + +
  • + +

    icon-book-x

    +
  • + +
  • + +

    icon-book

    +
  • + +
  • + +

    icon-bookmark-check

    +
  • + +
  • + +

    icon-bookmark-minus

    +
  • + +
  • + +

    icon-bookmark-plus

    +
  • + +
  • + +

    icon-bookmark-x

    +
  • + +
  • + +

    icon-bookmark

    +
  • + +
  • + +

    icon-boom-box

    +
  • + +
  • + +

    icon-bot-message-square

    +
  • + +
  • + +

    icon-bot-off

    +
  • + +
  • + +

    icon-bot

    +
  • + +
  • + +

    icon-box

    +
  • + +
  • + +

    icon-boxes

    +
  • + +
  • + +

    icon-braces

    +
  • + +
  • + +

    icon-brackets

    +
  • + +
  • + +

    icon-brain-circuit

    +
  • + +
  • + +

    icon-brain-cog

    +
  • + +
  • + +

    icon-brain

    +
  • + +
  • + +

    icon-brick-wall

    +
  • + +
  • + +

    icon-briefcase-business

    +
  • + +
  • + +

    icon-briefcase-conveyor-belt

    +
  • + +
  • + +

    icon-briefcase-medical

    +
  • + +
  • + +

    icon-briefcase

    +
  • + +
  • + +

    icon-bring-to-front

    +
  • + +
  • + +

    icon-brush

    +
  • + +
  • + +

    icon-bug-off

    +
  • + +
  • + +

    icon-bug-play

    +
  • + +
  • + +

    icon-bug

    +
  • + +
  • + +

    icon-building-2

    +
  • + +
  • + +

    icon-building

    +
  • + +
  • + +

    icon-bus-front

    +
  • + +
  • + +

    icon-bus

    +
  • + +
  • + +

    icon-cable-car

    +
  • + +
  • + +

    icon-cable

    +
  • + +
  • + +

    icon-cake-slice

    +
  • + +
  • + +

    icon-cake

    +
  • + +
  • + +

    icon-calculator

    +
  • + +
  • + +

    icon-calendar-1

    +
  • + +
  • + +

    icon-calendar-arrow-down

    +
  • + +
  • + +

    icon-calendar-arrow-up

    +
  • + +
  • + +

    icon-calendar-check-2

    +
  • + +
  • + +

    icon-calendar-check

    +
  • + +
  • + +

    icon-calendar-clock

    +
  • + +
  • + +

    icon-calendar-cog

    +
  • + +
  • + +

    icon-calendar-days

    +
  • + +
  • + +

    icon-calendar-fold

    +
  • + +
  • + +

    icon-calendar-heart

    +
  • + +
  • + +

    icon-calendar-minus-2

    +
  • + +
  • + +

    icon-calendar-minus

    +
  • + +
  • + +

    icon-calendar-off

    +
  • + +
  • + +

    icon-calendar-plus-2

    +
  • + +
  • + +

    icon-calendar-plus

    +
  • + +
  • + +

    icon-calendar-range

    +
  • + +
  • + +

    icon-calendar-search

    +
  • + +
  • + +

    icon-calendar-sync

    +
  • + +
  • + +

    icon-calendar-x-2

    +
  • + +
  • + +

    icon-calendar-x

    +
  • + +
  • + +

    icon-calendar

    +
  • + +
  • + +

    icon-camera-off

    +
  • + +
  • + +

    icon-camera

    +
  • + +
  • + +

    icon-candy-cane

    +
  • + +
  • + +

    icon-candy-off

    +
  • + +
  • + +

    icon-candy

    +
  • + +
  • + +

    icon-cannabis

    +
  • + +
  • + +

    icon-captions-off

    +
  • + +
  • + +

    icon-captions

    +
  • + +
  • + +

    icon-car-front

    +
  • + +
  • + +

    icon-car-taxi-front

    +
  • + +
  • + +

    icon-car

    +
  • + +
  • + +

    icon-caravan

    +
  • + +
  • + +

    icon-carrot

    +
  • + +
  • + +

    icon-case-lower

    +
  • + +
  • + +

    icon-case-sensitive

    +
  • + +
  • + +

    icon-case-upper

    +
  • + +
  • + +

    icon-cassette-tape

    +
  • + +
  • + +

    icon-cast

    +
  • + +
  • + +

    icon-castle

    +
  • + +
  • + +

    icon-cat

    +
  • + +
  • + +

    icon-cctv

    +
  • + +
  • + +

    icon-chart-area

    +
  • + +
  • + +

    icon-chart-bar-big

    +
  • + +
  • + +

    icon-chart-bar-decreasing

    +
  • + +
  • + +

    icon-chart-bar-increasing

    +
  • + +
  • + +

    icon-chart-bar-stacked

    +
  • + +
  • + +

    icon-chart-bar

    +
  • + +
  • + +

    icon-chart-candlestick

    +
  • + +
  • + +

    icon-chart-column-big

    +
  • + +
  • + +

    icon-chart-column-decreasing

    +
  • + +
  • + +

    icon-chart-column-increasing

    +
  • + +
  • + +

    icon-chart-column-stacked

    +
  • + +
  • + +

    icon-chart-column

    +
  • + +
  • + +

    icon-chart-gantt

    +
  • + +
  • + +

    icon-chart-line

    +
  • + +
  • + +

    icon-chart-network

    +
  • + +
  • + +

    icon-chart-no-axes-column-decreasing

    +
  • + +
  • + +

    icon-chart-no-axes-column-increasing

    +
  • + +
  • + +

    icon-chart-no-axes-column

    +
  • + +
  • + +

    icon-chart-no-axes-combined

    +
  • + +
  • + +

    icon-chart-no-axes-gantt

    +
  • + +
  • + +

    icon-chart-pie

    +
  • + +
  • + +

    icon-chart-scatter

    +
  • + +
  • + +

    icon-chart-spline

    +
  • + +
  • + +

    icon-check-check

    +
  • + +
  • + +

    icon-check

    +
  • + +
  • + +

    icon-chef-hat

    +
  • + +
  • + +

    icon-cherry

    +
  • + +
  • + +

    icon-chevron-down

    +
  • + +
  • + +

    icon-chevron-first

    +
  • + +
  • + +

    icon-chevron-last

    +
  • + +
  • + +

    icon-chevron-left

    +
  • + +
  • + +

    icon-chevron-right

    +
  • + +
  • + +

    icon-chevron-up

    +
  • + +
  • + +

    icon-chevrons-down-up

    +
  • + +
  • + +

    icon-chevrons-down

    +
  • + +
  • + +

    icon-chevrons-left-right-ellipsis

    +
  • + +
  • + +

    icon-chevrons-left-right

    +
  • + +
  • + +

    icon-chevrons-left

    +
  • + +
  • + +

    icon-chevrons-right-left

    +
  • + +
  • + +

    icon-chevrons-right

    +
  • + +
  • + +

    icon-chevrons-up-down

    +
  • + +
  • + +

    icon-chevrons-up

    +
  • + +
  • + +

    icon-chrome

    +
  • + +
  • + +

    icon-church

    +
  • + +
  • + +

    icon-cigarette-off

    +
  • + +
  • + +

    icon-cigarette

    +
  • + +
  • + +

    icon-circle-alert

    +
  • + +
  • + +

    icon-circle-arrow-down

    +
  • + +
  • + +

    icon-circle-arrow-left

    +
  • + +
  • + +

    icon-circle-arrow-out-down-left

    +
  • + +
  • + +

    icon-circle-arrow-out-down-right

    +
  • + +
  • + +

    icon-circle-arrow-out-up-left

    +
  • + +
  • + +

    icon-circle-arrow-out-up-right

    +
  • + +
  • + +

    icon-circle-arrow-right

    +
  • + +
  • + +

    icon-circle-arrow-up

    +
  • + +
  • + +

    icon-circle-check-big

    +
  • + +
  • + +

    icon-circle-check

    +
  • + +
  • + +

    icon-circle-chevron-down

    +
  • + +
  • + +

    icon-circle-chevron-left

    +
  • + +
  • + +

    icon-circle-chevron-right

    +
  • + +
  • + +

    icon-circle-chevron-up

    +
  • + +
  • + +

    icon-circle-dashed

    +
  • + +
  • + +

    icon-circle-divide

    +
  • + +
  • + +

    icon-circle-dollar-sign

    +
  • + +
  • + +

    icon-circle-dot-dashed

    +
  • + +
  • + +

    icon-circle-dot

    +
  • + +
  • + +

    icon-circle-ellipsis

    +
  • + +
  • + +

    icon-circle-equal

    +
  • + +
  • + +

    icon-circle-fading-arrow-up

    +
  • + +
  • + +

    icon-circle-fading-plus

    +
  • + +
  • + +

    icon-circle-gauge

    +
  • + +
  • + +

    icon-circle-help

    +
  • + +
  • + +

    icon-circle-minus

    +
  • + +
  • + +

    icon-circle-off

    +
  • + +
  • + +

    icon-circle-parking-off

    +
  • + +
  • + +

    icon-circle-parking

    +
  • + +
  • + +

    icon-circle-pause

    +
  • + +
  • + +

    icon-circle-percent

    +
  • + +
  • + +

    icon-circle-play

    +
  • + +
  • + +

    icon-circle-plus

    +
  • + +
  • + +

    icon-circle-power

    +
  • + +
  • + +

    icon-circle-slash-2

    +
  • + +
  • + +

    icon-circle-slash

    +
  • + +
  • + +

    icon-circle-small

    +
  • + +
  • + +

    icon-circle-stop

    +
  • + +
  • + +

    icon-circle-user-round

    +
  • + +
  • + +

    icon-circle-user

    +
  • + +
  • + +

    icon-circle-x

    +
  • + +
  • + +

    icon-circle

    +
  • + +
  • + +

    icon-circuit-board

    +
  • + +
  • + +

    icon-citrus

    +
  • + +
  • + +

    icon-clapperboard

    +
  • + +
  • + +

    icon-clipboard-check

    +
  • + +
  • + +

    icon-clipboard-copy

    +
  • + +
  • + +

    icon-clipboard-list

    +
  • + +
  • + +

    icon-clipboard-minus

    +
  • + +
  • + +

    icon-clipboard-paste

    +
  • + +
  • + +

    icon-clipboard-pen-line

    +
  • + +
  • + +

    icon-clipboard-pen

    +
  • + +
  • + +

    icon-clipboard-plus

    +
  • + +
  • + +

    icon-clipboard-type

    +
  • + +
  • + +

    icon-clipboard-x

    +
  • + +
  • + +

    icon-clipboard

    +
  • + +
  • + +

    icon-clock-1

    +
  • + +
  • + +

    icon-clock-10

    +
  • + +
  • + +

    icon-clock-11

    +
  • + +
  • + +

    icon-clock-12

    +
  • + +
  • + +

    icon-clock-2

    +
  • + +
  • + +

    icon-clock-3

    +
  • + +
  • + +

    icon-clock-4

    +
  • + +
  • + +

    icon-clock-5

    +
  • + +
  • + +

    icon-clock-6

    +
  • + +
  • + +

    icon-clock-7

    +
  • + +
  • + +

    icon-clock-8

    +
  • + +
  • + +

    icon-clock-9

    +
  • + +
  • + +

    icon-clock-alert

    +
  • + +
  • + +

    icon-clock-arrow-down

    +
  • + +
  • + +

    icon-clock-arrow-up

    +
  • + +
  • + +

    icon-clock

    +
  • + +
  • + +

    icon-cloud-alert

    +
  • + +
  • + +

    icon-cloud-cog

    +
  • + +
  • + +

    icon-cloud-download

    +
  • + +
  • + +

    icon-cloud-drizzle

    +
  • + +
  • + +

    icon-cloud-fog

    +
  • + +
  • + +

    icon-cloud-hail

    +
  • + +
  • + +

    icon-cloud-lightning

    +
  • + +
  • + +

    icon-cloud-moon-rain

    +
  • + +
  • + +

    icon-cloud-moon

    +
  • + +
  • + +

    icon-cloud-off

    +
  • + +
  • + +

    icon-cloud-rain-wind

    +
  • + +
  • + +

    icon-cloud-rain

    +
  • + +
  • + +

    icon-cloud-snow

    +
  • + +
  • + +

    icon-cloud-sun-rain

    +
  • + +
  • + +

    icon-cloud-sun

    +
  • + +
  • + +

    icon-cloud-upload

    +
  • + +
  • + +

    icon-cloud

    +
  • + +
  • + +

    icon-cloudy

    +
  • + +
  • + +

    icon-clover

    +
  • + +
  • + +

    icon-club

    +
  • + +
  • + +

    icon-code-xml

    +
  • + +
  • + +

    icon-code

    +
  • + +
  • + +

    icon-codepen

    +
  • + +
  • + +

    icon-codesandbox

    +
  • + +
  • + +

    icon-coffee

    +
  • + +
  • + +

    icon-cog

    +
  • + +
  • + +

    icon-coins

    +
  • + +
  • + +

    icon-columns-2

    +
  • + +
  • + +

    icon-columns-3

    +
  • + +
  • + +

    icon-columns-4

    +
  • + +
  • + +

    icon-combine

    +
  • + +
  • + +

    icon-command

    +
  • + +
  • + +

    icon-compass

    +
  • + +
  • + +

    icon-component

    +
  • + +
  • + +

    icon-computer

    +
  • + +
  • + +

    icon-concierge-bell

    +
  • + +
  • + +

    icon-cone

    +
  • + +
  • + +

    icon-construction

    +
  • + +
  • + +

    icon-contact-round

    +
  • + +
  • + +

    icon-contact

    +
  • + +
  • + +

    icon-container

    +
  • + +
  • + +

    icon-contrast

    +
  • + +
  • + +

    icon-cookie

    +
  • + +
  • + +

    icon-cooking-pot

    +
  • + +
  • + +

    icon-copy-check

    +
  • + +
  • + +

    icon-copy-minus

    +
  • + +
  • + +

    icon-copy-plus

    +
  • + +
  • + +

    icon-copy-slash

    +
  • + +
  • + +

    icon-copy-x

    +
  • + +
  • + +

    icon-copy

    +
  • + +
  • + +

    icon-copyleft

    +
  • + +
  • + +

    icon-copyright

    +
  • + +
  • + +

    icon-corner-down-left

    +
  • + +
  • + +

    icon-corner-down-right

    +
  • + +
  • + +

    icon-corner-left-down

    +
  • + +
  • + +

    icon-corner-left-up

    +
  • + +
  • + +

    icon-corner-right-down

    +
  • + +
  • + +

    icon-corner-right-up

    +
  • + +
  • + +

    icon-corner-up-left

    +
  • + +
  • + +

    icon-corner-up-right

    +
  • + +
  • + +

    icon-cpu

    +
  • + +
  • + +

    icon-creative-commons

    +
  • + +
  • + +

    icon-credit-card

    +
  • + +
  • + +

    icon-croissant

    +
  • + +
  • + +

    icon-crop

    +
  • + +
  • + +

    icon-cross

    +
  • + +
  • + +

    icon-crosshair

    +
  • + +
  • + +

    icon-crown

    +
  • + +
  • + +

    icon-cuboid

    +
  • + +
  • + +

    icon-cup-soda

    +
  • + +
  • + +

    icon-currency

    +
  • + +
  • + +

    icon-cylinder

    +
  • + +
  • + +

    icon-dam

    +
  • + +
  • + +

    icon-database-backup

    +
  • + +
  • + +

    icon-database-zap

    +
  • + +
  • + +

    icon-database

    +
  • + +
  • + +

    icon-delete

    +
  • + +
  • + +

    icon-dessert

    +
  • + +
  • + +

    icon-diameter

    +
  • + +
  • + +

    icon-diamond-minus

    +
  • + +
  • + +

    icon-diamond-percent

    +
  • + +
  • + +

    icon-diamond-plus

    +
  • + +
  • + +

    icon-diamond

    +
  • + +
  • + +

    icon-dice-1

    +
  • + +
  • + +

    icon-dice-2

    +
  • + +
  • + +

    icon-dice-3

    +
  • + +
  • + +

    icon-dice-4

    +
  • + +
  • + +

    icon-dice-5

    +
  • + +
  • + +

    icon-dice-6

    +
  • + +
  • + +

    icon-dices

    +
  • + +
  • + +

    icon-diff

    +
  • + +
  • + +

    icon-disc-2

    +
  • + +
  • + +

    icon-disc-3

    +
  • + +
  • + +

    icon-disc-album

    +
  • + +
  • + +

    icon-disc

    +
  • + +
  • + +

    icon-divide

    +
  • + +
  • + +

    icon-dna-off

    +
  • + +
  • + +

    icon-dna

    +
  • + +
  • + +

    icon-dock

    +
  • + +
  • + +

    icon-dog

    +
  • + +
  • + +

    icon-dollar-sign

    +
  • + +
  • + +

    icon-donut

    +
  • + +
  • + +

    icon-door-closed

    +
  • + +
  • + +

    icon-door-open

    +
  • + +
  • + +

    icon-dot

    +
  • + +
  • + +

    icon-download

    +
  • + +
  • + +

    icon-drafting-compass

    +
  • + +
  • + +

    icon-drama

    +
  • + +
  • + +

    icon-dribbble

    +
  • + +
  • + +

    icon-drill

    +
  • + +
  • + +

    icon-droplet-off

    +
  • + +
  • + +

    icon-droplet

    +
  • + +
  • + +

    icon-droplets

    +
  • + +
  • + +

    icon-drum

    +
  • + +
  • + +

    icon-drumstick

    +
  • + +
  • + +

    icon-dumbbell

    +
  • + +
  • + +

    icon-ear-off

    +
  • + +
  • + +

    icon-ear

    +
  • + +
  • + +

    icon-earth-lock

    +
  • + +
  • + +

    icon-earth

    +
  • + +
  • + +

    icon-eclipse

    +
  • + +
  • + +

    icon-egg-fried

    +
  • + +
  • + +

    icon-egg-off

    +
  • + +
  • + +

    icon-egg

    +
  • + +
  • + +

    icon-ellipsis-vertical

    +
  • + +
  • + +

    icon-ellipsis

    +
  • + +
  • + +

    icon-equal-approximately

    +
  • + +
  • + +

    icon-equal-not

    +
  • + +
  • + +

    icon-equal

    +
  • + +
  • + +

    icon-eraser

    +
  • + +
  • + +

    icon-ethernet-port

    +
  • + +
  • + +

    icon-euro

    +
  • + +
  • + +

    icon-expand

    +
  • + +
  • + +

    icon-external-link

    +
  • + +
  • + +

    icon-eye-closed

    +
  • + +
  • + +

    icon-eye-off

    +
  • + +
  • + +

    icon-eye

    +
  • + +
  • + +

    icon-facebook

    +
  • + +
  • + +

    icon-factory

    +
  • + +
  • + +

    icon-fan

    +
  • + +
  • + +

    icon-fast-forward

    +
  • + +
  • + +

    icon-feather

    +
  • + +
  • + +

    icon-fence

    +
  • + +
  • + +

    icon-ferris-wheel

    +
  • + +
  • + +

    icon-figma

    +
  • + +
  • + +

    icon-file-archive

    +
  • + +
  • + +

    icon-file-audio-2

    +
  • + +
  • + +

    icon-file-audio

    +
  • + +
  • + +

    icon-file-axis-3d

    +
  • + +
  • + +

    icon-file-badge-2

    +
  • + +
  • + +

    icon-file-badge

    +
  • + +
  • + +

    icon-file-box

    +
  • + +
  • + +

    icon-file-chart-column-increasing

    +
  • + +
  • + +

    icon-file-chart-column

    +
  • + +
  • + +

    icon-file-chart-line

    +
  • + +
  • + +

    icon-file-chart-pie

    +
  • + +
  • + +

    icon-file-check-2

    +
  • + +
  • + +

    icon-file-check

    +
  • + +
  • + +

    icon-file-clock

    +
  • + +
  • + +

    icon-file-code-2

    +
  • + +
  • + +

    icon-file-code

    +
  • + +
  • + +

    icon-file-cog

    +
  • + +
  • + +

    icon-file-diff

    +
  • + +
  • + +

    icon-file-digit

    +
  • + +
  • + +

    icon-file-down

    +
  • + +
  • + +

    icon-file-heart

    +
  • + +
  • + +

    icon-file-image

    +
  • + +
  • + +

    icon-file-input

    +
  • + +
  • + +

    icon-file-json-2

    +
  • + +
  • + +

    icon-file-json

    +
  • + +
  • + +

    icon-file-key-2

    +
  • + +
  • + +

    icon-file-key

    +
  • + +
  • + +

    icon-file-lock-2

    +
  • + +
  • + +

    icon-file-lock

    +
  • + +
  • + +

    icon-file-minus-2

    +
  • + +
  • + +

    icon-file-minus

    +
  • + +
  • + +

    icon-file-music

    +
  • + +
  • + +

    icon-file-output

    +
  • + +
  • + +

    icon-file-pen-line

    +
  • + +
  • + +

    icon-file-pen

    +
  • + +
  • + +

    icon-file-plus-2

    +
  • + +
  • + +

    icon-file-plus

    +
  • + +
  • + +

    icon-file-question

    +
  • + +
  • + +

    icon-file-scan

    +
  • + +
  • + +

    icon-file-search-2

    +
  • + +
  • + +

    icon-file-search

    +
  • + +
  • + +

    icon-file-sliders

    +
  • + +
  • + +

    icon-file-spreadsheet

    +
  • + +
  • + +

    icon-file-stack

    +
  • + +
  • + +

    icon-file-symlink

    +
  • + +
  • + +

    icon-file-terminal

    +
  • + +
  • + +

    icon-file-text

    +
  • + +
  • + +

    icon-file-type-2

    +
  • + +
  • + +

    icon-file-type

    +
  • + +
  • + +

    icon-file-up

    +
  • + +
  • + +

    icon-file-user

    +
  • + +
  • + +

    icon-file-video-2

    +
  • + +
  • + +

    icon-file-video

    +
  • + +
  • + +

    icon-file-volume-2

    +
  • + +
  • + +

    icon-file-volume

    +
  • + +
  • + +

    icon-file-warning

    +
  • + +
  • + +

    icon-file-x-2

    +
  • + +
  • + +

    icon-file-x

    +
  • + +
  • + +

    icon-file

    +
  • + +
  • + +

    icon-files

    +
  • + +
  • + +

    icon-film

    +
  • + +
  • + +

    icon-filter-x

    +
  • + +
  • + +

    icon-filter

    +
  • + +
  • + +

    icon-fingerprint

    +
  • + +
  • + +

    icon-fire-extinguisher

    +
  • + +
  • + +

    icon-fish-off

    +
  • + +
  • + +

    icon-fish-symbol

    +
  • + +
  • + +

    icon-fish

    +
  • + +
  • + +

    icon-flag-off

    +
  • + +
  • + +

    icon-flag-triangle-left

    +
  • + +
  • + +

    icon-flag-triangle-right

    +
  • + +
  • + +

    icon-flag

    +
  • + +
  • + +

    icon-flame-kindling

    +
  • + +
  • + +

    icon-flame

    +
  • + +
  • + +

    icon-flashlight-off

    +
  • + +
  • + +

    icon-flashlight

    +
  • + +
  • + +

    icon-flask-conical-off

    +
  • + +
  • + +

    icon-flask-conical

    +
  • + +
  • + +

    icon-flask-round

    +
  • + +
  • + +

    icon-flip-horizontal-2

    +
  • + +
  • + +

    icon-flip-horizontal

    +
  • + +
  • + +

    icon-flip-vertical-2

    +
  • + +
  • + +

    icon-flip-vertical

    +
  • + +
  • + +

    icon-flower-2

    +
  • + +
  • + +

    icon-flower

    +
  • + +
  • + +

    icon-focus

    +
  • + +
  • + +

    icon-fold-horizontal

    +
  • + +
  • + +

    icon-fold-vertical

    +
  • + +
  • + +

    icon-folder-archive

    +
  • + +
  • + +

    icon-folder-check

    +
  • + +
  • + +

    icon-folder-clock

    +
  • + +
  • + +

    icon-folder-closed

    +
  • + +
  • + +

    icon-folder-code

    +
  • + +
  • + +

    icon-folder-cog

    +
  • + +
  • + +

    icon-folder-dot

    +
  • + +
  • + +

    icon-folder-down

    +
  • + +
  • + +

    icon-folder-git-2

    +
  • + +
  • + +

    icon-folder-git

    +
  • + +
  • + +

    icon-folder-heart

    +
  • + +
  • + +

    icon-folder-input

    +
  • + +
  • + +

    icon-folder-kanban

    +
  • + +
  • + +

    icon-folder-key

    +
  • + +
  • + +

    icon-folder-lock

    +
  • + +
  • + +

    icon-folder-minus

    +
  • + +
  • + +

    icon-folder-open-dot

    +
  • + +
  • + +

    icon-folder-open

    +
  • + +
  • + +

    icon-folder-output

    +
  • + +
  • + +

    icon-folder-pen

    +
  • + +
  • + +

    icon-folder-plus

    +
  • + +
  • + +

    icon-folder-root

    +
  • + +
  • + +

    icon-folder-search-2

    +
  • + +
  • + +

    icon-folder-search

    +
  • + +
  • + +

    icon-folder-symlink

    +
  • + +
  • + +

    icon-folder-sync

    +
  • + +
  • + +

    icon-folder-tree

    +
  • + +
  • + +

    icon-folder-up

    +
  • + +
  • + +

    icon-folder-x

    +
  • + +
  • + +

    icon-folder

    +
  • + +
  • + +

    icon-folders

    +
  • + +
  • + +

    icon-footprints

    +
  • + +
  • + +

    icon-forklift

    +
  • + +
  • + +

    icon-forward

    +
  • + +
  • + +

    icon-frame

    +
  • + +
  • + +

    icon-framer

    +
  • + +
  • + +

    icon-frown

    +
  • + +
  • + +

    icon-fuel

    +
  • + +
  • + +

    icon-fullscreen

    +
  • + +
  • + +

    icon-gallery-horizontal-end

    +
  • + +
  • + +

    icon-gallery-horizontal

    +
  • + +
  • + +

    icon-gallery-thumbnails

    +
  • + +
  • + +

    icon-gallery-vertical-end

    +
  • + +
  • + +

    icon-gallery-vertical

    +
  • + +
  • + +

    icon-gamepad-2

    +
  • + +
  • + +

    icon-gamepad

    +
  • + +
  • + +

    icon-gauge

    +
  • + +
  • + +

    icon-gavel

    +
  • + +
  • + +

    icon-gem

    +
  • + +
  • + +

    icon-ghost

    +
  • + +
  • + +

    icon-gift

    +
  • + +
  • + +

    icon-git-branch-plus

    +
  • + +
  • + +

    icon-git-branch

    +
  • + +
  • + +

    icon-git-commit-horizontal

    +
  • + +
  • + +

    icon-git-commit-vertical

    +
  • + +
  • + +

    icon-git-compare-arrows

    +
  • + +
  • + +

    icon-git-compare

    +
  • + +
  • + +

    icon-git-fork

    +
  • + +
  • + +

    icon-git-graph

    +
  • + +
  • + +

    icon-git-merge

    +
  • + +
  • + +

    icon-git-pull-request-arrow

    +
  • + +
  • + +

    icon-git-pull-request-closed

    +
  • + +
  • + +

    icon-git-pull-request-create-arrow

    +
  • + +
  • + +

    icon-git-pull-request-create

    +
  • + +
  • + +

    icon-git-pull-request-draft

    +
  • + +
  • + +

    icon-git-pull-request

    +
  • + +
  • + +

    icon-github

    +
  • + +
  • + +

    icon-gitlab

    +
  • + +
  • + +

    icon-glass-water

    +
  • + +
  • + +

    icon-glasses

    +
  • + +
  • + +

    icon-globe-lock

    +
  • + +
  • + +

    icon-globe

    +
  • + +
  • + +

    icon-goal

    +
  • + +
  • + +

    icon-grab

    +
  • + +
  • + +

    icon-graduation-cap

    +
  • + +
  • + +

    icon-grape

    +
  • + +
  • + +

    icon-grid-2x2-check

    +
  • + +
  • + +

    icon-grid-2x2-plus

    +
  • + +
  • + +

    icon-grid-2x2-x

    +
  • + +
  • + +

    icon-grid-2x2

    +
  • + +
  • + +

    icon-grid-3x3

    +
  • + +
  • + +

    icon-grip-horizontal

    +
  • + +
  • + +

    icon-grip-vertical

    +
  • + +
  • + +

    icon-grip

    +
  • + +
  • + +

    icon-group

    +
  • + +
  • + +

    icon-guitar

    +
  • + +
  • + +

    icon-ham

    +
  • + +
  • + +

    icon-hammer

    +
  • + +
  • + +

    icon-hand-coins

    +
  • + +
  • + +

    icon-hand-heart

    +
  • + +
  • + +

    icon-hand-helping

    +
  • + +
  • + +

    icon-hand-metal

    +
  • + +
  • + +

    icon-hand-platter

    +
  • + +
  • + +

    icon-hand

    +
  • + +
  • + +

    icon-handshake

    +
  • + +
  • + +

    icon-hard-drive-download

    +
  • + +
  • + +

    icon-hard-drive-upload

    +
  • + +
  • + +

    icon-hard-drive

    +
  • + +
  • + +

    icon-hard-hat

    +
  • + +
  • + +

    icon-hash

    +
  • + +
  • + +

    icon-haze

    +
  • + +
  • + +

    icon-hdmi-port

    +
  • + +
  • + +

    icon-heading-1

    +
  • + +
  • + +

    icon-heading-2

    +
  • + +
  • + +

    icon-heading-3

    +
  • + +
  • + +

    icon-heading-4

    +
  • + +
  • + +

    icon-heading-5

    +
  • + +
  • + +

    icon-heading-6

    +
  • + +
  • + +

    icon-heading

    +
  • + +
  • + +

    icon-headphone-off

    +
  • + +
  • + +

    icon-headphones

    +
  • + +
  • + +

    icon-headset

    +
  • + +
  • + +

    icon-heart-crack

    +
  • + +
  • + +

    icon-heart-handshake

    +
  • + +
  • + +

    icon-heart-off

    +
  • + +
  • + +

    icon-heart-pulse

    +
  • + +
  • + +

    icon-heart

    +
  • + +
  • + +

    icon-heater

    +
  • + +
  • + +

    icon-hexagon

    +
  • + +
  • + +

    icon-highlighter

    +
  • + +
  • + +

    icon-history

    +
  • + +
  • + +

    icon-hop-off

    +
  • + +
  • + +

    icon-hop

    +
  • + +
  • + +

    icon-hospital

    +
  • + +
  • + +

    icon-hotel

    +
  • + +
  • + +

    icon-hourglass

    +
  • + +
  • + +

    icon-house-plug

    +
  • + +
  • + +

    icon-house-plus

    +
  • + +
  • + +

    icon-house-wifi

    +
  • + +
  • + +

    icon-house

    +
  • + +
  • + +

    icon-ice-cream-bowl

    +
  • + +
  • + +

    icon-ice-cream-cone

    +
  • + +
  • + +

    icon-id-card

    +
  • + +
  • + +

    icon-image-down

    +
  • + +
  • + +

    icon-image-minus

    +
  • + +
  • + +

    icon-image-off

    +
  • + +
  • + +

    icon-image-play

    +
  • + +
  • + +

    icon-image-plus

    +
  • + +
  • + +

    icon-image-up

    +
  • + +
  • + +

    icon-image-upscale

    +
  • + +
  • + +

    icon-image

    +
  • + +
  • + +

    icon-images

    +
  • + +
  • + +

    icon-import

    +
  • + +
  • + +

    icon-inbox

    +
  • + +
  • + +

    icon-indent-decrease

    +
  • + +
  • + +

    icon-indent-increase

    +
  • + +
  • + +

    icon-indian-rupee

    +
  • + +
  • + +

    icon-infinity

    +
  • + +
  • + +

    icon-info

    +
  • + +
  • + +

    icon-inspection-panel

    +
  • + +
  • + +

    icon-instagram

    +
  • + +
  • + +

    icon-italic

    +
  • + +
  • + +

    icon-iteration-ccw

    +
  • + +
  • + +

    icon-iteration-cw

    +
  • + +
  • + +

    icon-japanese-yen

    +
  • + +
  • + +

    icon-joystick

    +
  • + +
  • + +

    icon-kanban

    +
  • + +
  • + +

    icon-key-round

    +
  • + +
  • + +

    icon-key-square

    +
  • + +
  • + +

    icon-key

    +
  • + +
  • + +

    icon-keyboard-music

    +
  • + +
  • + +

    icon-keyboard-off

    +
  • + +
  • + +

    icon-keyboard

    +
  • + +
  • + +

    icon-lamp-ceiling

    +
  • + +
  • + +

    icon-lamp-desk

    +
  • + +
  • + +

    icon-lamp-floor

    +
  • + +
  • + +

    icon-lamp-wall-down

    +
  • + +
  • + +

    icon-lamp-wall-up

    +
  • + +
  • + +

    icon-lamp

    +
  • + +
  • + +

    icon-land-plot

    +
  • + +
  • + +

    icon-landmark

    +
  • + +
  • + +

    icon-languages

    +
  • + +
  • + +

    icon-laptop-minimal-check

    +
  • + +
  • + +

    icon-laptop-minimal

    +
  • + +
  • + +

    icon-laptop

    +
  • + +
  • + +

    icon-lasso-select

    +
  • + +
  • + +

    icon-lasso

    +
  • + +
  • + +

    icon-laugh

    +
  • + +
  • + +

    icon-layers-2

    +
  • + +
  • + +

    icon-layers

    +
  • + +
  • + +

    icon-layout-dashboard

    +
  • + +
  • + +

    icon-layout-grid

    +
  • + +
  • + +

    icon-layout-list

    +
  • + +
  • + +

    icon-layout-panel-left

    +
  • + +
  • + +

    icon-layout-panel-top

    +
  • + +
  • + +

    icon-layout-template

    +
  • + +
  • + +

    icon-leaf

    +
  • + +
  • + +

    icon-leafy-green

    +
  • + +
  • + +

    icon-lectern

    +
  • + +
  • + +

    icon-letter-text

    +
  • + +
  • + +

    icon-library-big

    +
  • + +
  • + +

    icon-library

    +
  • + +
  • + +

    icon-life-buoy

    +
  • + +
  • + +

    icon-ligature

    +
  • + +
  • + +

    icon-lightbulb-off

    +
  • + +
  • + +

    icon-lightbulb

    +
  • + +
  • + +

    icon-link-2-off

    +
  • + +
  • + +

    icon-link-2

    +
  • + +
  • + +

    icon-link

    +
  • + +
  • + +

    icon-linkedin

    +
  • + +
  • + +

    icon-list-check

    +
  • + +
  • + +

    icon-list-checks

    +
  • + +
  • + +

    icon-list-collapse

    +
  • + +
  • + +

    icon-list-end

    +
  • + +
  • + +

    icon-list-filter-plus

    +
  • + +
  • + +

    icon-list-filter

    +
  • + +
  • + +

    icon-list-minus

    +
  • + +
  • + +

    icon-list-music

    +
  • + +
  • + +

    icon-list-ordered

    +
  • + +
  • + +

    icon-list-plus

    +
  • + +
  • + +

    icon-list-restart

    +
  • + +
  • + +

    icon-list-start

    +
  • + +
  • + +

    icon-list-todo

    +
  • + +
  • + +

    icon-list-tree

    +
  • + +
  • + +

    icon-list-video

    +
  • + +
  • + +

    icon-list-x

    +
  • + +
  • + +

    icon-list

    +
  • + +
  • + +

    icon-loader-circle

    +
  • + +
  • + +

    icon-loader-pinwheel

    +
  • + +
  • + +

    icon-loader

    +
  • + +
  • + +

    icon-locate-fixed

    +
  • + +
  • + +

    icon-locate-off

    +
  • + +
  • + +

    icon-locate

    +
  • + +
  • + +

    icon-lock-keyhole-open

    +
  • + +
  • + +

    icon-lock-keyhole

    +
  • + +
  • + +

    icon-lock-open

    +
  • + +
  • + +

    icon-lock

    +
  • + +
  • + +

    icon-log-in

    +
  • + +
  • + +

    icon-log-out

    +
  • + +
  • + +

    icon-logs

    +
  • + +
  • + +

    icon-lollipop

    +
  • + +
  • + +

    icon-luggage

    +
  • + +
  • + +

    icon-magnet

    +
  • + +
  • + +

    icon-mail-check

    +
  • + +
  • + +

    icon-mail-minus

    +
  • + +
  • + +

    icon-mail-open

    +
  • + +
  • + +

    icon-mail-plus

    +
  • + +
  • + +

    icon-mail-question

    +
  • + +
  • + +

    icon-mail-search

    +
  • + +
  • + +

    icon-mail-warning

    +
  • + +
  • + +

    icon-mail-x

    +
  • + +
  • + +

    icon-mail

    +
  • + +
  • + +

    icon-mailbox

    +
  • + +
  • + +

    icon-mails

    +
  • + +
  • + +

    icon-map-pin-check-inside

    +
  • + +
  • + +

    icon-map-pin-check

    +
  • + +
  • + +

    icon-map-pin-house

    +
  • + +
  • + +

    icon-map-pin-minus-inside

    +
  • + +
  • + +

    icon-map-pin-minus

    +
  • + +
  • + +

    icon-map-pin-off

    +
  • + +
  • + +

    icon-map-pin-plus-inside

    +
  • + +
  • + +

    icon-map-pin-plus

    +
  • + +
  • + +

    icon-map-pin-x-inside

    +
  • + +
  • + +

    icon-map-pin-x

    +
  • + +
  • + +

    icon-map-pin

    +
  • + +
  • + +

    icon-map-pinned

    +
  • + +
  • + +

    icon-map-plus

    +
  • + +
  • + +

    icon-map

    +
  • + +
  • + +

    icon-mars-stroke

    +
  • + +
  • + +

    icon-mars

    +
  • + +
  • + +

    icon-martini

    +
  • + +
  • + +

    icon-maximize-2

    +
  • + +
  • + +

    icon-maximize

    +
  • + +
  • + +

    icon-medal

    +
  • + +
  • + +

    icon-megaphone-off

    +
  • + +
  • + +

    icon-megaphone

    +
  • + +
  • + +

    icon-meh

    +
  • + +
  • + +

    icon-memory-stick

    +
  • + +
  • + +

    icon-menu

    +
  • + +
  • + +

    icon-merge

    +
  • + +
  • + +

    icon-message-circle-code

    +
  • + +
  • + +

    icon-message-circle-dashed

    +
  • + +
  • + +

    icon-message-circle-heart

    +
  • + +
  • + +

    icon-message-circle-more

    +
  • + +
  • + +

    icon-message-circle-off

    +
  • + +
  • + +

    icon-message-circle-plus

    +
  • + +
  • + +

    icon-message-circle-question

    +
  • + +
  • + +

    icon-message-circle-reply

    +
  • + +
  • + +

    icon-message-circle-warning

    +
  • + +
  • + +

    icon-message-circle-x

    +
  • + +
  • + +

    icon-message-circle

    +
  • + +
  • + +

    icon-message-square-code

    +
  • + +
  • + +

    icon-message-square-dashed

    +
  • + +
  • + +

    icon-message-square-diff

    +
  • + +
  • + +

    icon-message-square-dot

    +
  • + +
  • + +

    icon-message-square-heart

    +
  • + +
  • + +

    icon-message-square-lock

    +
  • + +
  • + +

    icon-message-square-more

    +
  • + +
  • + +

    icon-message-square-off

    +
  • + +
  • + +

    icon-message-square-plus

    +
  • + +
  • + +

    icon-message-square-quote

    +
  • + +
  • + +

    icon-message-square-reply

    +
  • + +
  • + +

    icon-message-square-share

    +
  • + +
  • + +

    icon-message-square-text

    +
  • + +
  • + +

    icon-message-square-warning

    +
  • + +
  • + +

    icon-message-square-x

    +
  • + +
  • + +

    icon-message-square

    +
  • + +
  • + +

    icon-messages-square

    +
  • + +
  • + +

    icon-mic-off

    +
  • + +
  • + +

    icon-mic-vocal

    +
  • + +
  • + +

    icon-mic

    +
  • + +
  • + +

    icon-microchip

    +
  • + +
  • + +

    icon-microscope

    +
  • + +
  • + +

    icon-microwave

    +
  • + +
  • + +

    icon-milestone

    +
  • + +
  • + +

    icon-milk-off

    +
  • + +
  • + +

    icon-milk

    +
  • + +
  • + +

    icon-minimize-2

    +
  • + +
  • + +

    icon-minimize

    +
  • + +
  • + +

    icon-minus

    +
  • + +
  • + +

    icon-monitor-check

    +
  • + +
  • + +

    icon-monitor-cog

    +
  • + +
  • + +

    icon-monitor-dot

    +
  • + +
  • + +

    icon-monitor-down

    +
  • + +
  • + +

    icon-monitor-off

    +
  • + +
  • + +

    icon-monitor-pause

    +
  • + +
  • + +

    icon-monitor-play

    +
  • + +
  • + +

    icon-monitor-smartphone

    +
  • + +
  • + +

    icon-monitor-speaker

    +
  • + +
  • + +

    icon-monitor-stop

    +
  • + +
  • + +

    icon-monitor-up

    +
  • + +
  • + +

    icon-monitor-x

    +
  • + +
  • + +

    icon-monitor

    +
  • + +
  • + +

    icon-moon-star

    +
  • + +
  • + +

    icon-moon

    +
  • + +
  • + +

    icon-mountain-snow

    +
  • + +
  • + +

    icon-mountain

    +
  • + +
  • + +

    icon-mouse-off

    +
  • + +
  • + +

    icon-mouse-pointer-2

    +
  • + +
  • + +

    icon-mouse-pointer-ban

    +
  • + +
  • + +

    icon-mouse-pointer-click

    +
  • + +
  • + +

    icon-mouse-pointer

    +
  • + +
  • + +

    icon-mouse

    +
  • + +
  • + +

    icon-move-3d

    +
  • + +
  • + +

    icon-move-diagonal-2

    +
  • + +
  • + +

    icon-move-diagonal

    +
  • + +
  • + +

    icon-move-down-left

    +
  • + +
  • + +

    icon-move-down-right

    +
  • + +
  • + +

    icon-move-down

    +
  • + +
  • + +

    icon-move-horizontal

    +
  • + +
  • + +

    icon-move-left

    +
  • + +
  • + +

    icon-move-right

    +
  • + +
  • + +

    icon-move-up-left

    +
  • + +
  • + +

    icon-move-up-right

    +
  • + +
  • + +

    icon-move-up

    +
  • + +
  • + +

    icon-move-vertical

    +
  • + +
  • + +

    icon-move

    +
  • + +
  • + +

    icon-music-2

    +
  • + +
  • + +

    icon-music-3

    +
  • + +
  • + +

    icon-music-4

    +
  • + +
  • + +

    icon-music

    +
  • + +
  • + +

    icon-navigation-2-off

    +
  • + +
  • + +

    icon-navigation-2

    +
  • + +
  • + +

    icon-navigation-off

    +
  • + +
  • + +

    icon-navigation

    +
  • + +
  • + +

    icon-network

    +
  • + +
  • + +

    icon-newspaper

    +
  • + +
  • + +

    icon-nfc

    +
  • + +
  • + +

    icon-non-binary

    +
  • + +
  • + +

    icon-notebook-pen

    +
  • + +
  • + +

    icon-notebook-tabs

    +
  • + +
  • + +

    icon-notebook-text

    +
  • + +
  • + +

    icon-notebook

    +
  • + +
  • + +

    icon-notepad-text-dashed

    +
  • + +
  • + +

    icon-notepad-text

    +
  • + +
  • + +

    icon-nut-off

    +
  • + +
  • + +

    icon-nut

    +
  • + +
  • + +

    icon-octagon-alert

    +
  • + +
  • + +

    icon-octagon-minus

    +
  • + +
  • + +

    icon-octagon-pause

    +
  • + +
  • + +

    icon-octagon-x

    +
  • + +
  • + +

    icon-octagon

    +
  • + +
  • + +

    icon-omega

    +
  • + +
  • + +

    icon-option

    +
  • + +
  • + +

    icon-orbit

    +
  • + +
  • + +

    icon-origami

    +
  • + +
  • + +

    icon-package-2

    +
  • + +
  • + +

    icon-package-check

    +
  • + +
  • + +

    icon-package-minus

    +
  • + +
  • + +

    icon-package-open

    +
  • + +
  • + +

    icon-package-plus

    +
  • + +
  • + +

    icon-package-search

    +
  • + +
  • + +

    icon-package-x

    +
  • + +
  • + +

    icon-package

    +
  • + +
  • + +

    icon-paint-bucket

    +
  • + +
  • + +

    icon-paint-roller

    +
  • + +
  • + +

    icon-paintbrush-vertical

    +
  • + +
  • + +

    icon-paintbrush

    +
  • + +
  • + +

    icon-palette

    +
  • + +
  • + +

    icon-panel-bottom-close

    +
  • + +
  • + +

    icon-panel-bottom-dashed

    +
  • + +
  • + +

    icon-panel-bottom-open

    +
  • + +
  • + +

    icon-panel-bottom

    +
  • + +
  • + +

    icon-panel-left-close

    +
  • + +
  • + +

    icon-panel-left-dashed

    +
  • + +
  • + +

    icon-panel-left-open

    +
  • + +
  • + +

    icon-panel-left

    +
  • + +
  • + +

    icon-panel-right-close

    +
  • + +
  • + +

    icon-panel-right-dashed

    +
  • + +
  • + +

    icon-panel-right-open

    +
  • + +
  • + +

    icon-panel-right

    +
  • + +
  • + +

    icon-panel-top-close

    +
  • + +
  • + +

    icon-panel-top-dashed

    +
  • + +
  • + +

    icon-panel-top-open

    +
  • + +
  • + +

    icon-panel-top

    +
  • + +
  • + +

    icon-panels-left-bottom

    +
  • + +
  • + +

    icon-panels-right-bottom

    +
  • + +
  • + +

    icon-panels-top-left

    +
  • + +
  • + +

    icon-paperclip

    +
  • + +
  • + +

    icon-parentheses

    +
  • + +
  • + +

    icon-parking-meter

    +
  • + +
  • + +

    icon-party-popper

    +
  • + +
  • + +

    icon-pause

    +
  • + +
  • + +

    icon-paw-print

    +
  • + +
  • + +

    icon-pc-case

    +
  • + +
  • + +

    icon-pen-line

    +
  • + +
  • + +

    icon-pen-off

    +
  • + +
  • + +

    icon-pen-tool

    +
  • + +
  • + +

    icon-pen

    +
  • + +
  • + +

    icon-pencil-line

    +
  • + +
  • + +

    icon-pencil-off

    +
  • + +
  • + +

    icon-pencil-ruler

    +
  • + +
  • + +

    icon-pencil

    +
  • + +
  • + +

    icon-pentagon

    +
  • + +
  • + +

    icon-percent

    +
  • + +
  • + +

    icon-person-standing

    +
  • + +
  • + +

    icon-philippine-peso

    +
  • + +
  • + +

    icon-phone-call

    +
  • + +
  • + +

    icon-phone-forwarded

    +
  • + +
  • + +

    icon-phone-incoming

    +
  • + +
  • + +

    icon-phone-missed

    +
  • + +
  • + +

    icon-phone-off

    +
  • + +
  • + +

    icon-phone-outgoing

    +
  • + +
  • + +

    icon-phone

    +
  • + +
  • + +

    icon-pi

    +
  • + +
  • + +

    icon-piano

    +
  • + +
  • + +

    icon-pickaxe

    +
  • + +
  • + +

    icon-picture-in-picture-2

    +
  • + +
  • + +

    icon-picture-in-picture

    +
  • + +
  • + +

    icon-piggy-bank

    +
  • + +
  • + +

    icon-pilcrow-left

    +
  • + +
  • + +

    icon-pilcrow-right

    +
  • + +
  • + +

    icon-pilcrow

    +
  • + +
  • + +

    icon-pill-bottle

    +
  • + +
  • + +

    icon-pill

    +
  • + +
  • + +

    icon-pin-off

    +
  • + +
  • + +

    icon-pin

    +
  • + +
  • + +

    icon-pipette

    +
  • + +
  • + +

    icon-pizza

    +
  • + +
  • + +

    icon-plane-landing

    +
  • + +
  • + +

    icon-plane-takeoff

    +
  • + +
  • + +

    icon-plane

    +
  • + +
  • + +

    icon-play

    +
  • + +
  • + +

    icon-plug-2

    +
  • + +
  • + +

    icon-plug-zap

    +
  • + +
  • + +

    icon-plug

    +
  • + +
  • + +

    icon-plus

    +
  • + +
  • + +

    icon-pocket-knife

    +
  • + +
  • + +

    icon-pocket

    +
  • + +
  • + +

    icon-podcast

    +
  • + +
  • + +

    icon-pointer-off

    +
  • + +
  • + +

    icon-pointer

    +
  • + +
  • + +

    icon-popcorn

    +
  • + +
  • + +

    icon-popsicle

    +
  • + +
  • + +

    icon-pound-sterling

    +
  • + +
  • + +

    icon-power-off

    +
  • + +
  • + +

    icon-power

    +
  • + +
  • + +

    icon-presentation

    +
  • + +
  • + +

    icon-printer-check

    +
  • + +
  • + +

    icon-printer

    +
  • + +
  • + +

    icon-projector

    +
  • + +
  • + +

    icon-proportions

    +
  • + +
  • + +

    icon-puzzle

    +
  • + +
  • + +

    icon-pyramid

    +
  • + +
  • + +

    icon-qr-code

    +
  • + +
  • + +

    icon-quote

    +
  • + +
  • + +

    icon-rabbit

    +
  • + +
  • + +

    icon-radar

    +
  • + +
  • + +

    icon-radiation

    +
  • + +
  • + +

    icon-radical

    +
  • + +
  • + +

    icon-radio-receiver

    +
  • + +
  • + +

    icon-radio-tower

    +
  • + +
  • + +

    icon-radio

    +
  • + +
  • + +

    icon-radius

    +
  • + +
  • + +

    icon-rail-symbol

    +
  • + +
  • + +

    icon-rainbow

    +
  • + +
  • + +

    icon-rat

    +
  • + +
  • + +

    icon-ratio

    +
  • + +
  • + +

    icon-receipt-cent

    +
  • + +
  • + +

    icon-receipt-euro

    +
  • + +
  • + +

    icon-receipt-indian-rupee

    +
  • + +
  • + +

    icon-receipt-japanese-yen

    +
  • + +
  • + +

    icon-receipt-pound-sterling

    +
  • + +
  • + +

    icon-receipt-russian-ruble

    +
  • + +
  • + +

    icon-receipt-swiss-franc

    +
  • + +
  • + +

    icon-receipt-text

    +
  • + +
  • + +

    icon-receipt

    +
  • + +
  • + +

    icon-rectangle-ellipsis

    +
  • + +
  • + +

    icon-rectangle-horizontal

    +
  • + +
  • + +

    icon-rectangle-vertical

    +
  • + +
  • + +

    icon-recycle

    +
  • + +
  • + +

    icon-redo-2

    +
  • + +
  • + +

    icon-redo-dot

    +
  • + +
  • + +

    icon-redo

    +
  • + +
  • + +

    icon-refresh-ccw-dot

    +
  • + +
  • + +

    icon-refresh-ccw

    +
  • + +
  • + +

    icon-refresh-cw-off

    +
  • + +
  • + +

    icon-refresh-cw

    +
  • + +
  • + +

    icon-refrigerator

    +
  • + +
  • + +

    icon-regex

    +
  • + +
  • + +

    icon-remove-formatting

    +
  • + +
  • + +

    icon-repeat-1

    +
  • + +
  • + +

    icon-repeat-2

    +
  • + +
  • + +

    icon-repeat

    +
  • + +
  • + +

    icon-replace-all

    +
  • + +
  • + +

    icon-replace

    +
  • + +
  • + +

    icon-reply-all

    +
  • + +
  • + +

    icon-reply

    +
  • + +
  • + +

    icon-rewind

    +
  • + +
  • + +

    icon-ribbon

    +
  • + +
  • + +

    icon-rocket

    +
  • + +
  • + +

    icon-rocking-chair

    +
  • + +
  • + +

    icon-roller-coaster

    +
  • + +
  • + +

    icon-rotate-3d

    +
  • + +
  • + +

    icon-rotate-ccw-square

    +
  • + +
  • + +

    icon-rotate-ccw

    +
  • + +
  • + +

    icon-rotate-cw-square

    +
  • + +
  • + +

    icon-rotate-cw

    +
  • + +
  • + +

    icon-route-off

    +
  • + +
  • + +

    icon-route

    +
  • + +
  • + +

    icon-router

    +
  • + +
  • + +

    icon-rows-2

    +
  • + +
  • + +

    icon-rows-3

    +
  • + +
  • + +

    icon-rows-4

    +
  • + +
  • + +

    icon-rss

    +
  • + +
  • + +

    icon-ruler

    +
  • + +
  • + +

    icon-russian-ruble

    +
  • + +
  • + +

    icon-sailboat

    +
  • + +
  • + +

    icon-salad

    +
  • + +
  • + +

    icon-sandwich

    +
  • + +
  • + +

    icon-satellite-dish

    +
  • + +
  • + +

    icon-satellite

    +
  • + +
  • + +

    icon-save-all

    +
  • + +
  • + +

    icon-save-off

    +
  • + +
  • + +

    icon-save

    +
  • + +
  • + +

    icon-scale-3d

    +
  • + +
  • + +

    icon-scale

    +
  • + +
  • + +

    icon-scaling

    +
  • + +
  • + +

    icon-scan-barcode

    +
  • + +
  • + +

    icon-scan-eye

    +
  • + +
  • + +

    icon-scan-face

    +
  • + +
  • + +

    icon-scan-heart

    +
  • + +
  • + +

    icon-scan-line

    +
  • + +
  • + +

    icon-scan-qr-code

    +
  • + +
  • + +

    icon-scan-search

    +
  • + +
  • + +

    icon-scan-text

    +
  • + +
  • + +

    icon-scan

    +
  • + +
  • + +

    icon-school

    +
  • + +
  • + +

    icon-scissors-line-dashed

    +
  • + +
  • + +

    icon-scissors

    +
  • + +
  • + +

    icon-screen-share-off

    +
  • + +
  • + +

    icon-screen-share

    +
  • + +
  • + +

    icon-scroll-text

    +
  • + +
  • + +

    icon-scroll

    +
  • + +
  • + +

    icon-search-check

    +
  • + +
  • + +

    icon-search-code

    +
  • + +
  • + +

    icon-search-slash

    +
  • + +
  • + +

    icon-search-x

    +
  • + +
  • + +

    icon-search

    +
  • + +
  • + +

    icon-section

    +
  • + +
  • + +

    icon-send-horizontal

    +
  • + +
  • + +

    icon-send-to-back

    +
  • + +
  • + +

    icon-send

    +
  • + +
  • + +

    icon-separator-horizontal

    +
  • + +
  • + +

    icon-separator-vertical

    +
  • + +
  • + +

    icon-server-cog

    +
  • + +
  • + +

    icon-server-crash

    +
  • + +
  • + +

    icon-server-off

    +
  • + +
  • + +

    icon-server

    +
  • + +
  • + +

    icon-settings-2

    +
  • + +
  • + +

    icon-settings

    +
  • + +
  • + +

    icon-shapes

    +
  • + +
  • + +

    icon-share-2

    +
  • + +
  • + +

    icon-share

    +
  • + +
  • + +

    icon-sheet

    +
  • + +
  • + +

    icon-shell

    +
  • + +
  • + +

    icon-shield-alert

    +
  • + +
  • + +

    icon-shield-ban

    +
  • + +
  • + +

    icon-shield-check

    +
  • + +
  • + +

    icon-shield-ellipsis

    +
  • + +
  • + +

    icon-shield-half

    +
  • + +
  • + +

    icon-shield-minus

    +
  • + +
  • + +

    icon-shield-off

    +
  • + +
  • + +

    icon-shield-plus

    +
  • + +
  • + +

    icon-shield-question

    +
  • + +
  • + +

    icon-shield-user

    +
  • + +
  • + +

    icon-shield-x

    +
  • + +
  • + +

    icon-shield

    +
  • + +
  • + +

    icon-ship-wheel

    +
  • + +
  • + +

    icon-ship

    +
  • + +
  • + +

    icon-shirt

    +
  • + +
  • + +

    icon-shopping-bag

    +
  • + +
  • + +

    icon-shopping-basket

    +
  • + +
  • + +

    icon-shopping-cart

    +
  • + +
  • + +

    icon-shovel

    +
  • + +
  • + +

    icon-shower-head

    +
  • + +
  • + +

    icon-shrink

    +
  • + +
  • + +

    icon-shrub

    +
  • + +
  • + +

    icon-shuffle

    +
  • + +
  • + +

    icon-sigma

    +
  • + +
  • + +

    icon-signal-high

    +
  • + +
  • + +

    icon-signal-low

    +
  • + +
  • + +

    icon-signal-medium

    +
  • + +
  • + +

    icon-signal-zero

    +
  • + +
  • + +

    icon-signal

    +
  • + +
  • + +

    icon-signature

    +
  • + +
  • + +

    icon-signpost-big

    +
  • + +
  • + +

    icon-signpost

    +
  • + +
  • + +

    icon-siren

    +
  • + +
  • + +

    icon-skip-back

    +
  • + +
  • + +

    icon-skip-forward

    +
  • + +
  • + +

    icon-skull

    +
  • + +
  • + +

    icon-slack

    +
  • + +
  • + +

    icon-slash

    +
  • + +
  • + +

    icon-slice

    +
  • + +
  • + +

    icon-sliders-horizontal

    +
  • + +
  • + +

    icon-sliders-vertical

    +
  • + +
  • + +

    icon-smartphone-charging

    +
  • + +
  • + +

    icon-smartphone-nfc

    +
  • + +
  • + +

    icon-smartphone

    +
  • + +
  • + +

    icon-smile-plus

    +
  • + +
  • + +

    icon-smile

    +
  • + +
  • + +

    icon-snail

    +
  • + +
  • + +

    icon-snowflake

    +
  • + +
  • + +

    icon-sofa

    +
  • + +
  • + +

    icon-soup

    +
  • + +
  • + +

    icon-space

    +
  • + +
  • + +

    icon-spade

    +
  • + +
  • + +

    icon-sparkle

    +
  • + +
  • + +

    icon-sparkles

    +
  • + +
  • + +

    icon-speaker

    +
  • + +
  • + +

    icon-speech

    +
  • + +
  • + +

    icon-spell-check-2

    +
  • + +
  • + +

    icon-spell-check

    +
  • + +
  • + +

    icon-spline

    +
  • + +
  • + +

    icon-split

    +
  • + +
  • + +

    icon-spray-can

    +
  • + +
  • + +

    icon-sprout

    +
  • + +
  • + +

    icon-square-activity

    +
  • + +
  • + +

    icon-square-arrow-down-left

    +
  • + +
  • + +

    icon-square-arrow-down-right

    +
  • + +
  • + +

    icon-square-arrow-down

    +
  • + +
  • + +

    icon-square-arrow-left

    +
  • + +
  • + +

    icon-square-arrow-out-down-left

    +
  • + +
  • + +

    icon-square-arrow-out-down-right

    +
  • + +
  • + +

    icon-square-arrow-out-up-left

    +
  • + +
  • + +

    icon-square-arrow-out-up-right

    +
  • + +
  • + +

    icon-square-arrow-right

    +
  • + +
  • + +

    icon-square-arrow-up-left

    +
  • + +
  • + +

    icon-square-arrow-up-right

    +
  • + +
  • + +

    icon-square-arrow-up

    +
  • + +
  • + +

    icon-square-asterisk

    +
  • + +
  • + +

    icon-square-bottom-dashed-scissors

    +
  • + +
  • + +

    icon-square-chart-gantt

    +
  • + +
  • + +

    icon-square-check-big

    +
  • + +
  • + +

    icon-square-check

    +
  • + +
  • + +

    icon-square-chevron-down

    +
  • + +
  • + +

    icon-square-chevron-left

    +
  • + +
  • + +

    icon-square-chevron-right

    +
  • + +
  • + +

    icon-square-chevron-up

    +
  • + +
  • + +

    icon-square-code

    +
  • + +
  • + +

    icon-square-dashed-bottom-code

    +
  • + +
  • + +

    icon-square-dashed-bottom

    +
  • + +
  • + +

    icon-square-dashed-kanban

    +
  • + +
  • + +

    icon-square-dashed-mouse-pointer

    +
  • + +
  • + +

    icon-square-dashed

    +
  • + +
  • + +

    icon-square-divide

    +
  • + +
  • + +

    icon-square-dot

    +
  • + +
  • + +

    icon-square-equal

    +
  • + +
  • + +

    icon-square-function

    +
  • + +
  • + +

    icon-square-kanban

    +
  • + +
  • + +

    icon-square-library

    +
  • + +
  • + +

    icon-square-m

    +
  • + +
  • + +

    icon-square-menu

    +
  • + +
  • + +

    icon-square-minus

    +
  • + +
  • + +

    icon-square-mouse-pointer

    +
  • + +
  • + +

    icon-square-parking-off

    +
  • + +
  • + +

    icon-square-parking

    +
  • + +
  • + +

    icon-square-pen

    +
  • + +
  • + +

    icon-square-percent

    +
  • + +
  • + +

    icon-square-pi

    +
  • + +
  • + +

    icon-square-pilcrow

    +
  • + +
  • + +

    icon-square-play

    +
  • + +
  • + +

    icon-square-plus

    +
  • + +
  • + +

    icon-square-power

    +
  • + +
  • + +

    icon-square-radical

    +
  • + +
  • + +

    icon-square-round-corner

    +
  • + +
  • + +

    icon-square-scissors

    +
  • + +
  • + +

    icon-square-sigma

    +
  • + +
  • + +

    icon-square-slash

    +
  • + +
  • + +

    icon-square-split-horizontal

    +
  • + +
  • + +

    icon-square-split-vertical

    +
  • + +
  • + +

    icon-square-square

    +
  • + +
  • + +

    icon-square-stack

    +
  • + +
  • + +

    icon-square-terminal

    +
  • + +
  • + +

    icon-square-user-round

    +
  • + +
  • + +

    icon-square-user

    +
  • + +
  • + +

    icon-square-x

    +
  • + +
  • + +

    icon-square

    +
  • + +
  • + +

    icon-squircle

    +
  • + +
  • + +

    icon-squirrel

    +
  • + +
  • + +

    icon-stamp

    +
  • + +
  • + +

    icon-star-half

    +
  • + +
  • + +

    icon-star-off

    +
  • + +
  • + +

    icon-star

    +
  • + +
  • + +

    icon-step-back

    +
  • + +
  • + +

    icon-step-forward

    +
  • + +
  • + +

    icon-stethoscope

    +
  • + +
  • + +

    icon-sticker

    +
  • + +
  • + +

    icon-sticky-note

    +
  • + +
  • + +

    icon-store

    +
  • + +
  • + +

    icon-stretch-horizontal

    +
  • + +
  • + +

    icon-stretch-vertical

    +
  • + +
  • + +

    icon-strikethrough

    +
  • + +
  • + +

    icon-subscript

    +
  • + +
  • + +

    icon-sun-dim

    +
  • + +
  • + +

    icon-sun-medium

    +
  • + +
  • + +

    icon-sun-moon

    +
  • + +
  • + +

    icon-sun-snow

    +
  • + +
  • + +

    icon-sun

    +
  • + +
  • + +

    icon-sunrise

    +
  • + +
  • + +

    icon-sunset

    +
  • + +
  • + +

    icon-superscript

    +
  • + +
  • + +

    icon-swatch-book

    +
  • + +
  • + +

    icon-swiss-franc

    +
  • + +
  • + +

    icon-switch-camera

    +
  • + +
  • + +

    icon-sword

    +
  • + +
  • + +

    icon-swords

    +
  • + +
  • + +

    icon-syringe

    +
  • + +
  • + +

    icon-table-2

    +
  • + +
  • + +

    icon-table-cells-merge

    +
  • + +
  • + +

    icon-table-cells-split

    +
  • + +
  • + +

    icon-table-columns-split

    +
  • + +
  • + +

    icon-table-of-contents

    +
  • + +
  • + +

    icon-table-properties

    +
  • + +
  • + +

    icon-table-rows-split

    +
  • + +
  • + +

    icon-table

    +
  • + +
  • + +

    icon-tablet-smartphone

    +
  • + +
  • + +

    icon-tablet

    +
  • + +
  • + +

    icon-tablets

    +
  • + +
  • + +

    icon-tag

    +
  • + +
  • + +

    icon-tags

    +
  • + +
  • + +

    icon-tally-1

    +
  • + +
  • + +

    icon-tally-2

    +
  • + +
  • + +

    icon-tally-3

    +
  • + +
  • + +

    icon-tally-4

    +
  • + +
  • + +

    icon-tally-5

    +
  • + +
  • + +

    icon-tangent

    +
  • + +
  • + +

    icon-target

    +
  • + +
  • + +

    icon-telescope

    +
  • + +
  • + +

    icon-tent-tree

    +
  • + +
  • + +

    icon-tent

    +
  • + +
  • + +

    icon-terminal

    +
  • + +
  • + +

    icon-test-tube-diagonal

    +
  • + +
  • + +

    icon-test-tube

    +
  • + +
  • + +

    icon-test-tubes

    +
  • + +
  • + +

    icon-text-cursor-input

    +
  • + +
  • + +

    icon-text-cursor

    +
  • + +
  • + +

    icon-text-quote

    +
  • + +
  • + +

    icon-text-search

    +
  • + +
  • + +

    icon-text-select

    +
  • + +
  • + +

    icon-text

    +
  • + +
  • + +

    icon-theater

    +
  • + +
  • + +

    icon-thermometer-snowflake

    +
  • + +
  • + +

    icon-thermometer-sun

    +
  • + +
  • + +

    icon-thermometer

    +
  • + +
  • + +

    icon-thumbs-down

    +
  • + +
  • + +

    icon-thumbs-up

    +
  • + +
  • + +

    icon-ticket-check

    +
  • + +
  • + +

    icon-ticket-minus

    +
  • + +
  • + +

    icon-ticket-percent

    +
  • + +
  • + +

    icon-ticket-plus

    +
  • + +
  • + +

    icon-ticket-slash

    +
  • + +
  • + +

    icon-ticket-x

    +
  • + +
  • + +

    icon-ticket

    +
  • + +
  • + +

    icon-tickets-plane

    +
  • + +
  • + +

    icon-tickets

    +
  • + +
  • + +

    icon-timer-off

    +
  • + +
  • + +

    icon-timer-reset

    +
  • + +
  • + +

    icon-timer

    +
  • + +
  • + +

    icon-toggle-left

    +
  • + +
  • + +

    icon-toggle-right

    +
  • + +
  • + +

    icon-toilet

    +
  • + +
  • + +

    icon-tornado

    +
  • + +
  • + +

    icon-torus

    +
  • + +
  • + +

    icon-touchpad-off

    +
  • + +
  • + +

    icon-touchpad

    +
  • + +
  • + +

    icon-tower-control

    +
  • + +
  • + +

    icon-toy-brick

    +
  • + +
  • + +

    icon-tractor

    +
  • + +
  • + +

    icon-traffic-cone

    +
  • + +
  • + +

    icon-train-front-tunnel

    +
  • + +
  • + +

    icon-train-front

    +
  • + +
  • + +

    icon-train-track

    +
  • + +
  • + +

    icon-tram-front

    +
  • + +
  • + +

    icon-transgender

    +
  • + +
  • + +

    icon-trash-2

    +
  • + +
  • + +

    icon-trash

    +
  • + +
  • + +

    icon-tree-deciduous

    +
  • + +
  • + +

    icon-tree-palm

    +
  • + +
  • + +

    icon-tree-pine

    +
  • + +
  • + +

    icon-trees

    +
  • + +
  • + +

    icon-trello

    +
  • + +
  • + +

    icon-trending-down

    +
  • + +
  • + +

    icon-trending-up-down

    +
  • + +
  • + +

    icon-trending-up

    +
  • + +
  • + +

    icon-triangle-alert

    +
  • + +
  • + +

    icon-triangle-dashed

    +
  • + +
  • + +

    icon-triangle-right

    +
  • + +
  • + +

    icon-triangle

    +
  • + +
  • + +

    icon-trophy

    +
  • + +
  • + +

    icon-truck

    +
  • + +
  • + +

    icon-turtle

    +
  • + +
  • + +

    icon-tv-minimal-play

    +
  • + +
  • + +

    icon-tv-minimal

    +
  • + +
  • + +

    icon-tv

    +
  • + +
  • + +

    icon-twitch

    +
  • + +
  • + +

    icon-twitter

    +
  • + +
  • + +

    icon-type-outline

    +
  • + +
  • + +

    icon-type

    +
  • + +
  • + +

    icon-umbrella-off

    +
  • + +
  • + +

    icon-umbrella

    +
  • + +
  • + +

    icon-underline

    +
  • + +
  • + +

    icon-undo-2

    +
  • + +
  • + +

    icon-undo-dot

    +
  • + +
  • + +

    icon-undo

    +
  • + +
  • + +

    icon-unfold-horizontal

    +
  • + +
  • + +

    icon-unfold-vertical

    +
  • + +
  • + +

    icon-ungroup

    +
  • + +
  • + +

    icon-university

    +
  • + +
  • + +

    icon-unlink-2

    +
  • + +
  • + +

    icon-unlink

    +
  • + +
  • + +

    icon-unplug

    +
  • + +
  • + +

    icon-upload

    +
  • + +
  • + +

    icon-usb

    +
  • + +
  • + +

    icon-user-check

    +
  • + +
  • + +

    icon-user-cog

    +
  • + +
  • + +

    icon-user-minus

    +
  • + +
  • + +

    icon-user-pen

    +
  • + +
  • + +

    icon-user-plus

    +
  • + +
  • + +

    icon-user-round-check

    +
  • + +
  • + +

    icon-user-round-cog

    +
  • + +
  • + +

    icon-user-round-minus

    +
  • + +
  • + +

    icon-user-round-pen

    +
  • + +
  • + +

    icon-user-round-plus

    +
  • + +
  • + +

    icon-user-round-search

    +
  • + +
  • + +

    icon-user-round-x

    +
  • + +
  • + +

    icon-user-round

    +
  • + +
  • + +

    icon-user-search

    +
  • + +
  • + +

    icon-user-x

    +
  • + +
  • + +

    icon-user

    +
  • + +
  • + +

    icon-users-round

    +
  • + +
  • + +

    icon-users

    +
  • + +
  • + +

    icon-utensils-crossed

    +
  • + +
  • + +

    icon-utensils

    +
  • + +
  • + +

    icon-utility-pole

    +
  • + +
  • + +

    icon-variable

    +
  • + +
  • + +

    icon-vault

    +
  • + +
  • + +

    icon-vegan

    +
  • + +
  • + +

    icon-venetian-mask

    +
  • + +
  • + +

    icon-venus-and-mars

    +
  • + +
  • + +

    icon-venus

    +
  • + +
  • + +

    icon-vibrate-off

    +
  • + +
  • + +

    icon-vibrate

    +
  • + +
  • + +

    icon-video-off

    +
  • + +
  • + +

    icon-video

    +
  • + +
  • + +

    icon-videotape

    +
  • + +
  • + +

    icon-view

    +
  • + +
  • + +

    icon-voicemail

    +
  • + +
  • + +

    icon-volleyball

    +
  • + +
  • + +

    icon-volume-1

    +
  • + +
  • + +

    icon-volume-2

    +
  • + +
  • + +

    icon-volume-off

    +
  • + +
  • + +

    icon-volume-x

    +
  • + +
  • + +

    icon-volume

    +
  • + +
  • + +

    icon-vote

    +
  • + +
  • + +

    icon-wallet-cards

    +
  • + +
  • + +

    icon-wallet-minimal

    +
  • + +
  • + +

    icon-wallet

    +
  • + +
  • + +

    icon-wallpaper

    +
  • + +
  • + +

    icon-wand-sparkles

    +
  • + +
  • + +

    icon-wand

    +
  • + +
  • + +

    icon-warehouse

    +
  • + +
  • + +

    icon-washing-machine

    +
  • + +
  • + +

    icon-watch

    +
  • + +
  • + +

    icon-waves-ladder

    +
  • + +
  • + +

    icon-waves

    +
  • + +
  • + +

    icon-waypoints

    +
  • + +
  • + +

    icon-webcam

    +
  • + +
  • + +

    icon-webhook-off

    +
  • + +
  • + +

    icon-webhook

    +
  • + +
  • + +

    icon-weight

    +
  • + +
  • + +

    icon-wheat-off

    +
  • + +
  • + +

    icon-wheat

    +
  • + +
  • + +

    icon-whole-word

    +
  • + +
  • + +

    icon-wifi-high

    +
  • + +
  • + +

    icon-wifi-low

    +
  • + +
  • + +

    icon-wifi-off

    +
  • + +
  • + +

    icon-wifi-zero

    +
  • + +
  • + +

    icon-wifi

    +
  • + +
  • + +

    icon-wind-arrow-down

    +
  • + +
  • + +

    icon-wind

    +
  • + +
  • + +

    icon-wine-off

    +
  • + +
  • + +

    icon-wine

    +
  • + +
  • + +

    icon-workflow

    +
  • + +
  • + +

    icon-worm

    +
  • + +
  • + +

    icon-wrap-text

    +
  • + +
  • + +

    icon-wrench

    +
  • + +
  • + +

    icon-x

    +
  • + +
  • + +

    icon-youtube

    +
  • + +
  • + +

    icon-zap-off

    +
  • + +
  • + +

    icon-zap

    +
  • + +
  • + +

    icon-zoom-in

    +
  • + +
  • + +

    icon-zoom-out

    +
  • + +
+
+ + + + + \ No newline at end of file diff --git a/third_party/shadcn_flutter/icons/lucide/unicode.html b/third_party/shadcn_flutter/icons/lucide/unicode.html new file mode 100644 index 00000000..82fe7ddc --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/unicode.html @@ -0,0 +1,157 @@ + + + + + Lucide + + + + + + + + + + + + + + + + + +
+ +

Lucide1.0.0

+
+ +
+

+ + GitHub · + + Feedback · + + Font Class · + + Unicode + +

+
+
+
    +
  • a-arrow-down

    &#58761;
  • a-arrow-up

    &#58762;
  • a-large-small

    &#58763;
  • accessibility

    &#58006;
  • activity

    &#57400;
  • air-vent

    &#58192;
  • airplay

    &#57401;
  • alarm-clock-check

    &#57835;
  • alarm-clock-minus

    &#57836;
  • alarm-clock-off

    &#57914;
  • alarm-clock-plus

    &#57837;
  • alarm-clock

    &#57402;
  • alarm-smoke

    &#58751;
  • album

    &#57403;
  • align-center-horizontal

    &#57963;
  • align-center-vertical

    &#57964;
  • align-center

    &#57404;
  • align-end-horizontal

    &#57965;
  • align-end-vertical

    &#57966;
  • align-horizontal-distribute-center

    &#57405;
  • align-horizontal-distribute-end

    &#57406;
  • align-horizontal-distribute-start

    &#57407;
  • align-horizontal-justify-center

    &#57969;
  • align-horizontal-justify-end

    &#57970;
  • align-horizontal-justify-start

    &#57971;
  • align-horizontal-space-around

    &#57972;
  • align-horizontal-space-between

    &#57973;
  • align-justify

    &#57408;
  • align-left

    &#57409;
  • align-right

    &#57410;
  • align-start-horizontal

    &#57967;
  • align-start-vertical

    &#57968;
  • align-vertical-distribute-center

    &#57981;
  • align-vertical-distribute-end

    &#57982;
  • align-vertical-distribute-start

    &#57983;
  • align-vertical-justify-center

    &#57974;
  • align-vertical-justify-end

    &#57975;
  • align-vertical-justify-start

    &#57976;
  • align-vertical-space-around

    &#57977;
  • align-vertical-space-between

    &#57978;
  • ambulance

    &#58815;
  • ampersand

    &#58528;
  • ampersands

    &#58529;
  • amphora

    &#58911;
  • anchor

    &#57411;
  • angry

    &#58107;
  • annoyed

    &#58108;
  • antenna

    &#58598;
  • anvil

    &#58756;
  • aperture

    &#57412;
  • app-window-mac

    &#58838;
  • app-window

    &#58410;
  • apple

    &#58193;
  • archive-restore

    &#58060;
  • archive-x

    &#58640;
  • archive

    &#57413;
  • armchair

    &#58047;
  • arrow-big-down-dash

    &#58401;
  • arrow-big-down

    &#57824;
  • arrow-big-left-dash

    &#58402;
  • arrow-big-left

    &#57825;
  • arrow-big-right-dash

    &#58403;
  • arrow-big-right

    &#57826;
  • arrow-big-up-dash

    &#58404;
  • arrow-big-up

    &#57827;
  • arrow-down-0-1

    &#58391;
  • arrow-down-1-0

    &#58392;
  • arrow-down-a-z

    &#58393;
  • arrow-down-from-line

    &#58456;
  • arrow-down-left

    &#57415;
  • arrow-down-narrow-wide

    &#57416;
  • arrow-down-right

    &#57417;
  • arrow-down-to-dot

    &#58449;
  • arrow-down-to-line

    &#58457;
  • arrow-down-up

    &#57418;
  • arrow-down-wide-narrow

    &#57419;
  • arrow-down-z-a

    &#58394;
  • arrow-down

    &#57414;
  • arrow-left-from-line

    &#58458;
  • arrow-left-right

    &#57929;
  • arrow-left-to-line

    &#58459;
  • arrow-left

    &#57420;
  • arrow-right-from-line

    &#58460;
  • arrow-right-left

    &#58395;
  • arrow-right-to-line

    &#58461;
  • arrow-right

    &#57421;
  • arrow-up-0-1

    &#58396;
  • arrow-up-1-0

    &#58397;
  • arrow-up-a-z

    &#58398;
  • arrow-up-down

    &#58240;
  • arrow-up-from-dot

    &#58450;
  • arrow-up-from-line

    &#58462;
  • arrow-up-left

    &#57423;
  • arrow-up-narrow-wide

    &#57424;
  • arrow-up-right

    &#57425;
  • arrow-up-to-line

    &#58463;
  • arrow-up-wide-narrow

    &#58399;
  • arrow-up-z-a

    &#58400;
  • arrow-up

    &#57422;
  • arrows-up-from-line

    &#58584;
  • asterisk

    &#57838;
  • at-sign

    &#57426;
  • atom

    &#58330;
  • audio-lines

    &#58718;
  • audio-waveform

    &#58719;
  • award

    &#57427;
  • axe

    &#57428;
  • axis-3d

    &#58109;
  • baby

    &#58061;
  • backpack

    &#58055;
  • badge-alert

    &#58489;
  • badge-cent

    &#58643;
  • badge-check

    &#57920;
  • badge-dollar-sign

    &#58490;
  • badge-euro

    &#58644;
  • badge-help

    &#58491;
  • badge-indian-rupee

    &#58645;
  • badge-info

    &#58492;
  • badge-japanese-yen

    &#58646;
  • badge-minus

    &#58493;
  • badge-percent

    &#58494;
  • badge-plus

    &#58495;
  • badge-pound-sterling

    &#58647;
  • badge-russian-ruble

    &#58648;
  • badge-swiss-franc

    &#58649;
  • badge-x

    &#58496;
  • badge

    &#58488;
  • baggage-claim

    &#58056;
  • ban

    &#57429;
  • banana

    &#58194;
  • bandage

    &#58913;
  • banknote

    &#57430;
  • barcode

    &#58679;
  • baseline

    &#57988;
  • bath

    &#58026;
  • battery-charging

    &#57432;
  • battery-full

    &#57433;
  • battery-low

    &#57434;
  • battery-medium

    &#57435;
  • battery-plus

    &#58946;
  • battery-warning

    &#58287;
  • battery

    &#57431;
  • beaker

    &#57436;
  • bean-off

    &#58259;
  • bean

    &#58258;
  • bed-double

    &#58049;
  • bed-single

    &#58050;
  • bed

    &#58048;
  • beef

    &#58280;
  • beer-off

    &#58845;
  • beer

    &#58062;
  • bell-dot

    &#58415;
  • bell-electric

    &#58752;
  • bell-minus

    &#57839;
  • bell-off

    &#57438;
  • bell-plus

    &#57840;
  • bell-ring

    &#57891;
  • bell

    &#57437;
  • between-horizontal-end

    &#58773;
  • between-horizontal-start

    &#58774;
  • between-vertical-end

    &#58775;
  • between-vertical-start

    &#58776;
  • biceps-flexed

    &#58863;
  • bike

    &#57809;
  • binary

    &#57841;
  • binoculars

    &#58917;
  • biohazard

    &#58437;
  • bird

    &#58312;
  • bitcoin

    &#57439;
  • blend

    &#58784;
  • blinds

    &#58307;
  • blocks

    &#58622;
  • bluetooth-connected

    &#57783;
  • bluetooth-off

    &#57784;
  • bluetooth-searching

    &#57785;
  • bluetooth

    &#57440;
  • bold

    &#57441;
  • bolt

    &#58768;
  • bomb

    &#58110;
  • bone

    &#58203;
  • book-a

    &#58696;
  • book-audio

    &#58697;
  • book-check

    &#58698;
  • book-copy

    &#58352;
  • book-dashed

    &#58353;
  • book-down

    &#58354;
  • book-headphones

    &#58699;
  • book-heart

    &#58700;
  • book-image

    &#58701;
  • book-key

    &#58355;
  • book-lock

    &#58356;
  • book-marked

    &#58357;
  • book-minus

    &#58358;
  • book-open-check

    &#58244;
  • book-open-text

    &#58702;
  • book-open

    &#57443;
  • book-plus

    &#58359;
  • book-text

    &#58703;
  • book-type

    &#58704;
  • book-up-2

    &#58538;
  • book-up

    &#58360;
  • book-user

    &#58705;
  • book-x

    &#58361;
  • book

    &#57442;
  • bookmark-check

    &#58659;
  • bookmark-minus

    &#57915;
  • bookmark-plus

    &#57916;
  • bookmark-x

    &#58660;
  • bookmark

    &#57444;
  • boom-box

    &#58610;
  • bot-message-square

    &#58834;
  • bot-off

    &#58852;
  • bot

    &#57786;
  • box

    &#57445;
  • boxes

    &#58063;
  • braces

    &#58221;
  • brackets

    &#58439;
  • brain-circuit

    &#58314;
  • brain-cog

    &#58315;
  • brain

    &#58313;
  • brick-wall

    &#58757;
  • briefcase-business

    &#58841;
  • briefcase-conveyor-belt

    &#58927;
  • briefcase-medical

    &#58842;
  • briefcase

    &#57446;
  • bring-to-front

    &#58611;
  • brush

    &#57810;
  • bug-off

    &#58641;
  • bug-play

    &#58642;
  • bug

    &#57867;
  • building-2

    &#57999;
  • building

    &#57803;
  • bus-front

    &#58623;
  • bus

    &#57811;
  • cable-car

    &#58624;
  • cable

    &#58599;
  • cake-slice

    &#58557;
  • cake

    &#58183;
  • calculator

    &#57787;
  • calendar-1

    &#58932;
  • calendar-arrow-down

    &#58882;
  • calendar-arrow-up

    &#58883;
  • calendar-check-2

    &#58039;
  • calendar-check

    &#58038;
  • calendar-clock

    &#58115;
  • calendar-cog

    &#58865;
  • calendar-days

    &#58040;
  • calendar-fold

    &#58808;
  • calendar-heart

    &#58116;
  • calendar-minus-2

    &#58809;
  • calendar-minus

    &#58041;
  • calendar-off

    &#58042;
  • calendar-plus-2

    &#58810;
  • calendar-plus

    &#58043;
  • calendar-range

    &#58044;
  • calendar-search

    &#58117;
  • calendar-sync

    &#58938;
  • calendar-x-2

    &#58046;
  • calendar-x

    &#58045;
  • calendar

    &#57447;
  • camera-off

    &#57449;
  • camera

    &#57448;
  • candy-cane

    &#58558;
  • candy-off

    &#58261;
  • candy

    &#58260;
  • cannabis

    &#58840;
  • captions-off

    &#58821;
  • captions

    &#58279;
  • car-front

    &#58625;
  • car-taxi-front

    &#58626;
  • car

    &#57812;
  • caravan

    &#58685;
  • carrot

    &#57945;
  • case-lower

    &#58331;
  • case-sensitive

    &#58332;
  • case-upper

    &#58333;
  • cassette-tape

    &#58574;
  • cast

    &#57450;
  • castle

    &#58339;
  • cat

    &#58255;
  • cctv

    &#58753;
  • chart-area

    &#58583;
  • chart-bar-big

    &#58539;
  • chart-bar-decreasing

    &#58891;
  • chart-bar-increasing

    &#58892;
  • chart-bar-stacked

    &#58893;
  • chart-bar

    &#58017;
  • chart-candlestick

    &#58540;
  • chart-column-big

    &#58541;
  • chart-column-decreasing

    &#57451;
  • chart-column-increasing

    &#58019;
  • chart-column-stacked

    &#58894;
  • chart-column

    &#58018;
  • chart-gantt

    &#58920;
  • chart-line

    &#58020;
  • chart-network

    &#58895;
  • chart-no-axes-column-decreasing

    &#57453;
  • chart-no-axes-column-increasing

    &#57454;
  • chart-no-axes-column

    &#57452;
  • chart-no-axes-combined

    &#58896;
  • chart-no-axes-gantt

    &#58568;
  • chart-pie

    &#57455;
  • chart-scatter

    &#58510;
  • chart-spline

    &#58897;
  • check-check

    &#58257;
  • check

    &#57456;
  • chef-hat

    &#58027;
  • cherry

    &#58195;
  • chevron-down

    &#57457;
  • chevron-first

    &#57922;
  • chevron-last

    &#57923;
  • chevron-left

    &#57458;
  • chevron-right

    &#57459;
  • chevron-up

    &#57460;
  • chevrons-down-up

    &#57895;
  • chevrons-down

    &#57461;
  • chevrons-left-right-ellipsis

    &#58915;
  • chevrons-left-right

    &#58002;
  • chevrons-left

    &#57462;
  • chevrons-right-left

    &#58003;
  • chevrons-right

    &#57463;
  • chevrons-up-down

    &#57872;
  • chevrons-up

    &#57464;
  • chrome

    &#57465;
  • church

    &#58340;
  • cigarette-off

    &#58054;
  • cigarette

    &#58053;
  • circle-alert

    &#57467;
  • circle-arrow-down

    &#57468;
  • circle-arrow-left

    &#57469;
  • circle-arrow-out-down-left

    &#58363;
  • circle-arrow-out-down-right

    &#58364;
  • circle-arrow-out-up-left

    &#58365;
  • circle-arrow-out-up-right

    &#58366;
  • circle-arrow-right

    &#57470;
  • circle-arrow-up

    &#57471;
  • circle-check-big

    &#57472;
  • circle-check

    &#57893;
  • circle-chevron-down

    &#58593;
  • circle-chevron-left

    &#58594;
  • circle-chevron-right

    &#58595;
  • circle-chevron-up

    &#58596;
  • circle-dashed

    &#58548;
  • circle-divide

    &#57473;
  • circle-dollar-sign

    &#58497;
  • circle-dot-dashed

    &#58549;
  • circle-dot

    &#58184;
  • circle-ellipsis

    &#58185;
  • circle-equal

    &#58372;
  • circle-fading-arrow-up

    &#58908;
  • circle-fading-plus

    &#58816;
  • circle-gauge

    &#58597;
  • circle-help

    &#57474;
  • circle-minus

    &#57475;
  • circle-off

    &#58373;
  • circle-parking-off

    &#58317;
  • circle-parking

    &#58316;
  • circle-pause

    &#57476;
  • circle-percent

    &#58654;
  • circle-play

    &#57477;
  • circle-plus

    &#57478;
  • circle-power

    &#58708;
  • circle-slash-2

    &#57874;
  • circle-slash

    &#58374;
  • circle-small

    &#58948;
  • circle-stop

    &#57479;
  • circle-user-round

    &#58470;
  • circle-user

    &#58469;
  • circle-x

    &#57480;
  • circle

    &#57466;
  • circuit-board

    &#58375;
  • citrus

    &#58232;
  • clapperboard

    &#58010;
  • clipboard-check

    &#57880;
  • clipboard-copy

    &#57892;
  • clipboard-list

    &#57482;
  • clipboard-minus

    &#58818;
  • clipboard-paste

    &#58347;
  • clipboard-pen-line

    &#58119;
  • clipboard-pen

    &#58118;
  • clipboard-plus

    &#58819;
  • clipboard-type

    &#58120;
  • clipboard-x

    &#57889;
  • clipboard

    &#57481;
  • clock-1

    &#57930;
  • clock-10

    &#57931;
  • clock-11

    &#57932;
  • clock-12

    &#57933;
  • clock-2

    &#57934;
  • clock-3

    &#57935;
  • clock-4

    &#57936;
  • clock-5

    &#57937;
  • clock-6

    &#57938;
  • clock-7

    &#57939;
  • clock-8

    &#57940;
  • clock-9

    &#57941;
  • clock-alert

    &#58926;
  • clock-arrow-down

    &#58884;
  • clock-arrow-up

    &#58885;
  • clock

    &#57483;
  • cloud-alert

    &#58935;
  • cloud-cog

    &#58121;
  • cloud-download

    &#57485;
  • cloud-drizzle

    &#57486;
  • cloud-fog

    &#57875;
  • cloud-hail

    &#57487;
  • cloud-lightning

    &#57488;
  • cloud-moon-rain

    &#58105;
  • cloud-moon

    &#57876;
  • cloud-off

    &#57489;
  • cloud-rain-wind

    &#57491;
  • cloud-rain

    &#57490;
  • cloud-snow

    &#57492;
  • cloud-sun-rain

    &#58106;
  • cloud-sun

    &#57877;
  • cloud-upload

    &#57493;
  • cloud

    &#57484;
  • cloudy

    &#57878;
  • clover

    &#57494;
  • club

    &#58522;
  • code-xml

    &#57861;
  • code

    &#57495;
  • codepen

    &#57496;
  • codesandbox

    &#57497;
  • coffee

    &#57498;
  • cog

    &#58122;
  • coins

    &#57499;
  • columns-2

    &#57500;
  • columns-3

    &#57501;
  • columns-4

    &#58765;
  • combine

    &#58448;
  • command

    &#57502;
  • compass

    &#57503;
  • component

    &#58028;
  • computer

    &#58600;
  • concierge-bell

    &#58235;
  • cone

    &#58663;
  • construction

    &#58295;
  • contact-round

    &#58471;
  • contact

    &#57504;
  • container

    &#58585;
  • contrast

    &#57505;
  • cookie

    &#57962;
  • cooking-pot

    &#58760;
  • copy-check

    &#58367;
  • copy-minus

    &#58368;
  • copy-plus

    &#58369;
  • copy-slash

    &#58370;
  • copy-x

    &#58371;
  • copy

    &#57506;
  • copyleft

    &#57507;
  • copyright

    &#57508;
  • corner-down-left

    &#57509;
  • corner-down-right

    &#57510;
  • corner-left-down

    &#57511;
  • corner-left-up

    &#57512;
  • corner-right-down

    &#57513;
  • corner-right-up

    &#57514;
  • corner-up-left

    &#57515;
  • corner-up-right

    &#57516;
  • cpu

    &#57517;
  • creative-commons

    &#58293;
  • credit-card

    &#57518;
  • croissant

    &#58029;
  • crop

    &#57519;
  • cross

    &#57828;
  • crosshair

    &#57520;
  • crown

    &#57813;
  • cuboid

    &#58664;
  • cup-soda

    &#58064;
  • currency

    &#57903;
  • cylinder

    &#58665;
  • dam

    &#58890;
  • database-backup

    &#58286;
  • database-zap

    &#58639;
  • database

    &#57521;
  • delete

    &#57522;
  • dessert

    &#58559;
  • diameter

    &#58666;
  • diamond-minus

    &#58853;
  • diamond-percent

    &#58655;
  • diamond-plus

    &#58854;
  • diamond

    &#58065;
  • dice-1

    &#57990;
  • dice-2

    &#57991;
  • dice-3

    &#57992;
  • dice-4

    &#57993;
  • dice-5

    &#57994;
  • dice-6

    &#57995;
  • dices

    &#58052;
  • diff

    &#58123;
  • disc-2

    &#58362;
  • disc-3

    &#58520;
  • disc-album

    &#58720;
  • disc

    &#57523;
  • divide

    &#57524;
  • dna-off

    &#58263;
  • dna

    &#58262;
  • dock

    &#58839;
  • dog

    &#58256;
  • dollar-sign

    &#57525;
  • donut

    &#58560;
  • door-closed

    &#58328;
  • door-open

    &#58329;
  • dot

    &#58451;
  • download

    &#57526;
  • drafting-compass

    &#58667;
  • drama

    &#58661;
  • dribbble

    &#57527;
  • drill

    &#58769;
  • droplet-off

    &#58940;
  • droplet

    &#57528;
  • droplets

    &#57529;
  • drum

    &#58721;
  • drumstick

    &#57946;
  • dumbbell

    &#58276;
  • ear-off

    &#58246;
  • ear

    &#58245;
  • earth-lock

    &#58832;
  • earth

    &#57842;
  • eclipse

    &#58785;
  • egg-fried

    &#58196;
  • egg-off

    &#58264;
  • egg

    &#57948;
  • ellipsis-vertical

    &#57531;
  • ellipsis

    &#57530;
  • equal-approximately

    &#58936;
  • equal-not

    &#57789;
  • equal

    &#57788;
  • eraser

    &#57998;
  • ethernet-port

    &#58916;
  • euro

    &#57532;
  • expand

    &#57881;
  • external-link

    &#57533;
  • eye-closed

    &#58930;
  • eye-off

    &#57535;
  • eye

    &#57534;
  • facebook

    &#57536;
  • factory

    &#58014;
  • fan

    &#58236;
  • fast-forward

    &#57537;
  • feather

    &#57538;
  • fence

    &#58758;
  • ferris-wheel

    &#58499;
  • figma

    &#57539;
  • file-archive

    &#58124;
  • file-audio-2

    &#58126;
  • file-audio

    &#58125;
  • file-axis-3d

    &#58127;
  • file-badge-2

    &#58129;
  • file-badge

    &#58128;
  • file-box

    &#58130;
  • file-chart-column-increasing

    &#58132;
  • file-chart-column

    &#58131;
  • file-chart-line

    &#58133;
  • file-chart-pie

    &#58134;
  • file-check-2

    &#57542;
  • file-check

    &#57541;
  • file-clock

    &#58135;
  • file-code-2

    &#58466;
  • file-code

    &#57543;
  • file-cog

    &#58136;
  • file-diff

    &#58137;
  • file-digit

    &#57544;
  • file-down

    &#58138;
  • file-heart

    &#58139;
  • file-image

    &#58140;
  • file-input

    &#57545;
  • file-json-2

    &#58223;
  • file-json

    &#58222;
  • file-key-2

    &#58142;
  • file-key

    &#58141;
  • file-lock-2

    &#58144;
  • file-lock

    &#58143;
  • file-minus-2

    &#57547;
  • file-minus

    &#57546;
  • file-music

    &#58722;
  • file-output

    &#57548;
  • file-pen-line

    &#58146;
  • file-pen

    &#58145;
  • file-plus-2

    &#57550;
  • file-plus

    &#57549;
  • file-question

    &#58147;
  • file-scan

    &#58148;
  • file-search-2

    &#58149;
  • file-search

    &#57551;
  • file-sliders

    &#58788;
  • file-spreadsheet

    &#58150;
  • file-stack

    &#58533;
  • file-symlink

    &#58151;
  • file-terminal

    &#58152;
  • file-text

    &#57552;
  • file-type-2

    &#58224;
  • file-type

    &#58153;
  • file-up

    &#58154;
  • file-user

    &#58929;
  • file-video-2

    &#58156;
  • file-video

    &#58155;
  • file-volume-2

    &#58158;
  • file-volume

    &#58157;
  • file-warning

    &#58159;
  • file-x-2

    &#57554;
  • file-x

    &#57553;
  • file

    &#57540;
  • files

    &#57555;
  • film

    &#57556;
  • filter-x

    &#58296;
  • filter

    &#57557;
  • fingerprint

    &#58058;
  • fire-extinguisher

    &#58754;
  • fish-off

    &#58291;
  • fish-symbol

    &#58616;
  • fish

    &#58281;
  • flag-off

    &#58001;
  • flag-triangle-left

    &#57910;
  • flag-triangle-right

    &#57911;
  • flag

    &#57558;
  • flame-kindling

    &#58686;
  • flame

    &#57559;
  • flashlight-off

    &#57561;
  • flashlight

    &#57560;
  • flask-conical-off

    &#58265;
  • flask-conical

    &#57562;
  • flask-round

    &#57563;
  • flip-horizontal-2

    &#58209;
  • flip-horizontal

    &#58208;
  • flip-vertical-2

    &#58211;
  • flip-vertical

    &#58210;
  • flower-2

    &#58067;
  • flower

    &#58066;
  • focus

    &#58013;
  • fold-horizontal

    &#58431;
  • fold-vertical

    &#58432;
  • folder-archive

    &#58160;
  • folder-check

    &#58161;
  • folder-clock

    &#58162;
  • folder-closed

    &#58163;
  • folder-code

    &#58879;
  • folder-cog

    &#58164;
  • folder-dot

    &#58569;
  • folder-down

    &#58165;
  • folder-git-2

    &#58382;
  • folder-git

    &#58381;
  • folder-heart

    &#58166;
  • folder-input

    &#58167;
  • folder-kanban

    &#58570;
  • folder-key

    &#58168;
  • folder-lock

    &#58169;
  • folder-minus

    &#57565;
  • folder-open-dot

    &#58571;
  • folder-open

    &#57926;
  • folder-output

    &#58170;
  • folder-pen

    &#58171;
  • folder-plus

    &#57566;
  • folder-root

    &#58572;
  • folder-search-2

    &#58173;
  • folder-search

    &#58172;
  • folder-symlink

    &#58174;
  • folder-sync

    &#58573;
  • folder-tree

    &#58175;
  • folder-up

    &#58176;
  • folder-x

    &#58177;
  • folder

    &#57564;
  • folders

    &#58178;
  • footprints

    &#58300;
  • forklift

    &#58308;
  • forward

    &#57896;
  • frame

    &#58000;
  • framer

    &#57567;
  • frown

    &#57568;
  • fuel

    &#58030;
  • fullscreen

    &#58680;
  • gallery-horizontal-end

    &#58579;
  • gallery-horizontal

    &#58578;
  • gallery-thumbnails

    &#58580;
  • gallery-vertical-end

    &#58582;
  • gallery-vertical

    &#58581;
  • gamepad-2

    &#57570;
  • gamepad

    &#57569;
  • gauge

    &#57790;
  • gavel

    &#57571;
  • gem

    &#57921;
  • ghost

    &#57869;
  • gift

    &#57572;
  • git-branch-plus

    &#57843;
  • git-branch

    &#57573;
  • git-commit-horizontal

    &#57574;
  • git-commit-vertical

    &#58710;
  • git-compare-arrows

    &#58711;
  • git-compare

    &#58204;
  • git-fork

    &#57996;
  • git-graph

    &#58712;
  • git-merge

    &#57575;
  • git-pull-request-arrow

    &#58713;
  • git-pull-request-closed

    &#58205;
  • git-pull-request-create-arrow

    &#58715;
  • git-pull-request-create

    &#58714;
  • git-pull-request-draft

    &#58206;
  • git-pull-request

    &#57576;
  • github

    &#57577;
  • gitlab

    &#57578;
  • glass-water

    &#58068;
  • glasses

    &#57868;
  • globe-lock

    &#58833;
  • globe

    &#57579;
  • goal

    &#58537;
  • grab

    &#57829;
  • graduation-cap

    &#57907;
  • grape

    &#58197;
  • grid-2x2-check

    &#58856;
  • grid-2x2-plus

    &#58924;
  • grid-2x2-x

    &#58857;
  • grid-2x2

    &#58627;
  • grid-3x3

    &#57580;
  • grip-horizontal

    &#57581;
  • grip-vertical

    &#57582;
  • grip

    &#58292;
  • group

    &#58472;
  • guitar

    &#58723;
  • ham

    &#58843;
  • hammer

    &#57583;
  • hand-coins

    &#58812;
  • hand-heart

    &#58813;
  • hand-helping

    &#58299;
  • hand-metal

    &#57899;
  • hand-platter

    &#58814;
  • hand

    &#57814;
  • handshake

    &#58820;
  • hard-drive-download

    &#58601;
  • hard-drive-upload

    &#58602;
  • hard-drive

    &#57584;
  • hard-hat

    &#57585;
  • hash

    &#57586;
  • haze

    &#57587;
  • hdmi-port

    &#58603;
  • heading-1

    &#58248;
  • heading-2

    &#58249;
  • heading-3

    &#58250;
  • heading-4

    &#58251;
  • heading-5

    &#58252;
  • heading-6

    &#58253;
  • heading

    &#58247;
  • headphone-off

    &#58925;
  • headphones

    &#57588;
  • headset

    &#58817;
  • heart-crack

    &#58069;
  • heart-handshake

    &#58070;
  • heart-off

    &#58004;
  • heart-pulse

    &#58225;
  • heart

    &#57589;
  • heater

    &#58770;
  • hexagon

    &#57590;
  • highlighter

    &#57591;
  • history

    &#57844;
  • hop-off

    &#58267;
  • hop

    &#58266;
  • hospital

    &#58844;
  • hotel

    &#58341;
  • hourglass

    &#58005;
  • house-plug

    &#58868;
  • house-plus

    &#58869;
  • house-wifi

    &#58944;
  • house

    &#57592;
  • ice-cream-bowl

    &#58282;
  • ice-cream-cone

    &#58198;
  • id-card

    &#58907;
  • image-down

    &#58688;
  • image-minus

    &#57845;
  • image-off

    &#57791;
  • image-play

    &#58851;
  • image-plus

    &#57846;
  • image-up

    &#58831;
  • image-upscale

    &#58939;
  • image

    &#57593;
  • images

    &#58824;
  • import

    &#57902;
  • inbox

    &#57594;
  • indent-decrease

    &#57595;
  • indent-increase

    &#57596;
  • indian-rupee

    &#57597;
  • infinity

    &#57830;
  • info

    &#57598;
  • inspection-panel

    &#58759;
  • instagram

    &#57599;
  • italic

    &#57600;
  • iteration-ccw

    &#58407;
  • iteration-cw

    &#58408;
  • japanese-yen

    &#57601;
  • joystick

    &#58200;
  • kanban

    &#58592;
  • key-round

    &#58535;
  • key-square

    &#58536;
  • key

    &#57602;
  • keyboard-music

    &#58724;
  • keyboard-off

    &#58850;
  • keyboard

    &#57987;
  • lamp-ceiling

    &#58072;
  • lamp-desk

    &#58073;
  • lamp-floor

    &#58074;
  • lamp-wall-down

    &#58075;
  • lamp-wall-up

    &#58076;
  • lamp

    &#58071;
  • land-plot

    &#58668;
  • landmark

    &#57913;
  • languages

    &#57603;
  • laptop-minimal-check

    &#58934;
  • laptop-minimal

    &#57815;
  • laptop

    &#57804;
  • lasso-select

    &#57806;
  • lasso

    &#57805;
  • laugh

    &#58111;
  • layers-2

    &#58670;
  • layers

    &#58669;
  • layout-dashboard

    &#57792;
  • layout-grid

    &#57604;
  • layout-list

    &#57816;
  • layout-panel-left

    &#58484;
  • layout-panel-top

    &#58485;
  • layout-template

    &#57862;
  • leaf

    &#58077;
  • leafy-green

    &#58483;
  • lectern

    &#58861;
  • letter-text

    &#58889;
  • library-big

    &#58706;
  • library

    &#57605;
  • life-buoy

    &#57606;
  • ligature

    &#58430;
  • lightbulb-off

    &#57863;
  • lightbulb

    &#57793;
  • link-2-off

    &#57609;
  • link-2

    &#57608;
  • link

    &#57607;
  • linkedin

    &#57610;
  • list-check

    &#58878;
  • list-checks

    &#57807;
  • list-collapse

    &#58783;
  • list-end

    &#58078;
  • list-filter-plus

    &#58941;
  • list-filter

    &#58468;
  • list-minus

    &#57917;
  • list-music

    &#58079;
  • list-ordered

    &#57808;
  • list-plus

    &#57918;
  • list-restart

    &#58454;
  • list-start

    &#58080;
  • list-todo

    &#58567;
  • list-tree

    &#58380;
  • list-video

    &#58081;
  • list-x

    &#57919;
  • list

    &#57611;
  • loader-circle

    &#57613;
  • loader-pinwheel

    &#58858;
  • loader

    &#57612;
  • locate-fixed

    &#57818;
  • locate-off

    &#57985;
  • locate

    &#57817;
  • lock-keyhole-open

    &#58678;
  • lock-keyhole

    &#58677;
  • lock-open

    &#57615;
  • lock

    &#57614;
  • log-in

    &#57616;
  • log-out

    &#57617;
  • logs

    &#58872;
  • lollipop

    &#58561;
  • luggage

    &#58057;
  • magnet

    &#58036;
  • mail-check

    &#58212;
  • mail-minus

    &#58213;
  • mail-open

    &#58214;
  • mail-plus

    &#58215;
  • mail-question

    &#58216;
  • mail-search

    &#58217;
  • mail-warning

    &#58218;
  • mail-x

    &#58219;
  • mail

    &#57618;
  • mailbox

    &#58327;
  • mails

    &#58220;
  • map-pin-check-inside

    &#58900;
  • map-pin-check

    &#58899;
  • map-pin-house

    &#58912;
  • map-pin-minus-inside

    &#58902;
  • map-pin-minus

    &#58901;
  • map-pin-off

    &#58021;
  • map-pin-plus-inside

    &#58904;
  • map-pin-plus

    &#58903;
  • map-pin-x-inside

    &#58906;
  • map-pin-x

    &#58905;
  • map-pin

    &#57620;
  • map-pinned

    &#58689;
  • map-plus

    &#58947;
  • map

    &#57619;
  • mars-stroke

    &#58950;
  • mars

    &#58949;
  • martini

    &#58082;
  • maximize-2

    &#57622;
  • maximize

    &#57621;
  • medal

    &#58226;
  • megaphone-off

    &#58227;
  • megaphone

    &#57908;
  • meh

    &#57623;
  • memory-stick

    &#58441;
  • menu

    &#57624;
  • merge

    &#58435;
  • message-circle-code

    &#58726;
  • message-circle-dashed

    &#58727;
  • message-circle-heart

    &#58728;
  • message-circle-more

    &#58729;
  • message-circle-off

    &#58730;
  • message-circle-plus

    &#58731;
  • message-circle-question

    &#58732;
  • message-circle-reply

    &#58733;
  • message-circle-warning

    &#58734;
  • message-circle-x

    &#58735;
  • message-circle

    &#57625;
  • message-square-code

    &#58736;
  • message-square-dashed

    &#58383;
  • message-square-diff

    &#58737;
  • message-square-dot

    &#58738;
  • message-square-heart

    &#58739;
  • message-square-lock

    &#58928;
  • message-square-more

    &#58740;
  • message-square-off

    &#58741;
  • message-square-plus

    &#58384;
  • message-square-quote

    &#58742;
  • message-square-reply

    &#58743;
  • message-square-share

    &#58744;
  • message-square-text

    &#58745;
  • message-square-warning

    &#58746;
  • message-square-x

    &#58747;
  • message-square

    &#57626;
  • messages-square

    &#58385;
  • mic-off

    &#57628;
  • mic-vocal

    &#58188;
  • mic

    &#57627;
  • microchip

    &#58910;
  • microscope

    &#58083;
  • microwave

    &#58237;
  • milestone

    &#58007;
  • milk-off

    &#58269;
  • milk

    &#58268;
  • minimize-2

    &#57630;
  • minimize

    &#57629;
  • minus

    &#57631;
  • monitor-check

    &#58502;
  • monitor-cog

    &#58887;
  • monitor-dot

    &#58503;
  • monitor-down

    &#58405;
  • monitor-off

    &#57819;
  • monitor-pause

    &#58504;
  • monitor-play

    &#58505;
  • monitor-smartphone

    &#58277;
  • monitor-speaker

    &#57871;
  • monitor-stop

    &#58506;
  • monitor-up

    &#58406;
  • monitor-x

    &#58507;
  • monitor

    &#57632;
  • moon-star

    &#58388;
  • moon

    &#57633;
  • mountain-snow

    &#57905;
  • mountain

    &#57904;
  • mouse-off

    &#58847;
  • mouse-pointer-2

    &#57794;
  • mouse-pointer-ban

    &#58859;
  • mouse-pointer-click

    &#57635;
  • mouse-pointer

    &#57634;
  • mouse

    &#57997;
  • move-3d

    &#58084;
  • move-diagonal-2

    &#57796;
  • move-diagonal

    &#57795;
  • move-down-left

    &#58513;
  • move-down-right

    &#58514;
  • move-down

    &#58512;
  • move-horizontal

    &#57797;
  • move-left

    &#58515;
  • move-right

    &#58516;
  • move-up-left

    &#58518;
  • move-up-right

    &#58519;
  • move-up

    &#58517;
  • move-vertical

    &#57798;
  • move

    &#57636;
  • music-2

    &#58189;
  • music-3

    &#58190;
  • music-4

    &#58191;
  • music

    &#57637;
  • navigation-2-off

    &#58022;
  • navigation-2

    &#57639;
  • navigation-off

    &#58023;
  • navigation

    &#57638;
  • network

    &#57640;
  • newspaper

    &#58187;
  • nfc

    &#58310;
  • non-binary

    &#58951;
  • notebook-pen

    &#58778;
  • notebook-tabs

    &#58779;
  • notebook-text

    &#58780;
  • notebook

    &#58777;
  • notepad-text-dashed

    &#58782;
  • notepad-text

    &#58781;
  • nut-off

    &#58271;
  • nut

    &#58270;
  • octagon-alert

    &#57642;
  • octagon-minus

    &#58923;
  • octagon-pause

    &#57882;
  • octagon-x

    &#57643;
  • octagon

    &#57641;
  • omega

    &#58909;
  • option

    &#57847;
  • orbit

    &#58346;
  • origami

    &#58855;
  • package-2

    &#58179;
  • package-check

    &#57957;
  • package-minus

    &#57958;
  • package-open

    &#58059;
  • package-plus

    &#57959;
  • package-search

    &#57960;
  • package-x

    &#57961;
  • package

    &#57644;
  • paint-bucket

    &#58085;
  • paint-roller

    &#58786;
  • paintbrush-vertical

    &#58087;
  • paintbrush

    &#58086;
  • palette

    &#57820;
  • panel-bottom-close

    &#58417;
  • panel-bottom-dashed

    &#58418;
  • panel-bottom-open

    &#58419;
  • panel-bottom

    &#58416;
  • panel-left-close

    &#57883;
  • panel-left-dashed

    &#58420;
  • panel-left-open

    &#57884;
  • panel-left

    &#57645;
  • panel-right-close

    &#58422;
  • panel-right-dashed

    &#58423;
  • panel-right-open

    &#58424;
  • panel-right

    &#58421;
  • panel-top-close

    &#58426;
  • panel-top-dashed

    &#58427;
  • panel-top-open

    &#58428;
  • panel-top

    &#58425;
  • panels-left-bottom

    &#57646;
  • panels-right-bottom

    &#58764;
  • panels-top-left

    &#57647;
  • paperclip

    &#57648;
  • parentheses

    &#58440;
  • parking-meter

    &#58628;
  • party-popper

    &#58182;
  • pause

    &#57649;
  • paw-print

    &#58617;
  • pc-case

    &#58442;
  • pen-line

    &#57651;
  • pen-off

    &#58866;
  • pen-tool

    &#57652;
  • pen

    &#57650;
  • pencil-line

    &#58612;
  • pencil-off

    &#58867;
  • pencil-ruler

    &#58613;
  • pencil

    &#57848;
  • pentagon

    &#58671;
  • percent

    &#57653;
  • person-standing

    &#57885;
  • philippine-peso

    &#58888;
  • phone-call

    &#57655;
  • phone-forwarded

    &#57656;
  • phone-incoming

    &#57657;
  • phone-missed

    &#57658;
  • phone-off

    &#57659;
  • phone-outgoing

    &#57660;
  • phone

    &#57654;
  • pi

    &#58486;
  • piano

    &#58725;
  • pickaxe

    &#58826;
  • picture-in-picture-2

    &#58290;
  • picture-in-picture

    &#58289;
  • piggy-bank

    &#57661;
  • pilcrow-left

    &#58848;
  • pilcrow-right

    &#58849;
  • pilcrow

    &#58278;
  • pill-bottle

    &#58862;
  • pill

    &#58304;
  • pin-off

    &#58037;
  • pin

    &#57944;
  • pipette

    &#57662;
  • pizza

    &#58199;
  • plane-landing

    &#58320;
  • plane-takeoff

    &#58321;
  • plane

    &#57821;
  • play

    &#57663;
  • plug-2

    &#58243;
  • plug-zap

    &#58464;
  • plug

    &#58242;
  • plus

    &#57664;
  • pocket-knife

    &#58532;
  • pocket

    &#57665;
  • podcast

    &#57849;
  • pointer-off

    &#58755;
  • pointer

    &#57831;
  • popcorn

    &#58562;
  • popsicle

    &#58563;
  • pound-sterling

    &#57666;
  • power-off

    &#57864;
  • power

    &#57667;
  • presentation

    &#58546;
  • printer-check

    &#58873;
  • printer

    &#57668;
  • projector

    &#58547;
  • proportions

    &#58835;
  • puzzle

    &#58011;
  • pyramid

    &#58672;
  • qr-code

    &#57822;
  • quote

    &#57912;
  • rabbit

    &#58618;
  • radar

    &#58523;
  • radiation

    &#58438;
  • radical

    &#58822;
  • radio-receiver

    &#57850;
  • radio-tower

    &#58376;
  • radio

    &#57669;
  • radius

    &#58673;
  • rail-symbol

    &#58629;
  • rainbow

    &#58566;
  • rat

    &#58351;
  • ratio

    &#58604;
  • receipt-cent

    &#58793;
  • receipt-euro

    &#58794;
  • receipt-indian-rupee

    &#58795;
  • receipt-japanese-yen

    &#58796;
  • receipt-pound-sterling

    &#58797;
  • receipt-russian-ruble

    &#58798;
  • receipt-swiss-franc

    &#58799;
  • receipt-text

    &#58800;
  • receipt

    &#58326;
  • rectangle-ellipsis

    &#57886;
  • rectangle-horizontal

    &#58233;
  • rectangle-vertical

    &#58234;
  • recycle

    &#58088;
  • redo-2

    &#58015;
  • redo-dot

    &#58452;
  • redo

    &#57670;
  • refresh-ccw-dot

    &#58550;
  • refresh-ccw

    &#57671;
  • refresh-cw-off

    &#58524;
  • refresh-cw

    &#57672;
  • refrigerator

    &#58238;
  • regex

    &#57851;
  • remove-formatting

    &#58294;
  • repeat-1

    &#57852;
  • repeat-2

    &#58389;
  • repeat

    &#57673;
  • replace-all

    &#58335;
  • replace

    &#58334;
  • reply-all

    &#57898;
  • reply

    &#57897;
  • rewind

    &#57674;
  • ribbon

    &#58716;
  • rocket

    &#57989;
  • rocking-chair

    &#57906;
  • roller-coaster

    &#58500;
  • rotate-3d

    &#58089;
  • rotate-ccw-square

    &#58836;
  • rotate-ccw

    &#57675;
  • rotate-cw-square

    &#58837;
  • rotate-cw

    &#57676;
  • route-off

    &#58691;
  • route

    &#58690;
  • router

    &#58306;
  • rows-2

    &#58429;
  • rows-3

    &#58766;
  • rows-4

    &#58767;
  • rss

    &#57677;
  • ruler

    &#57678;
  • russian-ruble

    &#57679;
  • sailboat

    &#58241;
  • salad

    &#58283;
  • sandwich

    &#58284;
  • satellite-dish

    &#58444;
  • satellite

    &#58443;
  • save-all

    &#58387;
  • save-off

    &#58871;
  • save

    &#57680;
  • scale-3d

    &#58090;
  • scale

    &#57873;
  • scaling

    &#58091;
  • scan-barcode

    &#58681;
  • scan-eye

    &#58682;
  • scan-face

    &#58228;
  • scan-heart

    &#58942;
  • scan-line

    &#57943;
  • scan-qr-code

    &#58874;
  • scan-search

    &#58683;
  • scan-text

    &#58684;
  • scan

    &#57942;
  • school

    &#58342;
  • scissors-line-dashed

    &#58605;
  • scissors

    &#57681;
  • screen-share-off

    &#57683;
  • screen-share

    &#57682;
  • scroll-text

    &#58467;
  • scroll

    &#58092;
  • search-check

    &#58542;
  • search-code

    &#58543;
  • search-slash

    &#58544;
  • search-x

    &#58545;
  • search

    &#57684;
  • section

    &#58860;
  • send-horizontal

    &#58614;
  • send-to-back

    &#58615;
  • send

    &#57685;
  • separator-horizontal

    &#57799;
  • separator-vertical

    &#57800;
  • server-cog

    &#58180;
  • server-crash

    &#57832;
  • server-off

    &#57833;
  • server

    &#57686;
  • settings-2

    &#57924;
  • settings

    &#57687;
  • shapes

    &#58551;
  • share-2

    &#57689;
  • share

    &#57688;
  • sheet

    &#57690;
  • shell

    &#58619;
  • shield-alert

    &#57853;
  • shield-ban

    &#57692;
  • shield-check

    &#57854;
  • shield-ellipsis

    &#58650;
  • shield-half

    &#58651;
  • shield-minus

    &#58652;
  • shield-off

    &#57693;
  • shield-plus

    &#58653;
  • shield-question

    &#58386;
  • shield-user

    &#58955;
  • shield-x

    &#57855;
  • shield

    &#57691;
  • ship-wheel

    &#58630;
  • ship

    &#58301;
  • shirt

    &#57801;
  • shopping-bag

    &#57694;
  • shopping-basket

    &#58606;
  • shopping-cart

    &#57695;
  • shovel

    &#57696;
  • shower-head

    &#58239;
  • shrink

    &#57887;
  • shrub

    &#58093;
  • shuffle

    &#57697;
  • sigma

    &#57856;
  • signal-high

    &#57951;
  • signal-low

    &#57952;
  • signal-medium

    &#57953;
  • signal-zero

    &#57954;
  • signal

    &#57950;
  • signature

    &#58870;
  • signpost-big

    &#58693;
  • signpost

    &#58692;
  • siren

    &#58094;
  • skip-back

    &#57698;
  • skip-forward

    &#57699;
  • skull

    &#57888;
  • slack

    &#57700;
  • slash

    &#58657;
  • slice

    &#58095;
  • sliders-horizontal

    &#58009;
  • sliders-vertical

    &#57701;
  • smartphone-charging

    &#57901;
  • smartphone-nfc

    &#58311;
  • smartphone

    &#57702;
  • smile-plus

    &#58112;
  • smile

    &#57703;
  • snail

    &#58620;
  • snowflake

    &#57704;
  • sofa

    &#58051;
  • soup

    &#58285;
  • space

    &#58336;
  • spade

    &#58525;
  • sparkle

    &#58498;
  • sparkles

    &#58390;
  • speaker

    &#57705;
  • speech

    &#58658;
  • spell-check-2

    &#58527;
  • spell-check

    &#58526;
  • spline

    &#58254;
  • split

    &#58436;
  • spray-can

    &#58521;
  • sprout

    &#57834;
  • square-activity

    &#58552;
  • square-arrow-down-left

    &#58553;
  • square-arrow-down-right

    &#58554;
  • square-arrow-down

    &#58411;
  • square-arrow-left

    &#58412;
  • square-arrow-out-down-left

    &#58789;
  • square-arrow-out-down-right

    &#58790;
  • square-arrow-out-up-left

    &#58791;
  • square-arrow-out-up-right

    &#58792;
  • square-arrow-right

    &#58413;
  • square-arrow-up-left

    &#58555;
  • square-arrow-up-right

    &#58556;
  • square-arrow-up

    &#58414;
  • square-asterisk

    &#57707;
  • square-bottom-dashed-scissors

    &#58607;
  • square-chart-gantt

    &#57708;
  • square-check-big

    &#57709;
  • square-check

    &#58717;
  • square-chevron-down

    &#58322;
  • square-chevron-left

    &#58323;
  • square-chevron-right

    &#58324;
  • square-chevron-up

    &#58325;
  • square-code

    &#57710;
  • square-dashed-bottom-code

    &#58565;
  • square-dashed-bottom

    &#58564;
  • square-dashed-kanban

    &#57711;
  • square-dashed-mouse-pointer

    &#58637;
  • square-dashed

    &#57802;
  • square-divide

    &#57712;
  • square-dot

    &#57713;
  • square-equal

    &#57714;
  • square-function

    &#57900;
  • square-kanban

    &#57715;
  • square-library

    &#58707;
  • square-m

    &#58631;
  • square-menu

    &#58455;
  • square-minus

    &#57716;
  • square-mouse-pointer

    &#57857;
  • square-parking-off

    &#58319;
  • square-parking

    &#58318;
  • square-pen

    &#57717;
  • square-percent

    &#58656;
  • square-pi

    &#58508;
  • square-pilcrow

    &#58511;
  • square-play

    &#58501;
  • square-plus

    &#57718;
  • square-power

    &#58709;
  • square-radical

    &#58823;
  • square-round-corner

    &#58956;
  • square-scissors

    &#58608;
  • square-sigma

    &#58509;
  • square-slash

    &#57719;
  • square-split-horizontal

    &#58297;
  • square-split-vertical

    &#58298;
  • square-square

    &#58898;
  • square-stack

    &#58534;
  • square-terminal

    &#57865;
  • square-user-round

    &#58474;
  • square-user

    &#58473;
  • square-x

    &#57720;
  • square

    &#57706;
  • squircle

    &#58750;
  • squirrel

    &#58531;
  • stamp

    &#58302;
  • star-half

    &#57866;
  • star-off

    &#58031;
  • star

    &#57721;
  • step-back

    &#58348;
  • step-forward

    &#58349;
  • stethoscope

    &#58096;
  • sticker

    &#58113;
  • sticky-note

    &#58114;
  • store

    &#58343;
  • stretch-horizontal

    &#57979;
  • stretch-vertical

    &#57980;
  • strikethrough

    &#57722;
  • subscript

    &#57947;
  • sun-dim

    &#58008;
  • sun-medium

    &#58032;
  • sun-moon

    &#58033;
  • sun-snow

    &#58229;
  • sun

    &#57723;
  • sunrise

    &#57724;
  • sunset

    &#57725;
  • superscript

    &#57949;
  • swatch-book

    &#58787;
  • swiss-franc

    &#57726;
  • switch-camera

    &#57727;
  • sword

    &#58034;
  • swords

    &#58035;
  • syringe

    &#58097;
  • table-2

    &#58104;
  • table-cells-merge

    &#58827;
  • table-cells-split

    &#58828;
  • table-columns-split

    &#58829;
  • table-of-contents

    &#58914;
  • table-properties

    &#58591;
  • table-rows-split

    &#58830;
  • table

    &#57728;
  • tablet-smartphone

    &#58638;
  • tablet

    &#57729;
  • tablets

    &#58305;
  • tag

    &#57730;
  • tags

    &#58207;
  • tally-1

    &#58586;
  • tally-2

    &#58587;
  • tally-3

    &#58588;
  • tally-4

    &#58589;
  • tally-5

    &#58590;
  • tangent

    &#58674;
  • target

    &#57731;
  • telescope

    &#58825;
  • tent-tree

    &#58687;
  • tent

    &#57894;
  • terminal

    &#57732;
  • test-tube-diagonal

    &#58378;
  • test-tube

    &#58377;
  • test-tubes

    &#58379;
  • text-cursor-input

    &#57956;
  • text-cursor

    &#57955;
  • text-quote

    &#58530;
  • text-search

    &#58801;
  • text-select

    &#58337;
  • text

    &#58350;
  • theater

    &#58662;
  • thermometer-snowflake

    &#57734;
  • thermometer-sun

    &#57735;
  • thermometer

    &#57733;
  • thumbs-down

    &#57736;
  • thumbs-up

    &#57737;
  • ticket-check

    &#58802;
  • ticket-minus

    &#58803;
  • ticket-percent

    &#58804;
  • ticket-plus

    &#58805;
  • ticket-slash

    &#58806;
  • ticket-x

    &#58807;
  • ticket

    &#57870;
  • tickets-plane

    &#58919;
  • tickets

    &#58918;
  • timer-off

    &#57928;
  • timer-reset

    &#57909;
  • timer

    &#57823;
  • toggle-left

    &#57738;
  • toggle-right

    &#57739;
  • toilet

    &#58937;
  • tornado

    &#57879;
  • torus

    &#58675;
  • touchpad-off

    &#58446;
  • touchpad

    &#58445;
  • tower-control

    &#58303;
  • toy-brick

    &#58186;
  • tractor

    &#58632;
  • traffic-cone

    &#58633;
  • train-front-tunnel

    &#58635;
  • train-front

    &#58634;
  • train-track

    &#58636;
  • tram-front

    &#58024;
  • transgender

    &#58952;
  • trash-2

    &#57741;
  • trash

    &#57740;
  • tree-deciduous

    &#58098;
  • tree-palm

    &#57984;
  • tree-pine

    &#58099;
  • trees

    &#58100;
  • trello

    &#57742;
  • trending-down

    &#57743;
  • trending-up-down

    &#58921;
  • trending-up

    &#57744;
  • triangle-alert

    &#57746;
  • triangle-dashed

    &#58945;
  • triangle-right

    &#58609;
  • triangle

    &#57745;
  • trophy

    &#58230;
  • truck

    &#57747;
  • turtle

    &#58621;
  • tv-minimal-play

    &#58864;
  • tv-minimal

    &#57858;
  • tv

    &#57748;
  • twitch

    &#57749;
  • twitter

    &#57750;
  • type-outline

    &#58886;
  • type

    &#57751;
  • umbrella-off

    &#58695;
  • umbrella

    &#57752;
  • underline

    &#57753;
  • undo-2

    &#58016;
  • undo-dot

    &#58453;
  • undo

    &#57754;
  • unfold-horizontal

    &#58433;
  • unfold-vertical

    &#58434;
  • ungroup

    &#58475;
  • university

    &#58344;
  • unlink-2

    &#57756;
  • unlink

    &#57755;
  • unplug

    &#58465;
  • upload

    &#57757;
  • usb

    &#58201;
  • user-check

    &#57759;
  • user-cog

    &#58181;
  • user-minus

    &#57760;
  • user-pen

    &#58880;
  • user-plus

    &#57761;
  • user-round-check

    &#58477;
  • user-round-cog

    &#58478;
  • user-round-minus

    &#58479;
  • user-round-pen

    &#58881;
  • user-round-plus

    &#58480;
  • user-round-search

    &#58748;
  • user-round-x

    &#58481;
  • user-round

    &#58476;
  • user-search

    &#58749;
  • user-x

    &#57762;
  • user

    &#57758;
  • users-round

    &#58482;
  • users

    &#57763;
  • utensils-crossed

    &#58102;
  • utensils

    &#58101;
  • utility-pole

    &#58309;
  • variable

    &#58487;
  • vault

    &#58771;
  • vegan

    &#58272;
  • venetian-mask

    &#58025;
  • venus-and-mars

    &#58954;
  • venus

    &#58953;
  • vibrate-off

    &#58012;
  • vibrate

    &#57890;
  • video-off

    &#57765;
  • video

    &#57764;
  • videotape

    &#58575;
  • view

    &#57766;
  • voicemail

    &#57767;
  • volleyball

    &#58931;
  • volume-1

    &#57769;
  • volume-2

    &#57770;
  • volume-off

    &#58922;
  • volume-x

    &#57771;
  • volume

    &#57768;
  • vote

    &#58288;
  • wallet-cards

    &#58576;
  • wallet-minimal

    &#58577;
  • wallet

    &#57859;
  • wallpaper

    &#58447;
  • wand-sparkles

    &#58202;
  • wand

    &#57925;
  • warehouse

    &#58345;
  • washing-machine

    &#58772;
  • watch

    &#57772;
  • waves-ladder

    &#58943;
  • waves

    &#57986;
  • waypoints

    &#58694;
  • webcam

    &#57860;
  • webhook-off

    &#58811;
  • webhook

    &#58231;
  • weight

    &#58676;
  • wheat-off

    &#58274;
  • wheat

    &#58273;
  • whole-word

    &#58338;
  • wifi-high

    &#58875;
  • wifi-low

    &#58876;
  • wifi-off

    &#57774;
  • wifi-zero

    &#58877;
  • wifi

    &#57773;
  • wind-arrow-down

    &#58933;
  • wind

    &#57775;
  • wine-off

    &#58275;
  • wine

    &#58103;
  • workflow

    &#58409;
  • worm

    &#58846;
  • wrap-text

    &#57927;
  • wrench

    &#57776;
  • x

    &#57777;
  • youtube

    &#57778;
  • zap-off

    &#57780;
  • zap

    &#57779;
  • zoom-in

    &#57781;
  • zoom-out

    &#57782;
  • +
+
+ + + + + \ No newline at end of file diff --git a/third_party/shadcn_flutter/icons/radix/iconly.css b/third_party/shadcn_flutter/icons/radix/iconly.css new file mode 100644 index 00000000..7e14e83b --- /dev/null +++ b/third_party/shadcn_flutter/icons/radix/iconly.css @@ -0,0 +1,1356 @@ +/*! + * Iconly icon font. Generated by Iconly: https://iconly.io/ + */ + +@font-face { + font-display: auto; + font-family: "Iconly"; + font-style: normal; + font-weight: 400; + src: url("./iconly.eot?1722967062274"); + src: url("./iconly.eot?#iefix") format("embedded-opentype"), url("./iconly.woff2?1722967062274") format("woff2"), url("./iconly.woff?1722967062274") format("woff"), url("./iconly.ttf?1722967062274") format("truetype"), url("./iconly.svg?1722967062274#Iconly") format("svg"); +} + +[class="icon"], [class^="icon-"], [class*=" icon-"] { + display: inline-block; + font-family: "Iconly" !important; + font-weight: 400; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; +} + +.icon-zoom-out:before { + content: "\e000"; +} + +.icon-zoom-in:before { + content: "\e001"; +} + +.icon-width:before { + content: "\e002"; +} + +.icon-view-vertical:before { + content: "\e003"; +} + +.icon-view-none:before { + content: "\e004"; +} + +.icon-view-horizontal:before { + content: "\e005"; +} + +.icon-view-grid:before { + content: "\e006"; +} + +.icon-video:before { + content: "\e007"; +} + +.icon-vercel-logo:before { + content: "\e008"; +} + +.icon-value:before { + content: "\e009"; +} + +.icon-value-none:before { + content: "\e00a"; +} + +.icon-upload:before { + content: "\e00b"; +} + +.icon-update:before { + content: "\e00c"; +} + +.icon-underline:before { + content: "\e00d"; +} + +.icon-twitter-logo:before { + content: "\e00e"; +} + +.icon-triangle-up:before { + content: "\e00f"; +} + +.icon-triangle-right:before { + content: "\e010"; +} + +.icon-triangle-left:before { + content: "\e011"; +} + +.icon-triangle-down:before { + content: "\e012"; +} + +.icon-trash:before { + content: "\e013"; +} + +.icon-transparency-grid:before { + content: "\e014"; +} + +.icon-transform:before { + content: "\e015"; +} + +.icon-track-previous:before { + content: "\e016"; +} + +.icon-track-next:before { + content: "\e017"; +} + +.icon-tokens:before { + content: "\e018"; +} + +.icon-timer:before { + content: "\e019"; +} + +.icon-thick-arrow-up:before { + content: "\e01a"; +} + +.icon-thick-arrow-right:before { + content: "\e01b"; +} + +.icon-thick-arrow-left:before { + content: "\e01c"; +} + +.icon-thick-arrow-down:before { + content: "\e01d"; +} + +.icon-text:before { + content: "\e01e"; +} + +.icon-text-none:before { + content: "\e01f"; +} + +.icon-text-align-top:before { + content: "\e020"; +} + +.icon-text-align-right:before { + content: "\e021"; +} + +.icon-text-align-middle:before { + content: "\e022"; +} + +.icon-text-align-left:before { + content: "\e023"; +} + +.icon-text-align-justify:before { + content: "\e024"; +} + +.icon-text-align-center:before { + content: "\e025"; +} + +.icon-text-align-bottom:before { + content: "\e026"; +} + +.icon-target:before { + content: "\e027"; +} + +.icon-table:before { + content: "\e028"; +} + +.icon-symbol:before { + content: "\e029"; +} + +.icon-switch:before { + content: "\e02a"; +} + +.icon-sun:before { + content: "\e02b"; +} + +.icon-strikethrough:before { + content: "\e02c"; +} + +.icon-stretch-vertically:before { + content: "\e02d"; +} + +.icon-stretch-horizontally:before { + content: "\e02e"; +} + +.icon-stopwatch:before { + content: "\e02f"; +} + +.icon-stop:before { + content: "\e030"; +} + +.icon-stitches-logo:before { + content: "\e031"; +} + +.icon-star:before { + content: "\e032"; +} + +.icon-star-filled:before { + content: "\e033"; +} + +.icon-stack:before { + content: "\e034"; +} + +.icon-square:before { + content: "\e035"; +} + +.icon-speaker-quiet:before { + content: "\e036"; +} + +.icon-speaker-off:before { + content: "\e037"; +} + +.icon-speaker-moderate:before { + content: "\e038"; +} + +.icon-speaker-loud:before { + content: "\e039"; +} + +.icon-space-evenly-vertically:before { + content: "\e03a"; +} + +.icon-space-evenly-horizontally:before { + content: "\e03b"; +} + +.icon-space-between-vertically:before { + content: "\e03c"; +} + +.icon-space-between-horizontally:before { + content: "\e03d"; +} + +.icon-slider:before { + content: "\e03e"; +} + +.icon-slash:before { + content: "\e03f"; +} + +.icon-sketch-logo:before { + content: "\e040"; +} + +.icon-size:before { + content: "\e041"; +} + +.icon-shuffle:before { + content: "\e042"; +} + +.icon-share-2:before { + content: "\e043"; +} + +.icon-share-1:before { + content: "\e044"; +} + +.icon-shadow:before { + content: "\e045"; +} + +.icon-shadow-outer:before { + content: "\e046"; +} + +.icon-shadow-none:before { + content: "\e047"; +} + +.icon-shadow-inner:before { + content: "\e048"; +} + +.icon-sewing-pin:before { + content: "\e049"; +} + +.icon-sewing-pin-solid:before { + content: "\e04a"; +} + +.icon-sewing-pin-filled:before { + content: "\e04b"; +} + +.icon-section:before { + content: "\e04c"; +} + +.icon-scissors:before { + content: "\e04d"; +} + +.icon-ruler-square:before { + content: "\e04e"; +} + +.icon-ruler-horizontal:before { + content: "\e04f"; +} + +.icon-rows:before { + content: "\e050"; +} + +.icon-row-spacing:before { + content: "\e051"; +} + +.icon-rotate-counter-clockwise:before { + content: "\e052"; +} + +.icon-rocket:before { + content: "\e053"; +} + +.icon-resume:before { + content: "\e054"; +} + +.icon-reset:before { + content: "\e055"; +} + +.icon-reload:before { + content: "\e056"; +} + +.icon-reader:before { + content: "\e057"; +} + +.icon-radiobutton:before { + content: "\e058"; +} + +.icon-quote:before { + content: "\e059"; +} + +.icon-question-mark:before { + content: "\e05a"; +} + +.icon-question-mark-circled:before { + content: "\e05b"; +} + +.icon-plus:before { + content: "\e05c"; +} + +.icon-plus-circled:before { + content: "\e05d"; +} + +.icon-play:before { + content: "\e05e"; +} + +.icon-pin-top:before { + content: "\e05f"; +} + +.icon-pin-right:before { + content: "\e060"; +} + +.icon-pin-left:before { + content: "\e061"; +} + +.icon-pin-bottom:before { + content: "\e062"; +} + +.icon-pilcrow:before { + content: "\e063"; +} + +.icon-pie-chart:before { + content: "\e064"; +} + +.icon-person:before { + content: "\e065"; +} + +.icon-pencil-2:before { + content: "\e066"; +} + +.icon-pencil-1:before { + content: "\e067"; +} + +.icon-pause:before { + content: "\e068"; +} + +.icon-paper-plane:before { + content: "\e069"; +} + +.icon-padding:before { + content: "\e06a"; +} + +.icon-overline:before { + content: "\e06b"; +} + +.icon-outer-shadow:before { + content: "\e06c"; +} + +.icon-open-in-new-window:before { + content: "\e06d"; +} + +.icon-opacity:before { + content: "\e06e"; +} + +.icon-notion-logo:before { + content: "\e06f"; +} + +.icon-move:before { + content: "\e070"; +} + +.icon-moon:before { + content: "\e071"; +} + +.icon-modulz-logo:before { + content: "\e072"; +} + +.icon-mobile:before { + content: "\e073"; +} + +.icon-mixer-vertical:before { + content: "\e074"; +} + +.icon-mixer-horizontal:before { + content: "\e075"; +} + +.icon-mix:before { + content: "\e076"; +} + +.icon-minus:before { + content: "\e077"; +} + +.icon-minus-circled:before { + content: "\e078"; +} + +.icon-mask-on:before { + content: "\e079"; +} + +.icon-mask-off:before { + content: "\e07a"; +} + +.icon-margin:before { + content: "\e07b"; +} + +.icon-magnifying-glass:before { + content: "\e07c"; +} + +.icon-magic-wand:before { + content: "\e07d"; +} + +.icon-loop:before { + content: "\e07e"; +} + +.icon-lock-open-2:before { + content: "\e07f"; +} + +.icon-lock-open-1:before { + content: "\e080"; +} + +.icon-lock-closed:before { + content: "\e081"; +} + +.icon-list-bullet:before { + content: "\e082"; +} + +.icon-linkedin-logo:before { + content: "\e083"; +} + +.icon-link-none-2:before { + content: "\e084"; +} + +.icon-link-none-1:before { + content: "\e085"; +} + +.icon-link-break-2:before { + content: "\e086"; +} + +.icon-link-break-1:before { + content: "\e087"; +} + +.icon-link-2:before { + content: "\e088"; +} + +.icon-link-1:before { + content: "\e089"; +} + +.icon-line-height:before { + content: "\e08a"; +} + +.icon-lightning-bolt:before { + content: "\e08b"; +} + +.icon-letter-spacing:before { + content: "\e08c"; +} + +.icon-letter-case-uppercase:before { + content: "\e08d"; +} + +.icon-letter-case-toggle:before { + content: "\e08e"; +} + +.icon-letter-case-lowercase:before { + content: "\e08f"; +} + +.icon-letter-case-capitalize:before { + content: "\e090"; +} + +.icon-layout:before { + content: "\e091"; +} + +.icon-layers:before { + content: "\e092"; +} + +.icon-laptop:before { + content: "\e093"; +} + +.icon-lap-timer:before { + content: "\e094"; +} + +.icon-keyboard:before { + content: "\e095"; +} + +.icon-justify-stretch:before { + content: "\e096"; +} + +.icon-justify-start:before { + content: "\e097"; +} + +.icon-justify-end:before { + content: "\e098"; +} + +.icon-justify-center:before { + content: "\e099"; +} + +.icon-instagram-logo:before { + content: "\e09a"; +} + +.icon-input:before { + content: "\e09b"; +} + +.icon-inner-shadow:before { + content: "\e09c"; +} + +.icon-info-circled:before { + content: "\e09d"; +} + +.icon-image:before { + content: "\e09e"; +} + +.icon-id-card:before { + content: "\e09f"; +} + +.icon-iconjar-logo:before { + content: "\e0a0"; +} + +.icon-home:before { + content: "\e0a1"; +} + +.icon-hobby-knife:before { + content: "\e0a2"; +} + +.icon-height:before { + content: "\e0a3"; +} + +.icon-heart:before { + content: "\e0a4"; +} + +.icon-heart-filled:before { + content: "\e0a5"; +} + +.icon-heading:before { + content: "\e0a6"; +} + +.icon-hand:before { + content: "\e0a7"; +} + +.icon-hamburger-menu:before { + content: "\e0a8"; +} + +.icon-half-2:before { + content: "\e0a9"; +} + +.icon-half-1:before { + content: "\e0aa"; +} + +.icon-group:before { + content: "\e0ab"; +} + +.icon-grid:before { + content: "\e0ac"; +} + +.icon-globe:before { + content: "\e0ad"; +} + +.icon-github-logo:before { + content: "\e0ae"; +} + +.icon-gear:before { + content: "\e0af"; +} + +.icon-framer-logo:before { + content: "\e0b0"; +} + +.icon-frame:before { + content: "\e0b1"; +} + +.icon-font-style:before { + content: "\e0b2"; +} + +.icon-font-size:before { + content: "\e0b3"; +} + +.icon-font-roman:before { + content: "\e0b4"; +} + +.icon-font-italic:before { + content: "\e0b5"; +} + +.icon-font-family:before { + content: "\e0b6"; +} + +.icon-font-bold:before { + content: "\e0b7"; +} + +.icon-file:before { + content: "\e0b8"; +} + +.icon-file-text:before { + content: "\e0b9"; +} + +.icon-file-plus:before { + content: "\e0ba"; +} + +.icon-file-minus:before { + content: "\e0bb"; +} + +.icon-figma-logo:before { + content: "\e0bc"; +} + +.icon-face:before { + content: "\e0bd"; +} + +.icon-eye-open:before { + content: "\e0be"; +} + +.icon-eye-none:before { + content: "\e0bf"; +} + +.icon-eye-closed:before { + content: "\e0c0"; +} + +.icon-external-link:before { + content: "\e0c1"; +} + +.icon-exit:before { + content: "\e0c2"; +} + +.icon-exit-full-screen:before { + content: "\e0c3"; +} + +.icon-exclamation-triangle:before { + content: "\e0c4"; +} + +.icon-eraser:before { + content: "\e0c5"; +} + +.icon-envelope-open:before { + content: "\e0c6"; +} + +.icon-envelope-closed:before { + content: "\e0c7"; +} + +.icon-enter:before { + content: "\e0c8"; +} + +.icon-enter-full-screen:before { + content: "\e0c9"; +} + +.icon-dropdown-menu:before { + content: "\e0ca"; +} + +.icon-drawing-pin:before { + content: "\e0cb"; +} + +.icon-drawing-pin-solid:before { + content: "\e0cc"; +} + +.icon-drawing-pin-filled:before { + content: "\e0cd"; +} + +.icon-drag-handle-vertical:before { + content: "\e0ce"; +} + +.icon-drag-handle-horizontal:before { + content: "\e0cf"; +} + +.icon-drag-handle-dots-2:before { + content: "\e0d0"; +} + +.icon-drag-handle-dots-1:before { + content: "\e0d1"; +} + +.icon-download:before { + content: "\e0d2"; +} + +.icon-double-arrow-up:before { + content: "\e0d3"; +} + +.icon-double-arrow-right:before { + content: "\e0d4"; +} + +.icon-double-arrow-left:before { + content: "\e0d5"; +} + +.icon-double-arrow-down:before { + content: "\e0d6"; +} + +.icon-dots-vertical:before { + content: "\e0d7"; +} + +.icon-dots-horizontal:before { + content: "\e0d8"; +} + +.icon-dot:before { + content: "\e0d9"; +} + +.icon-dot-solid:before { + content: "\e0da"; +} + +.icon-dot-filled:before { + content: "\e0db"; +} + +.icon-divider-vertical:before { + content: "\e0dc"; +} + +.icon-divider-horizontal:before { + content: "\e0dd"; +} + +.icon-discord-logo:before { + content: "\e0de"; +} + +.icon-disc:before { + content: "\e0df"; +} + +.icon-dimensions:before { + content: "\e0e0"; +} + +.icon-desktop:before { + content: "\e0e1"; +} + +.icon-dashboard:before { + content: "\e0e2"; +} + +.icon-dash:before { + content: "\e0e3"; +} + +.icon-cursor-text:before { + content: "\e0e4"; +} + +.icon-cursor-arrow:before { + content: "\e0e5"; +} + +.icon-cube:before { + content: "\e0e6"; +} + +.icon-crumpled-paper:before { + content: "\e0e7"; +} + +.icon-crosshair-2:before { + content: "\e0e8"; +} + +.icon-crosshair-1:before { + content: "\e0e9"; +} + +.icon-cross-circled:before { + content: "\e0ea"; +} + +.icon-cross-2:before { + content: "\e0eb"; +} + +.icon-cross-1:before { + content: "\e0ec"; +} + +.icon-crop:before { + content: "\e0ed"; +} + +.icon-counter-clockwise-clock:before { + content: "\e0ee"; +} + +.icon-countdown-timer:before { + content: "\e0ef"; +} + +.icon-corners:before { + content: "\e0f0"; +} + +.icon-corner-top-right:before { + content: "\e0f1"; +} + +.icon-corner-top-left:before { + content: "\e0f2"; +} + +.icon-corner-bottom-right:before { + content: "\e0f3"; +} + +.icon-corner-bottom-left:before { + content: "\e0f4"; +} + +.icon-copy:before { + content: "\e0f5"; +} + +.icon-cookie:before { + content: "\e0f6"; +} + +.icon-container:before { + content: "\e0f7"; +} + +.icon-component-placeholder:before { + content: "\e0f8"; +} + +.icon-component-none:before { + content: "\e0f9"; +} + +.icon-component-instance:before { + content: "\e0fa"; +} + +.icon-component-boolean:before { + content: "\e0fb"; +} + +.icon-component-2:before { + content: "\e0fc"; +} + +.icon-component-1:before { + content: "\e0fd"; +} + +.icon-commit:before { + content: "\e0fe"; +} + +.icon-columns:before { + content: "\e0ff"; +} + +.icon-column-spacing:before { + content: "\e100"; +} + +.icon-color-wheel:before { + content: "\e101"; +} + +.icon-codesandbox-logo:before { + content: "\e102"; +} + +.icon-code:before { + content: "\e103"; +} + +.icon-clock:before { + content: "\e104"; +} + +.icon-clipboard:before { + content: "\e105"; +} + +.icon-clipboard-copy:before { + content: "\e106"; +} + +.icon-circle:before { + content: "\e107"; +} + +.icon-circle-backslash:before { + content: "\e108"; +} + +.icon-chevron-up:before { + content: "\e109"; +} + +.icon-chevron-right:before { + content: "\e10a"; +} + +.icon-chevron-left:before { + content: "\e10b"; +} + +.icon-chevron-down:before { + content: "\e10c"; +} + +.icon-checkbox:before { + content: "\e10d"; +} + +.icon-check:before { + content: "\e10e"; +} + +.icon-check-circled:before { + content: "\e10f"; +} + +.icon-chat-bubble:before { + content: "\e110"; +} + +.icon-caret-up:before { + content: "\e111"; +} + +.icon-caret-sort:before { + content: "\e112"; +} + +.icon-caret-right:before { + content: "\e113"; +} + +.icon-caret-left:before { + content: "\e114"; +} + +.icon-caret-down:before { + content: "\e115"; +} + +.icon-card-stack:before { + content: "\e116"; +} + +.icon-card-stack-plus:before { + content: "\e117"; +} + +.icon-card-stack-minus:before { + content: "\e118"; +} + +.icon-camera:before { + content: "\e119"; +} + +.icon-calendar:before { + content: "\e11a"; +} + +.icon-button:before { + content: "\e11b"; +} + +.icon-box:before { + content: "\e11c"; +} + +.icon-box-model:before { + content: "\e11d"; +} + +.icon-border-width:before { + content: "\e11e"; +} + +.icon-border-top:before { + content: "\e11f"; +} + +.icon-border-style:before { + content: "\e120"; +} + +.icon-border-split:before { + content: "\e121"; +} + +.icon-border-solid:before { + content: "\e122"; +} + +.icon-border-right:before { + content: "\e123"; +} + +.icon-border-none:before { + content: "\e124"; +} + +.icon-border-left:before { + content: "\e125"; +} + +.icon-border-dotted:before { + content: "\e126"; +} + +.icon-border-dashed:before { + content: "\e127"; +} + +.icon-border-bottom:before { + content: "\e128"; +} + +.icon-border-all:before { + content: "\e129"; +} + +.icon-bookmark:before { + content: "\e12a"; +} + +.icon-bookmark-filled:before { + content: "\e12b"; +} + +.icon-blending-mode:before { + content: "\e12c"; +} + +.icon-bell:before { + content: "\e12d"; +} + +.icon-bar-chart:before { + content: "\e12e"; +} + +.icon-badge:before { + content: "\e12f"; +} + +.icon-backpack:before { + content: "\e130"; +} + +.icon-avatar:before { + content: "\e131"; +} + +.icon-aspect-ratio:before { + content: "\e132"; +} + +.icon-arrow-up:before { + content: "\e133"; +} + +.icon-arrow-top-right:before { + content: "\e134"; +} + +.icon-arrow-top-left:before { + content: "\e135"; +} + +.icon-arrow-right:before { + content: "\e136"; +} + +.icon-arrow-left:before { + content: "\e137"; +} + +.icon-arrow-down:before { + content: "\e138"; +} + +.icon-arrow-bottom-right:before { + content: "\e139"; +} + +.icon-arrow-bottom-left:before { + content: "\e13a"; +} + +.icon-archive:before { + content: "\e13b"; +} + +.icon-angle:before { + content: "\e13c"; +} + +.icon-all-sides:before { + content: "\e13d"; +} + +.icon-align-vertical-centers:before { + content: "\e13e"; +} + +.icon-align-top:before { + content: "\e13f"; +} + +.icon-align-stretch:before { + content: "\e140"; +} + +.icon-align-start:before { + content: "\e141"; +} + +.icon-align-right:before { + content: "\e142"; +} + +.icon-align-left:before { + content: "\e143"; +} + +.icon-align-horizontal-centers:before { + content: "\e144"; +} + +.icon-align-end:before { + content: "\e145"; +} + +.icon-align-center:before { + content: "\e146"; +} + +.icon-align-center-vertically:before { + content: "\e147"; +} + +.icon-align-center-horizontally:before { + content: "\e148"; +} + +.icon-align-bottom:before { + content: "\e149"; +} + +.icon-align-baseline:before { + content: "\e14a"; +} + +.icon-activity-log:before { + content: "\e14b"; +} + +.icon-accessibility:before { + content: "\e14c"; +} diff --git a/third_party/shadcn_flutter/icons/radix/iconly.woff b/third_party/shadcn_flutter/icons/radix/iconly.woff new file mode 100644 index 0000000000000000000000000000000000000000..7504fb52bd0bae86fbc155bfe82421f0d89653ef GIT binary patch literal 38384 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�BzaDnN#9NaN)$6yR6n& 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
    9%ry#d=- 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 bwjq|e5}viDSm}Lm#9*;ahM(JDdr|x!1#o1B literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-BlackItalic.otf b/third_party/shadcn_flutter/lib/fonts/Geist-BlackItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..8d6f49b5f11cec0133e9098b2014c7829be3ae3a GIT binary patch literal 134924 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-Bold.otf b/third_party/shadcn_flutter/lib/fonts/Geist-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..a7bf791b5808b8a33247d894ca82541b98a6c8e8 GIT binary patch literal 133824 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%0AFP`+VDg!1JZ5z413B9!xb zM2MQis7+$5brI@&kvs`e>q4xrb1@zf%GYxQ-$AhlzJMb_xLAn@jZ@#_yc~h6i6dcs zvNlOn3!Csn)hHsu)E>fAB*Lr+sx8A*l)_Y$!c-)}R3yT<_7D+fMZyYG?JrF2JCa86d)!q};CW+Q3_4N?GiC9Nahw+1&PvD!VwOr*BbvAe#>u}We zoQZg4xY}R1IsxHof8pu`L|QpSt&35g!qxGGtNlc(uSZ&6SBIiX{D^S1%W#$Qkt&hH z)nP`ea}=&pH{AMUZK4h{T%~n{+CzleLxhT8gcU)xWrT`Sgo;vxibRAujS(sm5mqFu zFxCDd)ZQbkC|R3WpRD7vf>tq$R6$3opd(e#kya>HT+|*SRXo*gB_c{~Qb)zQjtV+P zg%YFI#i@01>g)09Xyetwc(rA`+A=|H(pW_|QEifFeNyYfIVV`>gy&UsB1>?EswP^8 zpmIp7GTWDa6a`I$r5FP^e;Fip!$&nUn&CzHR(p`_;I zW-~Y}WsrEvVX+*C#xo2a%P@#MaRWS(J= zS%yL8DTmB*DrA=9kXeS&CzP*KOgPa(BRSDRqB(g(qB(g(qB(g(qB(g(qIt`ZXlqMO z-jHZc-jHZMogvYDIz#I4)fW=a*(*eqSRtG(!$P>E!$gImGDV2W6d@{8gm9(^35g5I z7&;&$EhnjTlAf2AT#%N>x2ykIQ?l`Zw7ksRRCeseZ9J80NC|PB)KV_mQgX9$b9gR4 zEjzRLDJ?52a{!*pcvaev6lC%e+0@*@>PrI))A9>4tq^Pv_S!PNGlil|5j(jdLcuA? z`Drhy`X6s`tZ;Ji#GEi7IWH|IE3I!qaB@}wf5_vEi%)$}^G&l=@rP1X{nH9cR^nr+ zYWthPgEKM<(n`NyTvh@~sX{v}wKTmD587$jx%MvY1@?wGppeAyCRu6u`Bqlob6?{5 z&x>DHTaq`}iiir2$XC#t(y z40KpX6xOE}rWE8CW@n>fo12q|T3t$V7EWhDW^z_)X5YTNVR)2nEI7LiJe%|6yu94O zg#$RgF?IM8C#hNx%?lWJs?Ra}na#WU9L1megB=S`p8poG? zXdD;Op?SW z&+)M>E9*-!#WkFDi@|ZNM+L_QQ{0Y?$PPO)p$R*JWU+YM#lKb=_&~$ zYKN`^?TaD_#xgNx)_Ek1GDL?-YpG#nMKl%WU@?N@xi3=gTp4>Bpa*?stVjAhh% zzD0+JB(P~yOZd)3_rdd6 z{{&9!)ROs*1$nvs(?WwILqigB2Mpz$>K7Ig7U9<^Bh8Or=lHeD%k7tzQs5U?SdfvM zm+zNRP%t3BZhB@xMq!^|B+H<*Jd|tc{OSj{^@3omQr~13K|BYC*xim3-dZx>tvPT3 zZ-=yaLtBf~N8gTCq&?|QQt*CG#yha3|nR3-Q+F znDCwOh~M?q5);MO#XjN?ag6w$I7j?QTqAB4f6=tiz?DiM199Lj@=wbInH-nvF;6fkB7X`Pzmi zhSr7@!(hV*gKSuA*oZdxuMOWBEUtQ2U)NCA#;#pmGtvJ3j_U`m%Urj*?r=TkdfD}w z>(8#gxoO;7+`Qc?xz%=ybc=Iq?bgk$uUkG^<7Kz$Zj0PjxovgZ?{>oNB3k8tbhEgN z?gkUxO9f@GR^Qf#_E%im`shv6^uw{=mz$G({IMonsZ&W2l?FU+srE08VP{Ndmi;6R?V%|j^OpQ`6-MsVZmzS=rY!VQh zl~5N^x_n^u$z|quA|&d=URFNSMy2;@(>ZV5H@@^3KH~+I=|mhAeGQgcvwZY(eJI{Y z>Jx9$U>bbpHq}$7v!P0`65KdkaWWe$Kh;LEJklP!bv#V^RU1HqB&CWL3FV-@O>0O> zHO%+$F<5Q}FzVG}J!+A#wW+gGn>DNU;9FXLu6c@&(%^R_VhkeqgAydsD%u|ql)tuR zSgTu-e($>VyLP9q>)JIvy<7KnefOI2&DIotp>fO2O87J>U}V=0f!+#fa);KUHBSCO zrJMV^gv~S4uxS!)kX`+r(#Bg!R>~>WltIb}YF2z{7wqYg_V`U7rK(o1Xm)qU5$m-< z?;h!*H@)d&l6_43eP~~={fPG6Bm2I8*BqhkIWccYig!xh!tE2y5m7#Oy%CE#G)Sp~ zBeGK9kxBssX`)(A0liX-2GYrT(*Pesj*r1~|Ja`EH#=>QNFFeJ=t%SD?|rgzyZ6c^ zqYB?O-<&BO8{K1VjJIOw7_OKUk0Wg#n5SMer4Iaf!`tQ!Z!i6Dz4xY%3;U!E%u7M! zzufrQ&3DYP+TN2#jvnkidhE1W!Q*#e@uU|Vl<$gqNd~PlL75;O@u3rxiIU!QXzP|khmubF6b_%ac*(qZOBT-? zUN~s@@Ihuh?c=rHM^81e+N8p{d(Cu8ich4XxvtD}(3|eqDU{DBG;rbeNj3^?Te)oO z)~ru@C1vF%C9NE=)vULazvWZpob033Q&)P?^pmArU2Vty8Et%X5g{c%=xoddaqrS-?#73ygvPh%>H9iev z9(W^L*8lA)eT_nkvr4y(X2s#7eoOXM*u8o6=_@;W#7+05fzu`GHzM$7rLnhCuSSGo zR9wzTF>1){^=X9^oIVm@`c8?w3j`mf8#!E`zObRt=E5;_Z=uYkRwL6ah` zd99C9mr9jrGh7*T0-Y!+L0aXQa-1Glj!TBS4%FvFJQD>i;uRmW;k=h6AKC0{%Vi}H zmsG$EDQRT-pl;qxdTqKk$!u|1p{33EvS>%EOMKONQcY2J#Yx{O;w|$9?WU>oW-aud zqo%jP9{*%^f+lFf$4NtBxCSfw(pp!CEMY9bWhBwrdaPCC8(;QC|UKc7of z+~$~zW_85nLu)IpG=a85p=P9$eU69!GyPSoXoojzSHs&tcaBDB_uZji z@3z~iH2B!u)kms4{ZbJ$H_@BN9=vZ;&at@K_$XK3!gAtSQPSxr}Jw=N!%lT|P*te$uN~E-v3s25d81-OHJ-2jV=XcGsm1YvHtsP2x zPdL|iW8)8AJOAOHV@N4ejc=3?U*$NX)I}5RN_`wIZ_aGhx_5fKSwG0fpj3}`IGEe% z(+1v3x!MZgUud46(b!?hbSgoGsDcv6lHe{MR$Us-M~Z};P$3dTGIwS zeN019>Tdi-X|0_zbKbfIzT1{aM^>y_b+p3iUb_M!y7Y`0=X-miv}xLcdF#AaEf_j5 zXUv#>!_9BxOA)=HQxhyR$bmpJraRNs83=>-4G5{H>X%yba@#*`l;m zXX#FLMco-{v?K0yO1M^WDVnUfStd)$Yg)w>^9Gg=*BZPPm-au?%GCVXBWnD9bGHU_ z%rx|Ui3aET-&0U|8lbo;kxIIfPT4RE&H7nhG*OFM&mZa{p6fV&~?WglMFF)k{)y~&r8@$o8L6f8vpN}ys!MIhJX5Nja@!p1#Tly&6 z(uXhc(JQs5N%3#?$!zZ(+xzohf8BEA!of`$&1aZtZN$F(@G4&^{@zNAAJaq`a|K#@ zYiV8F+S$C-!wtWvHx0xcAjtveV~*0?GDlL9aI2}R{fXZENx3P}YFZj@SuH66+F<2* z4fMevs<>aiOOx`vuLS##YX)}+8Lc$JDBQ=)NNWrd{@^8HCk!AYN~9FtHn4#YjE4vO$h z8jXTJ6AuKKDw+5gMX80l7gwy8~?`O-y|g&pJHfl zv)-F}T2B*I@H7#jU+mLB(R_vK)FB@w3$+=4WvDWgdf{G}W!A5+?9cYHrED*2H#Cdw zWjlIP9ox&Y2IF3)?}f|!Syw!99O>Y*#=&5@Wx9LVs<%!mtGE7iao45pbd&;L`Op>) zVV6v|s7_LJ4u%hLUDdMGMu1ya#hZPvV%9;cICpGQ$vj?v|?Xma5 z#eKWapV6Dv_~_5=-9^O;)HCq9Qb(yZ9N8MO$le2b>}) zQ*d099B2m=8~VLId;8q<)o)6b_F3tZWv7oGb(_n$A}=dJn6}`GlVPV1oq}9j1$ABA z3)OSy9a@9FP4j}Oo6<#zs8j6kopVrFqSQmhyYu6Irn;AXnmg!~@ls@7ulGy7aw!*R9*VD}8-eWb^aGO*E2<-_daD7jOs9o=Aav+N(SE{P=-+ zIsHVUAw~7|x2Psvn>%9GDzjyeQmg2cLk&Hy7vQJnh7_qtqs{uQ%TdS3`6Q`V4(b@o zQOD44Q%ia!sU>)5FkRK2p$S)gBs?}MrXn}RWO0*}U>r&o^+JttC>^SJQGX>%e;ipj zNK2WLdW;@tDytqbjitiZ)cbaqqd^~=^=Upd0~dX$b}tQ(=u+)oB|y?|wB&y6qu=HA zi}vTwzIgP3dA%h_(l6gp;b`y8m22vkKJIR^1U>C;3C3+kzh?e7KFRv6?c4WCYTtfa z??dL}8a&vevlYibQR5t&Lu+K(N1l|W^)vV?9%)fmf*>MJcR^)X$of4uT7 z)8n2FPrEA?NslUzfXZD11*oVu{i@whH{jl&#Y0*gnYAL01gObuLkN6a!`aAf)NGeb3k8ca+IJ)KRFH<4M0v* zM~{9CI3SM*92Lm#1WpjZ*x&?0EChon$PF<^i^12|0xM#P-Oum=&E z5<#OyCu{);)dB#=eohcv0K+c?gNR`pf`@=6J;6jU`~m%?0m;&a2o(g3H4uDQ05Dt< z1z&696WGct(p@Mj@Vr5uZ)&O&}eBtN{UoUUER#2jXiW&IC;b&};&!8b~WZ z>kQgA!9fIvHJ}Rw-7?Toa7+is%iz=+oTh@)ZO|uz{$p@9fpZ=>9|f1H;IbSHt-!D! z43EKeD7e)Gx5MDx2atU{=72E-jEBL~5j@`n&s!J)0H)qxdJjyWgO?e+dV$we@Y)0A zDnhxrQ0^L(uLtE9LisE3S`5543trm^ul))Yf}lbHRM-R+ioiP(yvKw06{r{i6~6$V zK=7FfzMkMa7tEnxUJrhaz;7Q^>H(FjLgjPdUjzInK@~TsG7^_NRDBz&m4j-tp?VNh zKMpnChnlsa<|(L^0JR1}t9Yl)c1$_$Du(>K*`#07Bq^2MkgS) zFT~!5xIqxFg?J3ltN;n)A>j}-9uA3KkoXBSsRd0YLsJtp9ShB>L$gKDJOG*>g%-o1 zB?jYapw%8|{T8&T4{aVm+r7|kIkf)-It+ylkDy~a=(rC$#XzSk(76+IJ_21DLzhd? zbtt@UfYwr$4Br+4S3@c^!x~Vxk9hrj8&7)K<{@Txf%392Hy=S zqaZZ`QYS!a5u{~8+Hy!c2x*U?Zy@x26Z#&2z7HY2GNiA7jOviF4Kh6-vl(Pghs@j1 zuNw3l5B+XKe{blY3jNnXmJ4L{gsfYT-4L?ZLQZwa`4Dn3X!imPh=u`cVPGH(+zEMM zkhdN3BO(6`6ikQ0_E2~V1|`Cvy=*BD?h1o9!w_E>vH*sLz|a#gY&HxJhv8>o#2YYT zGmNYXBWJ;=P#CoaMmxjk(J;mUW2V5^nlN@gjH?9W7Qvf!;LTewemRW43={le!dRGa z2PSrhiCbafW0({VlNP~b4NM*clh4AGe3-HlrcijRHM}(s-r5DS7s%7#?TYaBPIzY! zO!bAShv40@@SY#M_Zdu^1n>8T=`CUUL735=iO&ya!ps1ec^+oE5Az$q{C%)sFf7!=!qc#*JS-Xqi;ltKj)hr;GHu%$X|Sq@t(z}B~6D`uX-w#Kk+Ic$%H z?Q>v<4t9)z9TavhfSp%iS7+F@8g?6CcLMC50lV+Pp6;+`4eU7zdmF;u*|5(E_GQDq z)v&)R>`#ULkKjNrIPe2}HU$oP!og{9a0?v#1rAk$Lm6=BOE}yJ4)28{UE#<^_`DH( zJ_J6$1xLf+Xf_<(gOPV|tR)d3$IN2XguE8xAPIZ7& zv*6V4@I?ZA@d14C6i&Ymr!T^p9&qL|oNWzf55hSS&UJ@#o8Zd;_;MYbcY^bC;erQT zmL72vA^`06HH#)!UlaCsMe?FwIygs-o`mHu$$7F?YN zS8u{Mt>K%&7<35Vc7bnq!Zi=LHUzG1hU?|w`X_Mx7r2oEH}1gADsb~O+kpA+FhHF$6semMyb*TJu$ z@arh}^%^`1gh%hfZ@%zb2K;sze(wdp&js29=vlDDgJlR)A%q38>E+76!1f~Q6BtPq~9hUd-T`F?o*4Jv5_Zw-aEMEIJBTZpC~kuVtX z9pbQr=q3~06XF<59N#8RF2t!haav3C)rr0*(LW~6gNXB8;!=gUj3)+(7+Mj-r^K}u zaZM(!Pl?+g;x?4HjUaBDh}#du-AvqLh!yh#w(-jfvk%QmGTEG?`S|ODa)P zIg$8RCskZXm2RYJOHxfwsyg02BxoQB#z6J$r1n5k`yL7DMMBPz(AP=maT4Z0!u&~CG6_3O!hR>=9Z2{H z626RtUnLQqBqEhW)*z8@lgKqB@&bt(K%%yjs9#B)C{kw#sk4bh`;+MFB<6ckw>+sE zN9tyhx(i9&)1;nA>P3=z{Yky~q~2+~F(&m}llt>X{pX}XG-*&k8k{E$BS^yx(r_MW z_yuVskVes@(L~Z{J!$kMY4nuDRwl8nNbCR-JBP&XC9zLPTo{SVC2`-7gnW{)o+KP4 z2{%c?Gt#&`X&gryr<2ChNaG!(@gtI0g(Sw3#GWK^C`nvK68DqD+oXvTY0{W9d7m_S zNSYc*(=gJs3u!uxG(AR|RV2-#NV5*4SuSbz7HPJOH2aJ+yGELakmfx}^LI$|6{PuL z()S(eC>jAynYOb?`+Ea9@Gq$pb?Wf+}nqG`%jNnt;9D&2~YbgLv6 zU6zWP=bC6L-6B!e)Ubc?AR0j3ElmcKg^!zw3uO}xl_mA?h$)^PX&8c?!7Px?WNA`S z6Vvx}ne@G~tmL~FXbt{4-Hj$hs+A>vL0T1Gy#1`|KZ1DiY7DLJfhZa8Tgc=0O?TxZ z``-Ot7a>c=M-zLZ(MQ&$$axDVZr2&_W8u3&N4ngVb;?gq-~UJ5U7$hg0J=S?Wxb`9 zC4NmSOD)4Byr@;yJwqe^KcbBdG}7jgEFHTgvHN6MQZJN|M$7&o3%DIqEOc zHjn4vEg~`mb&(WInR%sDL6OHZkAFCT>MCu{u*r3hC4R|O4G~X$R^=Z-{EiB2YKz{a zdyS81*5f7Uj=(S%Bn4BY+cQ^_(egKFtz_S#HEn#1kh7Hm)WtaD1L&s;E9mwQnfJ034)vFOoAdGrilAl5gf5EpcBV0 z94B=4$@3>g`uy=E(;<1=7Wt4)KGbV#ds)|B?v*6B*U8MLBJ1Sirb2ndJbAHBUNU#y z5?QxIo;zGF)X9TJ3@=1Je)#lADa!6+3lW*`#S5_*hikO5;&UsERtdP}LEB!Soi7+~ zkFkV5UTiuiZ~E+=o4QzBK;Ms<+#4^}W!)%w?6l#tbjDxC3|x$+Pg&PQ?$hb52;Bv2 zbaTwqO?YW3>*mNGOqe@b_i-U!oyfYPYEKvc4a_WpOg%rMt_!FKT6R1Y59;AzSxf_s zo7m*A)!gYT8Yt04nA;>Pfs!SgF@mS0oM&l_MEA4QLsEEJN1`Xy`l1{7Ml0&Bc$j46 zD4P9|<0I%%$*@eOZnVYcZMe0`&Eq`UzbBz1gDVX(UOta~9>a#Q@(;&lT3#osH<3Ey zE_N3wU)Ra%Z6r>>a%{%#BW2o9qRz5(N!~tCZl{ykwIo)vdr6tLkZ1s+vExg5SAV&! zPG%RBvd(a5IQ6s)qn>0l4HYfSMAuqIkB;RuPRBetMh2iq2f`q7lRGl4g`IM@4q10o z-rr?jn2vdNWYY%BvjbZt%gnb!RtD*0n|nuzE;gXxWxdd&Wd!g0&m#ZRZiCcr)5?g; z%Cgjoi_6cS)%`E}S4Mn!VP6;ey8j>xrJf!*beem`c*^3)Zq($@*2w2{^6s1s&8F#Q z&X;K9?0Y{gqmi8I#%nhEd9^?H-xgX;BM;7ChBJzBGSE&=bLBtfe*u=yxJZL-vt7kL+bCsPqEglhXZsbv zN3>BPJAO+ly*8D`{|5Xq>cY04Xs)0cf2aQcOG7h0QP!i5_K(MNk~*^v7tq?MRZV8A zy*8ULTiAPpdMa0y3m%!BF5yNTm>wx0RBP!E3Nz)hoSn%wUWQPG7gu}$8ea9 zRE;dwVt72altva?Mk9Oh0*&m(i#0Oibx;mIo%{F5bOrYZ8iyXQU6`8kI8x+pVY1CH z39K}snGzGE;F&}`a0$(lSKmpe^gpws|;CjSHf_+$NeW4owovL zGU8pj|Bd`)ikm7!Vynfi^x<@8nZxPU2>ao5?9&hJ_zr&wzB^w%z8h!|(~}ssduT=( zNs0$Wb>G~FYKV=Pqh5mCp8py-yNXo$fPD1-3^#OM(XB4aY`99iXtn#sZ%Z=V-j~qm z+gCuNCdydTO<6kplO&@fh!g3I;^gvYyg@-(R%E&1rbtn%cIYFZ3WNAQJ zuOaMA<|4PZ2@~dVC+ohKH+P%UfD4mc8qA#Tu+;#Wx!uW1Itml3=N$@@Z72k{qww84 zm}|33RMm@eIk;V-%%rDa%AT3cjim~r#mXtB_-q656BW@DwFBSb5RCB()3jd%$1-0! zhqCa#OhqXHGgsux91xb&=a5U6H0DiEf}UlHYz>qAlZsXid(VhGGnnCqMj8IJle%zA z>rc%3*N-XVFGA^MLo0G#Jm_(EP8$36U~OxlWBERS)qKc=2GM>v>;l`ct?euep7t{t zccJd{>u;#V>SRj~m5fC_B)L{f&t|f&xty}&tp_^h$^MQKa#xXP49<+TZ)VHHk%?EW zdXCMM*^F5-*;s7&*xRdG>QKA%Dy>9LveBT-duYA$$f5oz8&hZ?`|&qE$UzO!c-Lmd zGd{H2@r>8)g*RBC@s^@t*1Q*>a~-9^Idq;1MDs-;4K_YFhho8a%XaWHK43>bV_A7fH9;$eCo6}K|&RVy8vzAe-x^mZuD z-7TEEHL6MO!T-?6jCafEWVe`3R)(gROQ>6g7tqeM=z{U{F|-eATVKi>ZT7FzW$j-# z;E(pN!%*7(wX_i9PtY!i+E#hgwn~kyJ2Ix_-e9szWl6Ngppg07{AY#2_|FE&Qr|ia zYQPb$sCZ`A`RAa6?4ao-JHO&?`^ajLV2f5{7Ky*z#q2*WT$(1Gzb;ulPZ2P>o=R5V zQ+#61r!qaJiZu0Yt56YXlQL?G-K?af*;dov0nWDdGd8($l6u)i%U=gVdol;q7j4QB z%;0g^F0w57Y!RRV^J`2ks-QJk+x(emdFgv}7u_Ipk!M`b&Mz;3Z#+#uS2nOCtm;*V zdqe~q^Dd4Vla?P+FXMxkysi4yGNEv!l*WMz(}p--;$>f_10`DVq$K}>etOMu%(GN6 zt6Y}VqYv8Z^SCkZKCn73_0r8%WP5d-5g1&pjWQ(5po&l0~>&)IJ0j` za{925>9Q^eANm;8IwVEeckSJ;m zww|n(c-|R3S4M1qz@+wn+dDTitG(x{lKl_r*q2PO|Cd^eqqJ+_;gMh9 z@+!%kjv4n_pU|DUCn?w_H%02UwA~!k-AgT3$2CDmTk1ZipP;dwM{vu!_42B5%ZBNc z8AU`IvSI8l`LK?*S0rz>AVVdH_= zQsc9R$ovg)WNC+z55rLG#(kFO_8%A8m>mj?n=M|$O}FK9EA}4H84Kkmk|l?&Mo-B& zNMQ$JX81qAQnbeL6i>satSt(Q`eLpLUV(Kzkgy^YXCqBkycIvZn&iT>A_nxNTCp|C zZGV-iuhrt_iL+Z?K2%v&%-GVmy}wc(={^Y$!&4B~H0xE%J9tlJ+W;`y1mBQwYkzo4 zrd1G5l`1!thS=wNEDcm{}aTp6T@vXeI)!i9i#ni5k^Yc5X?y zH6@+rc))L#X*zzWAX3Rguz9lLVzUEe(btq<+E>=?mA6h`Iaj9` zADI-B+<_u&6Qbhv8O4wsq?JkjOwr=Tq?5x7JEW%Rx}KI44_W$2agjz%95Dqw6by@T zoU`#xt*e!IGfNI~HouxaCodiNZfBhuP%29pQ7Wk+r8*W;$}hZmP$^=GR#PPEMI>rh zb_*w6mN#e0t#mSrE-l@e^|lA?v3RMtqKrIK=Gc@ejC*6Z~<){rhvVATvUCnB>hiQufzZ041_-QeDV3?z2VfuGKzYTlX&|4fCh;eM2_M9@^4qs zn*mu$4f)sckbij}UXNqYzpT3=@8~f-PRHW@M^HZ&_m4bKPp%OmD@I(PYVf~~2mj06 zbutV8mvyz}9y>;V%k3sJQI@bT03d7F5McY99ft)a`2tUsE7`X8{{^X_Vx(eT$SLUD zb&Y98|CiWV{TRAb9b|coE-{R34X#c@AC*(|2ky#nu%s))Jju9*2F$qowM^arvl%rm z{6MLAGl&KZ<4z8zSXf^vCx@&OP7YhRlSA>$mn1UIJem{G&8@T@?EC+78gpa5eQlhe zUPu4$S4a5EZ22dc*}&!}akPZsuw+W|g>|2zTN-87m_|ytBv+Pxl%*^3u1vX&PHx*X zgPE6Ia6eK!C5kC+EI+s+Q$OSlG5(C=yHH0P(=gmp%1O#agwa3_jgplRouT34LHM-^ zPeStZ_p(Y+wo-TASpb>IQ17m zkQKCGyD^9k_-z&yBI}>Ia;N~y*;XVDwUi&nC?>l96gj?x_VV#~Fkop{(Pt2cv`&@= z_L9&=$N0$3ze7i5%es>M%bj#i%OzLY;+2wd+e$?CrQ}d$J{th*uoCJzLHHSs%4o6u zAC#Q%^dghp#s}(^4q9*V1Z%t0S;q8<9|n`dXiZd^eTxGbJ*uTiSZfVsd3& zh}>mAt<(!?t?L}V&K(_2Y%4H(Uv~X{_7E! z;-5a&K5YE+;zR4d?(;U@93qv+&7f;$j6(w7r@dZuI7Ms0zvxQI!fxy-?S?a73i;1g01P~~v z*p=hI>yceAa+>unBes-E?1J$h0-vSM>#WCt;w+rjL_{9HZG)d_;2*ca`NOZA4 z;1hmV16|_yhc&Pz|FT9e6#^a47U6h=!LB0ca*4iWX~Hea_%Wpo>?Qm``!bb_nn(uq zCB_EodvBK%lc>OD0yRp`Io|5nB1P<1$$t$XyJ4n2c*Tqt%y_;0i29T@ z#+Ho{G2Sh{SN>~#unAR>Ud%@Sq8sDC2B_p61+8MgyS3;_Ur^ZZZfzG7|Mc$me_<74 z)6bV#){D#V-VLozOhZ^X@k$p|QZsKCKSqp8~MK8Sxr2SuZN46S| zIdjl0(Pl@RiX^dtrE~agll3EEID59QgvsCGVT*q!43A<+sbbq18YC~tyEEmMI+=Yi z3{~UH`R zQ#b5ob}^;5Z3SasP@uROmoS=>`4V=*lx_PO^|{EIF)FTN_KcbU-s?#Q`|E7VI0VX_ zF-k7wRybe(6e!AihSnD-9#F!UKDXfNRt#)G|09H%-}z4DM}M2-$6TQC-ogJR{FPzM z`P|wio>8q-GX7GQPUubaLP|0Ja~g)94hzEm9?-C|Qbot4iVgl<8~n1+UksbMpR2Rb z&MHuC{^uQ;`}sd26!Sg5PWLK>4BhKxjv7hK^Zf53Yjr+nb{!9fZ40a8`Ca5b`e9ke z^K-IpbBVY^{J~6K2W&?f%?$B!05Emv-v@t&CImk7Z05 zrSbjUj_+^(1-@2)ZacP5XeO=*)#6&(Z~7dwxR%DP$d22SSB4uC^XN2PYCfH*R}<@$ zK7GNIKCz?m^cA5||7CX8l2dKD~YG(fbta1>UmDBx$eWnGe- zrJ{fz-M!0C_pET#b{ z8ZZ2TJiX*>l{_oh3}I()|J}|?N50@>Fi(QtXaMy^*M5|e(@a}s`-CJhp0G~{_BaM7 z#1?>1_!3Y5&9B1K-|mU+?~zNZCDFhnTFv-q+rOV3^*gty6_)WcW=jJZLBvnAvt?l? z!5?_C5&uwb2>`|JVw{#A(CWu%^_kpNidpHm%F9*$#&1S4a^|QLh+mFWm)M`xS4MK9 zZM38h&8u>9vtKIsb2B(cIt{g^`&524NdK7$@XzgkR-+ylR#!P0#b`Nj@zt z9F$c|H2k#_e~FWkzsI2xL*yS-{}+1%|JJ%)q5Qn8K50`XOKFm&kYOq}?x6vABRA%M z4Y&&%uuXYA{g?VGxoKNv;qNq{p-q*rcwnD@CJ*0Y8&ql4;+|a*`ten5;Fb?@hxm}X z)5CZOd4k`6HmFveom9pMLP( zfZb-&T=Z$!_3y4UjUy~R^Guf4P>M49TiL_A?H;`3ku+xX!&;Pt53;nU#A7`ggS*mN z#u>D5G+t1iT)*s~&KNPfDgJ*ovTl+5(bO4Jb;dX3htddH8Z3{UF0a6&M@#IC|JOBm z((seR+6-2lbnJhx`CvEx?=`aSu)HcmPSn}|0~Hois59atrb7Q0dYweh+C#A#0y^=;t1XBYa(@~*s0xeHv7(VG5gL; zkd-Rf9y>-;!eungQgt-*UVAj*h>kVKGFN;OH`vJjl;DnF=vPO?k9C0lzcLXnpkwJk z2u!RYylzY{h^;x#O?;r;OO&n(xup|3ihITPOqhaTm*vwuI91or z{NOiOKslTi&_vq6P!XEe_+##(?NL4g1NEyqdO;etV#|boCeq&dt-EyMk)7yshSvgGU-&;@rZO`iU8oIR`q+8Re zzN)1T-A{QqPG`~z*!^h^Cc*AM6q7J97-aO!+gSc9#DD9Uv?9JPE3Kh#s!rQ1-`5^! zq?0QF##`+?^3{3Etmo8eABjJyW(%^C**)rKd_*}goID9;w@&Oy02`Y+wRN&?1o9J` z<`{l)FPGsr4oTJF&kjj(_+sO*C)we}?fHjz9}(K_j@4UO^aV2%Bm#$7AHu_L%Sk1& z>V*#XA&z{)?;T$CLZP}+Lt3G(6a^8q3>$Mz(TKTO4OXP8UPgl}<$3LXE!rt$${2-WBV-Tn-#u(@zPz>!LKZ4ybt50TC}S&PO-EZCemelirNwB zMA0Dls%Ar^mNyFgerZPS#_wg0MS+7HnCir0zlirxOKpx+e zsRPMTYSJaPy6(?i&U2-WNM}{U%k$QU_)~>H3qN>{E5~_wZGt#!tJ(V|)SV@jBo_a@2_^;i0JV(RO7 z5}Wf3p2m(FgPlo|Eb~k%qsG3z_P`d7ISC`P>|pI-qRdGb;(Mp&Y$V=I=oCB2TaSH= z6f=ie&+&unR_|BTfs?*x>R{cokd#l@L|jf{J@(dHR~GB}3tj~I17%sPXW!pYQUhC# zYGSHUm3fP!{E@<+Y&(34D`)r?KQ7(zlv}%c6|m-y8e93C*eq8Y+u0d_15vNrpYvx{Zllc@z%-gnSRy#yk6fc1(0U;}I_=qp`cB5Pddd#+vQ<~S0&TBATHRrSi4gn^3|bwegBJ|i zcV8z*75TkbB!UE``@D;=l)a|h4`V$}F!@=1)k?vm(!(7n=qXmG53YxO1aDW(8f_#eY@!)$rY*Yv*}* zBMt&qxOEc}A}bDaoH1Cr`QeZZigEx1()#MdM6d9QUW;)Qd9_nTz0NCsqe8Dv2gKyk ziMk5YX{EilQQGwc*A|Ex)8c=8=iL)|uy>z1Zea4MdJo2r{#W4u8j>@=oqFeBMCo!= z{#ts5x$;<(FT|(Xoy204tBY5M`0mLeM~zFua{TjEvKx*7n5Hcv|4IM_V-`3)WRw6O zW8|Vc4^i&r>s0+Kf$jO{Focn(p}AD%&`NdkO%q?m2d4l*YV`lJE@kEKDt5O54xS4i z?MWgjOXP^}nj8q~UvE7Ty4>WT4m1-;3Nv4y2@r_sd^(>tK^gHQ>)CB!7v2UbiNm@e z+9aHZQwn6={dwT1L3US!g$iFVb8*OW<>qrXegX?wI(OBKb;)q5sWWNY5{V1>>rHz$t1h-`eE>Cc>fPL zlcmMt%L}565XoKIHj44gU9-Cv81><7Zp4O=U0gZIx3!&ARMEBC-Eg>9eTtG{K48*| z@)uy%1xURp?F9*1jsUehbEC+!x6C1OsLzANFS00YW<79$I1U8&?5|q zXpi`GtJ7jfS;28wN0e%W^7kSfZud=A7>d0d>|neuA0*ubk5YflJbJ~Nf!sn2Ddd*b ziGg<&V$S`oykxO>y?mjo4}<^V=6x01b{%AZ*xkm28?jY6u<3D7KC`M1z08UL_=$=F zi0}UPu&OUUN_Mk8Ont;ZbVd9ClRBb&WST_uk!a&(Hy7F{YEd3&ep62hEjlvwQm{!Y zMXGPlUwBxXS+GVSY@eeT?-!g6t=_()A82NEoDr1fwP+BcpuJK2+}q=r{ge><8K-)* zT-nc;wB_GJ_Bh1!^Futqn%67Sa-{~Z-@AK597Q8_0n2RAkksr=sz?7(o9cZ2r;*EN z9mF`27x9Z-j#~#gu8RJH4?BUgDPbHGJ8BN4SKN>U&fAH+jQRUh<0SlNW3+t>tgQ>8 zOnQeA;z{S9H@S!&hGGD|uXaWjne^~Ujhz(V(SGcr&M=N&i~V(i(t&KMLF{yoVn*op z8PYi6KsE#Gs>cT<+tztw&>lSudYZ(@GcJB`vhPs@2tpPqUeTL!3}#awcYvKGNsd81 zVDY*c{iEKX_#b!xzZc&=*=FAoGZZsIqmQN0I~hw3#|I|c9pxCL=ZCu(D$d8Zaedy% zF=(H>bs}Q{n!lTc?KAk?O`k%dds#A6FEPm;H32U7}AS~+jhx;+MdU638bjmW0xp#HB7rTE?m#z~rRQ2qx(3gyzI z4KLbq>n#E>4eNv)P<-%Dd@WYlE`6ljcAW8?s6dTl&U`D{q^og=p?9LI=i$u%dJSzx zXX2=yaS;%xp|1;qdUC(^y(0r7&N9G6xQfz81EYzzH_DxVDk|atNi-_;@yo}RMNZZ8 z1|*Z1(HwCKctUoh-#0S;fEDNj6k-q4T%$C3joyssVn>$YOGyU?MPK3+UU-T0fb}c+ z6_|yR;!9BqIN0Er-#y?M)urPD~R zq*UbfJM^xo^gZ5iYZ(Z5;njJAPCaWX>iMxZU?q@f$T;T{K>?OUUFU#c2jkZ_>;TVl zm@jO`i=ZD=wb$1$@hl%zy#(=AQNt?oIz76VSJbm(Z!z^~;+Dzd#vCFw9xi^Q-S4zo zhHX3e|cT{``WboxJq=gqIr(LO~>{vnrJeYicgnetmobkkr&N@ z-JyZqrh$oq@vHSkc{*u+a-B<~*>g7g+HqatM3r;!CWoctyt-_xh{q{-)-e83Nvc(2 z$F&|zC8^AGYN2%;r(oOq+(%JE3!oyDx}?D5u(>}iqN-Fgs4CTRRHa&t84sNzcbEs^ zYvOLxN9N#8eMF->ImMVa>HXxS>sFw3ay|vzZD!oRUq7Vv`T?6EJA2Gg-|fg@{u}t_ z$4=|=lG)>3>hO2HKNuI%k!cnBqI?2&1;ff&9C@2eo2p(iowPvsqx$lO!roqDo-76F z$WmapfF3j~1%?f^b#1Z~m_69-oJJ?f+B)A&uewFg=ruETT5_s#-KzI4dbfKT8AbAH zgYUTy4Y`Y>k*kKh6SULtqkb3QgzHLa`#jIFlO401p7;jNLhqys^Q`pC?TT;XrMEXo&SL zXCbTErU4O15ve$Ld85baCQ(ZCd4?1Kf!&z8uET;>Gn*#feLgEI?rf^Wh;~+TTfmlE z%omNC_ak68M6|63h-LOss{AqK~o3KL=R#xo8EVF58f5d4T(3VGqnVW4M^+V z5MUzfq`OWg9huADCOxkoTx6WbDI9b~MdIFnMq0#qSRrLvAo$}yz}crmJpvCqmJ8aw zUEs5Eg&$wBBT|WMe!S-u;M&RCMU8lcze_1zwP%ZFO0ykRSCmXV1=2wP#Y*yO>EUFw zB(Ih+vYSa3)gb#U!G!8e7~4o|Abj*eexGI&>2OGAm)Y%(E$5FxmM|ELer#2P{asMg z4PP%H-J~c8l3TDWs>68W;JH+Z*X@kCxA_?~9Lx>=5C0jq zcqmY7^6U!F-l}FLP~}EO=bqw-_|R~x$%153c~H_IzxqP&T~9&Ln62s<83>PKk&j<> z^j-qJ=Og7ztA4#vUPAOVl2%T$#ah+B%5eWP{Hnr#+i>;*S1$7P6?jpF7w=pV>Uk*9 z6OEa61liiNi|i=0dK81^apjqMm&P%!6inCw2kNc`xEO0$`5~7WyDWGC)f6%I<9z?R zReSJ5KZXhlQ>~SFtHb;WTn{41_23i_uZQCbx82&*gVNt3CxgQ*AU*<~bq6B#q~kyZ z_jq~pn&05VK)mEftSL_VYt?z%u7SSFm=`#jDV2bu0R&__+K3gdjdg80(FF)^LlKEO;FR2 zb{Y;2>w%rj!~PVH|MZN8$+HZ~KjZ?(@>uN99j1QYPu@|nb#}T72JKQ6JwLykIa#QKU}Y2Q=VH z72bW-@Lh_`Gn!4$a-pm!huJl{C*Il_0!@&{%8~v8{O)|irz$0op1%%A+UtXq*9D~X z=Gc^94Chc4{^%^oDJ-frj%N!&mE)Mj5Z=$@yhva0EVOzG5<}*M+fgwP=Rtg66mI{Gz{WdE8cG|-;MW>k~uSxXqb`pD^f)3N(D~_lPcMfuhV57ecaiU zJWlNmt2Z8ym71E~E=GVMV7zp~L&@}Xz{oENv%trA_QC6Pn~RmCLjq++Nr97Q@iR~A z4;q{pZ7*?qdqgl9zFCd<4atm6J?T0+HB?W5jq%|gF#7Tl>U(*O(XHO;(ktL%XCx^} ziwu*%iH<&!d9^o3YvDCbPYhH78X4&=UsZ!v4zg>Y2p>9NrKk)@s!gtRf4P3D@-UI! z>xEX1{Dr-djno^i``@TxV)QWUCBApvierk}ccKqd`%|uIQ*%yQBXt`u+Nmv;cmv*h zBYD43i5Pv6LBk`hN6YEU%F#S@xQTj*6hmC(n7LdMMPddAE=Byw-_GJ)&wr7sQN zB$(Oe`-Z5=;ewiJc6P*!&$$SZ+w3(}P?B^#=66|-iIZniMzCC|y+UCyqjA?bA}an; z$G-K#-9#Q2``K+0x3>kGgQd%Ns3-i_RN= zJNj8@RQ-y2Mb$4SJKG}I*)CDYj@`^g#NxH!GAYq76m$c$3`Ee)Fgsj3+^}^i@MfEl zay+LrB(lq}=Ssl{yH#QKNiKBo6i^Bn}Qvg2brc z*8#SQ39Pg65HROI@B4?Sc&?ls?B!nKd15o-YA=`Q87Bp*UXKDQ((^cUmW*|{#5r3M z<$KT$m}BUr&=`7slw=H>K6;%oRE0rFeyXp65bcQCQ*;9}Q6BtA6Ph`s08vAwr_IWw zs^LF;w?Kjrw@;@x6_z#j~ah4OG z^V4VCac+n{TV>@QGC}uLf zsLr4s!+-FolJ&$=)JYc$82r&ueNOtqM^WHE+!M9sd}b+Vw;#KQXki|RFY>lNp={_| zS1vuRh_>2qOy1?R|`ymwo#y3&NHkE~O797BS>@{RWXEHt|G=#Nbv=!*OG%CRE z`__%;H5&JHtc=8Ine-H!Z`lb}2HBglo}tXG>0Y@oddC0t_QT3y3~Rj0x@hrthPQ3o znb-*nsXx^t;%Q>l=NWs2Y}4QOW>RT z@*tL2wD<+Q{0Gd|4nIQn5gV}zcfi1EF<+z9f%K-(*O`-wT@C{YdgI3O8jX3H`U`Bv z1pP&gTPT+YlJkbG>PbMmQP@*Am#`;U3N9b7*_tgMB>_DqzVNsto?3+)B>|ny_#=iu zCB}0kHHKq{lO&SJ68>^KxU`spMp7BN`hU;dS!&qRN`YDp1bD868WkxfWG0bGT_$=C zgR{Y*Eh`QvYWpdLNyhnvmdyqHy=h8`^9@iLNKYxTEybWy2Pok<_MD;FoJ0dx7u==^ zUT*?#aB6@T^?KkLPTS4^t`S>OmYr7nI4Y=Dh3sU4-itsFObyV(Uk`M0&vpiUvv5@; zI^s9SK+rPb{MS*O44f}Hh^G8E!6eHp&{hd+udGwDdccj3L{(&#nU)*ObGw=6+m`YpthOV?PtepnE1v;_Pa{5-zF18eKQSA z4HQPEj6ox%gA>&(YRHI0I8Qkf&P|xrnTCvb_8-WIZ%1rX9)n5s^&}3!^SEQ@jt#dX z8i`D{BqL9@G~~%`FOetb8YLVC4}v^dmE_4azUIty@ulS*5S$uwvo7VVCXO@2*&dDY zRXi_f9pyYg?XEimQ3)|LnMkZ9QCkEC2vKcYhWqJDx{HDVH*hJ>nD|}65o*SmLfC?~RJ5ni7$8=OX_q{+2w^I?* z4YeJPY7>|i1PtoMgOe~7AOL1zY5|iFO=X5&|KuhP;AD2H=rhmFCAZV8;Doce3C?B{ z)~3M(Y*#l|Xy>`57PxfCCC1%1FXM{m;FL1~d&fvj1}fv|P2#Y>^wOeNEgo^`%MeVyJGNmf-y0)SFZzm6Evv7l@x|LpVhU z+{CeJ!t;*j((bI(S?s2&PX^ZJx}l0NqLW~UMMx4C?=f|*9-Z`vPSg1gR5jO81)}Y; zTi+5@hJrO+i9oHAgK#wzmO^&ujs`muuXVHsml-GMaYQuqG9wxgTbU%H!AZ?Z;SA^8 zob{|AGsjYGX|W_<)L(46IEE{%p>v{XC#y5fJ9Z)z=7=OYrE z%MUt>bEIjfGh|wb_)lWx?2Hf>q4#;imo%j+3rv7;y@U42lWloIYz8rhWY%SyIK30bNByD94u z66|CpPvdZkdO56*&yf^XPdMzHzj-{sPsKDuP8mzWkVzV832F;UE?xl+4=+S(q-c1X z1mj+|2gwHY-${j-elwYu9c;u2uLjIEAnH@X}{^8((dtl9&6+wo;aa) z;+*1Ytgj6`0nr>g4`Oj@2O-3*g?B4TR zIPyvqJRuaUwFfJ{GFH*$Y=7b$shAKe=rjv(LZwBN8`TD01&Y{5S^pgrBuV;n^@Yvi zf&6MUN(#$K!J8xODV)9QuJU#T!c>gjYgUSi) z(4leOPl>6Y9EY*LrcK77&I!i`f*PlcKH_3vuSnU31ylWPhwe)YCe)#c?fLI%Vx9Fj zG(26trAi7_?L0WRx0V=QO5E8ixwrf@ymu|siS%HYowE3#*tSb1A2`Ev8#4OnN8TG` z_L21BYo`8L?f^o%A?txaIw8@~DfPh>tv>~7Uv$LHU!kyhX>$aHCx%PC`jB8DgvnQm%G9Sph;(E zS0_K#mOSuP9RomRNa72jpq@NHg1Pe4N&ct8pI161VY8$*u)-Aj_j7S5YrA61|jR0`ABc`1W4B4hlmz>rP7L3=ofz zPm&38bc#I7qq^#@-A%if2ME=$O;LSbFFiwD<^klWR_{Cl^BHnI&@0sFWm%y@Gj+;x zidkgR^-ZsY)>5xMeU^=27=eybt0xqseJ!$6eJu^P@-DJQ@WO5;#az2v+LJlOx!i@+lB)H&Tvuj zM$B7r!|CgV$oi_Pjp|=AlXhlk_c6BJYAYZeI(y2GSR5VY(E|GJ{I{b^H^1J8fz=1K|fw`J5JrpYfw`a;-`ishWC z-O3|&VYqR{Ibz(9QMVMvve7maYiOu37G$WV>ak)SYRPh2H)c7bzj;-!cX0;W9j~ib zv~+Q^ozu(RcX9Q;l3)@M`{HN6SznYH$KI2NI715yPD7>xo>mtN>oq~2M-s@mqjElR_G_-5G#inSffb8C=(JS=uZEg;#FT zsT4L(G8dF4Mqq;bsUJa&(c`I~%C z!+C`ifoB3l=^S?@0yTk6}#iQp$Jx6TR28a@MZ9L(@r z*30wayQKzBVeMBi2ij?mKk;k^Izc1XEIpyX(Fx1B04CjPdmjmyHT+i)qw}*N_J^|p z&DeNO786%VfZK)T;{=_vuV_o+3g@h0e*(`qAKkivHFxE2G4`RZz;;*2G z_zy-xwxSD6Gz<~ypYWgtE^|xuPuUPG+y#at_9!33WTPPI>BS}PB8!u!muM7(m~*kl z$}b+=^K?Fb-Nmxauf2y~RJ5+3b7gAP&pr?>?P5;`9;(mFD3+g$-hYZS2!ACYD4!U^ zL;;Ea@J)^ue=#vaJZF-=<(4C;>OKAg)es}(3v9+O%;WkJY3%dR;%rZ+wf2~fYkj%V z@eIySKc97;0gF}AqQ&CXzf(1U=h_PUvK@|URgZ$)H=?mwSOi)<`y!xSOzp|;s72t{ z6vlbII7_)xl0wGj>lLoHljBKur=r z)$9Nfhe6+~+rQ(!MN?fyX>X`4M*0^xqqs$Q*qI%%Au&h7_+Hg~SVHSWihdS(_R;F! z=)fQto%U$Y#6U9m6CD7i&hlc%i*d$qb&fZ#sg=qtm~8J&bI0FGV0*`5#P3^)%f*K8 zWNdhUYUKfka1~T0ITY9Y^y5zEp<_*LVd>>}@)_WcKquC=3J~gJa*LT_OvS zPT=gEd-6k&Gq5IS*vD~+N4kzfLr|kJ4r*W9ZErv63Dm;g+a|PEhCeZT%Wfb{7dXcy zb1ubwCpuV>b(dW-aoAGFA%3xFrOdwVGlN}{m?Yme$hgEc#eR()FwWRNAmsF2J4T~U zzUL`}gr_!Cc)}ewub3(FdI$ls{XPHlDufWw0=Md?Ws@yP^uDyqVjivVompb!Pu@g_Za+@D)v@E|O@N^eZR%U!GYhZZ>AOsMh@DfB#_80hwqt~U! zjnt!J9?Ds`=#N1UMCz?9cw0d$GQ)RWP&t8GUi!zO-M6^%j328qPrk2E|6IP$2%bUm z{c2S~RSNN1yZhYMp1Zw*pZMYxo^mZ0D z9C3vXmO_BuUfvf4jYtgN+(J+E)!kq=1n8~!yx4EZ4}o*EY8U?oKyDL*hohsKD7t0= zs09K=1eQS+@yQ_ll!$vDVnCoNQi=%n0HX|FEbEJp;R_Bv;3Yg%BQ8IZN?+**b6LaX43Oh1&#F6`6?C06N+UW#ykg7Un7he8Z0ph z*o*tnE(Kug$#Ohr2`*7|ra*-6jQ~X!l3{w9J>&+Nqw|(r&H-u9WR=))Wq8wd{0O4L zqSnK`i}s)e3=f9d!x^nJD3Q|-_Jtw*8UJ<9ZlLoN-`0j#Q+SmotqVaH0s$D2PJ+c6 zywf-Nf0y5K<$GSei$A4Yg&Kl*V>@2;r!h;GGj_^y^j0BJ)e}}eov^4^BD59Odo+tH zQlcnF*?l1LKEK7halOKS*YSxT3NVm#F+n0aI(fo!%4F2`i0r!5h;#FZXv5}2E}Rj{ zm5H=>fUoQX@*FmSvrxWp`0VD&QP~DbA2};5X0g8KTZPq{0p+{ELZyLSptpdA?_@Jp zYj~@+eS8)1wYXpvD={(O$T|kcjUlQPfnz8MJh#SGRkyt<*F8|HZEd=s?u>RLl+k?j z_)+7O#gC5cyTg^|{CLGV(xMCsUe7-pF3^t=>Y^7yby?HDb#&W%7i{6Q)d1`hHi#5BbY2_wC487}v)`tir@s1~RK^W7(1e zD;Mvjd}aE0p^EV4zJ6VDEAmU*r%cw>HW(prT2`3c#^$}F*@8StEEku+X!K7}HouMe z+h+10YJV=q>H%@GF|FFy71xg>bW6P4Q|i^ROYIUP<|s)=pJ000Q%A`Qk>JGj;fQ9K zwXFu92yu(FI)fd}Z+D1X>cE@mBhoRLfixI(u&&{;8I;Xc5Hrf`x{HxS3!(5a7|&G< zVRDt3{2t)tlbeZm#eeuFxUDj?ECng3EmSRYkh>U5FIq%xt3VVXm$mH#4%gZ=S1LnJ zBqsW4nT^)+Cu%LwmYIEry?9CI<7n30wVP;=Cae-(bMVxEP}`=~3KNtGfK?{_SV}B5 z^6=1F5ZQFT*wfAz*CgZ-Z>$cyl^nJTp)1YA)*ErmBs$WmFx+4wi3b;f;39R_gBU!p z9Q^eTh3|1FbZUSDGJ`{8cZloeQFetG1jia~@EOilo%}iUFjpS&GnMAZj}+Ta0LBkk9VPNZ`&t1+xDE$dSFvUkc}I@17T`Zb z4?sRz0WNZoOk1^1PHa#^4MdUASmz_BjTF&SfX}<4M;xkV-xAR@LiqFDmH4E!K)z6& z%Z03{K7ECnh*Sb}(9s|GovLrH643s#KIX@&&zETx8{=$&NPFz)W1J7Rf!6H2+R=d` zt)iuc2rJW8tNtCvVi$sGFpynsRm5&+*a~4FrduLqQ)`4VIElxwhrfw{?5L~kPDPbH zwj%Zo3IrnANeb|0!0$xD)8J}@#P$L9h2wS7XYPQ8A*;v=%}qOz6`z3ipI@cclmkhr zY3~xLsL?3bAT&PFyP=cA-Yw=X*^d7i+zse#wX29>mZh~)RyVZ6L#YomVcQbwv+K?d zZ&Fnp9wm~BPLH?a@hM$Pq^uhL_bS^vW{igY->&NITp^i^yZ>ADn>!AIKgtS}jo2za zhkCp4pF#z{hlO|^EO`l#kq2B90RNUd+am-qBVAU#p8n00nfG?Cy1E$*#PzT>`%&ja zs^b}NIIvIk?uxY5Yml4E`mmBMExx^xvbS1HuS;B+AktaO@g_e{ysAvNx;q+4fYh@m zd1QTFO5r7%>Pgj5P25eS-`V6gsNvaall@94#^v&atL2;HCvkPteyBpa5Jh7dXPQ7%)*D zH7?SEK{CGE=)MeOesoF0_5tFfhHl0~97EQejo>-)SA#sWbnT4Z9?Vfdh<>o^-{(Nz z1#yyVrI`&!Ml*Sp{aCGEw>Dhq0PIfw-MUKj)_Gtqk1^SivpGv=teLVgQE4@}W&V3r z-2S_@vHqv(mWdNsW$VDdmB5Oj3tsGgyAgL-Bg8^)`oW&<;{vLIxEbCH|{| zVfLfB>`Zf63E!H_nYcgG$RuLCN>(rsRSyRc4lDX7B3f_K;1r|^5Wj#hX^1AFb#|At zt2}bo%m>OUu@VY+0OxS?S;uS;LOQ@KH@f+N-u}8(+j5R0F?%{kcAe9hhW;i=6p`#t zi9gQ%#7B;g`pP92Sqx3xhB6V^Pz+4NfB0_k1)=N&LfJVe#7Nas294c!G}ejKplAhG zTK{ISkL=8#K_;bv=wd7l(}j{;%3(l$2g$2zCmaFDl;>1X1!qMK7nC76gKK`%e>bPA z>10pnNbPFH1?`A{o(b!*2j~>7J~}e7lJ(Pe8m^RvqAJi}`Z}gs$`oV!BLNF6Wf6(D zeyq#ZzW{nLIq!jnu^?g9;s^dy@5o4*DKPG75OA6Mh4|u68ubpD$4b?WxTwTLkwy1l zbNm8)))%?|kRYI3G%)f_NL-5qdBc<7OX%3Xyk9^R2~xbocq>1=IpPFa$tJKW^V>)8 z!-{wWJz&iat*VffYyvwma8oN@Q?a~#&YJar9{LmyWJFG*eQ#_stlyS!tG=X7pmFHL zV;*)>W}3&+`i4@Yhz3AMtm5cEeHzW3Go*+Gr0Fn#f}8u($vM z08P^Fw*fR_ng~RwruFZ1wS#OCOYK8NL*$r@X7q+yW2k?Dq{NlO!!nOy-xnCL4fO#X zufMYS+D7Xp66Xu=d7xFXVhG`o;1hXp{)v**qzQ2{D2x?k_N~UBiO*h$2F8d{m{aE| zXWrneSiPGoltmN676dv}CRPDuh$xl__F{nDo$vzKhu{j5@GA{L zo_*O6Zt!PWv93ONf#yBwcoMB4&P2WZjG|7HBFx^Yd2*@!6V5I*N;@`0@BUs=3{Jz) zJ`ri88%>P;JSuGm;)LT&8q7p#8V#<-n6K;erAA=JiX1@dsDx2t#?<2wrx@~^8hF4j zT4!YCRyWct0){huqcMw}f}lY9ZzoT#N;M$fzXv}`D$X7*!?kr#*HE?lFZqM>t3@W* zBoN72r$bj5N^0?TTZf%j$e)AXgP#LuKb_mM^$=I~@{L{Q)<#Nafrq<`&vIQvLAaL` zjj$x@Qd=h@Lqr7OTS=P)EYeI$1 z;24#96{_rY>;CO>d7>6pREa?04;~MB!iMRD89rF~)Ii6E@~6UjYIunJ`iT#WHi>E= zB-92#mV@j*f%0o;F?92rzfKUff!IvGybTo{f${Cx)?~_#G{$k&@R|7hx%+jfCCZ6h zI<3tI(%~i=g7w8-Zpa{+7<79W81MqTL>(?cgR5az#3Z5-d!8!I5E(K0M^R_0i*( zMhyHpekjJ^RAN~G3YO=EC=G*LZBK#J>!8p1AtU7iG(_}$_-(iar$dt;6g(#3#$p^U zr5RL!*krdD#2NJhzi+f2%f0mGrv(SyA5cnK$|j9ccGS9q?Zvjbyc|45$?B9Ga(dSOoK!L zHA<&eZ&0{ngt%?(IKT7M?xU4?`!}rxDLKKznoRRix{V5&RBo*@UG}yj|NZvimz61# zrjVs=#pKmv!eD^A65Vgjh^6C|0S!BK2RXF(!*~jf4Jo2LL$rHH9@!0OFAv0hDqgVp zJ612=%9WXff;6l(X9al0#$9qEOG#-N3|BD?MmVfVi?|L4h9KYbS{vBkpa~G8NxVu? z9RM9WnZ>}_(18Q{TM#3&Q$ZZOudN`MoX{&N??R|k+M&4#Uc0EeKWRVt(N9t8Cwbv@ zp3$oK%0!k@Jhj{J=wrQOEZt})a#Qx}?vVY+Ydfwy3~2+v z@W5ljnxGDYy{iLpJ_M%K_7R~O{}Gz2V&}G%X}}Zr4f3QnF6yXG0tT4zp!H(`*U6(ImbZL!MCPlys#;(i}?9 ze^|;ih1heyQgD}fnE=j4>=f$a{=j$nV{D^6CHx4-W4U`!a z#qGhCn%s-YyAUs*e03YGuJs__+-`Pd1zF?S?2}uz93YDMtMv!oZu8JniomZ!E46PA z-&Kb|O+$bbY%8hT+_Jh1pi8`P5_iE+y-9XbN5GyZqV@i}=>(nQ>va2znUdvQ=STYg zG)I6_2>M$FhU*$jM5uzleW#)9aD_+44flm{Wj!dy3RG0o(V#V~Yr}u|CTEbfzAT6< zlq{ZF06E@3d7V#0Ulq}~}Xvhe?Pa9*%m%Ka6wCDjz641d>Pd_LKxODq!!TCzrN?6rvp0?-xmhmmXDso{P zKicRD_Vo#!d+AlD`tghkm2XT@hYvg^Z^pHXB4X{(O` z5Js_1ApT{^E5-3U3l09^RO8he=w=mBpxJd}4Cq}WT#BBJ?OjP}F)F>nkb z`PBRSp%UIAc}KA6k?YqY-slWp+l4n!c&!$FK>KUbfEWX7tj1pEJ3I3#6p7Ro!F&~X zi!~!p+XIfixnBfMl!^t|LgCa;G(VV>GQxENNj~h(Nnes8hQ?kT7tK$1K$jQbG6DZu zCZM~AH{>T)pctuhR6AsC`+_hG~pSXcBl>w&i!{Y^G_$vPsRF#LXXTv~$ ze`S#<&cp?y3tJP;n%Ynd9#b@b)7Dk{sS?Q=~$zPv&AfcDB9@lEtm?7V|~ zWzTu76yY_K^%7}Ip3yB>ZFyce63ZX4nA&5FkbCfWkr9$(v)xpOCMJ64InqW(8gMmj zO1c>N8I~IbzJN)9k_+Klw2-)%asjsOTmp6KVUM>UrV1tvL%;270WO} zng0v%y-;CrD<~~ENxP%w4RN3{EpwTf-4pE{;B0*yYv;I`#pAx!YhO|JlR`OpBC&;&;0)8TTBu@z_g=8y0 z(gwekz;nt(QQQi_wpxrH;wRLj=Y%`X0XKfMoZ&?7S*@%W+#y63>oZZF{Wxvdq#>jx z>f4^`)AgMgG-aT2qPle_UlvA{Q!R%EIR8CU-Q9Y zv*;;%h#pAW^M;7QvY`&$7DU_#S0b0Pb@OJ;;;R(Ce87UPTwuIGg)v7n{hRI z`wgz#-PDrC)SHaFt&GBAHV4!CKI+}3@gfMCd!ME z>;+Map_uR}d?n^sy$k0J_Q2%;U2qpoI z-|^;QqfRLIr?4r#7Y$v*l`y_=84p!>XdnXKm9Biy(BS@vpkS*+e==Z9)*&NT)gQ~U zxpS7xSPu+8y~(#WLD&{A=GTB6|MYDdBRo&;Kc{b1|3~7}-$k1@-l{au-|^Z9jGb!T zcN0Fa%2mF@e|Al!P%s;_xZiBVO0?iT0!G(X<}6q-4=R)!d~XX5`d_4G3Wu}buPV;HOHo94Z(!tKNjMOFZM zer52iX1p9LozEYv<)?@@A83jFyEc|z#+Vs!n^Bh0VSMKsMB{VUow|(Q26S;D4MRc;eC7aZt%QXG8pJK z=K9?Jlfn~&0~P~*7oR>7E#4T9)3hV-EQ@*^YY{5lY{Rg_%FS79a=*p2 zI^kKeX39Zj$bg=M0E!Q*NJT}Tu! zm7VchSv-e|rB+!I+&|7N0T(wMJopI9o`OH}wBr(yF0z!wM?9xYx?_F8kC~@U^>a9T z$Ocs1JZ+AZ#o43yik4P>ZOP`{aIPExasSN|BP%6Z~K4;dvjSG}*i`g%$*RJJ<;MmkE3Z%k^H*7JygmP;%n;N!o-bSvhv-R&pO&uTk=XUEw`QUADJ|QMD6iayJJyOt^RQ_``J4f~hr)aH9}IFyhhY^u4AsA* zBX~%E-d*7VeFt`+YK{Hpja#nd8pEcR-Oz!;l#I1i`2r-h4|tHU>Z9HLKs3Lm{`QW? zIl)+1F^tZ_3sh^Di=oU5d~|s^lJSbVUroUaR`t=eGQu=h` z?-ybf^)K+%5{xyNRkFoY@o5Y4EZ;LHfR1bf|KB_)aqr395)Z}a*yF9=F_75fFf~N# zNBi!s8|p3uibJ-~Sz#RQZ9=nhB@1t39PKOmMB-@w+v|q`-TZk&9PQg%lU|FCcDzI@ zOF!M`&jF*hjxR7y_n@I51p4Xzck9+vHI+{H#mnHjxs@+APWOI;aljhu&^X-{p=tI^SaI+1ix=EwHq6hIWhz?KMCPhjATR z-5}=zZFSr;)NSzk(4oauZ_7}-RfO7zDp$Fx-5AtvU#6&bn{g>T0?M#siPdhka#hW# ztKA4832L|EP`iDhXZkq>v?Nu#U3OKw72>(SA3|!kd?VO2sNJC8JI&V_YPaTnpqs2g z!(n8mS7R@|TJ6>@)zohKz#M9~+N5@)F}bMSumh^`2BdZiA+=kKF-8AO?S>u`tKG(t zx8uvyZVgH8Hv462x394R+r6IJ&8`k?qO0A2KSS%*oV0Gu-$?7GW6Z8~Ta-lWb{fe0 z-_g1O)&#BF)v63q)!pjon%c9uZg=TX55r>|pr^ z7%aa$FhXbeJr^0gKEkM~j(}j7h!cKj!KgKj5Q2-cZ+ysjZs;h<+x?sI!vdD7Bh!~wgb{A70c!-80QlE8|E6@couAW;A zo)uc779+rQIXFtN$ZdE};wYyaT)AdDag>XRqlB103>;+%EW!Jb{v8bE0b(d8y_BKs zW#oCZVbSdW6^mw-?DRlAi35oQQ}OAB-!FpEyGD#2sbxR}p`@we)5gx|$?y>|#O8Uf zeo*r6le;A!Kmp$XE8Kbw^aX>eYiTfuZa%zcj#seNnp=Cw?g=(-b2 z)H9$tu|$EhM=w?i6H64SvqYLRNA!c8Bih7Qm>iKV_w_M2qGeEN({>jp676?!;+=1J zE&ObGQQWcP>xd6UjAP4J#g)SsRmNx@8F0!#>@7s4i_Pu)2Y3E}c&RZX2NOiGQuAoj_H$QrM_q#tXon!BZ zTodOLZT{$&Z+^g=WcSm0|6kbt;zZK@AJ_Js?|<72!|6gc*A99}uvk!AXaTUF!wO&l ze@VMdRGo$yY{pjZQC1e=Dv+}qm6sPjdt!iQU?yTg*!K0J-%sTHQmg4 zp|4caZ6KlcrE0oTBVw8disI1IC5Bh)eZTlab!%dH!-5IkZBSnt%tfRQZ@3O`Kewdt zo{n#8RkwP*;L(OMuBWby+X`jevP84sB4cQh)HPGgC2$7g zb|HRYA^(u^S$8t=pp(-;rqwwg?Q7=+r)7Jf&P=r0rqkptHRoFrolFxG+&vKM;U^J2NQmJy5qrBO7s& zV`2M0)y;;#Qa2kcPdIO%F#D+b``Wp}ZNAB|g}7~~PStI`iH251Ut4~pJ1v|D)e|4Q z?M}I_?-bw197%KyC23)@H1#DV>C6Nr>12e1m`c)lv$0jy^AJNx+MiU0#7#j->g}W? zt*OIYj_hiQ>Cpzew(e~qzotWuc$dV=xUB_JRK{)fO->oNwZJQtaa*gVtc)9DAMeGO z3Ne3xsyVH|z7I>>eR8kF12r7kwvw*H@OuAnhxXh2svYXG4t10P2nWgnHq?RsazmcT z1pQ@F20FY@avb!AJPsCm!JKupAd;}q;f2~H=r5D<&|{B;dr*>27SDqEHbrB{`gIZ0*2_uG38hClOOplq-Z!!nPS~GEHKq zxn*{Exw20~yk5dTO_1lENsvCw9bT@(jEqikx9mt(bsZV~%H6WVE5+R+CrYAiu8pc3x>CVU2XAyN(*vOcnfXi|0ykA+t&Vn zN{iIgS^l?_7WFN*`j)TKMu|}It^1*`lv^H$M5y&ExP~w}N{-T_MZ^(tgvrD7UtR=d zj6znVuf$)_YW$_yUrRf|cnwjgDZlntJ-nuc7_a?xP=71#PRcLE-^DvNB(um1Ke=Ka zp|DXDBNcUChFAi+BfkzrdU50K4q3>G=;KpxL53T+{sfnK*-?7X9q&+X1>|He=5Y>g z(?&b_jHhhK`k$y>cYC`pePvdBftU5Q&<^b}QS7)V>I$mEP17aHWQQ>N_ z6~jkuPmpJ%D26nrxz&@GMG($$HuJiRA+C{e>` zM`jMx_Mo7;+0eB}4Mm866LYlcNtvINNYoe_<(G$uj6a@Gvcp%k%3y?klu|53377_` zi-geEVu%mQwE@BA7eqJF*Q&>OAD*{7YL#+(*ZNI*Qj+vOw~z;%0`v0b83s>IQ2`IxQ%2swXv7 zJ7}d@H{s7|J4I1}cklirK1Fqz>1;%W4jo~pS7U$Ro!9f73g0$+;n_{f=?yD(@)wHC ziC1e5>eZyXQmAp~4tnHx`s;-d{{Zt@P0`O>VxnJSXykEGM1-P*L4=2>E{a&M^Ir~< zzx}Uue!;6n_z!g`jdsZcwP9JX$Z6W}2O<;Ywt4J^e0*BgDDeT9cx~6O>zE-9vyJdqXUWQk!_sb5XU;Z z`O0>xiYRotmeynj5tVYM@+UD+e286n&m)u)L)@b?;X@{IwUk6I2#b5Dwg9&VS+xap z%ff89TEsBpUff0fUff0FUOcWAnT|pV@!lYhP!vNz*$%vyk=byyh`LDo=GjkpdWOcW zRYSB`QNwzUUk<%^PN{sKRjk!9s6JPk@E)_vZ&K9OHP`zsgrh?-UaMRFqRI(x_RGGV ztM_vyiiZ!}(MySGw=obNO&0m5PLsBZoF1YQQLHaGD=D%eJ2Apnac*YaBC=hYM7nLWhjHh_sJ@pTbQ1~cTb40`XJg>qlFXwGi`*i=`>VfuDBLf?6z1L@_uB7YROA>&~;*$9tE#dW_&O^1r1x;mAjZuvp~UXf3^q=&NbB7!sj<9&skZ zJ#^dYh=&n?afnsNjD~Sgsy5-nDRb?f(Y9Wl&&ROSU)xat(5rwQJlHRIrv;)T6 z(a2&g3vm}Gbzl-i7Xz5WhNMBjB;3-ansQFSc!-xnVzHGYIe@zJh&H-1#+|smfEX4!47ZIL^4c*KEM!Q=E~C^}5GMd}cgN2?�u9PJl(jvq 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

    gWu(f?}Z0%_19;p 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�!RdL;CBe>qA}{EG3rK| zN=sIqG-%gr;OXTPr-18oSaV2~hbom3b~^e4G}>?uBs|-&=d3ASP-)7eQFqXy9_s;J z-n0VT#UMW3IEx_i!w<0OA^aUV2gJ62ymu-ZyH_?ZCwBT2=|=tp^=^Ia~%W?R@|<0`<}lW?`j2aP|hiEyP^j&GL)RtTv=W3W-kMJNRD? z|36Z?vdVZxCQ@n6-je!#_BQBEd8M=WuF{!JgzgSqCH;S3?j-1*(7pWjZZJu|=Qk(& z-NBE;Yc7lt-xa18+)JsC!X)nfXy{tdkUo&Nop*p8yd7zeg*_JS*%SL3y|{x-g6_r- zK`)ScG9L@KTx=-%LU%|b_vZD{Ckx}W^g66E6QCcmkGKgEnfuw>l5T+}Ax;iWze3QW hW6$1Q{C3j-pS>9VEA_G4TXRT%ww-&&Z!~?v{vZ20c^3cx literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-ExtraBold.otf b/third_party/shadcn_flutter/lib/fonts/Geist-ExtraBold.otf new file mode 100644 index 0000000000000000000000000000000000000000..a1d2dd86de4f21f6e1d83a9224e08f920062e1f4 GIT binary patch literal 134988 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Ξ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 `1$2 z66S&=zl<0Gdw!&~2{ihI#hCJ=4ZH}{gTEI5neHEG4-*jo1Xd4F0+1Wv1mpn}29yUl z0Qvb&^aJDv`|<^#YnTIih&KKy?27?a@Ouirn_Y}Cz=m_u(Gj^#iL9<4IdrgD|h#z35-+*9Pvdc8S#7xi6VxTb@Cq6)3 zO~ZM!{C1-!iHkbbq`M~ix#)RThD^GjD(+=a3>yA z32p@d1pyTRMFLO&e3slx;#m^ULI8UJ%t-eV+DijGub_WT1{_EG&WE|w@90N0K;tUl zJI9evs^d9$0??-mqJI@MMc_FGK)>;nzu|7K6>uAi=llSGeu7|D8klL=O;f-h{jhff zJTaabf1CQFUf>6NYbhYQz}}HX0vi0)6RkGxFQDXKxc`;^kKvzog9-$Ieh2L`4F4Kw zJpqkk0zmx%?MT9>ct!$N1E@dL0Tcx!BFufjGxioFeFd;~%_Dgh_z~i#l@a|>I--5| fo}B`Ab6>+=1iwvnu+#g_;CQy1`^Rp@;P(FjVVYcV literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-ExtraBoldItalic.otf b/third_party/shadcn_flutter/lib/fonts/Geist-ExtraBoldItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..9dff73649ffe4966f331c4ef4ce4203ec267ae9b GIT binary patch literal 135804 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�XWM!3kC?1N^)+=>@Rpl0OH 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 bcw*1bYJc|A1+>>>w70sP%1xQ|+26?*5h7g@ literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-ExtraLight.otf b/third_party/shadcn_flutter/lib/fonts/Geist-ExtraLight.otf new file mode 100644 index 0000000000000000000000000000000000000000..cb8b0b18cdb45287c8db94e3d348d68b5ce2f608 GIT binary patch literal 129740 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-Medium.otf b/third_party/shadcn_flutter/lib/fonts/Geist-Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..512ddc331c690111486a2b1a72d15af574bc0750 GIT binary patch literal 130580 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-MediumItalic.otf b/third_party/shadcn_flutter/lib/fonts/Geist-MediumItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..b8b3f75c6357895f4ada967d95eb28d13c3a8959 GIT binary patch literal 132672 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-Regular.otf b/third_party/shadcn_flutter/lib/fonts/Geist-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..0121de3bb79b404051012c3c2f3ad3151267fff2 GIT binary patch literal 128048 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°)5t~z0E7OxX#U*vVhvjVlEj(k-?NBE@v+JerY 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 ib?DKnbI@$r literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-SemiBoldItalic.otf b/third_party/shadcn_flutter/lib/fonts/Geist-SemiBoldItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..32475d320fe8525e4d84fb1863cf131e8896e0a7 GIT binary patch literal 134104 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�KCm5&H01=sA`V0!#ykmMw~}>F?MK@mn^EmUmqH>?=_6sVFNdp z1Tx^?bQx)t89lcV4nUP7uAM1oH7y>nSknVWpft6iKWv=~7t_umpg{>%8Wuh--7>9P?nIiFRmC zi+3GVq|l_aJxO|Q5Rs2CU8kGhrn@l^jS?X#gy}vtWk$Zqbp2z5JA}piys<(PVMfR2 zo1};tttL7iBpO&ol{4m~d$s91pI&WpqDm9*v%>OoluW$*j5^?$+jnUDiurKxaV2nL zT^hx}hqOX5a1yPtOw}LgPQPRNL`@AvQ@{=L zY|4^f|F1PaDjmPjTf9*6>-`b9j)mfRBd=or5--|RRx}l0J%g5#x_(8blGpRKSl!t6 zvPqz2hJME-Ls1)CyLv`5tAm3-P>e1Ey;sOj)u-|Y+ZFj40W^tK{WehKY1sE1 z%rR|3#KidmxQJGLuDQG{j_F3-U_v^2{m9;j*>o_Q+J?9bv$emlc`AVq2_#*Uqm8uYIlT$SVgGNtjqEL|s=d7bwL|>C)eT!=W3Hn4eGTnlg#Wj_MKu(mX7Oxj z4@)O+X6@l(i{1H1RHXXteanlXr+ij@L!u@%_VcZQ1rrMFV}aq;aS@^y;Akc%A&2Bn zZT8J=TM-MindbJTb`0d?KeAWCeir|*l~xJ5)NDr{5|ycXH=pv{^38-TZ{{RhZhV8> zZyrJJQ`YgZ^ALK4{?0w!A98NZ{&u53Pva}T07jtmkbW&4JEedzpGME;UY(7%ox|!E z7x6T71+P=r#2NR%Mz3r2@+lpN%iJE76c0p4VdsJP3amNgo)eYx)=$orZgNIe#JTh< zX%Fbcra3W!k-aA_o)S$f1zm2o-CRdq+Ej!iVWzo`R2o2@@+2}n!0b+HRaRG9wU8D) z2eu=D%M1ANjXTYy2niSq6c;%JPJCZNVRVv>;BG-}bauBWUqV55QuxTM>5h20$M)LP zZ7JUr%M1r)D%=wMNQ*jCIXse~x=ID|oQ-2q18dmX{`N%6TIJ&#&DY)|qZ>PWY>6I| zQa%gvb=_<37@%8%EquaK*5o_ z@jUOIP!k^=*Wq zj8!gs%5OCqf&Yd-wapCS=A!Jb{!L2qEordJr;5a=nhy9f;>Yxg;y`W=e)#2M`T14( z!Q-qCoLqbtp(!@odKNrC)8U0%H;82|_xPU&FFo!O`y(`^9-qihho(%74^4ruxCmAB zZ`53L-duM9(EO7STe=?yp7cm`w+P?yeDiM6(NO*F5^T2h?s<7iv^7`u0QoNv8`^@Fr#;k#J|Xfqmb@bM*=+SqFa3n<*I~C4XeL^%LQ>r?$c&o+!T3~j0o@fe6o|o%A&d8mvSGCFk5J3qnvVCs7=|x(D<3ew5m3`4#(pph= zw^sB#%{tW{9$+KA&kGC?RezFEYO)01lYiZ_9Kp?LZoXd`hLbxB-QR~&l+ZJM)~QVM zMA>QnGg<9iyKu=q5_@QI&j~e!{AePg8{et0ACX%^6{f01DUYD9_Oz1k28ineXAY!} zf?E3oAr`C_b)G+Lzfd2I(0)+b$tp4fPIa?mK4;v0Pf8^BRVtSAe=9Xvg;~4mpIP!My&CegWf2MSGk^=f`u-tnaN*b1GF?WA zluD;X^Fa590lIZF#MdF3-;-Jks@R}4jwK)X_cCgm;3$4@mDc%Fb)apO^UKfPYoHgV z){fy&sE+W#qa?o(biCcpufuU%T#MMVpKc2Jt^QF&4)P6S&T<`8X}B!>;ZV2{<9$(o zN5vXeI3QjaO#$wYBBc)n6tB@AthfC3A-LA50g!{>QQCecW*X#L=u5QZ|x|(F-EV7pzr{Y{`F*|;c zQpbIiMf-*{_|H+pZG=CLmBd6u7=xYj$UWSBDbe5_?lEVtwv`j+aIK>qIHVOWn;C7H zF{N$Co@T(l#C`i4yLy?y?R)amKIh=U&GOWK1|}nLbxh{l^rYFJ5)YX9uAW=X?y)gg z_%voSTds3VfV>Kk22$ef&w-9fN1{~9;*9!FB zge2{ivQ{wm&Vl9Y4hfro|3aF48_PS5^Kzl8`VjzT{l03_0{8ZTHzR!M%*4|S_@76a*1@58E+3%as@U0EQ_jNPd z2(IFw`z6NCz6PYpi=LZ%3s&}2z^Mdk%~GgskN7HgZF@KBWCC$;@n!eIK2B}{J7NGe zY1<~_o}Jbb7@yX%@F}dxI&q)6c^I7JuHE*slo}UvJaKFFujB3XDqIb8ow|UmYK@WtV&h8=kj=tY!!DEILT?3hp%9dav9O3rk}p z@|35rOe#mwQJ8PFU%AJ4-c>hclq-u+O?Y|Mm4l(aB+$}3HkGwECKyp1GOw(qT~M`* zn0NJ&M6O1#oTYJ`2X2olYNcgGO(7g!zOSZfUOCM>TuX$0z#0LU34-jd(%LzzjthxE zR!wEVTP+-)X-)LcG=(ewbB-UljA>tAZ9tC!BLInA9}C3U2nJ}hBcl?@VD%^NVPCD~ ztY*vg(X!j}@jO=fUiMXb;1CDqfvn@X8j^}}aHNZquhf;BO{^w)9FMB^D{{$@V;BU$ zBl0`t*fXk%dETcyRbmkX9r*Fw1qso`ZPN4}m1cW3a1gbP9@4r7t;^TGaFsC^YaC#1Fns5K9q zgyoVK|0`(44W|cZi=}vUL9?mCdd$Co!JeCKB^Zoo9+xh3?_aUk0Gkjm4r(Se<^Y?3 zfWm){izYULTa5lH(?midT$X1Ia0FNK%-~`DNA^o>+--?|bvf(Ig?GvUTlAn3+C*oB zq`SBQf_zlXB!LiYmlHwjxFoOvg#eyEJa8UJ2;K$~!s+KR8AE=cS%MaYg~4PDi!V>m z14syQ@44p*um`Vnx+EO+3!N>-O|WYE@l^Kasy_YOh+%Wzq)osw!Ge4~FCi(Cu( zbi!k>%HOt};j=XP(ktOH*Bm~}H_8OJ1GAPhssVR*X>4aarAZ_nnGG#c zrgde(Oye2|313<0Y)>~!xqE&o-&M;J1#bVJX&|%3?j!F#MS<#;Z1}sA?n&~r>#d*k zcR8Rs?3Pxln-(oc7-OiVR%wMgbFB5XWttmeFd7)3z((38)9r;G^bSI-2gwQguTP~`LZ4zxjq$+QO!~F%1z^$idz!T~<(F_>$I%mj) zg6$6#z%zu-iSG0?9EU9~F}~9)q^)BpPR?eR8G3N$y`i$WIhz;|nK^5JZc6XHI;9?| z(}3Out!5f0F9h595IxnimciF?@E#?VihMKVMN%h!NtImg9l3d%C{S zQ2^N883FhE#FL67X+Zvu-KIPDh3ye7amt*IF7$dxS%)7_n4W-_FPtl9vM9fv%ehVl z$FFc+CrOFA^KrpgC(o4-XQmHCWB7E&A*a3SGU^S1YkTziqK{ocBRp5Q zdR=ZvTU#_TBNLo;p6lI^q$x;RV?U_nAk=l&J~+wC*XS3$eD%0XWpd?Z10dWsP`4!{ z);M@y|97Vjk;Z0d-RKLLS%uvRGMmNa|!Dm6of5Fq>^rzUi z{@sqEc>e~kE~p-x%*q}slOcBylk7VUes;V@cXJ?$CU z;*90qA2RPBRyi8vpG;=BJ_;C0|kZCT0z$~ zL~lnQ6lP?a7HZX`5!y^ptH--TY=zCVf|P?|g!Dl9Nj5}1J>bSSpz+$sFg!`}D?#U4Y%cNxqMRR2J9v;D3;MnMZj}d} zO(yM#ingzjbu{@Ns?X8#KHPYjT7Eh4ZEdyF9wl37ToBjx;36&V%3qeO*8yL8HNtM? zYVq@8zcfa})myk&y#B6P!GH;OJ;YG}{G9Hc$gFoXbe1-J`qj+N_9J3Hv_@b++&<1{ zP5wmMZW(SAJnyVf_#A(GO+$^wdEhZuqu&=>-ujFA!frWFlbxIu74Va*(R7=cZwKaKz+3=R8@N>1SsmTYt8&!3SfmLVa1+9|0V6gQVen$!i{=qk@rNoT>ihlrqs;R^3C+(R0 z$(Z*__+6FfKe&Z@N@`vaT-0m8J^7!&Tks4og&aL0(-)ARLsworz%HwjEOeV>VL_*x zZ_6JhY=1tPbNNT!3cnTn(b#u6NPSSoPo+iz&oFJ~mYqwGSa6Y6b!Duy%GFvFA1lg@ zWz@1$V>O%O=-8dz3Fu>a3$=ngDL}0vk*TXb9ifrReZD&MOW}3b>79!0Yiy7Fs0Eu( z57ks^N2oDY)AxmtKSxncD>h;@v9g@+T|8@%kI!56p0QJ(BLv#fByOr*zF-%IuMO1c z<*|G`!ZsA$Xhre_cqn(yGRC%c8t0o;j zRunQ!=<{>ts!Iw8qRNY;Nar>LVm1Q)MNliusI+^(7iDM zjvn}=fFoQR)T(C>UlR3L42*IP=}%*S^0N#=chWHkF?M)wsXj={>=+#1hyvz|I^fu( zmC-k8suY^o1$nds3vx>!_EHTOV-83_Bdj6K09bNSz?`V5wrC1pa1Oe`8CS(B3(8gL z`B0)&9>yY`h6OA;k_;F0nrck#cMI`)E+P#{%*TiFPQa)w7}g{VYcht#9M&M0x($9(~(iDr)M<6DX%ytXkb_8`r6>$0l{5K6pwF&xAF3GR#cNu zxQ)B@12}M7>OY;Lxnd<{UDxhscqCHsHh!u8WLvCRud|lj@-uw`^b2_ql;cDXJ*&xq z;Sz$7B*50?`&q845}^VgbJgVmr8PA$K;=ikvBJ0N{Rf3*$pJ$DuRLg{FY}dB8TyIi z^0Ib+(4OX0K{zH6o+tge&y*FZ}|Y<;U9 z$|o1Q0FKXbxDIwZj)2okwrqlizJo;z zsGIj^Szh+BOPvzLAd0sNn>xm-;uvdV^TdAw!o85x<EhHWc4MUcs@Vn) z^?6#|@7ZW4=-efj6uL zzkDyC%j_jHi=^|s@;^W~+$i>OhGa+|=iKgTVf;9Pk{g0P+OzRL>tabIaisKhPLy0| z4kVdAlQ?K%kI5h;eXljyR+ZVtaoj8^z4V68z7S!g;1&I_X*{_w14g9`@mg2b%~bxvY{|=%)n8@P?=$(Hg3w;nKTn~ z^`8o7RY451G35e$>t}+#+}ToQ>I}<7zSlj>pIX8stJW1y6eQnev|rHdakIbsL8$b@ zv{8dc^`#&PskE2N$*-`&_>7coeg}1$C7LJx9H^^A^798rK^=3lRrccbbCAeP^$(Ct zC1?sw89PPD@eumIYYI_L>!jD6pCyv`@6oRMm#}JFgfrt2o06VyN8U5YAEQd#$%YZZsEu=KByySS$aQaP*Owgd zJ`bpEx1Oc8tMyRZ-3kz|2Ct@Ir5+mypbs3tgD{}H^v6$tloEIKmd1L?>1d9m+6GOa z*fyc=bLgO;Ipda0n2DJgu8r*XZCC0ECjIwBWweXE4`fCe2SNM+Xo@Wa_2nWQUvi9V zr=ZJCNR*v*>C6sT-^VDjJ6AL5^KIV|Jw+SkXDC)1WuP{3*~FzZSJ1s`dx4-Sic#6F z&09cNx7JWtMT5PkIcBh6wS)Z90WumprKQvc1bWNc@>8fy8EgU04Rb(78@k(=eq;Jk zKVgd^Rr+>8*3((3D&khEa@|rTFn6s&CWe;E1(+^TF${5?E)@5z*5oIKr$IO-q^CLK5CTYA_dU@ zO3ND`?JZOvwcbeKm906&BO7V;)Ew=i?rrCEpfcnWLAwN9-M{4lh{h*g=oXESb+TE1 z4Dp2ZYs~CM*%RnpXLo|T2WeF&7R%X-)yYVr4=h~?(UK2nfU>HfCl!tY=RxG7ik*BK ziw!siWm~6R2+p!y4B4!CL5vzw_U!eqWEF3HJByxo%{ z6(%?8leAR_m(1Bg0u#%8Xo>nJ^i9Ji1q5=%LL6Uf#r1uLKI^6144vX?>|4<3o@J>c zk=&)gY?UFJdJA04%?tQ>4flNjO$;f_ouRriNOta6x6OA1t7WCD3!A^u31_sGMkmSG zl?b$8P3tP}ycA3@7>BNQxz&7NQ@U7qNU%8EL(E4;H{4JmfJc zv2%>=0Ox`9ms2#ET20}sd(Y7rS$`j}|LdRxmnBerw-i$I`jya4t>bbp)WagXx7j9SQrW= za~K=7yJMT#ncd1zMDfcj91E^<&@wNnL-Hmo3yuGfogqzlKO=s^8rxNG3v8(3`OE_w zB~rY;t_-iR{B)?c`TW5(XCP=bT33tU6rw>iX!JnA=gr`j!|U*Qr7HgMHQ-K!oCJec zcKJ?*3P%=)#h#CvZ#C47(6Q6TP7*p!kd9xL$%`;2ms1G1w)5b4kyjE{oL3kBdglck zFNXfpO1>pqImh&(egc_3_HDac91R&WgoX$QO!PG}?e$BHsSjV(w0L1Og?@ncq{BjK zr_$yx#T~^pKSf6Sg3@_<_oSsOq^N|jd!}Yf^ z#W|Oz&Eg2s_`vpZzs=6f!TNF_$+A`i=Z#U#7U#uNNXL%+?96mE`a+$&6p5aWT%&~Z zEaQ^UDvukLj9>ol(=migIQMsQOMedUuT#6kW#t`tq6UP${7&`mje^ zr7l$>FLri&`c0<)xx-5N!EfGrCYes90`|=Y#@?BQ-SZLrdwVdSf_`khy3|D6>fM;M zcPpJ2bfNM(q!kMlf@AyCCDqf;w~J43V?y(Ss56Sf`1WDjDwpbJUntWXs=n>q7FrNM zodh*()4LY>Rt4d(s~iK2u<j%B^>X@g%bYWCck4eAs(g! zN`XqNZfSk0bnEWJZbEISkA~`G>Fn3!7)^ddS_Oqn?tY}ro*TM&>dJphxvO## zql}X$HYUbrU}Jhf4kjBf`RXx0-|Dg(;Olb2YCX)BEA8p9sw(V?Cuc(s zEoacHGZi){2nD$JN;c?T0Cy!LwW(_s&)vn9Ar|(dt^ld>=~;KIXpYhng|*Gt+WL;M zOM6p$L3NvTgSVq5b&r56Tcrnnrh0#WbJ*ul4$MJL*LNE`ja{2l*OrFVq3wIx%JPM8ZT3HJSy-b2i1;*_g)Z zy2BVD6xbcCj+cQt4i}ZCYVgdh;+ca6uOjdM0g(uoU_Wu&$o{+ z#0`46c*PCsqk!0lftKYEdjH2>%$6#b9g2>&3g{@Z@?5A;X$jTD=t=40$`&ftqC^iw zp5~+Qvr=F65wK!a9zkE6ttjmSgj_F?Vo|Ji^#XxnHyjN=4qn!Q8VU7(HSKh1|G}HH z1v}?zPwTjncHsCm#lTBrwj2lXGFOaVnfDAL`s*<5*c>}>B(SjHMar9l7pcP9bp5R~ zL=Nb@Sc9xqO*Vr2 zAurg(5{~d9yk+-PXK zaOZAZ0fO#JF1qUklw!Ia^lP5q<^O)W6XPAbj{*LYKQNx=567s%JZAp5PZ1O^cAq1* z4f^(A`;;A8_-_W&5_i53L&_dwOoMl9Zv?ZuN)$xPk;WO(MByj*>mDY+yl=)2)HO4< zb8S^aYjGQs)rKC{$-s z0;-{6pVSBEO92PWz;JZ-8G%r!d0cy75c>2%dLV) zGcQpX>LwKRmn}#28jBX0^~C#S) z@R(r2wE=Fh-Z@bgbLNSPZy?C?oED&5Ieb+*Q4ac9B){q09<|)y>$tpf)|J>xixbwB zXph6B88+#!mM2J9;_fqGZ{?NE5KD!NN`ws9@VBA82SSa+Mef_>ahZhx-Gyy;^ujti zZEr~3!Z^nF#~n-dlYnB|MP=8#0-ZHD9HZCN=x%Vi^9h;fH%qVB=7tprqvNhDrOjRzHYJk8 z1l(V%&YJY%u+`2Q{*0stU+>SS8@17l&@R)*ixvY@T?dcUXJy5i`k<;C=X*RI)tifr>wjBB{{ zX=dRrE{|-SBGBPc!?AYyN&>C-q4VMjGrL*#;j3qZH!rRNyK76n?vj})X2F;HN9#J9 zo)_HZ7=96>?&>-ihp01-AF4kGYdxo5gpGJ_KFD4|%v{r(*qWwtjC*yHx7Mw|I;QAWO``md2nKi$Y_Te6fk3tG}|7Mw}V=|yrT6=$OUZK?E5 zB^7sFuP0a9u>ASv?9HWjN28B3GM%MEY#uA89i@l7J*S`1PCL#RK`xmXLn9C5?C&Js zQg1;q8-<{iebTNMlmD}A7=l-@e{Dg0^;vmbt7CKz%71m_rDT&?Nj#w4wJ9SkheGNt zRYIj2DQp{zxF5V@T$X-;D~At$yo#G{nIA6}$b8obkqRVLmt&X)3Mv#?d9R;PnZ|M= zNsK-@#?k@hEtymtD2TzhtF2XCwXiRi_PIs^!XEA>q|9`r!PACr7A5r}TF}EDi{UVa z3I_;Ls48pehmaqdipk9ZcF$7&e*nBM8KAEU^zNtMv&}RL^VmsSEHi7iL(@mi7#&K& zl_I<>$rRy3&rA{iw*R;NMg@;m!+`R3Td$Nj5^yGQ*V1)2>?)ES1F54$LCqEVu0w&hjhczkC0cY=q8SE}uhJJCR0Uioa{NW_N3tH4=2Q%QvHYX} zJP*1Yh2d8w`RR2;P6|5Feq%XQ<9Kps-oEV=gRZKaL_(ZU)u>b{KP7N8FT+_F)N0Ku zcmSdf=RcJ1gMDk{CvpWiC}&_$E#Ra1B8=Zyl}b`<+0Jn<*ZP8=1` zVg^TEBR67URP;hv-=}Cz2dae`O;xE%CK6?-(?U8a)F;C^yXbTScm;%4*8vEPTYO(; zL6mMZ?%ZH4)|B4h=PY#H1eZLp3^}V%TB;p`YZFzf>U3%E1Gi_^vnPK=knWQsG{5_} zWy1+ZPw3OEx6Eyi65)Ty3bLxKA{ZSw#2HNZCq`QoV&+5T+fw-pui?zS z0e59>EDPk5bOZyN$WOk&%6KBDVI*}(W;#x?EHW5$iG{h!ofLT6Wu=>eOp4Z5MQ8(|TlfVF)?T;SVCBVm68$^R$(-B0{++ZA3_@ABlFmNCis`uLMt`wne|1S##kU3R)E z)7_MVR43WV79H}U6S7WzZO=~~BIt&=I!?1)4xtXyhpy&>a?xyBC(t6zA26#eiSFRf zA#D+^G-$yribU?p;Ly%IfWUskdWymmw6LQa);+{>r{!&^iJ)e^{i?!Iv@O;4keU9} zK~T|3jg{3sT_4NJFEw48!A$nRR3&ZtL1fgyYx^r{O;xZK4F*-vni%zkRCbx0v+owj z_na(~mc4iPp5RWU-!=K+O*!<1=WzvCRg~H-r8DB%c#V2Y8@!TlsFy6HJwOZ%nT6@> zLIDE@1#$}3Sp<+v$Q_WRaBz1ks?83Km<-3tQCjZDkuJHbRZ_yqj<1i)42KqXJ9yNX zP@gL@^UrdKYAf5?VqSPc7lX=@)N%z*9Z0YJG83-%#bsL2acm9o^)Su$bE+}(22F#W zT%UYe4X!7`!k5q7Na7@|@ulj>h$vBoL+fT9w{N4!cHKJ2t>iCT`PWAC9SP*r|J?V6kCP zL}ym83YTq#Fjf&QN7*;g>~LBrXyL%AT_K++AdtEU>J=Icl-LfcoZS|;jh2RCzW@$s zHa1IB>e_>AMRyAuw8}NdM-O&ed`M<6hvTDsWXR7l^A*hT))$^*Y zsg}xw2n_Kxb%-2uK>R#Ovt0-o+iUt@#HjD0bsMJb7J&hs`nO;~+IAHkgkE#u2oJk| zMSElN>x7#{>N2}OHvKMIw2C$fS{68~Ba_{r@1@%(;&tHMw>Mfhzyj)W_qP8JaKOY@CTuHYpqnhB?ap!}PgLCb3`b0Ti`oxKMU zAToodjrsvN4Y^fqjV6qlKoi8?683=KLluxe6kKZUYD%E|v zTu$1IGn&F_GGX?tur;&A<~iD_Wzj3>tf1X~tDv&xpyn-m6%!W$i4iq-_8Nwxm@


    Evzn~Db^OVpTPI>Jd1HZmeodykQR$}q-xXV2nK!sd78)q@ z$F|YWf>!ol&HyBG?AWuP zuW^_Ss>X+z?f=TGrJ4OWf5@j>P*W1^Y4BuR9TXa+QNfkHe{n4s;Evq+8y3vk`&@Du z=Nk^Q87KHK+bV-KSl225*OG&(8~HG$P9U@Z2b({t+Zl`K)^VAB|K1aS7`ybdYtnv0 ze*H#Q(p*fyf9TLLx+CaNrxn=vov7E)paEj>&xV-_(m4XNG-B~D;G7N%pRtse(bRs_ z9U)s?do(BEM}ww8q838LR+%+jt~mLOkz_b@@Tj?*KE5iy__^`V*cF(iH@KWaF&Yc~ zbc73Z9&ER&Jc*XnsefRAn6`V}2FMuOU)z_{^uc3$v1lEAz%TM^$fUwl6Tz1(yozk} zJ8vAA9Vu`YEfch9(JFrH|H`bUS^fE(Xw)t!} zeiKlXRD_{E%8I0YRj_K7zUp1q_BD=Jli{D-@VkEVMy2aA{S})d{0(xPH?T&hH_%l< zt9mbMg<@E7ZMIL1T!e5I+S+wpUNG1~japF|L7l<_mIY%DGFBVt(~1r2x~u(Q25!Tt zjF-C8z^R18W@%Vh6p1Ai8caO|^#}}T={%VK3U5z=(+O^jHA@yolUPf$gE*qlr%NEf zQq1jh^dO(h&PB&7?u)Cu=;F4&K^7pzb(kH4EK!BN6jXhU?@1CHY5B~sa51=^Pb-{M zSazMTNyf|*MTcqM)mYK-GLFo`1dYx(N3XP8QPMcVBPpyOhc>t9?#pk*ZEsKgX3|nY z+as56!w_G|=aXAb$64!g_AH`^;j;z`wZ)M|8x=Zw7KI7>NLr#|2Jn=0fc{R?f} zz_I<2c$S9cMOkE552Or2RuBum@zVtkc?*}oG0ZND&cqs;ic>#a(S&bz(C*0 z9*zkxd`GdHA%r9+_U5U61G`bEQKa5Q6pF%UD)+I1Y<|OwXs=G4*BcgRi>vSnyvyO{ zOIjNyXPcs`qQVEJ6UwA9Qtx1m1dVV}87@eOUxP;6GzI2q&(5nVMk!T^m?4A4LZGpy z+ldtf0!Ml{vEZ}`-5DJ%KY;8 z+tZ1~Y;ZZT!abc>6TywY-HFvBffI|^iS^SSCl=g` zm8oH1yN=>Vc4D1!IB3kTr%Wdnx^+9T4#|(@ zESD2&DY||^C)P-ry7n`iSe;BK)|n)oSpA$nECBILvm)TZa9$(MIw>!f!f?Na7t7}K zVj1jnda)KH@?xGoo6b$YQXy1ZC-6L_(D znqI8U>n|qoVj-2eLP9Ur{_TH|xJIi@Csx_c2yF8LrEVwI8BBB-mp1PO65+(k;_1Z7 z1)|z`II#|SI8XgP#nHyJIQFo`5lT}%EDmy89E05!$5^+;QM)3?81SW!9CX++ zP4=_`7bOLYK&>XW2P|^b73)B(f!C?5t1ZI}Ro#0aYw4A5z*(zd=x@xDOarUf{UhVvD0JUJ7bB#KEE%|Jl95NT8*84AbzJeVPgLcTU{P??)5Y7y}l{7?ccH29Ro~w z8Z|k#jTM-p9L^b=8es{1xeWg!Z!}r>@b$p(K=0UQEQC_to$7y%?c9d#iK`XWg`fU4Lja8Ko*DZ%te~s*tuB;lzCnPw}!YVEEL!FsqMYF%u62Tn?s&;n#*7(`M;bg zdqPe;J`54Vhp)(YoFnMF{dLQWkA0xNf`K3)npfet{&sfIzH){-S3$*U^U9HYgkRoa<<xdPfu1>{gSrUp* zSC`_mEP>)9%Nhj8qK0G#!(Fm{b1KB&J}ulgg(T*M%Om;>Rc?K%XUu*vb=1AZFcIo4 z3<^rEt$zqc#nF_TLd;=B!*_{2X!tJit!rGHLU>^Rb$c+Y8f&RBJeabi$z8oO3w_&w zkmu!a{6?t28{xH|6S9FpV>!N!a!L}tjY|mk-~PO0ZrScy3FVl~L}GhWc*-i;<}yj> zXq&>HsibW#lcJU;$vL*4j@LeZ2LdU6ZOQc4O^={0>Qs`8ENbmbF0#I-UTl$-1;3aG z50^*EPUPiX{D?Qo5&eRo)Qg)`UKbC|ub;Tk# zTat68u0NJCTgt@mlHq5(^%|}nG9cA+sW@fS8Mk0@4Gz-HW6pVSn?h3FCR^ny?v>Cfkc!5un|)BKn(FL@FlzwVw{^d+x`uBEEH75ox)r zzr%`vZ>v6w*&PLr6q!PF6EohH8eAjuYOx~ZHJ3eFGnH%{|sqP$<6Y=mZKTOL+eq9 znhXM2Mk-oOFzTJ??@G8`NAW)ZJ(bPWcrAm3Q`RfPTLYc%rI~KNr)|f3+me2-1;6(v z;sCw$4d!cqo;Kc!<;$F8I^&oALdvO^qZv@QEZt;zD++rcYXUA|q|4!_m!qlrEI<~- zw+&!0E`S`^(f8y&hjfHk94$oNzq-(457) z7ov>Pj$NA(9xW)Q)+qz5p&EUY#}B#AGTjJm&V^0uu=swYh5j5)Sffwxylq6u4!%tS zGK=bf9OJn&hR!1e$W{?R{riJbAM~W>)%V$XQoCWw_(9dpaoG<1+l#-hkm*n~Xrk7) zcncqdi`OFm1q^t7U~a^%DDl(EmC{L5axNgh2VJK&6~(MR|t`_S;O*R9O6hkTzfJtG#X&Y1v}bc=wY< zZEZG(*mqFWD%ve)Y zLM<58R{sAY*7%`$Qs^F->_`~FdLH`I--9|ND8-L3N$NA0jEVIP^qvT&_@9IHfT*5( zbhRNp42&l`X)RpRV?<>!QVno5Y6DY}STfmi$Z>m06K*67>26%@4?ccTMyL_e3XHLr&4t z1%raD?QTqN}pza<(P`E0Cr-$7JJ9|E*3E={8}6m zuDsMc8UL^}(#KjGWwh%7_~H-E(U;%pE$hqF!?7N=#YWh|^<%O=GF^U&ynjmcxuWH$ z(I^o5N=x#eQh$xGwQ0Dj^>qAQhQ8^l(tIQ47SXQkKDu}>i4C-T$i^<>T%$$9cCf78 zZwRGr(%XvaM-W+QAme@+aGh=;V5-B<$Y{wX>jI|}Crutzser0S3K8qs!}G4m>wX!T zQFwbo>`*%cIxo#1`V~PXQyspB#LK4YGC(naawKAY>ygCUF@d++-p1P_knLlY3x7wV zn$`Ok`C$(Ep6!7|N|b#+Bg0y?V$^jSrd>n^0P1ZIsMd;(TZf4;-)d!oo3`t% ztYSb(ZD1AOK)4n07i&=f-8}STgiI@DUDIa$ygKp#aw31%no`ej+Q36uxA-?cmoGKg ziVR9GwN9me7@OsxB}i{?)$1}3BQc6aCGu zJ(iv@p4L;}vdVUNT8@_icyv7;k-fFrRq+Z^OUcm8g|Ja|Cv_fudk`h>lxxD7gk-))+%Qql?9v~ zA_qn3pG2LGLi_mleiTy)y$1XwuCs+`LS(XPY8Poyj!kyb$8$|Qjmm1s90j2jLH>~J zcoU6SzFqfV-RbpKxlP9maSQm`cuW=2BwA>#qXox!=wtZqwAna1@yby2y{K%Z~;4tWn&O7cdXhB$d&$BkJp!tunJJY#!=mVMu&n zm9R4(nuR;F5dhpw8$$)_Wl?IqU?4Iv(MUvWXFJj!vZ%6JPxZc`(z3mQ zos0m#g8WrxkFOTvt6IFQf(_mMEVr;wFAz`0`=0g;$S}ToESW;{D<_3sj!JGaU=yW4 zhL@wF*_Ui-J!^KARD0de>RBvnbX3Fh(*5lQlzk~xR2xuM`vX51h*!NY>uY)|>6`qw zUPdbu(Te;I(H`(_%Tlta7J6FCh#wr~D&JT2HAgGuoBX$4YMw!h{N)+6I3Jvd2PdY` zo0p2xE6atJ+wy`HV2t*Qq#cqA4XwLhG1LH24f&(}K#iGs$idJWG* zY2M}h5{f!r@mj0W{8`+x2bk${ph{yHPO7}#QIq9$Kh(|wtI9e2G(EkeqaBEU_=~?Q z$KUZ^4&m!JQauR`ZJVEPEOxKg|lvCZp_Wd*rw0XS-weFWPv_DH4d^K1s455{R2` zah5*3K;8}su?D|}Bdt29$x-;n?bo=NAlsG9q;W<@ZRV|{f$Kgag?2l%NUeqc2C-@ce8Op0K$(H_9l`Mtvn_`KF5em;k^d=;R_0>~g-em)aMT}ITOnj!}bz{TO&uq{i3t;ih6 zTBsnlMir$++p%TCxv+CWc~8}X8wdIH?jdsHAd(qR?OxBw7grnXv_Q~?xhwaOSViIesUtFen`yBcy{7{r=>k<)*&RDqBOY3+!vV{zN+p z0q~*YiDrCYl&)HZPmnYEeir5~2_%(20f6f|i z(xhK)G;*UH^@sqJf&yd+sSkf_1Uyl38Ih2-6J@CVd|Hq0mMuTc=m)54-5#uJ-4hm# zm#h$c{p=+<=F-{gmR-MGxi4GBT!j+OD0<&>#x3#^#$m}+fqnCqQ6|oSS!hBEpQC{lbD{ELslV&=-oppH&;NhCT?d>~MYo@sn|n7T5Xx?{%R+XSWhv5o7euLoh%}M1^xo^z zL7G4i0Vzwb0@6XGiAV=&(xr(=7my}!v)oAD|4fo?EXwyi-^={w+{yHMX6DS9GspDx zXRaI#{zc!fm$&0hFFgVhkM#D)OV+a2WOcU1`+E>BEU|9ZtHnvyNBobVo4Gzbh{+Wm zi`{>wS45VBT>C$ikJcH*@<-uyTXUWhv?vVzVTmr(buj$8-VpTsPzyc1`u)t6U(qe^ z?OoTwC&UfF-?v6qJJwlPLa%YfkEA=GJs@(ypJ%jj8;o83r;#6Eax~-~&9AdfQ&mY`YxaN#>^~YuGp2Hzo!KP27Csp-g3F8zj(+rv) zw(C9Bbw*DjbLw`zx7yU`P3Cj@pK{fPjr;-#W?Vp$=Zu5KpZ2TtG}&_X39caF$<@t} zjZlgH*o-)L$nSdLJN&^tz1TfPALR}qqSfWAE*S!cmn-cu@W0fqPp-Ml z^MALub@f^3+K7w7-);bfVWVqtKkD%xwQdirXY&+s_tJ;*t9m=-s=JpR#Nfvet3kqy zZN?WqC%2Z`>69@vg-?%35-nW%K?QGt$QKgyTC@euglLjE>I{73^nSuQdfFLZqZY)g zk;Tt`3tLSfl`4<*Dsfy7a@SYzexeG3d#1B`)_vjgdSeAqQORf}J zulQImAtN~Go{$)R9b{yZk44zO&{(t1$RL|5=&4bwlM}dZrzW!>tNWU*YWVN zm7LZ;!Eq0CxiI~6x|vgKxcw|-XxzlKFzM0dO?oC^vniltw(eMewD}Pp0bMaHzAI#X z&>Nes=S@!*oNr!!Ppu4DR7D`~a}=nIz!BZdu9z*gZVfPx!~O^|{`dTGX`VR`UJ&Us zXT(b27+Zhcep{b>o9q0pKK-up<5}RNo9fqnHxA!QsApUJH;c?Ci>oL0s#UM6-)>)e zkOb7M81vPL#W;<*tv1__SH+5`-4?f<*@A?>H6Px#ues_CwQ7C!WHGf>^WGo2YG4^Q zrPuVncu}f|s&Bc08$un{5dOb)_6Uw^j=I)&po^tND%Gxlemr_+|12Bz(0W+!#p;eS zm_*j=&5P1zXYK{OTQ*s@oRY!`uC+L14V#CX>Uym4t=;wB$6YFq!K(jb^;Dnu zJ`lHJdqlSdBQBi1py!2bBt1JW3_igtklQhn+;BnaPla1$NT?T91bX^Q2k<(xk!`Bl zIal=-@6i*|Ex#Lc)2zRX*1sTM7XEzc7fYusAtJoG0yf<+aDF@X<2{%8XV;pKKQCw2 zom18Edag>pOZh{P$D29VM@Df7k5UJ{twNN}*goU>jO#^9J=@;l$XNJ=(--vox(T-> zvgs#r{B^-?x4Zw4b^L)#oi~5ZN?Ptbsq&+|*ICR};_b#HfGcd6y6W(^tIm)dm1SM9 z26A;6)VKd&Jbi|t(#X@pj!T&jPwmk)vl0EJ+PO))uDF@@zN^Pl*9OSuh+jN=uGtOb zh?evqF;MspW5?EGWP3Un&i``*EceZ}pE2}1JllD4>&czZK#^@^^wmRyU+e+;z%ZnD z=D_@<>Umv{_ilRxc|GdvlXxFfoiyw7*%RlO(M^IqvrZD<>kys2vjbZNGs#8oWE7=i zsi9Q~Uw;})<{{FI3#lXQ&+z!VYvs`R_IQVrWK{*(r)^b(UyvMf2)7+NeyG{_+Q?v^ zu~XHD;)Jkcv%w!AqZ?fMhvhGwKy~6>t1Rxl*oAKOXES)f;^!*fLx;T9xtHj*Pj%J_ z`A%|LZ=^2(b`hQhB%~sEz`*kAX%z1ReYWpu%rFw*zS{R_dM){A`VQ1j{FC#SF6gH6 zm$F<;cngR2dr>=YBbvc_yrh&uc)IP_S~LUVLI%+F$8Q_9zV|XSJ)H^*59q+bPx~4s zRqyIj&$!n2ncC27{E6;TUeyht;fD45qUETg^^3+rzLx8jd+9Aa(RkFjq>JFIkRM{# zuK}C8PVS$7+pJsN`+Sc-T0FbeQSEy4!5$7b2qAyfcZz5n@NAKi^z=}-7w`5W^%Lt| zvj)?2J7{#TG2P6SjR$mqc?M{0>Wb;xNtE8fu3HGJUO}fF=+dzdxS;o@u~ZePp_v|| zjK}6=;Y3^#4pKeYT;k{VT@o6rVcaG)sHRJ#B9SxwQGrMN3ZF3}WG!n*pc@^A=)sO(3xn z228e6`iSRzje9ZOXW&%lfd0(x1}U3l$Kg}e_(lGuV&QKJuh*C14MX*ZC#sG?4iEG| z#(v$bf?c121AD2v{#0|h)J8c~qaP|Q2fcuchhxo>jNcb^Xh)PWU%8h-65v732v9@OfMbkM4c$U3SlS5bJvw*;RLO7?$Fo#5j#Qbq533 z-g4dJW8IsTg?bjdd$?XevU_+c!a%8BN4%aa0G}A6?evPrLJ06~gRD@n!R||nyBoqS zp(C&Bh}WG3fF5r343lqmM5^v+W2N06C=SU*yYA`jpCITCMF%3KW!*Y(qTm9Ky6}mL zJI3mIP-~-HYI~4<4cPX_!3REgQtE)+-5$#jWB?zV;m|{FPr3aybe5U!#lb7ws{Y7+ z#dYw+xi^OAPU25rX)8dybsaUGJeyaiNTGpF9b z@J$g5Wp5;9ZJoOhZn8eW+2HH5*76OrW;0^+p?5Hb8YqxW1Re}^4-lyb(@Gps!|C^2GDvBN4@*{n-?|~=1!S(xkr9b!vEPmJO zL5g1UIxf)s^v#j8=Jn;3Fz*RPEZ6?2)3xZZDDt&+LZ*}9ubU=U?> z703I~!Dd&ny$!MY-*n&J($#ATt^QAL-+(Rtu8G^bEofkF*`Preyd2?XF36IK{krdN z^R_*^R_&qF$gg_Q?x1q>&UG=ojNV4RrwPty{B8FQWejA2|KZxdVa;Q+Udz2#jo&zT z4i?_%&i&AGhq1&urB6>{W-h>^ls|938YXCIT0pHg%7F2I;x&6EX#_hm=>h zo1_4sm#S`%bTLDFG|vN)cyA9rq3?B%R&RSotG0b4ihLAgC;pi5k@6#wr&pWx5(%T^ zW4K0%zhEGn;$*|h2%-I>td@d z)Lk;TN|li`vbVRyqPrO39w9Gm%}l(o<>_uLwRdz4T!8&Z@Ty(dk{rY)a*b==Kw3DL zi2VRt68$evJ=&%H>W{nS7TSoWiaY+ay^}ARSL2|KsQcn;v%mh1p6^a@Q}&;g!NCHT z&Qg})(W~jB3<lJ@f$Ar{tE9hvw#H)cdCYP*`nTnDJ5m%B`?s|us){PB#Rn*; zC!Oo>E5cLsp`Yn*2AKYCxI6s=)1UFK|LjHI4Z*;FbM|60D*Fz4$m8D}^w294bYQeO z!KvVhOW&Yl?y0KY7*7o@*TYp~qJBd4n2kd?MT}PUU3hZJ7Uy1mpD#)XQ*K|j6X8Rx zY+!n|{-OTvuC01%O~iivEmePpk^a8%5^KX4eXE|Cf0xiv(Z9qZ4>PViy?zAq3V{d= zu;zHDkeD-i8ktr1=Rl?detDo9aeR(jSMFeHukAwAwbY6a)OU=hIO4>}ivq9OI>S(D zNg61{u7oI@5@YBSPpD*_++~bcpSeGmoL=CeoTeHd<20h15t*38Fcf2$FA3cW{DkP- zHBcmMWj!?wk9v+?$F|~e5-{OVDSk}opy&rt3gp}P1n(@mr;-%Q%&KQ13bK>lT8u`) zt#ouE>uHPoxuR#dX+NiCnDCeC<0~H8OgzBWaA5 zmK8Nlf9KxK-?{$fB}IP@;hu+F`#0@6YChc*kCdXRC*)L5HC4N{?J=M?_%K|<=a7h~ zpE_-O$7QbI`k-#d0%lCq^ENJCxX5K*<(k>YRhKBT-3|Z`%+dEg;0qEmC=2wWL<#!^ zrw64_7?;Onr$b|XhJ4t=m=5{=bcQ_6cvtlW+KE8!2M9$$z_nWzCk)1?i|qP%tYD0a zSk?5zi8ckq@t}^6ZH7ML4}B~i%G&c-!I4xtdtu#*BVMFd5#-D(5U_1_J+FM3)ST256!N(-fuxX&Sl{}8sX?A45Nur0aBR(Y}5U5|ME!Dw;^g;FoF_X zK{Y}NWWp}TKp^Y^s=L~*BI?K==eAu1GDQjyc24PGGh(C%{vjlP?uW96G0*hpJDnm3=$;fP{ATl6M69k7?w~}xsGQZ-4W7z z4}*f~H9_?Opnt{-ml{nI?{vNMV|PRxUxg%A>7DJgxs%?%B=6M$dXjgfc?FSSYi=X) z;rbsO$27wgHw1-%nWe2PKX0HkGJhzczUw0 z{g{4)&Uf^|v>STMsHbA>ScAr&QGZ@S8F0c{6+LL4#BKN7jpQ-{kD~Thjp2B!o)#6h zQQ#V!&o?GSD1YcBAp1%`r5-A#;<4aus*w^Y?LHsSI8k6+X5^sHB$ge+t8z_I( zkiX%SCuD~*Nu4IY=VKrDYAhm)bH7mHy4&@g%Lz5P9f+zLP?Q5vRk?wj0ktA$yOA?} zwC=$00VYL8Bxd@U#t*ne=0XN1SmTPLtoM+&dv5FjZm9Yf#wm%EzCf|@-`Kbe@wL@g zBfbL(vlV@uURb`;tOL;yhV~V=j=#9ZIbSMxrL``qyxxF>*?gtDuA)~OKt<{&i}aIz z9wNHX&7;U-1YSUg6P7?-3>Xa@>_bDW z5)PNTV32guVT3;{hFTAQ;$HEDpL**4=GlK7-1Wq6fZAuldX%1j#E~M5c=FE-nlVJD zfyiA1sTDF{1brB(#ZLak-8fE<`lUzQ^0+K#ekq$Uw(Kv#(Qao#w0-`hd7m$!vuU-r z3-q+l%zE`=_F&7`KdXJG^_kLpvUzAZb-`!z#?BjKHWqiZ&z>>&%lXsH!S%YHQ~Q3} zZ$#Wsv%6>k``&}B9G*M>^oj!Q#K(l9W4f~||ljnaq*Ia3(`f0z>eLm}LPAK@H z{g;Vqa8=jRaZAT8HkTWuP9E_2Kv$gkuL33Qm*=Wu=Sz8U!6VB~P+h$z^`6|OEEOYap z)FC4VjT$)0Y*fu@pLJP{`(ohafm6)gDyfS{E*Z0QEX2Xtm%5frTJnW?@Fg{F+`#bz z&=haG?pE&a-gY<39`|584AmEy2qRyATSu>w0RO-_a1NY1w3Z`z&sGS$#PXd!Hod!V z?K3FhpfU)rSYl=GDFo34a9Gekp*c<^oC!@7-8sRY&_qvA|7xPUlL9?Qpyvrq?Cyep zHBsFuf*nGrgqaiUu7u_Ygg0~%A#I8t#PQTg8N)me?D|kVjjIpG8@b6+zMCrHyPiGZ zlFOsIW3Z8wS;zFp_^a9Y3oo%tT8NP%#)Q)MQfA8i!icqdVsJF>j=>Jq_E(hqHqNpl z@fPdcq_LuhP zS9j)DT~FdZ%R_XE^mLykM8-wy-K%;F9CTH)--MH@uaI{Sd=cfwF^B$>FQU7c^KPiy zimA6;YHbj|h(9XPR}}ebfy~I)?lQv}WW_SY)aEzTqCRi`d3~Nfc>W;QGyQn!u%fpD zyZ2ew_usot;T%SDamz& zY|S42=DE=QLKe(fUXVdKZX+2ySe*jGNzgdKVWS ze{J5Te?dH*q0ZbgcjiJIP`Rd!o-@?EV8FtWU;E-rxX)2z$e)_>^(3m7+vt&~y&6<| z5FnbKx&u=?y42IRRM4Kw<)+#*iosV^c&ciA4iVYv<;U^~DR}N{FuY;+#(oAIzqq5x z?JRo8`QQ^jf~Ee3Yxg?WW$+O6So!fJyaBgyGf}mh*Hf2wRCl;$4k1c%kG?}Xk`VYI z@ne>mYxYvVY`V7dPqJV}mn(X~{#lyi9Ry8p9(;AH(Z#;S_3cccrx7RBVWS3)9Ypo@ z>10>D*)@0Oyk*PH!6&}ksg_@)HfyCeY1z92IKN!Y*7V;eqtmxu#$ck65vgyr>sZ`E z^oD^C)zhR$nCUtxr*L4D&;U!oN9terz(xOFZ))VamSvlMHhAGS{d>C}y&E*6h3KV` zyFf*nk8{9+bzw7T64sWDDahph?gMdH9sI7u4W_GD?y2qrY6)L#YoDMw+=b8_`dYgi zYgSyg@!&%#&DLjwXEF-wnAvvh#>%T;bOV=JIbWO!gAixJ9E$TP&N7Q73{tVHp}hZ& zw~Ta~9(qC#RlpedyZt*?;@eI*6Hk2GY2KhUm_wVnUgti4&}v_Y@<*5*=eIJpHNKak z;(RYfb?Qvj+I6AyZMgm;jN_^OcNoWG{~L_s3HCXrjd6_Le%Cj`IK~Y4{ztSD@bwR9 z#aQb857COp?EW{=iZR;#=-);w#(MW_(TZ{2_%{c-hySYs-5B>T4+!+x|6o9P%DEe0 z9ACuo>_vA2IsxCK&sK9{q%j@B3B?Cdo0IrP6Kr6Ayn|hfj|D!Sf^|yVC@&D$n z7M}?1TmKJ&*lmO7xL3~9%goV?QZs`hs(se1NBVTG^j2N9=;79cDEpdVwnH$^tSl1? zW;t12)}8fYec2$kf~{if**9z}JIc;8oxR|K2XPCp$Sd>rc>~^-$MKgD6}ysMiBV=Kvy^$t5@ngPN;zc8Z7OCOXL6ZVn4XyowY1tyZK1YSJE~pO?&@0g zJN1fsO^eX-Y2~y^S~V?B8={TY7HEsL=uFV1poc+! znjPk7b9Hkaa|67r)!sb7Ji@%#{FQmV`Iz~f`LX$By0CP)(^X7YC0)&Qt1L<ce-MYxS%KD9Un{}V{C+kJ)P5VQQ7F|(JYgx-$ z&1T==Ja5r6Xw5A{DycsVX|}Gm6HkR|R-XWGdYuUOviz@97z^o%3S(*DeTqo=JVmiP zcqzsIG==`wt-^Rx!~ZBnq}ATpGRR^(WJKGw@0jGSOGYTPZW z7mKjjA82|8T0hz~tNoa!TX(I~ElVS@h+P)tG!)NbHFjkGp{=sDKy+n{mzY>m4wIuUfHsYZ^{#H>-xnXk#q&ZmxAkB#F-25l-(_SSvb>tY}j`Oj{zi zEaOu543Ln9`ft2dajEtw;*=34n2a6P`Nd_R1Se^@m%`cMKP<7 z<()X*^$xn9-Q8$UyzWN30Hb^4FD7DQ$GK9u0E;_J;BPm|2AJC;C2#wZB`b)py?dX2 z-HD?;Qg7l|5wPnEJ8-c_T02;5FUxea=xYXl=Cpq1wCO)PI)mJyeWwplXYQSSXh-E61|gs$$^cD;Pz`$iR`uwg4>L{^W`vyD_Qe0SuVbJ=wD+d76A z>KZzJNTg@BHmv#Rx}Ss_RiBpu$^T0{S=dFN^Ld0P#>4G}o8n!tITPb2ei`XbujT6a zP9Y;Cn~g-4^|q9~U@3_D{N0T^2{}sD%Gn|kGK19}^R_JAm+i;ZT`LctFl@qzNDtFK z?Krwc%Wxy)#QS)qz6IE`3+t`*4DbDHWQ};s)7;*u%kn)7K9B!=W~4q;tI(@qllQXO zdRT1wC=irl9v;%gFRi{cax9G;YQb6L^wTx;?C5wyoO)U9@Y4QWdyZ}YS@+1nc(MbH zJX_DAPF^!*%c}72d#q|WBjUG3r;h99a9yc()QE~OHfaYTOM9E%Mb&d@7gqOZSh``8 zJdrki`{2pw3%cp2AAVgAam}Ata>cf)9v6W}PQLmQ(wVcZjvw5&BLp)?cGpNOv$ko@ zz+SB&kGbv8HWo->j=<2o;(XuOr`FKG=J=C#!>DiHgsV$>J&m{->uKNU_4_)fJ8d)2 zc3TDyvRG$2ZSgSsgdk|iWgzILa47-7c)wghBdkLNi9fis2;vX29bDe?6Dj#1(l7Y{ zS+1>HZ|c=HM21w0K@!`AD)7WuQ4 zZL{IXk}2!I{3i0cyKuC#lqaV;vhAmJyM!AVufC(_i?E(@jJ8-mw^S-<`B}5dE!?*= zXDx^v;~dn)`Q6U)i)gF%u>}Zr9QuG=>uCh5#Rh)Ruxz$kJ$7H8AGu5qiE?%U`-G9b z`=JtgmTV`Ft=+u|4XbFUzF%>4U8MfhjYHpT8oh~KkDkQNu3hy^R<~-M>#Kc+^&j3f zTY1fP$f8GRU_w{~^5;C&h|!GPM%79>E-glAxI`8YDk(VmVmej%FlV;6Vz=RG$cnci z;-U2Ybxm_c>fuvWy=aXGc#eHBrnn)-L@SX3_Bj{K_;es`?IUgWdc8KB(}Pdy;^ywP z9jY2RE9WkZJceku-8ED_YYd^PN%88IX$$9X&URT_@IcL}8Ricg zxn(mdCSv$Wb=0syQ!Q4lU!2-xtwmOo^_qsw>Q0ShL~8PRo81=O(%Le1U=!z#oz}C? zxDnImtyr*N`GT3qQh#L0+TJnSlEZmMf2emi9)c}aGy3Ven-iyRVa;$G56f`765O^j|R45L4;F zm3_AhHF>$v`kfIIX;`&QdLv8+{v%h7uGaZ))@kx$o%Oh!Tl5@gq#T;Hr31)E|5?9O z&A6oIaGuaFLEg$G)%ug=;EJ;rNQ>EkZtAb5)`5zVe8$%OmZ@7dhwC9gNWs>~8d~#V zpy&Xf=>;^pxH#vm@7f}DxcaK~W6KsA2oYnDw{8wSQ;f6JaV#w~`SO+4U<4k%%GN`p zXRk2Hozftn<|(RY254IvP%TJXSYZ%h3urorMu)flvs;i#aCB?ce0N`s{NaH+z!BEO zrx6xC3-gR9Z$Z{V9yqO1{EkK^w0@yINbq;fCv{V^qNf%dfahnk)zRn#t^igvxV>)w zUN3O7roV=*S7V$lwf>`~&W@kFWXe~OR!zP@u31MoZfo}rA9?t7Bv=TmB2!oNOim+M zvr2qRa%8nlbAfNIKmC4qb^8w@3r)oHq}gm5Nk1K03%qU`q@G$UIh(gBh=qc78%KBg za%~|F_>lF`o0s(nV&XQ!tSisXbj44c5$WdI^tIN8`Lb2(xZ?Z8Uo4``1jxmbT5Rp( z&~s|I+fnBdUc;(C@1aW6wjx(%JNXu*^f zQ!s_wKkT;Zte*Xd&h8>xc{HDdAk7*W&BF(dwMrsvdhLmOfNI6N3};U*-}OVJQN$XU zi>A$=XYKs1k-e6|3P#%0k+CD1bqL4OcH6hVTkRM3tvj$Oa!?u7N|G#nEn{uI6PFkp zf|OX$I>?c5P?LmmD|T0c*%-qI0ic{&c0?V;j)VDf_V=w%s4N~ zTL8A?ZJ6Ngd3%^U^3H%=`KN%RIKuKVdHl_1#p`{Sn<919&oon4C1AD$+%)xqM5?dGZTwo z4(Qy-uP=WLc{ah^!2fOS|5E7$%A6iLJ4`}Jr(|GE$*9F5SAY_nE0mwb~6>l{N!=cV#s?^lsOM)#%!)Z+CWzWnd%OL{^NI zWADOWJ=TP^W}R7Y>|JNbSSekk0(cJkFtiDpvy1-k7612||9i{-y^GwDzX$&B6aV+Q z|NFxKeTmr3Xq~)49aw-S}-%_^~%`ktH_+9l+m8N{Ta_$tUyJW zFXze!bMKgmFvsWG2{=Drde}teUdwolx$rR9Ow2hIaB9v2fV-k^0X~mLPl;X_4f~v> zqS1=c&7$W6wvHzMH=_5z{%G_jnCnJ&2W%AG3~+QbdS&$X=tgkOCu`6geJ*EM&Rfx! zqpwBZiGC3Ml<|D0q)WTpB6mLMS5%(d(j_W)K#>n~S}K<(cR1PO3z#R&r|{4A8s+mz zt`sgGlrIfm9`G-ZMcR@J^QGav;(bm&l2Uw~f1kb2 zcfgPLB|^&Zi8jc2z{ZP_6LxMo8WyxVZ7_T zR|6^FFRc{(zd)Oy1aA1d1?#*4w^U!6+0y>`zgd!(ivq+UO&mk0O6F>KgttQ{1xz#_in&7MGVRCq&LCm!(Z$E z8b|m)nJBc7aB<=OCEBx!tSsVt;WZGu3Rfunr{0$l-#e&lN{{-)apcy3`JDGIT7_yi z&0iotfv=23)@E|=NRQHaj@JFnXY#osmFrL zCp4N-=CjE0HKcY0Dc>L)X)DJ@Adi9A0{;UkdN2A%K_ae@ZRN)ls8vegA@Igkih=&g z?|q~Q+=8^vqlTYJyQ@h5iO)Sb43svIV!#c3E=9fh>`}5i7^Qc;H_^{zyCwR+iV<^I zj>Oacp8MQ;$$Q;<*%y!ZP{1eUE6I$1$y)E#@#J+=iP3Lf`g#JT5cqjd`Q{25t7M0- zH)Y&DpVV43mXmr_lD*HA9HLg`42>R?vX!lf;WGI|Tl&W?)u}9ViV`KomPQ>SmefDg z>F;Q1>Jhuh4fXp_mfGc==$mD|8_|RAP}yjXN18XJZ`r?mu?6NKv_WEh%GE}S6-cu6 zhi@*)kg~o|9$+<@!uwW&`E-C9%hPMRL34D`c4UE1do7bCABd_!_?``i1VCah&>htNO*t} zQW^gW^mW;9X>=T>H4$OkK#cx){g^M+h^CPQ9GTp&9CydPdtrYL>7FFFq}Y(^cHckL z_i4E7L7f7#!h~^|+%J0b9{E4nEHD52S5ne*BEbAZ`PT8p*oNteZ$6jUmdbS>rYrtc z3gL-YYAG?QL<7a+`@K?XtQC;!^{CZTD9=UjLi|7ApF^HA3*44^|6=J-e#-4-s1xux z&WFRjb76N>?g(rFd?;6@W{L-H_n6IBtI68+D(r8OZ^V5W*bcRl)c0X`(I59=>J#{X z3iX=k$Ge{5_5FOgO#GLsb_4c-ulG+m9$xryC#{C?!$^4G!!@w?*AjAvvcfId{6hZ& zzd#>Is(HkcV)d6a`%;)dfAEFJ?si`wCb-Gg!%7P{_|=tP%Kn%X>UAcJ3>w|ER-<-( zk(duzo}^GoIZv`96Q!5ZEwGl9uC%K6k0!J#%{Vj$&Up8EccA}l#6OhG-IBL@f@1o+AH@@JPg!$hi{61AAx-PaAO79)p2N4NcZheZEO|@xn5(k4qR%2v zX9K+}@jH&fzckS6m&%v|Wg3TAWZYy+KiLBfA4WlmF(bmxUzf6`sbBi=E7kWS)Wt)j zn8pg(7b;M)z!zcU&d8VAt1x9-z&F~*_e;cfZ!r1;VP5}58E9SP#`msVx&Gx(g?iHo z=A?fT)>r^?WQD4|)Aa?&cK-&I>|I}lS`>+OT^p33g z#D0-7w$!zRkgvf7KA(s$SxjivL$aNzZ3CE_Fi$c+Dbsu7e`a4CujUW2dwsFM%|s^D zd>XX`hwMIoufW&Yzv9tn@h_An&6u(3Ae?c_`wK=U#$oawVFvmS+<-kR{OrSAK|LxJ zHo_c{G-3!32I8?Lk1Z{8S~Z)NzyF;b`pXTd1gtvldpA%?C_WnP@;d|NgM!T+zsogX z7Ju(a%3&asFE132-z0Z}fq#Cx|6&(FAp`hcnm7C6N)Bnw|DXK=BjVLiffByz@_%L{ z{=Jw3dnA91=xIr~^*>1^RXnc^n$!<`UXoJ#drY3>@3m3;c5knBPRk*6ZqoAezp%^s zzXC7qy=}fB&AD_GFWyI_q}#z53I@%PujnvxLk!Ft6`rrC5g!X--eL(Vk z@~bfh%9g4YLtgdyI-CCpxBM+75GA6$RVqs0>(Whb|AsY@qQ2fNO!8FT-0Y))rS_kE z4V>C7_5W9AlfT3NZ%SQBol5fmfu4}u?lorNJnlRL{uK`1AMnUH!Fd9+O`7*G;oRdq z#5lC#JmEa&ybOE6TZ0RVd^x~R!n{CeGu8moqc5 zLy2sns3^+oh43x@tvR%mWJ@$~L;~9A{vwcFfEp*b_mL3Z=R)z`5+*OC7<*reaQx2(j+i=5&96#1Nu^Iz6`ZfC ze9nMM57#WtFsXdyig5;1QVEkx5zc^$Ni208)I=%7lh0WMkW39wKkrINZcWe*b&y9p z_}M~P0alO|LJPdZDubWwJywg=W*@-)Lspl41n#o>>|@r3wPo#Cd)5Ihw1{m%8~uP* zI>&y-4XJzVKKlcFUk`Ct%FPnM=?8XL_7{7}yy&_ac_yBjXW_wU#hSQ3Rg2f=AMj83 zAU>E6=hMNxHy^jB_VHi%6>#a@NBcek*PWm~2aYku!oV?TWre{bXJ-wdB3Vapx*XJLzQM?In!p8Afa3PMD{D&^yo%duD`4m2teZiOVrECiS z8a#(n`4(^+&f*vOB{r8o;1Ae*{sg>*3nW+JQjCx<8Mx6{Rm>$EqaZst1$Toxiu2xH zkF?2x5kA1XmPQCl9OnI#XT*pTxQ#}9l1%bR=8$}npGpqNuOx@$cf=vd-=e(n#>5+m z+U$xuY0daR)M-cDP5YF0AwEgo6MT}N@m_p9|C0AbUC%&`gJ%-%vvFr_B+9amyNGiV zx7ffr3ELff7hizZ*ax=*{4oCt{F6udN`9Q5;H&s4{wrTgyp-^F3u-6vQt}_Dy!8Z0L73^gJ8-o(;Xv#)m^sgPw{1@Zmkm+CsO3ZV%nTdz24{o(4S=|H;RF__z-r z_u=C{eB6hR`|xoeKJEk0wZTYe3*8R7J#+`?8)%W6(6^v(vk0Ubf>cA0Y6!n9TPuHJ z8YNp?3G7cK4xn_n~(8u|Aj=`a<`E?hhRYJpg(M^iuC()c!uy z{yxu z)YY&|ud2|OVUDy^=&i8qX)04#TFMfZh6;7d^pfJwj<6PAZhiT64Dgo)xrfQ;KNIB# z`69p490nYQagrXRCX8lbaDQgUX+i|Bauh~EPT=R($>s{e%d6OGwuY@`>u{%b1KWsu zwVT+tm_3dq%^TdrRj%QVZDt`z)8m0qA zQYYZJt{5dfFh+V~G>u2!pNJc|GlAb$V{B{$R@(%uc8LE7Ja&WM;lK08Sa-A)BgJUk z$ek(X17B?jE0S6{LZHG!9ib(XsY0PX)j#wV6&B%Bjws(Zw5?P_LSIo~rNT-%aywc} zRlw0YG;dgXQjU($#X@_gR*o{Eg&bEydpasgRV8#`Ksnxb)D11?Q;tRy@2kqu%rPRM zLSw^Xl9XetU$u60baa=hZ|KO>$}v%@K?K8!pe|7Iun1YIo+!tNuo%Z!3gegN1QbYGHk#FGkrnuaAQyr3yVP)r-(ql__+!PdVm8Ep@DyY9-)iU)+uzp-&xq zLNBLQjzh@NVaIV_oQ^Z0%L2-A(Q(yr%dhT-X=y2x#FD7?g1Ck_>{wvq>%ENfC_Dyma>Q23j~y-T4`^}D=$~4J z)<~wBphl<$a?9MuhPJd92(4o;Mqxs0*axMl$~a~_o+c@KMX5&EUsY8?+lNM^QkZ<9 z^1Z6;V;$#w%KpAoeeD5N*Ks(Y?2STWQY(8i=mU29` zPYfuSrzTVJcAx6&I2;<5rb=Bp-+wLCuk3>mBkBcp;4d+i68SHJ6sOwb5obhb6Z?Go zQmB>o^^VSt&i2iY66j5hr7GtrXWxU~7mFTq+8fv3st79i>_^{&yl?vryj?0c~@P7y4;1lhu zA-43;S!4-gWa*1wOjHPc7rn1eDBWQy%02uq{*rsKN9RIdpKcPW2p6%Ug=i^SiPoZx zXeZi>j-nIfTXYjWL{CV$=q>t)evoxB7}73=is52}m@KA2Kh z3Twy5*xlqpDjw_r{=!~53sQT@!nl`vStwFvEHhH(EE7@}%#Iu=ECjhQv5d%x$`s@# z91yu-0=a3!ROF}~3qr2igSOC7bi~f8ljy`UActL<1G(%5It20w|9wOs`0pqB!GC|z zAN~i6q3}Ok30&y}GsFz0p)B!$C=W}A60KnAQL0tU zMyq0$RXj%dOejPFSwfR6p;?wNt1MxdETLVNFhrKnBuf}7OBgK6X2KdJ8*+v^N1mvh z3hKQz%t@t9CrfLQr4_QYnPh2gvb34eEFiXsWnd-tS>msA9i!8D(!ew39{Cn9^*zt|Q znr{@_jT?SDv6}0|3u67&7ki-oP(Aqo?1Xw@w>lPkn(^4P5M^K#*mUja?7zN>4+5huzIp>`Jfkhu8r=7fL8J!Epxxy8o9up4&z0b@+gXA`D zW2K0S#Ij+3kQsY%(2`jiqzA%>|u7th5qVZV?c<^t$p+0ny_GL0AGZ!;6*_SAsS zTD%s*617L;AA;J$c|Bea_Mh-iU?!T6p#246XwI7>hFBhpuq{9Z64-OJWKr06v_{xA zybV%s%iA%zuV-f3jes7}iFX1v!=41N8}9~tq8bIESNCEWu|w$%Kj`Z)59Wh`{f6?P zESeAF!&qkY_TdOM0{2@pfGRT*u5`;aBgVrR=D;WzkFXQ?1ejg?bC^LTfS)h;7YI9< zPllOjQx1%o=`hd0-B<_hgWz)(pM`ipLxBApJ_qs7JaRoER70g7@a)8qF75psc z%K=yO)yVle(6}_do^L??K)MlH1k?tYxAX0&?eF+^Fz?_yQ9nQMA7Hba?}Zsu2-xrE z`%!xb_(7Nt@k0oUT^Q>22tNWF(3If+7(W637`=c$^9!&iN}2#A@E3%=!mq&QSKQte z7}-~0bB$j^D9|ooe*^b?dFoTW(^F4kK{_peq@J|#u4t($sHjnvZ_<6#g z!2VB;do%ng$L&lKM~IdJrU0Z_DTl<_r6ta;AaQniiL*;eoLxd<>#`DC7nk!<4vDjK zNNjDF*xD(vwOwN9e4>Ns!172u9WL>7QHiI^Nj#lXbQj%OUWu*k5?ebZwzf+QolnGx zID{P_2C%opKrs+L2Z=#2)0`D9F?YC}v&u-!ZI_t4fW+JdCFU+5F?T_Uxnr>3oyl@Z z%pD^LbLWznJ3nDM7A5g_5sANxN&Nk`*dtB?uhWc{6C)V({zOd2C8oo?3@pbb1sSwG z?EZN&OhA49C$q z%h$laE1|5wbeln`+ycd=Y%n2lTxcSWL%#&w@HXm#FdYY`dx$y;U^j+7hadVMx)OR` z5~edrOeZ9!U!vtZUIiZ5X|3-B5!zeL4`nXp^tRM>4UZ02#?-cE+&G85$#HYsu38rTqy zQ-R~wqkc93$C)IK6B5S-OB^SF<9>ksZpajf;Cq1MOcKWl;J5=Y9|VpQ631nfI8Ku| zPDmUV3>$ z@!$Aw$Sq;OV2J^R#DE$w;7!>0NxX5*rql*f77uhD9Vc%q6j5CW#HRNo<%&u3aPLsy&ayi7^r< z=9V}ym&A#=B~Elmoam6N*%A^bW|BDZEr}EJNu2nW#EJPNPK=T`F^9y7Q4%NSkT@}~ z#EGF2Cl-=8v8cp}Wh72COPrV=IFV^Hn9ycub1~K%2|A$-*vx>9*&75n2P%3@IM&-ZRpwtK&m64*$PY^BkT6nYfzKsmX4fU0E#Vyr|B_Ib za6dsFB+ZW{oF{Ee(!5y0Ym^o{#)kmT<&X)26*({p`-M9JS8*3?3Sm{o#R{3LCE{(^ zj3cv1NB-HL(*J7dGlz^}5AO%pE>vFS9zk&mSeFZ(Aa;^e4>+?0q`Rh^?Z6%rYZz&B zS;EiACz~YAbW@vS$3*@Y!ItwVY5svAbIW#oEa5SNJk(1Vk#3uCU}p03NV?vZuEnIy z25HVO{h(jKrz&lTLxi(mrT-VwhWLg#`%U^OEa4PsBg=(zRB}Bi{a2N6kn}T9+V7Ay zXJmdBNgKLF#aUKqzl9)Ir48|IbM}R_FD7A(ghyo9!V z3_+ZYk}$a;(k8pK zAs!UY%E)}4l=fB$P163hgy4dKpHC$G4Wp4WU+Z_IQ0$=WDmG-Nj<8D*I!lI2P-^890w#20nw$;4j#TJ>(UvpU&|sVl}8Xo3WaC&R+@* z6d4D4Wo}VOloAz1HBm=2!s??vRuTQhQ87%M7h_pOt5#k6D#hBg>eEgvZque)Po-Jg zuAMrF6>Yos=qA>-@7=16QV$lb#HOx2+H@7$CEO+90SS*vc&dB9ZoS3%9=+RkSIYIo zA91Bmr|#{=jXr&f6cu*?i-|{o#l>^L62b#mQW1cq6f~ptg!k!Fw21O9 zU{U4$KK)wvQKI_v>)A)i-4`({1<+TRSj(iOB=s6eN;175NlEH8l9Z%gBS}eW36hkg zt{_QCYIl;9q^=-IN$NF{l%!shwa(2~fy2-OLD&b&wyQ#G6ttnm_a8OnvoGWSb_6vB z?&6H!y{rG**>8W@{~tSZ>94W>+sOZI;Q!Y1f9v|cwDO>M{c@)Stp(_R1^>64|9cd4 zAT#X8`M-yK_A0O!`B(G#{gIq03UBk<7xDk!>ic3JFWrN>`~N@jeU-_Gm%T3a2Yu7>R9?2z2tMDxvma;9Wah=*fGO)!Uq;K7DDy@YbM z!#EZ9wNWtEW1X0N%>g;Egav1piP2vNACE;U?NJl3FS3|`_v2CAjKo#?vwgO zJOVc4H4{?Eg7}GAK-^}@`387UMeL|~P$BHGc~D;XoBWTbj zkselgL3No3DiTx*raD+vU(v4NKaG%bSlRHPcVTx*I|tJ{FrCoOz_lLuBqNkaw6X|l zf^xQE9e4&%BSlbS?BGBXlsjh;)CeaI1N=UDPy=QPN*`nn3JJ;$pM6o{F>EaM@Wqr+ z{2z-NoW`a@a@$N651K4i9ol`VsXiHe!zO4XY~%{bZv!{&5bS*;C`kH2U1^(TD=^e2 z#d8N*uE}7VRr*0MN1yP;EN!SKXmoRd(#j@76@krxWHv%u78H)rw-9#J{#=`Zf0L0q z^+$c}PLih1IaxGeh; zjj7~)iRkSA+?%KurVg3zzYb~ruR~h?>ySZj6jG@3S$fcYO7N1r6fe!o@UqzTmFE@s z+n{d>bp%{1@=E+2$g6*szsIZas=OMn&TA0eQyqsiT-Y&wj@{1}Y%-g|rm`==@3oSz z^0l0@9W6Ccwxm!8s8N_NR^wlwr3WC60c!We{~ehEx%3^?SZTvmU>Ri)%+wc(_Tw2RZjX6>Ju3+cx+Sn%g$6ayI;}D1AR$#sE14#^NJ5!CB|ub#5B{RM0HF0Hkt02 z?x?d(7#YHoGH%l@7G&C$OwmYDm}=TgO6_PupB9Hxg_+3Arim%kNEu2qjqoY8n5iYg zO-mK70ZV6UkV?_0Q;>&hiOOxtjj&CUg*BVu0eNYw{hpb0cfctSas2#-d zHDA(K7qP{Xs`{0rr>+21@huyrIw#oRA-bd-W4gC5fx6Iq}=dv%R&T%!4MC z>}V|S!qGd3kP;N8}Z6iF_izC?E=AgtS{Nr+6x!iRVHWZjm5f2t$@N)HjRBGGopXv?Aj;Q{X0A({OM#6U5wyrlM7k zpd6ug3aJ&POI7%M0PTjxs4yLd#tdjWj(H9}N8~~y!z5|dJ`=Z8#CeZm_W^i*c6=HC`3(u@pf|X9wqqhMi(v+&#%7 zoY?1LwT$+r7D$^*mHPby@E@#8bDVcT=|+lC;3ge|m`b4!1xs#NUyOBFR~E;H;`E*7 z*?4fje$Nho3UwNz=ofYc6u;|;{RI!>Il<#vSk_oiq_q+p-8ctDtG4uW+_V+Mb3>^O zK(DkYIh7cshqIQ%6a#%XpTAG}`xC|?_4``5%h4Egu_hSV7+IjG z6BjPV12D}M@vFEhe#5&s*ToHSQ{0jzb@;|Rl~`=XXw%WtzeaB=jIjtP=AqwR5}=8T z%b*tvo)L9Y6q-gfqa7W)l=P3cM3`f|72pNnDZ%cE<_HO_2#iL!gCN5?lY<+B{u6{$ zN>DWw^wmQGBMRT9z(eS{_`k$&4^9bbv)J!4m_lPMni04mulUY;=^yov-k$}uat40C z0Uyy3Rx(X}0B$~Q$JZ`8;{TiITdaim1b%n1(y!I`;I)vS(P>{D}B?}-jigH z^-ENuo`?SdT?^)vI!GA-yPL1k50J;#YZJMd8p6*sgdYk`eplj~Tu)|sL|Xc1+&+7o z)k~(UNb?R>M!c!s&w49o*yz++O!J;a4{4mHF7Lf2l4)=aRhM-_b+9R==0D=T!ar!S z1#Og;rane}CeRnq&Ve?Q^@K7~zGWVfpFlbkmua;3l4&gJp$vNZ8){_|`16{=e<_wD zP2Cjs+o9>(fMpl&;rnJf67y?y5$pB7Ru6|;J&Y~C29J>K@3nV7xnt(A@qFH|l50^L z@%S~*$6}=JNnfuHbCA*!;XZneeh>ZrwHh~=;HG>7Kh3-kq()ufv>F^a0qs44*~y-! z9s)n>*+;=u736>5-XmL0?ut;O-rN;Ma#>mz(8A zn!ljl6Wd3b?!ArGSO&yrOVpiUCcPZ@WUu2}51Pgc;SCxS)V}3ejl_PqjYZ48c?#|W zS!1OdvnlgoCjU)f{s7-itda86`$Aa&GmV`_2-6Vd3g7^YZ^8>oez+sw;G8N6YI=LI zANixSdtf~5fY}ANrO-9dXKFC;WMNF401ii3>WlCjDa%1&Xq*K46UrP&OZ)(w3rTUJ zBfbq$o_Xvev7VI#A4?@Vu|fLj#VFva5m*CsLt6^;!!h97>dhQVN%Vm?(Y4|44YW-6 z8;sMQtRQqw(HnP>d!l}NG6o*te9)D_Io2EBY|tTm88moSd3Wz)-WEC*b3zZS(IgS;FLtN~mY575eJQXmiHAO{MT50cnsI+I}p}Ro8o%%m| zt_vEYRO$)%cJu3o{x8vC$Czy1l|Q?MgH)u9XFKaB{AC$HZOS{@q& z-npLa4C{##;RzVi-LTH;23$pYBKnYvhp{1iE+d}hUjH*jkN@Wx<^Nv-uCc2E>Zt9Y82`6! IVCiK506@E{wEzGB literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-Thin.otf b/third_party/shadcn_flutter/lib/fonts/Geist-Thin.otf new file mode 100644 index 0000000000000000000000000000000000000000..a6dbccf1d3f9455c4e6baf48aa1bdbb71c6b9879 GIT binary patch literal 128480 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-ThinItalic.otf b/third_party/shadcn_flutter/lib/fonts/Geist-ThinItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..4b66f5cb988cc0fe560feaf10f1d4f0ed4ec8b28 GIT binary patch literal 130340 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 z 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-UltraLight.otf b/third_party/shadcn_flutter/lib/fonts/Geist-UltraLight.otf new file mode 100644 index 0000000000000000000000000000000000000000..febc81499f855117ba1c704be4d2af6debdffdb9 GIT binary patch literal 69988 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 z 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-BlackItalic.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-BlackItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..d3666400030d09191176ca516602dbd17851592d GIT binary patch literal 148776 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%0AeRvPz=+bM|C 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 z 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 J*5`kz{s(Ta_g4S_ literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraLightItalic.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraLightItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..a9785db002135a012e9814f3ae1808f3412bf831 GIT binary patch literal 145416 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 J*T#RM{ue6)9(Vu% literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-Italic.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..0502ca7134feb04d67e285dd7c0fb1d0b8ffa1f7 GIT binary patch literal 144572 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μ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 z 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 qt~e2hRn%jOAlbjFiaNZ)ZjBJ8(Wet~D?VO8f} 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�)j0tFI{N@RWNFYETdB0EV+6{xi~OLHvrIO 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 nfM9X}q>~AdP doubleLerp = (a, b, t) { +/// if (a == null || b == null) return null; +/// return a + (b - a) * t; +/// }; +/// +/// final result = doubleLerp(0.0, 100.0, 0.5); // Returns 50.0 +/// ``` +typedef PropertyLerp = T? Function(T? a, T? b, double t); + +/// A controlled animation that wraps an [AnimationController] and provides +/// smooth transitions between values using curves. +/// +/// This class extends [Animation]`` and allows programmatic control +/// of animations with custom start and end values, as well as curve adjustments. +/// +/// ## Overview +/// +/// Use [ControlledAnimation] when you need fine-grained control over animation +/// values and want to smoothly transition from any current value to a target +/// value with a specified curve. +/// +/// ## Example +/// +/// ```dart +/// final controller = AnimationController( +/// vsync: this, +/// duration: const Duration(milliseconds: 300), +/// ); +/// final animation = ControlledAnimation(controller); +/// +/// // Animate to 0.8 with ease-in curve +/// animation.forward(0.8, Curves.easeIn); +/// ``` +class ControlledAnimation extends Animation { + final AnimationController _controller; + + /// Creates a [ControlledAnimation] that wraps the given [AnimationController]. + /// + /// ## Parameters + /// + /// * [_controller] - The underlying animation controller to use for timing. + /// + /// ## Example + /// + /// ```dart + /// final controller = AnimationController( + /// vsync: this, + /// duration: const Duration(milliseconds: 200), + /// ); + /// final animation = ControlledAnimation(controller); + /// ``` + ControlledAnimation(this._controller); + + double _from = 0; + double _to = 1; + Curve _curve = Curves.linear; + + /// Animates from the current value to the specified target value. + /// + /// This method starts a forward animation from the current [value] to the + /// specified [to] value, applying the given [curve] for easing. + /// + /// ## Parameters + /// + /// * [to] - The target value to animate to (typically between 0.0 and 1.0). + /// * [curve] - Optional easing curve. Defaults to `Curves.linear` if not specified. + /// + /// ## Returns + /// + /// A [TickerFuture] that completes when the animation finishes. + /// + /// ## Example + /// + /// ```dart + /// // Animate to 1.0 with ease-out curve + /// await animation.forward(1.0, Curves.easeOut); + /// ``` + TickerFuture forward(double to, [Curve? curve]) { + _from = value; + _to = to; + _curve = curve ?? Curves.linear; + return _controller.forward(from: 0); + } + + set value(double value) { + _from = value; + _to = value; + _curve = Curves.linear; + _controller.value = 0; + } + + @override + void addListener(VoidCallback listener) { + _controller.addListener(listener); + } + + @override + void addStatusListener(AnimationStatusListener listener) { + _controller.addStatusListener(listener); + } + + @override + void removeListener(VoidCallback listener) { + _controller.removeListener(listener); + } + + @override + void removeStatusListener(AnimationStatusListener listener) { + _controller.removeStatusListener(listener); + } + + @override + AnimationStatus get status => _controller.status; + + @override + double get value => + _from + (_to - _from) * _curve.transform(_controller.value); +} + +/// A mixin that provides animated property management for stateful widgets. +/// +/// This mixin extends [TickerProviderStateMixin] and manages a collection of +/// animated properties, automatically disposing of their controllers. +/// +/// ## Overview +/// +/// Use [AnimatedMixin] when building stateful widgets that need multiple +/// animated properties. The mixin handles lifecycle management and provides +/// convenient factory methods for common types. +/// +/// ## Example +/// +/// ```dart +/// class MyWidget extends StatefulWidget { +/// @override +/// State createState() => _MyWidgetState(); +/// } +/// +/// class _MyWidgetState extends State +/// with TickerProviderStateMixin, AnimatedMixin { +/// late final AnimatedProperty opacity; +/// +/// @override +/// void initState() { +/// super.initState(); +/// opacity = createAnimatedDouble(1.0); +/// } +/// +/// @override +/// Widget build(BuildContext context) { +/// return Opacity( +/// opacity: opacity.value, +/// child: Container(), +/// ); +/// } +/// } +/// ``` +mixin AnimatedMixin on TickerProviderStateMixin { + final List _animatedProperties = []; + + /// Creates a new animated property with a custom interpolation function. + /// + /// ## Type Parameters + /// + /// * [T] - The type of value to animate. + /// + /// ## Parameters + /// + /// * [value] - The initial value of the property. + /// * [lerp] - The interpolation function to use for animating between values. + /// + /// ## Returns + /// + /// A new [AnimatedProperty]`` that will be automatically disposed. + /// + /// ## Example + /// + /// ```dart + /// final customProp = createAnimatedProperty( + /// initialValue, + /// (a, b, t) => MyType.lerp(a, b, t), + /// ); + /// ``` + AnimatedProperty createAnimatedProperty(T value, PropertyLerp lerp) { + final property = AnimatedProperty._(this, value, lerp, setState); + _animatedProperties.add(property); + return property; + } + + @override + void dispose() { + for (final property in _animatedProperties) { + property._controller.dispose(); + } + super.dispose(); + } + + /// Creates an animated property for integer values. + /// + /// This is a convenience method that uses [Transformers.typeInt] for interpolation. + /// + /// ## Parameters + /// + /// * [value] - The initial integer value. + /// + /// ## Returns + /// + /// A new [AnimatedProperty]`` configured for integer interpolation. + /// + /// ## Example + /// + /// ```dart + /// final count = createAnimatedInt(0); + /// count.value = 100; // Will animate from 0 to 100 + /// ``` + AnimatedProperty createAnimatedInt(int value) { + return createAnimatedProperty(value, Transformers.typeInt); + } + + /// Creates an animated property for double values. + /// + /// This is a convenience method that uses [Transformers.typeDouble] for interpolation. + /// + /// ## Parameters + /// + /// * [value] - The initial double value. + /// + /// ## Returns + /// + /// A new [AnimatedProperty]`` configured for double interpolation. + /// + /// ## Example + /// + /// ```dart + /// final opacity = createAnimatedDouble(1.0); + /// opacity.value = 0.0; // Will animate from 1.0 to 0.0 + /// ``` + AnimatedProperty createAnimatedDouble(double value) { + return createAnimatedProperty(value, Transformers.typeDouble); + } + + /// Creates an animated property for [Color] values. + /// + /// This is a convenience method that uses [Transformers.typeColor] for interpolation. + /// + /// ## Parameters + /// + /// * [value] - The initial color value. + /// + /// ## Returns + /// + /// A new [AnimatedProperty]`` configured for color interpolation. + /// + /// ## Example + /// + /// ```dart + /// final bgColor = createAnimatedColor(Colors.red); + /// bgColor.value = Colors.blue; // Will smoothly transition from red to blue + /// ``` + AnimatedProperty createAnimatedColor(Color value) { + return createAnimatedProperty(value, Transformers.typeColor); + } +} + +/// A property that can be animated between values of type [T]. +/// +/// This class manages an animation controller and interpolates between values +/// using a custom lerp function. It automatically triggers widget rebuilds when +/// the animation progresses. +/// +/// ## Type Parameters +/// +/// * [T] - The type of value being animated. +/// +/// ## Overview +/// +/// [AnimatedProperty] is typically created via [AnimatedMixin] factory methods +/// like [createAnimatedDouble] or [createAnimatedColor]. When you set a new +/// [value], it smoothly animates from the current value to the target. +/// +/// ## Example +/// +/// ```dart +/// // Created via AnimatedMixin +/// final opacity = createAnimatedDouble(1.0); +/// +/// // Setting value triggers animation +/// opacity.value = 0.0; +/// +/// // Access current value during animation +/// final current = opacity.value; +/// ``` +class AnimatedProperty { + void _empty() {} + final TickerProvider _vsync; + final PropertyLerp _lerp; + T _value; + bool _hasTarget = false; + late T _target; + late AnimationController _controller; + + AnimatedProperty._(this._vsync, this._value, this._lerp, + Function(VoidCallback callback) update) { + _controller = AnimationController(vsync: _vsync); + _controller.addListener(() { + update(_empty); + }); + _controller.addStatusListener((status) { + if (status == AnimationStatus.completed) { + _value = _target; + _hasTarget = false; + } + }); + } + + /// Gets the current value of the animated property. + /// + /// If an animation is in progress (has a target), this returns the interpolated + /// value between the start and target based on the controller's progress. + /// Otherwise, it returns the static value. + /// + /// ## Returns + /// + /// The current value of type [T], interpolated if animating. + /// + /// ## Example + /// + /// ```dart + /// final opacity = createAnimatedDouble(1.0); + /// print(opacity.value); // 1.0 + /// + /// opacity.value = 0.0; // Start animating + /// print(opacity.value); // Something between 0.0 and 1.0 during animation + /// ``` + T get value { + if (_hasTarget) { + return _lerp(_value!, _target!, _controller.value)!; + } + return _value; + } + + /// Sets a new target value and starts animating towards it. + /// + /// When set, this property will smoothly animate from its current value to + /// the new target value. If already animating, the animation is reset and + /// restarted from the current interpolated position. + /// + /// ## Parameters + /// + /// * [value] - The new target value of type [T]. + /// + /// ## Side Effects + /// + /// Triggers the animation controller to start/restart, which will cause + /// widget rebuilds via the update callback. + /// + /// ## Example + /// + /// ```dart + /// final size = createAnimatedDouble(100.0); + /// + /// // Start animation to 200.0 + /// size.value = 200.0; + /// + /// // Change target mid-animation + /// size.value = 150.0; // Will animate from current position to 150.0 + /// ``` + set value(T value) { + if (_hasTarget) { + _controller.reset(); + _controller.forward(); + } + _target = value; + } +} + +/// Represents a request to animate to a specific target value. +/// +/// This class encapsulates the parameters needed for a single animation step, +/// including the target value, duration, and easing curve. +/// +/// ## Overview +/// +/// Use [AnimationRequest] with [AnimationQueueController] to queue multiple +/// animation steps that will be executed sequentially or as replacements. +/// +/// ## Example +/// +/// ```dart +/// final request = AnimationRequest( +/// 1.0, +/// Duration(milliseconds: 300), +/// Curves.easeOut, +/// ); +/// controller.push(request); +/// ``` +class AnimationRequest { + /// The target value to animate to (typically 0.0 to 1.0). + final double target; + + /// The duration of the animation. + final Duration duration; + + /// The easing curve to apply during the animation. + final Curve curve; + + /// Creates an animation request with the specified parameters. + /// + /// ## Parameters + /// + /// * [target] - The destination value for the animation. + /// * [duration] - How long the animation should take. + /// * [curve] - The easing curve to use. + AnimationRequest(this.target, this.duration, this.curve); +} + +/// Manages the execution of a single animation step. +/// +/// This class tracks the progress of an animation from a start value to an +/// end value over a specified duration using a curve. +/// +/// ## Overview +/// +/// [AnimationRunner] is used internally by [AnimationQueueController] to +/// execute individual animation steps. It tracks progress and computes +/// intermediate values. +/// +/// ## Example +/// +/// ```dart +/// final runner = AnimationRunner( +/// 0.0, // from +/// 1.0, // to +/// Duration(milliseconds: 200), +/// Curves.easeIn, +/// ); +/// ``` +class AnimationRunner { + /// The starting value of the animation. + final double from; + + /// The ending value of the animation. + final double to; + + /// The total duration of the animation. + final Duration duration; + + /// The easing curve applied to the animation. + final Curve curve; + + double _progress = 0.0; + + /// Creates an animation runner with the specified parameters. + /// + /// ## Parameters + /// + /// * [from] - The starting value. + /// * [to] - The target value. + /// * [duration] - The animation duration. + /// * [curve] - The easing curve. + AnimationRunner(this.from, this.to, this.duration, this.curve); +} + +/// A controller that manages a queue of animation requests. +/// +/// This class extends [ChangeNotifier] and provides a way to queue multiple +/// animations that execute sequentially or replace the current queue. It +/// handles timing via [tick] calls and notifies listeners of value changes. +/// +/// ## Overview +/// +/// Use [AnimationQueueController] when you need to chain multiple animations +/// or dynamically add/remove animation steps. Call [tick] regularly (e.g., in +/// a ticker or animation frame callback) to progress the animations. +/// +/// ## Example +/// +/// ```dart +/// final controller = AnimationQueueController(0.0); +/// +/// // Queue animations +/// controller.push(AnimationRequest(0.5, Duration(milliseconds: 200), Curves.easeIn)); +/// controller.push(AnimationRequest(1.0, Duration(milliseconds: 300), Curves.easeOut)); +/// +/// // In ticker +/// controller.tick(deltaTime); +/// ``` +class AnimationQueueController extends ChangeNotifier { + double _value; + + /// Creates an animation queue controller with an optional initial value. + /// + /// ## Parameters + /// + /// * [_value] - The initial value. Defaults to `0.0`. + /// + /// ## Example + /// + /// ```dart + /// final controller = AnimationQueueController(0.5); + /// ``` + AnimationQueueController([this._value = 0.0]); + + List _requests = []; + AnimationRunner? _runner; + + /// Adds an animation request to the queue or replaces the current queue. + /// + /// ## Parameters + /// + /// * [request] - The animation request to add. + /// * [queue] - If `true` (default), adds to the queue. If `false`, clears + /// the queue and current runner, making this the only animation. + /// + /// ## Side Effects + /// + /// Notifies listeners after modifying the queue. + /// + /// ## Example + /// + /// ```dart + /// // Add to queue + /// controller.push(request); + /// + /// // Replace queue + /// controller.push(request, false); + /// ``` + void push(AnimationRequest request, [bool queue = true]) { + if (queue) { + _requests.add(request); + } else { + _runner = null; + _requests = [request]; + } + _runner ??= AnimationRunner( + _value, request.target, request.duration, request.curve); + notifyListeners(); + } + + /// Sets the current value immediately, clearing all queued animations. + /// + /// ## Parameters + /// + /// * [value] - The new value to set. + /// + /// ## Side Effects + /// + /// Clears the animation queue and runner, then notifies listeners. + /// + /// ## Example + /// + /// ```dart + /// controller.value = 0.5; // Jumps to 0.5, cancels animations + /// ``` + set value(double value) { + _value = value; + _runner = null; + _requests.clear(); + notifyListeners(); + } + + /// Gets the current animation value. + /// + /// ## Returns + /// + /// The current value, which may be actively animating. + double get value => _value; + + /// Checks if there are pending animations or an active runner. + /// + /// ## Returns + /// + /// `true` if animations should continue to be ticked, `false` otherwise. + /// + /// ## Example + /// + /// ```dart + /// if (controller.shouldTick) { + /// controller.tick(deltaTime); + /// } + /// ``` + bool get shouldTick => _runner != null || _requests.isNotEmpty; + + /// Advances the animation by the given time delta. + /// + /// Call this method regularly (e.g., from a ticker) to progress animations. + /// If the current animation completes, the next queued animation starts. + /// + /// ## Parameters + /// + /// * [delta] - The time elapsed since the last tick. + /// + /// ## Side Effects + /// + /// Updates [value] and notifies listeners as the animation progresses. + /// + /// ## Example + /// + /// ```dart + /// // In a ticker callback + /// void _tick(Duration elapsed) { + /// final delta = elapsed - _lastElapsed; + /// controller.tick(delta); + /// _lastElapsed = elapsed; + /// } + /// ``` + void tick(Duration delta) { + if (_requests.isNotEmpty) { + final request = _requests.removeAt(0); + _runner = AnimationRunner( + _value, request.target, request.duration, request.curve); + } + final runner = _runner; + if (runner != null) { + runner._progress += delta.inMilliseconds / runner.duration.inMilliseconds; + _value = runner.from + + (runner.to - runner.from) * + runner.curve.transform(runner._progress.clamp(0, 1)); + if (runner._progress >= 1.0) { + _runner = null; + } + notifyListeners(); + } + } +} + +/// An abstract interface for keyframes in timeline animations. +/// +/// A keyframe defines how to compute a value at a specific point in a +/// timeline animation. Different implementations provide different interpolation +/// strategies (absolute, relative, or static). +/// +/// ## Type Parameters +/// +/// * [T] - The type of value this keyframe produces. +/// +/// ## Overview +/// +/// Use [Keyframe] implementations like [AbsoluteKeyframe], [RelativeKeyframe], +/// or [StillKeyframe] to build complex timeline animations with +/// [TimelineAnimation]. +/// +/// See also: +/// +/// * [AbsoluteKeyframe] - Animates between explicit start and end values. +/// * [RelativeKeyframe] - Animates from the previous keyframe's end value. +/// * [StillKeyframe] - Holds a value without animating. +abstract class Keyframe { + /// The duration of this keyframe. + /// + /// ## Returns + /// + /// The time this keyframe takes to complete. + Duration get duration; + + /// Computes the value for this keyframe at the given progress. + /// + /// ## Parameters + /// + /// * [timeline] - The parent timeline animation. + /// * [index] - The index of this keyframe in the timeline. + /// * [t] - The local progress through this keyframe (0.0 to 1.0). + /// + /// ## Returns + /// + /// The computed value of type [T] at the given progress. + T compute(TimelineAnimation timeline, int index, double t); +} + +/// A keyframe that animates between explicit start and end values. +/// +/// This keyframe interpolates from a specified [from] value to a [to] value +/// over its [duration], independent of previous keyframes. +/// +/// ## Type Parameters +/// +/// * [T] - The type of value to animate. +/// +/// ## Overview +/// +/// Use [AbsoluteKeyframe] when you want complete control over both the start +/// and end values of a keyframe, regardless of previous animation state. +/// +/// ## Example +/// +/// ```dart +/// // Animate from 0.0 to 1.0 over 200ms +/// final keyframe = AbsoluteKeyframe( +/// Duration(milliseconds: 200), +/// 0.0, +/// 1.0, +/// ); +/// ``` +class AbsoluteKeyframe implements Keyframe { + /// The starting value of the animation. + final T from; + + /// The ending value of the animation. + final T to; + + @override + final Duration duration; + + /// Creates an absolute keyframe with explicit start and end values. + /// + /// ## Parameters + /// + /// * [duration] - How long to animate from [from] to [to]. + /// * [from] - The starting value. + /// * [to] - The ending value. + const AbsoluteKeyframe( + this.duration, + this.from, + this.to, + ); + + @override + T compute(TimelineAnimation timeline, int index, double t) { + return timeline.lerp(from!, to!, t)!; + } +} + +/// A keyframe that animates from the previous keyframe's end value to a target. +/// +/// This keyframe automatically uses the ending value of the previous keyframe +/// as its starting point, animating to the specified [target] value. +/// +/// ## Type Parameters +/// +/// * [T] - The type of value to animate. +/// +/// ## Overview +/// +/// Use [RelativeKeyframe] for smooth transitions between keyframes without +/// explicitly specifying start values. If used as the first keyframe, it acts +/// as a still keyframe. +/// +/// ## Example +/// +/// ```dart +/// final timeline = TimelineAnimation( +/// keyframes: [ +/// AbsoluteKeyframe(Duration(milliseconds: 100), 0.0, 0.5), +/// RelativeKeyframe(Duration(milliseconds: 100), 1.0), // from 0.5 to 1.0 +/// ], +/// ); +/// ``` +class RelativeKeyframe implements Keyframe { + /// The target value to animate to from the previous keyframe's end. + final T target; + + @override + final Duration duration; + + /// Creates a relative keyframe that animates to the target value. + /// + /// ## Parameters + /// + /// * [duration] - How long to animate to [target]. + /// * [target] - The ending value for this keyframe. + const RelativeKeyframe( + this.duration, + this.target, + ); + + @override + T compute(TimelineAnimation timeline, int index, double t) { + if (index <= 0) { + // act as still keyframe when there is no previous keyframe + return target; + } + final previous = + timeline.keyframes[index - 1].compute(timeline, index - 1, 1.0); + return timeline.lerp(previous!, target!, t)!; + } +} + +/// A keyframe that holds a constant value without animating. +/// +/// This keyframe maintains a static value for its duration. If [value] is `null`, +/// it uses the ending value from the previous keyframe. +/// +/// ## Type Parameters +/// +/// * [T] - The type of value to hold. +/// +/// ## Overview +/// +/// Use [StillKeyframe] to create pauses or delays in timeline animations where +/// the value remains constant for a period of time. +/// +/// ## Example +/// +/// ```dart +/// final timeline = TimelineAnimation( +/// keyframes: [ +/// AbsoluteKeyframe(Duration(milliseconds: 100), 0.0, 1.0), +/// StillKeyframe(Duration(milliseconds: 200)), // Hold at 1.0 for 200ms +/// RelativeKeyframe(Duration(milliseconds: 100), 0.0), // Back to 0.0 +/// ], +/// ); +/// ``` +class StillKeyframe implements Keyframe { + /// The value to hold, or `null` to use the previous keyframe's end value. + final T? value; + + @override + final Duration duration; + + /// Creates a still keyframe that holds a value. + /// + /// ## Parameters + /// + /// * [duration] - How long to hold the value. + /// * [value] - The value to hold, or `null` to use the previous keyframe's end value. + /// + /// ## Notes + /// + /// If [value] is `null`, this keyframe must not be the first in the timeline. + const StillKeyframe(this.duration, [this.value]); + + @override + T compute(TimelineAnimation timeline, int index, double t) { + var value = this.value; + if (value == null) { + assert( + index > 0, 'Relative still keyframe must have a previous keyframe'); + value = timeline.keyframes[index - 1].compute(timeline, index - 1, 1.0); + } + return value as T; + } +} + +/// An [Animatable] wrapper for [TimelineAnimation] with explicit duration. +/// +/// This class adapts a [TimelineAnimation] to work with a specific total duration, +/// scaling the animation to fit within that time frame. +/// +/// ## Type Parameters +/// +/// * [T] - The type of value being animated. +/// +/// ## Overview +/// +/// [TimelineAnimatable] is typically created via [TimelineAnimation.drive] or +/// [TimelineAnimation.withTotalDuration] to bind a timeline to a controller. +/// +/// ## Example +/// +/// ```dart +/// final controller = AnimationController( +/// vsync: this, +/// duration: Duration(seconds: 2), +/// ); +/// final animatable = timeline.drive(controller); +/// ``` +class TimelineAnimatable extends Animatable { + /// The total duration for this animatable. + final Duration duration; + + /// The underlying timeline animation. + final TimelineAnimation animation; + + /// Creates a timeline animatable with the specified duration. + /// + /// ## Parameters + /// + /// * [duration] - The total duration for the animation. + /// * [animation] - The timeline animation to wrap. + TimelineAnimatable(this.duration, this.animation); + + @override + T transform(double t) { + Duration selfDuration = animation.totalDuration; + double selfT = (t * selfDuration.inMilliseconds) / duration.inMilliseconds; + return animation.transform(selfT); + } +} + +/// A timeline-based animation built from multiple keyframes. +/// +/// This class extends [Animatable]`` and orchestrates complex animations by +/// sequencing multiple [Keyframe]s. Each keyframe defines a segment of the +/// animation with its own duration and interpolation strategy. +/// +/// ## Type Parameters +/// +/// * [T] - The type of value being animated. +/// +/// ## Overview +/// +/// Use [TimelineAnimation] to create sophisticated multi-stage animations. +/// Keyframes can be absolute, relative, or still, allowing for diverse +/// animation patterns. The timeline automatically calculates total duration +/// from all keyframes. +/// +/// ## Example +/// +/// ```dart +/// final timeline = TimelineAnimation( +/// lerp: Transformers.typeDouble, +/// keyframes: [ +/// AbsoluteKeyframe(Duration(milliseconds: 100), 0.0, 1.0), +/// StillKeyframe(Duration(milliseconds: 50)), +/// RelativeKeyframe(Duration(milliseconds: 100), 0.5), +/// ], +/// ); +/// ``` +class TimelineAnimation extends Animatable { + /// Default lerp function that works with numeric types. + /// + /// This function performs basic arithmetic interpolation. It assumes the + /// type supports addition, subtraction, and multiplication operators. + /// + /// ## Type Parameters + /// + /// * [T] - The type to interpolate (must support arithmetic operations). + /// + /// ## Parameters + /// + /// * [a] - The starting value. + /// * [b] - The ending value. + /// * [t] - The interpolation factor (0.0 to 1.0). + /// + /// ## Returns + /// + /// The interpolated value. + static T defaultLerp(T a, T b, double t) { + return ((a as dynamic) + ((b as dynamic) - (a as dynamic)) * t) as T; + } + + /// The interpolation function used for this timeline. + final PropertyLerp lerp; + + /// The total duration of all keyframes combined. + final Duration totalDuration; + + /// The list of keyframes that make up this timeline. + final List> keyframes; + + TimelineAnimation._({ + required this.lerp, + required this.totalDuration, + required this.keyframes, + }); + + /// Creates a timeline animation from a list of keyframes. + /// + /// ## Parameters + /// + /// * [lerp] - Optional interpolation function. Uses [defaultLerp] if not provided. + /// * [keyframes] - The list of keyframes defining the animation. Must not be empty. + /// + /// ## Returns + /// + /// A new [TimelineAnimation] with calculated total duration. + /// + /// ## Example + /// + /// ```dart + /// final timeline = TimelineAnimation( + /// lerp: Transformers.typeColor, + /// keyframes: [ + /// AbsoluteKeyframe(Duration(milliseconds: 300), Colors.red, Colors.blue), + /// RelativeKeyframe(Duration(milliseconds: 200), Colors.green), + /// ], + /// ); + /// ``` + factory TimelineAnimation({ + PropertyLerp? lerp, + required List> keyframes, + }) { + lerp ??= defaultLerp; + assert(keyframes.isNotEmpty, 'No keyframes found'); + Duration current = Duration.zero; + for (var i = 0; i < keyframes.length; i++) { + final keyframe = keyframes[i]; + assert(keyframe.duration.inMilliseconds > 0, 'Invalid duration'); + current += keyframe.duration; + } + return TimelineAnimation._( + lerp: lerp, + totalDuration: current, + keyframes: keyframes, + ); + } + + Duration _computeDuration(double t) { + final totalDuration = this.totalDuration; + return Duration(milliseconds: (t * totalDuration.inMilliseconds).floor()); + } + + /// Binds this timeline to an [AnimationController]. + /// + /// ## Parameters + /// + /// * [controller] - The animation controller to drive this timeline. + /// Must have a non-null duration. + /// + /// ## Returns + /// + /// A [TimelineAnimatable] that can be used with the controller. + /// + /// ## Example + /// + /// ```dart + /// final controller = AnimationController( + /// vsync: this, + /// duration: Duration(seconds: 1), + /// ); + /// final animatable = timeline.drive(controller); + /// ``` + TimelineAnimatable drive(AnimationController controller) { + return TimelineAnimatable(controller.duration!, this); + } + + /// Transforms the timeline using the controller's current value. + /// + /// This is a convenience method that combines [drive] and [Animatable.transform]. + /// + /// ## Parameters + /// + /// * [controller] - The animation controller to read the value from. + /// + /// ## Returns + /// + /// The current value of type [T] based on the controller's progress. + /// + /// ## Example + /// + /// ```dart + /// final value = timeline.transformWithController(controller); + /// ``` + T transformWithController(AnimationController controller) { + return drive(controller).transform(controller.value); + } + + /// Creates a [TimelineAnimatable] with the specified total duration. + /// + /// ## Parameters + /// + /// * [duration] - The desired total duration for this timeline. + /// + /// ## Returns + /// + /// A [TimelineAnimatable] that scales this timeline to the given duration. + /// + /// ## Example + /// + /// ```dart + /// // Timeline with natural duration of 500ms + /// final timeline = TimelineAnimation(...); + /// + /// // Scale to 2 seconds + /// final animatable = timeline.withTotalDuration(Duration(seconds: 2)); + /// ``` + TimelineAnimatable withTotalDuration(Duration duration) { + return TimelineAnimatable(duration, this); + } + + @override + T transform(double t) { + assert(t >= 0 && t <= 1, 'Invalid time $t'); + assert(keyframes.isNotEmpty, 'No keyframes found'); + var duration = _computeDuration(t); + var current = Duration.zero; + for (var i = 0; i < keyframes.length; i++) { + final keyframe = keyframes[i]; + final next = current + keyframe.duration; + if (duration < next) { + final localT = (duration - current).inMilliseconds / + keyframe.duration.inMilliseconds; + return keyframe.compute(this, i, localT); + } + current = next; + } + return keyframes.last.compute(this, keyframes.length - 1, 1.0); + } +} + +/// Returns the maximum of two [Duration] values. +/// +/// ## Parameters +/// +/// * [a] - The first duration. +/// * [b] - The second duration. +/// +/// ## Returns +/// +/// The longer of the two durations. +/// +/// ## Example +/// +/// ```dart +/// final longer = maxDuration( +/// Duration(milliseconds: 100), +/// Duration(milliseconds: 200), +/// ); // Duration(milliseconds: 200) +/// ``` +Duration maxDuration(Duration a, Duration b) { + return a > b ? a : b; +} + +/// Returns the minimum of two [Duration] values. +/// +/// ## Parameters +/// +/// * [a] - The first duration. +/// * [b] - The second duration. +/// +/// ## Returns +/// +/// The shorter of the two durations. +/// +/// ## Example +/// +/// ```dart +/// final shorter = minDuration( +/// Duration(milliseconds: 100), +/// Duration(milliseconds: 200), +/// ); // Duration(milliseconds: 100) +/// ``` +Duration minDuration(Duration a, Duration b) { + return a < b ? a : b; +} + +/// Finds the maximum total duration among multiple timeline animations. +/// +/// ## Parameters +/// +/// * [timelines] - An iterable collection of [TimelineAnimation] instances. +/// +/// ## Returns +/// +/// The longest [totalDuration] found among all timelines, or [Duration.zero] +/// if the collection is empty. +/// +/// ## Example +/// +/// ```dart +/// final timelines = [ +/// TimelineAnimation(keyframes: [...]), // 300ms +/// TimelineAnimation(keyframes: [...]), // 500ms +/// TimelineAnimation(keyframes: [...]), // 200ms +/// ]; +/// +/// final maxDur = timelineMaxDuration(timelines); // Duration(milliseconds: 500) +/// ``` +Duration timelineMaxDuration(Iterable timelines) { + Duration max = Duration.zero; + for (final timeline in timelines) { + max = maxDuration(max, timeline.totalDuration); + } + return max; +} diff --git a/third_party/shadcn_flutter/lib/src/collection.dart b/third_party/shadcn_flutter/lib/src/collection.dart new file mode 100644 index 00000000..528e1e71 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/collection.dart @@ -0,0 +1,172 @@ +/// Mutates a list to contain source elements with separators between them. +/// +/// This function efficiently updates [separatedList] in place to match the pattern +/// of [source] elements interleaved with [separator] values. It minimizes memory +/// allocations by reusing existing list elements where possible. +/// +/// ## Parameters +/// +/// * [source] - The source list of elements to separate. +/// * [separatedList] - The list to mutate. Will be modified in place. +/// * [separator] - The separator value to insert between source elements. +/// +/// ## Side Effects +/// +/// Modifies [separatedList] to contain elements from [source] with [separator] +/// inserted between each pair of adjacent elements. If [separatedList] is too +/// long, extra elements are removed. If too short, new elements are added. +/// +/// ## Example +/// +/// ```dart +/// final source = [1, 2, 3]; +/// final separated = []; +/// mutateSeparated(source, separated, 0); +/// // separated is now [1, 0, 2, 0, 3] +/// +/// // Update with new source +/// mutateSeparated([4, 5], separated, 0); +/// // separated is now [4, 0, 5] +/// ``` +void mutateSeparated(List source, List separatedList, T separator) { + int targetIndex = 0; // Position in separatedList we're modifying + + for (int i = 0; i < source.length; i++) { + // Update or add source element + if (targetIndex < separatedList.length) { + separatedList[targetIndex] = source[i]; + } else { + separatedList.add(source[i]); + } + targetIndex++; + + // Update or add separator if not the last element + if (i < source.length - 1) { + if (targetIndex < separatedList.length) { + separatedList[targetIndex] = separator; + } else { + separatedList.add(separator); + } + targetIndex++; + } + } + + // Remove extra elements if separatedList is too long + if (targetIndex < separatedList.length) { + separatedList.removeRange(targetIndex, separatedList.length); + } +} + +/// An iterable that inserts a separator between elements of another iterable. +/// +/// This class wraps an existing iterable and lazily produces elements with +/// a separator value inserted between each pair of adjacent elements. +/// +/// ## Type Parameters +/// +/// * [T] - The type of elements in the iterable. +/// +/// ## Overview +/// +/// Use [SeparatedIterable] when you need to iterate over a collection with +/// separators but don't want to allocate a new list. The separation happens +/// lazily during iteration. +/// +/// ## Example +/// +/// ```dart +/// final numbers = [1, 2, 3, 4]; +/// final separated = SeparatedIterable(numbers, 0); +/// +/// print(separated.toList()); // [1, 0, 2, 0, 3, 0, 4] +/// ``` +/// +/// See also: +/// +/// * [mutateSeparated] for in-place list mutation with separators. +class SeparatedIterable extends Iterable { + final Iterable _iterable; + final T _separator; + + /// Creates a separated iterable. + /// + /// ## Parameters + /// + /// * [_iterable] - The source iterable to separate. + /// * [_separator] - The separator value to insert between elements. + SeparatedIterable(this._iterable, this._separator); + + @override + Iterator get iterator => SeparatedIterator(_iterable.iterator, _separator); +} + +/// An iterator that yields elements with separators between them. +/// +/// This iterator wraps an existing iterator and produces elements from the +/// source with a separator value inserted between each pair of adjacent +/// elements. +/// +/// ## Type Parameters +/// +/// * [T] - The type of elements being iterated. +/// +/// ## Overview +/// +/// [SeparatedIterator] is used internally by [SeparatedIterable]. It maintains +/// state to alternate between source elements and separator values. +/// +/// ## Example +/// +/// ```dart +/// final iterator = SeparatedIterator([1, 2, 3].iterator, 0); +/// +/// while (iterator.moveNext()) { +/// print(iterator.current); // Prints: 1, 0, 2, 0, 3 +/// } +/// ``` +class SeparatedIterator implements Iterator { + final Iterator _iterator; + final T _separator; + T? _current; + bool _isSeparator = false; + bool? _hasNextAfterSeparator; + + /// Creates a separated iterator. + /// + /// ## Parameters + /// + /// * [_iterator] - The source iterator to separate. + /// * [_separator] - The separator value to insert between elements. + SeparatedIterator(this._iterator, this._separator); + + @override + T get current => _current!; + + @override + bool moveNext() { + var hasNextAfterSeparator = _hasNextAfterSeparator; + if (_isSeparator) { + if (hasNextAfterSeparator != null) { + _isSeparator = false; + _hasNextAfterSeparator = null; + if (hasNextAfterSeparator) { + _current = _iterator.current; + _isSeparator = true; + } + return hasNextAfterSeparator; + } + _hasNextAfterSeparator = _iterator.moveNext(); + if (_hasNextAfterSeparator!) { + _current = _separator; + return true; + } + return false; + } + var moveNext = _iterator.moveNext(); + if (moveNext) { + _current = _iterator.current; + _isSeparator = true; + } + return moveNext; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/async.dart b/third_party/shadcn_flutter/lib/src/components/async.dart new file mode 100644 index 00000000..748e86d8 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/async.dart @@ -0,0 +1,118 @@ +import 'dart:async'; + +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A builder function for widgets based on [FutureOr] async snapshots. +/// +/// This function type is used by [FutureOrBuilder] to build widgets based on +/// the state of a [FutureOr] value. +/// +/// ## Type Parameters +/// +/// * [T] - The type of data expected from the async operation. +/// +/// ## Parameters +/// +/// * [context] - The build context. +/// * [snapshot] - The current state of the async operation. +/// +/// ## Returns +/// +/// A widget built based on the snapshot state. +/// +/// ## Example +/// +/// ```dart +/// FutureOrWidgetBuilder builder = (context, snapshot) { +/// if (snapshot.hasData) { +/// return Text(snapshot.data!); +/// } +/// return CircularProgressIndicator(); +/// }; +/// ``` +typedef FutureOrWidgetBuilder = Widget Function( + BuildContext context, AsyncSnapshot snapshot); + +/// A widget that builds itself based on a [FutureOr] value. +/// +/// This widget handles both immediate values and futures uniformly, building +/// the appropriate widget based on whether the value is synchronous or asynchronous. +/// +/// ## Type Parameters +/// +/// * [T] - The type of value being awaited. +/// +/// ## Overview +/// +/// Use [FutureOrBuilder] when you have a value that might be either synchronous +/// (already available) or asynchronous (requires waiting). If the value is +/// synchronous, the widget is built immediately. If it's a [Future], the widget +/// uses [FutureBuilder] internally. +/// +/// ## Example +/// +/// ```dart +/// FutureOrBuilder( +/// future: getData(), // Returns FutureOr +/// builder: (context, snapshot) { +/// if (snapshot.hasError) { +/// return Text('Error: ${snapshot.error}'); +/// } +/// if (!snapshot.hasData) { +/// return CircularProgressIndicator(); +/// } +/// return Text(snapshot.data!); +/// }, +/// ) +/// ``` +/// +/// See also: +/// +/// * [FutureBuilder] for handling only futures. +class FutureOrBuilder extends StatelessWidget { + /// The [FutureOr] value to track - can be either immediate or async. + final FutureOr future; + + /// The builder function called to construct the widget. + final FutureOrWidgetBuilder builder; + + /// An optional initial value to use before async completion. + final T? initialValue; + + /// Creates a [FutureOrBuilder]. + /// + /// ## Parameters + /// + /// * [future] - The [FutureOr] value to track. + /// * [builder] - Function to build the widget based on the async state. + /// * [initialValue] - Optional initial data to use before the future completes. + /// + /// ## Example + /// + /// ```dart + /// FutureOrBuilder( + /// future: fetchCount(), + /// initialValue: 0, + /// builder: (context, snapshot) => Text('Count: ${snapshot.data}'), + /// ) + /// ``` + const FutureOrBuilder({ + super.key, + required this.future, + required this.builder, + this.initialValue, + }); + + @override + Widget build(BuildContext context) { + if (future is Future) { + return FutureBuilder( + future: future as Future, + initialData: initialValue, + builder: builder, + ); + } + return builder( + context, AsyncSnapshot.withData(ConnectionState.done, future as T)); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/chart/tracker.dart b/third_party/shadcn_flutter/lib/src/components/chart/tracker.dart new file mode 100644 index 00000000..74d91247 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/chart/tracker.dart @@ -0,0 +1,377 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// An abstract class that defines values for different Tracker levels. +/// +/// [TrackerLevel] provides a standardized way to represent different status +/// or priority levels in tracker components. Each level defines both a visual +/// color and descriptive name for consistent representation across the UI. +/// +/// ## Predefined Levels +/// The class includes several predefined levels for common use cases: +/// - [fine]: Green color, typically for healthy/good states +/// - [warning]: Orange color, for cautionary states requiring attention +/// - [critical]: Red color, for urgent states requiring immediate action +/// - [unknown]: Gray color, for undefined or unavailable states +/// +/// ## Custom Levels +/// Custom tracker levels can be implemented by extending this abstract class +/// and providing [color] and [name] implementations. +/// +/// Example: +/// ```dart +/// // Using predefined levels +/// TrackerData( +/// level: TrackerLevel.critical, +/// tooltip: Text('System Alert'), +/// ); +/// +/// // Creating custom level +/// class CustomLevel implements TrackerLevel { +/// @override +/// Color get color => Colors.purple; +/// +/// @override +/// String get name => 'Custom'; +/// } +/// ``` +abstract class TrackerLevel { + /// Default values for the fine level. + /// + /// [color] is set to `Colors.green` + /// [name] is set to `"Fine"` + static const TrackerLevel fine = _SimpleTrackerLevel(Colors.green, 'Fine'); + + /// Default values for the warning level. + /// + /// [color] is set to `Colors.orange` + /// [name] is set to `"Warning"` + static const TrackerLevel warning = + _SimpleTrackerLevel(Colors.orange, 'Warning'); + + /// Default values for the critical level. + /// + /// [color] is set to `Colors.red` + /// [name] is set to `"Critical"` + static const TrackerLevel critical = + _SimpleTrackerLevel(Colors.red, 'Critical'); + + /// Default values for the unknown level. + /// + /// [color] is set to `Colors.gray` + /// [name] is set to `"Unknown"` + static const TrackerLevel unknown = + _SimpleTrackerLevel(Colors.gray, 'Unknown'); + + /// Gets the color for the specified [TrackerLevel]. + /// + /// Returns the [Color] associated with this tracker level, used for + /// visual representation in the tracker component. + Color get color; + + /// Gets the name for the specified [TrackerLevel]. + /// + /// Returns a [String] description of this tracker level, typically + /// used in tooltips or accessibility labels. + String get name; +} + +class _SimpleTrackerLevel implements TrackerLevel { + @override + final Color color; + + @override + final String name; + + const _SimpleTrackerLevel(this.color, this.name); +} + +/// A data container for individual tracker segments. +/// +/// [TrackerData] encapsulates the information needed to display a single +/// segment within a [Tracker] widget. Each segment represents a data point +/// with an associated status level and contextual information. +/// +/// ## Components +/// - **Tooltip**: Interactive content displayed on hover for additional context +/// - **Level**: Status level determining the visual appearance and meaning +/// +/// ## Usage +/// Tracker data is typically created from application data models and +/// transformed into visual representations for status monitoring dashboards, +/// progress indicators, or health monitoring interfaces. +/// +/// Example: +/// ```dart +/// TrackerData( +/// level: TrackerLevel.warning, +/// tooltip: Column( +/// mainAxisSize: MainAxisSize.min, +/// children: [ +/// Text('Server Load'), +/// Text('75% - Warning Level'), +/// Text('Last Updated: 2 min ago'), +/// ], +/// ), +/// ); +/// ``` +class TrackerData { + /// The tooltip content displayed on hover. + /// + /// Type: `Widget`. Interactive content shown when the user hovers over + /// this tracker segment. Can contain text, icons, or complex layouts + /// providing additional context about the data point. + final Widget tooltip; + + /// The status level determining visual appearance. + /// + /// Type: `TrackerLevel`. Defines the color and semantic meaning of this + /// tracker segment. Used to determine the background color and accessibility + /// information for the segment. + final TrackerLevel level; + + /// Creates a new [TrackerData] instance. + /// + /// Combines a tooltip for user interaction with a status level for + /// visual representation in tracker components. + /// + /// Parameters: + /// - [tooltip] (Widget, required): Interactive content for hover display + /// - [level] (TrackerLevel, required): Status level for visual styling + /// + /// Example: + /// ```dart + /// TrackerData( + /// tooltip: Text('CPU Usage: 45%'), + /// level: TrackerLevel.fine, + /// ); + /// ``` + const TrackerData({ + required this.tooltip, + required this.level, + }); +} + +/// Theme configuration for [Tracker] components. +/// +/// [TrackerTheme] provides styling options for tracker components including +/// corner radius, spacing between segments, and segment height. It enables +/// consistent tracker styling across an application while allowing customization. +/// +/// Used with [ComponentTheme] to apply theme values throughout the widget tree. +/// +/// Example: +/// ```dart +/// ComponentTheme( +/// data: TrackerTheme( +/// radius: 8.0, +/// gap: 2.0, +/// itemHeight: 40.0, +/// ), +/// child: MyTrackerWidget(), +/// ); +/// ``` +class TrackerTheme extends ComponentThemeData { + /// Corner radius for the tracker container in logical pixels. + /// + /// Type: `double?`. Controls the rounding of tracker corners. If null, + /// defaults to theme.radiusMd for consistent corner styling. + final double? radius; + + /// Gap between individual tracker segments in logical pixels. + /// + /// Type: `double?`. Spacing between adjacent tracker segments. If null, + /// defaults to theme.scaling * 2 for proportional spacing. + final double? gap; + + /// Height of individual tracker segments in logical pixels. + /// + /// Type: `double?`. Controls the vertical size of tracker segments. + /// If null, defaults to 32 logical pixels. + final double? itemHeight; + + /// Creates a [TrackerTheme]. + /// + /// All parameters are optional and will fall back to theme defaults + /// when not provided. + /// + /// Parameters: + /// - [radius] (double?, optional): Corner radius in pixels + /// - [gap] (double?, optional): Spacing between segments in pixels + /// - [itemHeight] (double?, optional): Height of segments in pixels + /// + /// Example: + /// ```dart + /// TrackerTheme( + /// radius: 12.0, + /// gap: 4.0, + /// itemHeight: 48.0, + /// ); + /// ``` + const TrackerTheme({ + this.radius, + this.gap, + this.itemHeight, + }); + + /// Creates a copy of this theme with the given values replaced. + /// + /// Returns a new [TrackerTheme] instance with the same values as this + /// theme, except for any parameters that are explicitly provided. Use + /// [ValueGetter] functions to specify new values. + /// + /// Example: + /// ```dart + /// final newTheme = originalTheme.copyWith( + /// radius: () => 16.0, + /// itemHeight: () => 56.0, + /// ); + /// ``` + TrackerTheme copyWith({ + ValueGetter? radius, + ValueGetter? gap, + ValueGetter? itemHeight, + }) { + return TrackerTheme( + radius: radius == null ? this.radius : radius(), + gap: gap == null ? this.gap : gap(), + itemHeight: itemHeight == null ? this.itemHeight : itemHeight(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is TrackerTheme && + other.radius == radius && + other.gap == gap && + other.itemHeight == itemHeight; + } + + @override + int get hashCode => Object.hash( + radius, + gap, + itemHeight, + ); + + @override + String toString() => + 'TrackerTheme(radius: $radius, gap: $gap, itemHeight: $itemHeight)'; +} + +/// A widget that displays a tracker. +/// +/// This widget displays a row of tracker levels with tooltips. +/// The row contains a tracker level for each tracker in the [data] list. +/// A horizontal status tracking widget with interactive tooltips. +/// +/// [Tracker] provides a visual representation of status data as colored segments +/// in a horizontal layout. Each segment represents a data point with an associated +/// status level and interactive tooltip. It's commonly used for monitoring +/// dashboards, progress indicators, and status overviews. +/// +/// ## Key Features +/// - **Status Visualization**: Color-coded segments based on [TrackerLevel] +/// - **Interactive Tooltips**: Hover-activated tooltips with custom content +/// - **Flexible Sizing**: Segments automatically expand to fill available width +/// - **Theming**: Comprehensive styling via [TrackerTheme] +/// - **Rounded Corners**: Configurable corner radius for modern appearance +/// +/// ## Layout Behavior +/// The tracker displays segments as equally-sized horizontal sections that +/// expand to fill the available width. Gaps between segments and overall +/// styling can be controlled through the theme system. +/// +/// ## Use Cases +/// - Server status monitoring (healthy, warning, critical states) +/// - Progress tracking across multiple stages +/// - Resource utilization indicators +/// - Quality metrics visualization +/// - Timeline status representation +/// +/// Example: +/// ```dart +/// Tracker( +/// data: [ +/// TrackerData( +/// level: TrackerLevel.fine, +/// tooltip: Text('Database: Healthy\n95% uptime'), +/// ), +/// TrackerData( +/// level: TrackerLevel.warning, +/// tooltip: Text('API: Warning\nHigh response time'), +/// ), +/// TrackerData( +/// level: TrackerLevel.critical, +/// tooltip: Text('Cache: Critical\nMemory usage: 98%'), +/// ), +/// ], +/// ); +/// ``` +class Tracker extends StatelessWidget { + /// List of data points to display as tracker segments. + /// + /// Type: `List`. Each data point contains a status level + /// for visual styling and tooltip content for user interaction. The + /// segments are displayed in the order provided, each taking equal + /// horizontal space. + final List data; + + /// Creates a [Tracker] widget. + /// + /// Displays status data as interactive, color-coded horizontal segments + /// with hover tooltips for additional context. + /// + /// Parameters: + /// - [data] (`List`, required): Status data points to display + /// + /// Example: + /// ```dart + /// Tracker( + /// data: [ + /// TrackerData( + /// level: TrackerLevel.fine, + /// tooltip: Text('System OK'), + /// ), + /// TrackerData( + /// level: TrackerLevel.warning, + /// tooltip: Text('Minor Issues'), + /// ), + /// ], + /// ); + /// ``` + const Tracker({ + super.key, + required this.data, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final trackerTheme = ComponentTheme.maybeOf(context); + final densityGap = theme.density.baseGap * theme.scaling; + return ClipRRect( + borderRadius: + BorderRadius.circular(trackerTheme?.radius ?? theme.radiusMd), + child: Row( + children: [ + for (final data in this.data) + Expanded( + child: InstantTooltip( + tooltipBuilder: (context) { + return TooltipContainer( + child: data.tooltip, + ); + }, + child: Container( + height: trackerTheme?.itemHeight ?? 32, + color: data.level.color, + ), + ), + ) + ], + ).gap(trackerTheme?.gap ?? densityGap * 0.25), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/control/button.dart b/third_party/shadcn_flutter/lib/src/components/control/button.dart new file mode 100644 index 00000000..2e6a977c --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/control/button.dart @@ -0,0 +1,6458 @@ +import 'dart:math'; + +import '../../../shadcn_flutter.dart'; + +/// A controller for managing toggle state in toggle buttons and switches. +/// +/// [ToggleController] extends [ValueNotifier] to provide reactive state management +/// for boolean toggle values. It implements [ComponentController] to integrate +/// with the shadcn_flutter form system and provides convenient methods for +/// programmatic state changes. +/// +/// The controller maintains a boolean value representing the toggle state and +/// notifies listeners when the state changes, making it suitable for use with +/// toggle buttons, switches, and other binary state controls. +/// +/// Example: +/// ```dart +/// final toggleController = ToggleController(false); +/// +/// // Listen to changes +/// toggleController.addListener(() { +/// print('Toggle state: ${toggleController.value}'); +/// }); +/// +/// // Toggle the state programmatically +/// toggleController.toggle(); +/// +/// // Set specific value +/// toggleController.value = true; +/// ``` +class ToggleController extends ValueNotifier + with ComponentController { + /// Creates a [ToggleController] with an initial toggle state. + /// + /// Parameters: + /// - [value] (bool, default: false): The initial toggle state. + /// + /// Example: + /// ```dart + /// // Create controller starting in off state + /// final controller = ToggleController(); + /// + /// // Create controller starting in on state + /// final controller = ToggleController(true); + /// ``` + ToggleController([super.value = false]); + + /// Toggles the current boolean state. + /// + /// Changes `true` to `false` and `false` to `true`, then notifies all listeners + /// of the change. This is equivalent to setting `value = !value` but provides + /// a more semantic API for toggle operations. + /// + /// Example: + /// ```dart + /// final controller = ToggleController(false); + /// controller.toggle(); // value is now true + /// controller.toggle(); // value is now false + /// ``` + void toggle() { + value = !value; + } +} + +/// A controlled version of [Toggle] that integrates with form state management. +/// +/// [ControlledToggle] implements the [ControlledComponent] mixin to provide +/// automatic form integration, validation, and state management. It serves as +/// a bridge between external state management (via [ToggleController] or +/// [onChanged] callbacks) and the underlying [Toggle] widget. +/// +/// This widget is ideal for use in forms where the toggle state needs to be +/// managed externally, validated, or persisted. It automatically handles the +/// conversion between controlled and uncontrolled modes based on the provided +/// parameters. +/// +/// Example: +/// ```dart +/// final controller = ToggleController(false); +/// +/// ControlledToggle( +/// controller: controller, +/// child: Row( +/// children: [ +/// Icon(Icons.notifications), +/// Text('Enable notifications'), +/// ], +/// ), +/// ); +/// ``` +class ControlledToggle extends StatelessWidget with ControlledComponent { + /// The initial toggle state when no controller is provided. + /// + /// Used only in uncontrolled mode. If both [controller] and [initialValue] + /// are provided, [controller] takes precedence. + @override + final bool? initialValue; + + /// Callback invoked when the toggle state changes. + /// + /// Called with the new boolean value whenever the user toggles the button. + /// If null, the toggle becomes read-only (though it can still be controlled + /// via [controller] if provided). + @override + final ValueChanged? onChanged; + + /// Whether the toggle is interactive. + /// + /// When false, the toggle appears disabled and doesn't respond to user input. + /// The toggle can still be changed programmatically via [controller]. + @override + final bool enabled; + + /// Controller for managing toggle state externally. + /// + /// When provided, the toggle operates in controlled mode and its state is + /// managed entirely by this controller. Changes are reflected immediately + /// and [onChanged] is called when the user interacts with the toggle. + @override + final ToggleController? controller; + + /// The child widget to display inside the toggle button. + /// + /// Typically contains text, icons, or a combination of both. The child + /// receives the visual styling and interaction behavior of the toggle button. + final Widget child; + + /// Visual styling for the toggle button. + /// + /// Defines the appearance, colors, padding, and other visual characteristics + /// of the toggle. Defaults to ghost button style with subtle appearance changes + /// between toggled and untoggled states. + final ButtonStyle style; + + /// Creates a [ControlledToggle] widget. + /// + /// Parameters: + /// - [controller] (ToggleController?, optional): External state controller. + /// - [initialValue] (bool?, optional): Initial state for uncontrolled mode. + /// - [onChanged] (`ValueChanged?`, optional): State change callback. + /// - [enabled] (bool, default: true): Whether the toggle is interactive. + /// - [child] (Widget, required): Content to display in the toggle button. + /// - [style] (ButtonStyle, default: ButtonStyle.ghost()): Visual styling. + /// + /// Example: + /// ```dart + /// ControlledToggle( + /// initialValue: false, + /// onChanged: (value) => print('Toggled: $value'), + /// enabled: true, + /// style: ButtonStyle.secondary(), + /// child: Text('Toggle Me'), + /// ); + /// ``` + const ControlledToggle({ + super.key, + this.controller, + this.initialValue, + this.onChanged, + this.enabled = true, + required this.child, + this.style = const ButtonStyle.ghost(), + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + controller: controller, + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + builder: (context, data) { + return Toggle( + value: data.value, + onChanged: data.onChanged, + enabled: data.enabled, + style: style, + child: child, + ); + }, + ); + } +} + +/// Simple toggle button with stateful on/off behavior. +/// +/// A basic toggle button widget that maintains its own internal state for +/// on/off toggling. Provides a simplified interface compared to [ControlledToggle] +/// for cases where external state management is not required. +/// +/// ## Features +/// +/// - **Stateful toggling**: Built-in state management for simple use cases +/// - **Ghost button styling**: Default ghost button appearance +/// - **Form integration**: Automatic form field registration with boolean values +/// - **Accessibility**: Full screen reader and keyboard support +/// - **Custom styling**: Configurable button style and appearance +/// +/// The widget automatically cycles between true/false states when pressed +/// and calls the [onChanged] callback with the new state. +/// +/// Example: +/// ```dart +/// bool isEnabled = false; +/// +/// Toggle( +/// value: isEnabled, +/// onChanged: (enabled) => setState(() => isEnabled = enabled), +/// child: Text('Enable notifications'), +/// ); +/// ``` +class Toggle extends StatefulWidget { + /// The current toggle state (on/off). + final bool value; + + /// Called when the toggle state changes. + /// + /// If `null`, the toggle is considered disabled and won't respond to user input. + final ValueChanged? onChanged; + + /// The widget displayed inside the toggle button. + final Widget child; + + /// The visual style for the button. + /// + /// Defaults to ghost style for a subtle appearance. + final ButtonStyle style; + + /// Whether the toggle button is enabled. + /// + /// If `null`, the button is enabled only when [onChanged] is not `null`. + final bool? enabled; + + /// Creates a [Toggle]. + /// + /// The toggle button maintains its own state and calls [onChanged] when + /// the state changes. Uses ghost button styling by default. + /// + /// Parameters: + /// - [value] (bool, required): current toggle state + /// - [onChanged] (`ValueChanged?`, optional): callback when state changes + /// - [child] (Widget, required): content displayed inside the button + /// - [enabled] (bool?, optional): whether button is interactive + /// - [style] (ButtonStyle, default: ghost): button styling + /// + /// Example: + /// ```dart + /// Toggle( + /// value: isToggled, + /// onChanged: (value) => setState(() => isToggled = value), + /// child: Row( + /// children: [ + /// Icon(Icons.notifications), + /// Text('Notifications'), + /// ], + /// ), + /// ) + /// ``` + const Toggle({ + super.key, + required this.value, + this.onChanged, + required this.child, + this.enabled, + this.style = const ButtonStyle.ghost(), + }); + + @override + ToggleState createState() => ToggleState(); +} + +// toggle button is just ghost button +/// State class for [Toggle] that manages the toggle behavior and form integration. +/// +/// This state class handles: +/// - Maintaining widget states (selected, pressed, hovered, etc.) +/// - Form value integration via [FormValueSupplier] +/// - Updating the selected state based on the toggle value +class ToggleState extends State with FormValueSupplier { + /// Controller for managing widget interaction states. + final WidgetStatesController statesController = WidgetStatesController(); + + @override + void initState() { + super.initState(); + statesController.update(WidgetState.selected, widget.value); + formValue = widget.value; + } + + @override + void didUpdateWidget(Toggle oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.value != widget.value) { + statesController.update(WidgetState.selected, widget.value); + formValue = widget.value; + } + } + + @override + void didReplaceFormValue(bool value) { + if (widget.onChanged != null) { + widget.onChanged!(value); + } + } + + @override + Widget build(BuildContext context) { + return Button( + statesController: statesController, + enabled: widget.enabled, + style: widget.value + ? ButtonStyle.secondary( + density: widget.style.density, + shape: widget.style.shape, + size: widget.style.size, + ) + : widget.style.copyWith(textStyle: (context, states, value) { + final theme = Theme.of(context); + return value.copyWith( + color: states.contains(WidgetState.hovered) + ? theme.colorScheme.mutedForeground + : null, + ); + }, iconTheme: (context, states, value) { + final theme = Theme.of(context); + return value.copyWith( + color: states.contains(WidgetState.hovered) + ? theme.colorScheme.mutedForeground + : null, + ); + }), + onPressed: widget.onChanged != null + ? () { + widget.onChanged!(!widget.value); + } + : null, + child: widget.child); + } +} + +/// A button that changes style based on its selected state. +/// +/// [SelectedButton] provides a stateful button that displays different styles +/// when selected versus unselected. It supports all standard button gestures +/// including tap, long press, and hover interactions. +/// +/// ## Overview +/// +/// Use [SelectedButton] when you need a button that visually indicates selection +/// state, such as in tab bars, segmented controls, or toggle groups. The button +/// automatically switches between [style] (unselected) and [selectedStyle] (selected) +/// based on the [value] parameter. +/// +/// ## Example +/// +/// ```dart +/// SelectedButton( +/// value: isSelected, +/// onChanged: (selected) => setState(() => isSelected = selected), +/// style: const ButtonStyle.ghost(), +/// selectedStyle: const ButtonStyle.secondary(), +/// child: Text('Option A'), +/// ) +/// ``` +class SelectedButton extends StatefulWidget { + /// The current selection state of the button. + final bool value; + + /// Called when the selection state changes. + /// + /// If `null`, the button is disabled. + final ValueChanged? onChanged; + + /// The widget displayed inside the button. + final Widget child; + + /// The button style when not selected. + /// + /// Defaults to ghost style. + final AbstractButtonStyle style; + + /// The button style when selected. + /// + /// Defaults to secondary style. + final AbstractButtonStyle selectedStyle; + + /// Whether the button is enabled. + /// + /// If `null`, enabled state is determined by whether [onChanged] is non-null. + final bool? enabled; + + /// The alignment of the child within the button. + final AlignmentGeometry? alignment; + + /// The margin alignment for the button. + final AlignmentGeometry? marginAlignment; + + /// Whether to disable style transition animations. + /// + /// Defaults to `false`. When `true`, style changes are instant. + final bool disableTransition; + + /// Called when the hover state changes. + final ValueChanged? onHover; + + /// Called when the focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when a primary tap down event occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when a primary tap up event occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when a primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when a secondary tap down event occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when a secondary tap up event occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when a secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when a tertiary tap down event occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when a tertiary tap up event occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when a tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when a long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when a long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when a long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when a long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when a secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when a tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Whether to disable the hover effect. + /// + /// Defaults to `false`. + final bool disableHoverEffect; + + /// Optional controller for programmatic state management. + final WidgetStatesController? statesController; + + /// Called when the button is pressed (tapped). + final VoidCallback? onPressed; + + /// Creates a [SelectedButton] widget. + /// + /// A button that toggles between selected and unselected states, applying + /// different styles based on the current [value]. + /// + /// Parameters: + /// - [value] (required): The current selection state (`true` for selected). + /// - [onChanged]: Callback invoked when the selection state changes. If `null`, the button is disabled. + /// - [child] (required): The widget displayed inside the button. + /// - [enabled]: Whether the button is enabled. Defaults to checking if [onChanged] is non-null. + /// - [style]: Style applied when unselected. Defaults to [ButtonStyle.ghost]. + /// - [selectedStyle]: Style applied when selected. Defaults to [ButtonStyle.secondary]. + /// - [alignment]: Alignment of the child within the button. + /// - [marginAlignment]: Margin alignment for the button. + /// - [disableTransition]: If `true`, disables style transition animations. Defaults to `false`. + /// - [onHover]: Called when the hover state changes. + /// - [onFocus]: Called when the focus state changes. + /// - [enableFeedback]: Whether to enable haptic/audio feedback. + /// - [onTapDown], [onTapUp], [onTapCancel]: Primary tap gesture callbacks. + /// - [onSecondaryTapDown], [onSecondaryTapUp], [onSecondaryTapCancel]: Secondary tap gesture callbacks. + /// - [onTertiaryTapDown], [onTertiaryTapUp], [onTertiaryTapCancel]: Tertiary tap gesture callbacks. + /// - [onLongPressStart], [onLongPressUp], [onLongPressMoveUpdate], [onLongPressEnd]: Long press gesture callbacks. + /// - [onSecondaryLongPress], [onTertiaryLongPress]: Secondary and tertiary long press callbacks. + /// - [disableHoverEffect]: If `true`, disables the hover effect. Defaults to `false`. + /// - [statesController]: Optional controller for programmatic state management. + /// - [onPressed]: Called when the button is tapped. + /// + /// Example: + /// ```dart + /// SelectedButton( + /// value: isSelected, + /// onChanged: (selected) => setState(() => isSelected = selected), + /// child: Text('Toggle Me'), + /// ) + /// ``` + const SelectedButton({ + super.key, + required this.value, + this.onChanged, + required this.child, + this.enabled, + this.style = const ButtonStyle.ghost(), + this.selectedStyle = const ButtonStyle.secondary(), + this.alignment, + this.marginAlignment, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.disableHoverEffect = false, + this.statesController, + this.onPressed, + }); + + @override + SelectedButtonState createState() => SelectedButtonState(); +} + +// toggle button is just ghost button +/// State class for [SelectedButton] managing selection and interaction states. +/// +/// Handles widget state controller lifecycle and synchronizes the selected state +/// with the button's value. +class SelectedButtonState extends State { + /// The controller managing widget states (selected, hovered, focused, etc.). + /// + /// This controller is either provided via [SelectedButton.statesController] + /// or created automatically. It tracks and manages the button's interactive + /// states and updates them based on user interactions and the selection value. + late WidgetStatesController statesController; + + @override + void initState() { + super.initState(); + statesController = widget.statesController ?? WidgetStatesController(); + statesController.update(WidgetState.selected, widget.value); + } + + @override + void didUpdateWidget(SelectedButton oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.statesController != widget.statesController) { + statesController = widget.statesController ?? WidgetStatesController(); + statesController.update(WidgetState.selected, widget.value); + } + if (oldWidget.value != widget.value) { + statesController.update(WidgetState.selected, widget.value); + } + } + + @override + Widget build(BuildContext context) { + return Button( + statesController: statesController, + enabled: widget.enabled, + style: widget.value ? widget.selectedStyle : widget.style, + alignment: widget.alignment, + marginAlignment: widget.marginAlignment, + disableTransition: widget.disableTransition, + onHover: widget.onHover, + onFocus: widget.onFocus, + enableFeedback: widget.enableFeedback, + onTapDown: widget.onTapDown, + onTapUp: widget.onTapUp, + onTapCancel: widget.onTapCancel, + onSecondaryTapDown: widget.onSecondaryTapDown, + onSecondaryTapUp: widget.onSecondaryTapUp, + onSecondaryTapCancel: widget.onSecondaryTapCancel, + onTertiaryTapDown: widget.onTertiaryTapDown, + onTertiaryTapUp: widget.onTertiaryTapUp, + onTertiaryTapCancel: widget.onTertiaryTapCancel, + onLongPressStart: widget.onLongPressStart, + onLongPressUp: widget.onLongPressUp, + onLongPressMoveUpdate: widget.onLongPressMoveUpdate, + onLongPressEnd: widget.onLongPressEnd, + onSecondaryLongPress: widget.onSecondaryLongPress, + onTertiaryLongPress: widget.onTertiaryLongPress, + disableHoverEffect: widget.disableHoverEffect, + onPressed: () { + if (widget.onChanged != null) { + widget.onChanged!(!widget.value); + } + if (widget.onPressed != null) { + widget.onPressed!(); + } + }, + child: widget.child); + } +} + +/// A versatile, customizable button widget with comprehensive styling and interaction support. +/// +/// [Button] is the foundational interactive widget in the shadcn_flutter design system, +/// providing a consistent and accessible button implementation with extensive customization +/// options. It supports multiple visual variants, sizes, shapes, and interaction patterns +/// while maintaining design system consistency. +/// +/// ## Key Features +/// - **Multiple Variants**: Primary, secondary, outline, ghost, link, text, destructive, and more +/// - **Flexible Sizing**: From extra small to extra large with custom scaling +/// - **Shape Options**: Rectangle and circle shapes with customizable borders +/// - **Rich Interactions**: Hover, focus, press, and long press support +/// - **Accessibility**: Full keyboard navigation and screen reader support +/// - **Theming**: Deep integration with the design system theme +/// - **Form Integration**: Works seamlessly with form validation and state management +/// +/// ## Visual Variants +/// The button supports various visual styles through named constructors: +/// - [Button.primary]: Prominent primary actions with filled background +/// - [Button.secondary]: Secondary actions with muted background +/// - [Button.outline]: Actions with outline border and transparent background +/// - [Button.ghost]: Subtle actions with minimal visual weight +/// - [Button.link]: Text-only actions that appear as links +/// - [Button.text]: Plain text actions with hover effects +/// - [Button.destructive]: Dangerous actions with destructive styling +/// - [Button.card]: Card-like appearance for container buttons +/// +/// ## Layout and Content +/// Buttons can contain text, icons, or a combination of both using [leading] and [trailing] +/// widgets. The [child] widget is automatically aligned and sized according to the button's +/// style and density settings. +/// +/// ## Interaction Handling +/// The button provides comprehensive gesture support including tap, long press, secondary +/// clicks, and tertiary clicks. All interactions respect the [enabled] state and provide +/// appropriate visual and haptic feedback. +/// +/// Example: +/// ```dart +/// Button.primary( +/// onPressed: () => print('Primary action'), +/// leading: Icon(Icons.add), +/// trailing: Icon(Icons.arrow_forward), +/// child: Text('Create New'), +/// ); +/// ``` +class Button extends StatefulWidget { + /// Whether the button is interactive. + /// + /// If null, the button is enabled when [onPressed] is not null. When false, + /// the button appears disabled and doesn't respond to user input or fire callbacks. + final bool? enabled; + + /// Whether to disable visual state transition animations. + /// + /// When true, the button immediately snaps between visual states instead of + /// smoothly animating. Useful for performance optimization in lists or when + /// animations would be distracting. + final bool disableTransition; + + /// Widget displayed to the left of the main child content. + /// + /// Commonly used for icons that provide additional context about the button's + /// action. Automatically spaced from the [child] with appropriate gaps. + final Widget? leading; + + /// Widget displayed to the right of the main child content. + /// + /// Often used for icons indicating direction (arrows) or additional actions. + /// Automatically spaced from the [child] with appropriate gaps. + final Widget? trailing; + + /// Custom gap between [leading] and [child]. + /// + /// When null, defaults to the scaled density gap. Set to override the + /// default spacing between the leading widget and the main content. + final double? leadingGap; + + /// Custom gap between [child] and [trailing]. + /// + /// When null, defaults to the scaled density gap. Set to override the + /// default spacing between the main content and the trailing widget. + final double? trailingGap; + + /// The primary content displayed in the button. + /// + /// Typically contains text, icons, or other widgets that describe the button's + /// action. Automatically aligned according to [alignment] and styled according + /// to the button's [style]. + final Widget child; + + /// Callback invoked when the button is pressed. + /// + /// The primary interaction callback for the button. When null, the button becomes + /// disabled unless [enabled] is explicitly set to true. The button automatically + /// handles loading states, disabled states, and provides haptic feedback. + final VoidCallback? onPressed; + + /// Focus node for keyboard navigation and focus management. + /// + /// If null, a focus node is automatically created. Useful for controlling focus + /// programmatically or integrating with form focus traversal. + final FocusNode? focusNode; + + /// Alignment of the child content within the button. + /// + /// Controls how the [child] is positioned within the button's bounds. Defaults + /// to center alignment for most button types. When [leading] or [trailing] are + /// provided, defaults to start alignment. + final AlignmentGeometry? alignment; + + /// Visual styling configuration for the button. + /// + /// Defines the button's appearance including colors, padding, borders, and text + /// styles. The [AbstractButtonStyle] provides state-aware styling that responds + /// to hover, press, focus, and disabled states. + final AbstractButtonStyle style; + + /// Callback invoked when the button's hover state changes. + /// + /// Called with true when the pointer enters the button area and false when it + /// leaves. Useful for implementing custom hover effects or updating external state. + final ValueChanged? onHover; + + /// Callback invoked when the button's focus state changes. + /// + /// Called with true when the button gains focus and false when it loses focus. + /// Useful for accessibility features or coordinating focus with other widgets. + final ValueChanged? onFocus; + + /// Whether to enable haptic feedback on press. + /// + /// If null, haptic feedback is automatically enabled on mobile platforms. + /// When true, provides tactile feedback when the button is pressed. When false, + /// no haptic feedback is provided regardless of platform. + final bool? enableFeedback; + + /// Callback invoked when a tap down gesture begins. + /// + /// Provides the position and details of the initial touch/click. Useful for + /// implementing custom press animations or tracking interaction start points. + final GestureTapDownCallback? onTapDown; + + /// Callback invoked when a tap up gesture completes. + /// + /// Called after a successful tap gesture, providing the position details. + /// Note that [onPressed] is typically preferred for button actions. + final GestureTapUpCallback? onTapUp; + + /// Callback invoked when a tap gesture is canceled. + /// + /// Called when a tap gesture starts but is interrupted before completion, + /// such as when the pointer moves outside the button area. + final GestureTapCancelCallback? onTapCancel; + + /// Callback invoked when a secondary button (right-click) tap down begins. + /// + /// Useful for implementing context menus or alternative actions. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Callback invoked when a secondary button tap up completes. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Callback invoked when a secondary button tap is canceled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Callback invoked when a tertiary button (middle-click) tap down begins. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Callback invoked when a tertiary button tap up completes. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Callback invoked when a tertiary button tap is canceled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Callback invoked when a long press gesture begins. + /// + /// Provides the position where the long press started. Useful for implementing + /// press-and-hold actions or showing additional options. + final GestureLongPressStartCallback? onLongPressStart; + + /// Callback invoked when a long press gesture completes. + final GestureLongPressUpCallback? onLongPressUp; + + /// Callback invoked when a long press gesture moves. + /// + /// Provides position updates during an active long press. Useful for + /// implementing drag-from-long-press behaviors. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Callback invoked when a long press gesture ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Callback invoked when a secondary button long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Callback invoked when a tertiary button long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Whether to disable hover visual effects. + /// + /// When true, the button doesn't show visual changes on hover, though [onHover] + /// callbacks are still called. Useful for custom hover implementations. + final bool disableHoverEffect; + + /// Controller for managing button widget states externally. + /// + /// Allows external control over hover, pressed, focused, and other widget states. + /// Useful for implementing custom state logic or coordinating with other widgets. + final WidgetStatesController? statesController; + + /// Alignment for the button's margin within its allocated space. + /// + /// Controls how the button positions itself within its parent's constraints + /// when the button is smaller than the available space. + final AlignmentGeometry? marginAlignment; + + /// Whether to disable the focus outline. + /// + /// When true, removes the visual focus indicator that appears when the button + /// is focused via keyboard navigation. Use carefully as this affects accessibility. + final bool disableFocusOutline; + + /// Creates a [Button] with custom styling. + /// + /// This is the base constructor that allows complete customization of the button's + /// appearance and behavior through the [style] parameter. For common use cases, + /// consider using the named constructors like [Button.primary] or [Button.secondary]. + /// + /// Parameters: + /// - [statesController] (WidgetStatesController?, optional): External state management. + /// - [leading] (Widget?, optional): Widget displayed before the main content. + /// - [trailing] (Widget?, optional): Widget displayed after the main content. + /// - [child] (Widget, required): Main content of the button. + /// - [onPressed] (VoidCallback?, optional): Primary action callback. + /// - [focusNode] (FocusNode?, optional): Focus management node. + /// - [alignment] (AlignmentGeometry?, optional): Content alignment within button. + /// - [style] (AbstractButtonStyle, required): Visual styling configuration. + /// - [enabled] (bool?, optional): Whether button responds to interactions. + /// - [disableTransition] (bool, default: false): Whether to disable state animations. + /// - [onFocus] (`ValueChanged?`, optional): Focus state change callback. + /// - [onHover] (`ValueChanged?`, optional): Hover state change callback. + /// - [disableHoverEffect] (bool, default: false): Whether to disable hover visuals. + /// - [enableFeedback] (bool?, optional): Whether to provide haptic feedback. + /// - [marginAlignment] (AlignmentGeometry?, optional): Margin positioning. + /// - [disableFocusOutline] (bool, default: false): Whether to hide focus outline. + /// + /// Example: + /// ```dart + /// Button( + /// style: ButtonStyle.primary(), + /// leading: Icon(Icons.save), + /// onPressed: () => saveDocument(), + /// child: Text('Save Document'), + /// ); + /// ``` + const Button({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + required this.style, + this.enabled, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a primary button with prominent styling for main actions. + /// + /// Primary buttons use a filled background with high contrast text, making them + /// suitable for the most important action on a screen or in a section. They have + /// the highest visual weight and should be used sparingly. + /// + /// The button uses the primary color from the theme and provides clear visual + /// feedback for hover, focus, and press states. + /// + /// Parameters: Same as [Button] constructor, with [style] preset to [ButtonVariance.primary]. + /// + /// Example: + /// ```dart + /// Button.primary( + /// onPressed: () => submitForm(), + /// child: Text('Submit'), + /// ); + /// ``` + const Button.primary({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.primary, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a secondary button with muted styling for supporting actions. + /// + /// Secondary buttons use a subtle background color with medium contrast text, + /// making them suitable for actions that are important but not primary. They have + /// less visual weight than primary buttons and can be used more frequently. + /// + /// Example: + /// ```dart + /// Button.secondary( + /// onPressed: () => cancelAction(), + /// child: Text('Cancel'), + /// ); + /// ``` + const Button.secondary({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.secondary, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates an outline button with a border and transparent background. + /// + /// Outline buttons feature a visible border and transparent background, providing + /// a minimal yet distinct appearance. They're ideal for secondary actions that need + /// to stand out more than ghost buttons but less than filled buttons. The outline + /// style works well in layouts where visual hierarchy matters. + /// + /// Example: + /// ```dart + /// Button.outline( + /// onPressed: () => showMore(), + /// child: Text('Learn More'), + /// ); + /// ``` + const Button.outline({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.outline, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a ghost button with minimal styling for subtle actions. + /// + /// Ghost buttons have no background by default and only show subtle hover effects. + /// They're perfect for actions that need to be available but shouldn't draw attention + /// away from more important content. + /// + /// Example: + /// ```dart + /// Button.ghost( + /// onPressed: () => showHelp(), + /// leading: Icon(Icons.help_outline), + /// child: Text('Help'), + /// ); + /// ``` + const Button.ghost({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.ghost, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a link-styled button with underline decoration. + /// + /// Link buttons appear as inline text links, typically underlined on hover, + /// making them suitable for navigation or inline actions within text. They have + /// minimal visual presence and work well for tertiary actions or embedded links. + /// + /// Example: + /// ```dart + /// Button.link( + /// onPressed: () => openUrl(), + /// child: Text('View Documentation'), + /// ); + /// ``` + const Button.link({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.link, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a text-only button with no background or border. + /// + /// Text buttons display only their text content without any background fill or + /// border decoration. They're the most minimal button style, useful for actions + /// that should be accessible but not visually prominent, such as "Skip" or "Not now". + /// + /// Example: + /// ```dart + /// Button.text( + /// onPressed: () => skipStep(), + /// child: Text('Skip'), + /// ); + /// ``` + const Button.text({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.text, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a destructive button for actions that delete or destroy data. + /// + /// Destructive buttons use red/warning colors to clearly indicate that the action + /// will remove, delete, or otherwise negatively affect user data. They should be + /// used sparingly and typically require confirmation dialogs. + /// + /// Example: + /// ```dart + /// Button.destructive( + /// onPressed: () => deleteItem(), + /// leading: Icon(Icons.delete), + /// child: Text('Delete'), + /// ); + /// ``` + const Button.destructive({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.destructive, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a fixed-style button with consistent dimensions. + /// + /// Fixed buttons maintain specific dimensions regardless of content, making them + /// ideal for grids, toolbars, or layouts where uniform button sizing is required. + /// They're commonly used in icon-heavy interfaces or when precise spacing matters. + /// + /// Example: + /// ```dart + /// Button.fixed( + /// onPressed: () => performAction(), + /// child: Icon(Icons.add), + /// ); + /// ``` + const Button.fixed({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.fixed, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + /// Creates a card-style button with elevated appearance. + /// + /// Card buttons feature subtle shadows and borders to create a card-like elevated + /// appearance. They work well in content-heavy layouts where buttons need to stand + /// out from surrounding content, such as feature cards or call-to-action sections. + /// + /// Example: + /// ```dart + /// Button.card( + /// onPressed: () => selectOption(), + /// child: Column( + /// children: [ + /// Icon(Icons.star), + /// Text('Premium'), + /// ], + /// ), + /// ); + /// ``` + const Button.card({ + super.key, + this.statesController, + this.leading, + this.trailing, + this.leadingGap, + this.trailingGap, + required this.child, + this.onPressed, + this.focusNode, + this.alignment, + this.enabled, + this.style = ButtonVariance.card, + this.disableTransition = false, + this.onFocus, + this.onHover, + this.disableHoverEffect = false, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + @override + ButtonState createState() => ButtonState(); +} + +/// State class for [Button] widgets managing interactive state and rendering. +/// +/// [ButtonState] handles the button's lifecycle, manages the [WidgetStatesController] +/// for tracking interactive states (pressed, hovered, focused, disabled), and +/// coordinates with the button's style system to apply appropriate visual changes +/// based on the current state. +/// +/// This class is generic, allowing it to manage state for various button types +/// (primary, secondary, outline, etc.) through the type parameter [T]. +/// +/// The state class automatically: +/// - Creates or uses a provided [WidgetStatesController] +/// - Updates the disabled state based on [onPressed] availability +/// - Manages focus and hover interactions +/// - Applies style transitions and animations +class ButtonState extends State { + bool get _shouldEnableFeedback { + final theme = Theme.of(context); + // Use theme setting if provided, otherwise default to platform-specific behavior + if (theme.enableFeedback != null) { + return theme.enableFeedback!; + } + // Default: enable feedback on mobile platforms + return isMobile(theme.platform); + } + + AbstractButtonStyle? _style; + ButtonStyleOverrideData? _overrideData; + + @override + void initState() { + super.initState(); + _style = widget.style; + } + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + var overrideData = Data.maybeOf(context); + if (overrideData != _overrideData) { + _overrideData = overrideData; + if (overrideData != null) { + _style = widget.style.copyWith( + decoration: overrideData.decoration, + mouseCursor: overrideData.mouseCursor, + padding: overrideData.padding, + textStyle: overrideData.textStyle, + iconTheme: overrideData.iconTheme, + margin: overrideData.margin, + ); + } else { + _style = widget.style; + } + } + } + + @override + void didUpdateWidget(T oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.style != oldWidget.style) { + var overrideData = _overrideData; + if (overrideData != null) { + _style = widget.style.copyWith( + decoration: overrideData.decoration, + mouseCursor: overrideData.mouseCursor, + padding: overrideData.padding, + textStyle: overrideData.textStyle, + iconTheme: overrideData.iconTheme, + margin: overrideData.margin, + ); + } else { + _style = widget.style; + } + } + } + + EdgeInsetsGeometry _resolveMargin(Set states) { + return _style!.margin(context, states); + } + + Decoration _resolveDecoration(Set states) { + return _style!.decoration(context, states); + } + + MouseCursor _resolveMouseCursor(Set states) { + return _style!.mouseCursor(context, states); + } + + EdgeInsetsGeometry _resolvePadding(Set states) { + return _style!.padding(context, states); + } + + TextStyle _resolveTextStyle(Set states) { + return _style!.textStyle(context, states); + } + + IconThemeData _resolveIconTheme(Set states) { + return _style!.iconTheme(context, states); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final densityGap = theme.density.baseGap * scaling; + bool enableFeedback = widget.enableFeedback ?? _shouldEnableFeedback; + return Clickable( + disableFocusOutline: widget.disableFocusOutline, + statesController: widget.statesController, + focusNode: widget.focusNode, + enabled: widget.enabled ?? widget.onPressed != null, + marginAlignment: widget.marginAlignment, + disableTransition: widget.disableTransition, + onHover: widget.onHover, + onFocus: widget.onFocus, + disableHoverEffect: widget.disableHoverEffect, + enableFeedback: enableFeedback, + margin: WidgetStateProperty.resolveWith(_resolveMargin), + decoration: WidgetStateProperty.resolveWith(_resolveDecoration), + mouseCursor: WidgetStateProperty.resolveWith(_resolveMouseCursor), + padding: WidgetStateProperty.resolveWith(_resolvePadding), + textStyle: WidgetStateProperty.resolveWith(_resolveTextStyle), + iconTheme: WidgetStateProperty.resolveWith(_resolveIconTheme), + transform: enableFeedback + ? WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.pressed)) { + // scale down to 95% with alignment at center + return Matrix4.identity()..scaleByDouble(0.95, 0.95, 0.95, 1); + } + return null; + }) + : null, + onPressed: widget.onPressed, + onTapDown: widget.onTapDown, + onTapUp: widget.onTapUp, + onTapCancel: widget.onTapCancel, + onSecondaryTapDown: widget.onSecondaryTapDown, + onSecondaryTapUp: widget.onSecondaryTapUp, + onSecondaryTapCancel: widget.onSecondaryTapCancel, + onTertiaryTapDown: widget.onTertiaryTapDown, + onTertiaryTapUp: widget.onTertiaryTapUp, + onTertiaryTapCancel: widget.onTertiaryTapCancel, + onLongPressStart: widget.onLongPressStart, + onLongPressUp: widget.onLongPressUp, + onLongPressMoveUpdate: widget.onLongPressMoveUpdate, + onLongPressEnd: widget.onLongPressEnd, + onSecondaryLongPress: widget.onSecondaryLongPress, + onTertiaryLongPress: widget.onTertiaryLongPress, + child: widget.leading == null && widget.trailing == null + ? _buildAligned() + : IntrinsicWidth( + child: IntrinsicHeight( + child: Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (widget.leading != null) widget.leading!, + if (widget.leading != null) + Gap(widget.leadingGap ?? densityGap), + Expanded( + child: _buildAligned(), + ), + if (widget.trailing != null) + Gap(widget.trailingGap ?? densityGap), + if (widget.trailing != null) widget.trailing!, + ], + ), + ), + ), + ); + } + + Widget _buildAligned() { + if (widget.alignment != null) { + return AnimatedAlign( + duration: kDefaultDuration, + curve: Curves.easeInOut, + widthFactor: 1, + heightFactor: 1, + alignment: widget.alignment!, + child: widget.child, + ); + } + return widget.child; + } +} + +/// Defines the relative size scaling for button components. +/// +/// [ButtonSize] controls the overall scale of buttons, affecting text size, +/// icon size, and proportional padding. The scaling factor is applied to +/// all dimensional properties to maintain visual consistency. +/// +/// Example: +/// ```dart +/// Button.primary( +/// style: ButtonStyle.primary().copyWith(size: ButtonSize.large), +/// child: Text('Large Button'), +/// ); +/// ``` +class ButtonSize { + /// The scaling factor applied to button dimensions. + /// + /// A value of 1.0 represents normal size, values less than 1.0 create smaller + /// buttons, and values greater than 1.0 create larger buttons. + final double scale; + + /// Creates a [ButtonSize] with the specified scaling factor. + const ButtonSize(this.scale); + + /// Standard button size (scale: 1.0). + static const ButtonSize normal = ButtonSize(1); + + /// Extra small button size (scale: 0.5). + static const ButtonSize xSmall = ButtonSize(1 / 2); + + /// Small button size (scale: 0.75). + static const ButtonSize small = ButtonSize(3 / 4); + + /// Large button size (scale: 2.0). + static const ButtonSize large = ButtonSize(2); + + /// Extra large button size (scale: 3.0). + static const ButtonSize xLarge = ButtonSize(3); +} + +/// A function that modifies button padding based on density requirements. +/// +/// Takes the base padding and returns modified padding appropriate for the +/// desired button density level. +typedef DensityModifier = EdgeInsets Function(EdgeInsets padding); + +/// Defines the padding density for button components. +/// +/// [ButtonDensity] controls how much internal padding buttons have, affecting +/// their overall size and touch target area. Different density levels are +/// appropriate for different use cases and layout constraints. +/// +/// Example: +/// ```dart +/// Button.primary( +/// style: ButtonStyle.primary().copyWith(density: ButtonDensity.compact), +/// child: Text('Compact Button'), +/// ); +/// ``` +class ButtonDensity { + /// Function that modifies base padding to achieve the desired density. + final DensityModifier modifier; + + /// Creates a [ButtonDensity] with the specified padding modifier. + const ButtonDensity(this.modifier); + + /// Standard padding density (no modification). + static const ButtonDensity normal = ButtonDensity(_densityNormal); + + /// Increased padding for more comfortable touch targets. + static const ButtonDensity comfortable = ButtonDensity(_densityComfortable); + + /// Square padding suitable for icon-only buttons. + static const ButtonDensity icon = ButtonDensity(_densityIcon); + + /// Comfortable square padding for icon-only buttons. + static const ButtonDensity iconComfortable = + ButtonDensity(_densityIconComfortable); + + /// Dense square padding for compact icon buttons. + static const ButtonDensity iconDense = ButtonDensity(_densityIconDense); + + /// Reduced padding for tighter layouts (50% of normal). + static const ButtonDensity dense = ButtonDensity(_densityDense); + + /// Minimal padding for very compact layouts (zero padding). + static const ButtonDensity compact = ButtonDensity(_densityCompact); +} + +EdgeInsets _densityNormal(EdgeInsets padding) { + return padding; +} + +EdgeInsets _densityDense(EdgeInsets padding) { + return padding * 0.5; +} + +EdgeInsets _densityCompact(EdgeInsets padding) { + return EdgeInsets.zero; +} + +EdgeInsets _densityIcon(EdgeInsets padding) { + return EdgeInsets.all( + min(padding.top, min(padding.bottom, min(padding.left, padding.right)))); +} + +EdgeInsets _densityIconComfortable(EdgeInsets padding) { + return EdgeInsets.all( + max(padding.top, max(padding.bottom, max(padding.left, padding.right)))); +} + +EdgeInsets _densityIconDense(EdgeInsets padding) { + return EdgeInsets.all( + min(padding.top, min(padding.bottom, min(padding.left, padding.right))) * + 0.5); +} + +EdgeInsets _densityComfortable(EdgeInsets padding) { + return padding * 2; +} + +/// Defines the shape style for button components. +/// +/// [ButtonShape] determines the border radius and overall shape of buttons, +/// allowing for rectangular buttons with rounded corners or fully circular buttons. +enum ButtonShape { + /// Rectangular button with theme-appropriate rounded corners. + rectangle, + + /// Circular button with equal width and height. + circle, +} + +/// Function signature for button state-dependent properties. +/// +/// [ButtonStateProperty] is a function type that resolves a property value based +/// on the current widget states (hovered, pressed, focused, disabled, etc.) and +/// build context. This allows button styles to dynamically adapt their appearance +/// based on user interactions. +/// +/// Parameters: +/// - [context]: The build context for accessing theme data +/// - [states]: Set of current widget states (e.g., `{WidgetState.hovered, WidgetState.pressed}`) +/// +/// Returns the property value of type [T] appropriate for the current states. +/// +/// Example: +/// ```dart +/// ButtonStateProperty backgroundColor = (context, states) { +/// if (states.contains(WidgetState.disabled)) return Colors.grey; +/// if (states.contains(WidgetState.pressed)) return Colors.blue.shade700; +/// if (states.contains(WidgetState.hovered)) return Colors.blue.shade400; +/// return Colors.blue; +/// }; +/// ``` +typedef ButtonStateProperty = T Function( + BuildContext context, Set states); + +/// Abstract interface defining the style properties for button components. +/// +/// [AbstractButtonStyle] specifies the contract for button styling, requiring +/// implementations to provide state-dependent values for decoration, cursor, +/// padding, text style, icon theme, and margin. This abstraction allows for +/// flexible button theming while maintaining a consistent API. +/// +/// All properties return [ButtonStateProperty] functions that resolve values +/// based on the button's current interactive state (hovered, pressed, focused, etc.). +/// +/// Implementations include [ButtonStyle] and [ButtonVariance], which provide +/// concrete styling configurations for different button types. +abstract class AbstractButtonStyle { + /// Returns the decoration (background, border, shadows) based on button state. + ButtonStateProperty get decoration; + + /// Returns the mouse cursor appearance based on button state. + ButtonStateProperty get mouseCursor; + + /// Returns the internal padding based on button state. + ButtonStateProperty get padding; + + /// Returns the text style based on button state. + ButtonStateProperty get textStyle; + + /// Returns the icon theme based on button state. + ButtonStateProperty get iconTheme; + + /// Returns the external margin based on button state. + ButtonStateProperty get margin; +} + +/// Configurable button style combining variance, size, density, and shape. +/// +/// [ButtonStyle] implements [AbstractButtonStyle] and provides a composable way +/// to create button styles by combining a base variance (primary, secondary, outline, +/// etc.) with size, density, and shape modifiers. This allows for flexible button +/// customization while maintaining consistency. +/// +/// The class provides named constructors for common button variants (primary, +/// secondary, outline, etc.) and can be further customized with size and density options. +/// +/// Example: +/// ```dart +/// // Create a large primary button +/// const ButtonStyle.primary( +/// size: ButtonSize.large, +/// density: ButtonDensity.comfortable, +/// ) +/// +/// // Create a small outline button with circular shape +/// const ButtonStyle.outline( +/// size: ButtonSize.small, +/// shape: ButtonShape.circle, +/// ) +/// ``` +class ButtonStyle implements AbstractButtonStyle { + /// The base style variance (primary, secondary, outline, etc.). + final AbstractButtonStyle variance; + + /// The size configuration affecting padding and minimum dimensions. + final ButtonSize size; + + /// The density configuration affecting spacing and compactness. + final ButtonDensity density; + + /// The shape configuration (rectangle or circle). + final ButtonShape shape; + + /// Creates a custom [ButtonStyle] with the specified variance and modifiers. + /// + /// Parameters: + /// - [variance] (required): The base button style variant + /// - [size]: The button size. Defaults to [ButtonSize.normal] + /// - [density]: The button density. Defaults to [ButtonDensity.normal] + /// - [shape]: The button shape. Defaults to [ButtonShape.rectangle] + const ButtonStyle({ + required this.variance, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }); + + /// Creates a primary button style with prominent filled appearance. + /// + /// Primary buttons use the theme's primary color with high contrast, making them + /// ideal for the main action on a screen. + const ButtonStyle.primary({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.primary; + + /// Creates a secondary button style with muted appearance. + /// + /// Secondary buttons have less visual prominence than primary buttons, suitable + /// for supporting or alternative actions. + const ButtonStyle.secondary({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.secondary; + + /// Creates an outline button style with border and no background. + /// + /// Outline buttons feature a border with transparent background, providing a + /// clear but subtle appearance for secondary actions. + const ButtonStyle.outline({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.outline; + + /// Creates a ghost button style with minimal visual presence. + /// + /// Ghost buttons have no background or border, only showing on hover, making + /// them ideal for tertiary actions. + const ButtonStyle.ghost({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.ghost; + + /// Creates a link button style resembling a text hyperlink. + /// + /// Link buttons appear as inline links with underline decoration, typically + /// used for navigation or inline actions. + const ButtonStyle.link({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.link; + + /// Creates a text-only button style with no background or border. + /// + /// Text buttons display only their text content, making them the most minimal + /// button style for unobtrusive actions. + const ButtonStyle.text({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.text; + + /// Creates a destructive button style for delete/remove actions. + /// + /// Destructive buttons use warning colors (typically red) to indicate actions + /// that remove or delete data. + const ButtonStyle.destructive({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.destructive; + + /// Creates a fixed-size button style with consistent dimensions. + /// + /// Fixed buttons maintain specific dimensions regardless of content, useful + /// for icon buttons or grid layouts. + const ButtonStyle.fixed({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.fixed; + + /// Creates a menu button style for dropdown menu triggers. + /// + /// Menu buttons are designed for triggering dropdown menus, with appropriate + /// spacing and styling for menu contexts. + const ButtonStyle.menu({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.menu; + + /// Creates a menubar button style for menubar items. + /// + /// Menubar buttons are optimized for horizontal menu bars with appropriate + /// padding and hover effects. + const ButtonStyle.menubar({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.menubar; + + /// Creates a muted button style with subdued appearance. + /// + /// Muted buttons use low-contrast colors for minimal visual impact while + /// remaining functional. + const ButtonStyle.muted({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.muted; + + /// Creates a primary icon button style with compact icon density. + /// + /// Icon buttons are optimized for displaying icons without text, using + /// [ButtonDensity.icon] for appropriate spacing. + const ButtonStyle.primaryIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.primary; + + /// Creates a secondary icon button style with compact icon density. + const ButtonStyle.secondaryIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.secondary; + + /// Creates an outline icon button style with compact icon density. + const ButtonStyle.outlineIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.outline; + + /// Creates a ghost icon button style with compact icon density. + const ButtonStyle.ghostIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.ghost; + + /// Creates a link icon button style with compact icon density. + const ButtonStyle.linkIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.link; + + /// Creates a text icon button style with compact icon density. + const ButtonStyle.textIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.text; + + /// Creates a destructive icon button style with compact icon density. + const ButtonStyle.destructiveIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.destructive; + + /// Creates a fixed icon button style with compact icon density. + const ButtonStyle.fixedIcon({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.fixed; + + /// Creates a card button style with elevated appearance. + /// + /// Card buttons feature subtle shadows and borders creating an elevated, + /// card-like appearance suitable for content-heavy layouts. + const ButtonStyle.card({ + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + }) : variance = ButtonVariance.card; + + @override + ButtonStateProperty get decoration { + if (shape == ButtonShape.circle) { + return _resolveCircleDecoration; + } + return variance.decoration; + } + + Decoration _resolveCircleDecoration( + BuildContext context, Set states) { + var decoration = variance.decoration(context, states); + if (decoration is BoxDecoration) { + return BoxDecoration( + color: decoration.color, + image: decoration.image, + border: decoration.border, + borderRadius: null, + boxShadow: decoration.boxShadow, + gradient: decoration.gradient, + shape: BoxShape.circle, + backgroundBlendMode: decoration.backgroundBlendMode, + ); + } else if (decoration is ShapeDecoration) { + return decoration.copyWith( + shape: shape == ButtonShape.circle ? const CircleBorder() : null, + ); + } else { + throw Exception('Unsupported decoration type ${decoration.runtimeType}'); + } + } + + @override + ButtonStateProperty get mouseCursor { + return variance.mouseCursor; + } + + @override + ButtonStateProperty get padding { + if (size == ButtonSize.normal && density == ButtonDensity.normal) { + return variance.padding; + } + return _resolvePadding; + } + + EdgeInsetsGeometry _resolvePadding( + BuildContext context, Set states) { + return density.modifier( + variance.padding(context, states).optionallyResolve(context) * + size.scale); + } + + @override + ButtonStateProperty get textStyle { + if (size == ButtonSize.normal) { + return variance.textStyle; + } + return _resolveTextStyle; + } + + TextStyle _resolveTextStyle(BuildContext context, Set states) { + var fontSize = variance.textStyle(context, states).fontSize; + if (fontSize == null) { + final textStyle = DefaultTextStyle.of(context).style; + fontSize = textStyle.fontSize ?? 14; + } + return variance.textStyle(context, states).copyWith( + fontSize: fontSize * size.scale, + ); + } + + @override + ButtonStateProperty get iconTheme { + if (size == ButtonSize.normal) { + return variance.iconTheme; + } + return _resolveIconTheme; + } + + IconThemeData _resolveIconTheme( + BuildContext context, Set states) { + var iconSize = variance.iconTheme(context, states).size; + iconSize ??= IconTheme.of(context).size ?? 24; + return variance.iconTheme(context, states).copyWith( + size: iconSize * size.scale, + ); + } + + @override + ButtonStateProperty get margin { + return variance.margin; + } +} + +/// Abstract base class for button theme customization. +/// +/// [ButtonTheme] provides optional style property delegates that can override +/// or modify the default button styling. Subclasses implement specific button +/// variants (primary, secondary, outline, etc.) allowing theme-level customization +/// of button appearances throughout an application. +/// +/// Each property is a [ButtonStatePropertyDelegate] that receives the context, +/// current states, and the default value, allowing for context-aware and +/// state-dependent style modifications. +/// +/// Implementations include [PrimaryButtonTheme], [SecondaryButtonTheme], +/// [OutlineButtonTheme], and others for each button variant. +abstract class ButtonTheme extends ComponentThemeData { + /// Optional decoration override (background, border, shadows). + final ButtonStatePropertyDelegate? decoration; + + /// Optional mouse cursor override. + final ButtonStatePropertyDelegate? mouseCursor; + + /// Optional padding override. + final ButtonStatePropertyDelegate? padding; + + /// Optional text style override. + final ButtonStatePropertyDelegate? textStyle; + + /// Optional icon theme override. + final ButtonStatePropertyDelegate? iconTheme; + + /// Optional margin override. + final ButtonStatePropertyDelegate? margin; + + /// Creates a [ButtonTheme] with optional style property delegates. + /// + /// All parameters are optional, allowing selective override of specific + /// style properties while leaving others to use default values. + const ButtonTheme( + {this.decoration, + this.mouseCursor, + this.padding, + this.textStyle, + this.iconTheme, + this.margin}); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ButtonTheme && + other.decoration == decoration && + other.mouseCursor == mouseCursor && + other.padding == padding && + other.textStyle == textStyle && + other.iconTheme == iconTheme && + other.margin == margin; + } + + @override + int get hashCode => Object.hash( + decoration, mouseCursor, padding, textStyle, iconTheme, margin); + + @override + String toString() => + '$runtimeType{decoration: $decoration, mouseCursor: $mouseCursor, padding: $padding, textStyle: $textStyle, iconTheme: $iconTheme, margin: $margin}'; +} + +/// Theme-aware button style that integrates with the component theme system. +/// +/// [ComponentThemeButtonStyle] implements [AbstractButtonStyle] and provides +/// automatic theme integration by looking up theme overrides from the widget tree's +/// [ComponentTheme]. If a theme override is found, it's applied; otherwise, the +/// fallback style is used. +/// +/// This enables global button style customization through the theme system while +/// maintaining type-safe access to specific button theme types. +/// +/// Example: +/// ```dart +/// const ComponentThemeButtonStyle( +/// fallback: ButtonVariance.primary, +/// ) +/// ``` +class ComponentThemeButtonStyle + implements AbstractButtonStyle { + /// The fallback style used when no theme override is found. + final AbstractButtonStyle fallback; + + /// Creates a [ComponentThemeButtonStyle] with the specified fallback style. + /// + /// Parameters: + /// - [fallback] (required): The default style used when theme override is not available. + const ComponentThemeButtonStyle({required this.fallback}); + + /// Looks up the button theme of type [T] from the component theme. + /// + /// Returns the theme instance if found in the widget tree, or `null` if not present. + T? find(BuildContext context) { + return ComponentTheme.maybeOf(context); + } + + @override + ButtonStateProperty get decoration => _resolveDecoration; + + Decoration _resolveDecoration(BuildContext context, Set states) { + var resolved = fallback.decoration(context, states); + return find(context)?.decoration?.call(context, states, resolved) ?? + resolved; + } + + @override + ButtonStateProperty get iconTheme => _resolveIconTheme; + + IconThemeData _resolveIconTheme( + BuildContext context, Set states) { + var resolved = fallback.iconTheme(context, states); + return find(context)?.iconTheme?.call(context, states, resolved) ?? + resolved; + } + + @override + ButtonStateProperty get margin => _resolveMargin; + + EdgeInsetsGeometry _resolveMargin( + BuildContext context, Set states) { + var resolved = fallback.margin(context, states); + return find(context)?.margin?.call(context, states, resolved) ?? resolved; + } + + @override + ButtonStateProperty get mouseCursor => _resolveMouseCursor; + + MouseCursor _resolveMouseCursor( + BuildContext context, Set states) { + var resolved = fallback.mouseCursor(context, states); + return find(context)?.mouseCursor?.call(context, states, resolved) ?? + resolved; + } + + @override + ButtonStateProperty get padding => _resolvePadding; + + EdgeInsetsGeometry _resolvePadding( + BuildContext context, Set states) { + var resolved = fallback.padding(context, states); + return find(context)?.padding?.call(context, states, resolved) ?? resolved; + } + + @override + ButtonStateProperty get textStyle => _resolveTextStyle; + + TextStyle _resolveTextStyle(BuildContext context, Set states) { + var resolved = fallback.textStyle(context, states); + return find(context)?.textStyle?.call(context, states, resolved) ?? + resolved; + } +} + +/// Extension methods for [ShapeDecoration] providing copyWith functionality. +/// +/// Adds a `copyWith` method to [ShapeDecoration] for creating modified copies +/// with selectively updated properties, similar to the pattern used in Flutter +/// for other decoration types. +extension ShapeDecorationExtension on ShapeDecoration { + /// Creates a copy of this [ShapeDecoration] with specified properties replaced. + /// + /// Parameters: + /// - [shape]: Replacement shape border + /// - [color]: Replacement fill color + /// - [gradient]: Replacement gradient + /// - [shadows]: Replacement shadow list + /// - [image]: Replacement decoration image + /// + /// Returns a new [ShapeDecoration] with the specified properties updated + /// and all other properties copied from the original. + ShapeDecoration copyWith({ + ShapeBorder? shape, + Color? color, + Gradient? gradient, + List? shadows, + DecorationImage? image, + }) { + return ShapeDecoration( + color: color ?? this.color, + image: image ?? this.image, + shape: shape ?? this.shape, + gradient: gradient ?? this.gradient, + shadows: shadows ?? this.shadows, + ); + } +} + +/// Extension methods for [Decoration] providing type-safe copyWith operations. +/// +/// Adds convenience methods to [Decoration] for creating modified copies when +/// the decoration is either a [BoxDecoration] or [ShapeDecoration]. These methods +/// handle type checking and provide appropriate defaults when the decoration +/// doesn't match the expected type. +extension DecorationExtension on Decoration { + /// Creates a [BoxDecoration] copy with specified properties replaced. + /// + /// If this decoration is a [BoxDecoration], creates a modified copy. + /// Otherwise, creates a new [BoxDecoration] with the provided properties. + /// + /// Parameters: + /// - [color]: Replacement or new background color + /// - [image]: Replacement or new decoration image + /// - [border]: Replacement or new border + /// - [borderRadius]: Replacement or new border radius + /// - [boxShadow]: Replacement or new shadow list + /// - [gradient]: Replacement or new gradient + /// - [shape]: Replacement or new box shape + /// - [backgroundBlendMode]: Replacement or new blend mode + /// + /// Returns a [BoxDecoration] with the specified properties. + BoxDecoration copyWithIfBoxDecoration({ + Color? color, + DecorationImage? image, + BoxBorder? border, + BorderRadiusGeometry? borderRadius, + List? boxShadow, + Gradient? gradient, + BoxShape? shape, + BlendMode? backgroundBlendMode, + }) { + if (this is BoxDecoration) { + var boxDecoration = this as BoxDecoration; + return BoxDecoration( + color: color ?? boxDecoration.color, + image: image ?? boxDecoration.image, + border: border ?? boxDecoration.border, + borderRadius: borderRadius ?? boxDecoration.borderRadius, + boxShadow: boxShadow ?? boxDecoration.boxShadow, + gradient: gradient ?? boxDecoration.gradient, + shape: shape ?? boxDecoration.shape, + backgroundBlendMode: + backgroundBlendMode ?? boxDecoration.backgroundBlendMode, + ); + } + return BoxDecoration( + color: color, + image: image, + border: border, + borderRadius: borderRadius, + boxShadow: boxShadow, + gradient: gradient, + shape: shape ?? BoxShape.rectangle, + backgroundBlendMode: backgroundBlendMode, + ); + } + + /// Creates a [ShapeDecoration] copy with specified properties replaced. + /// + /// If this decoration is a [ShapeDecoration], creates a modified copy. + /// Otherwise, creates a new [ShapeDecoration] with the provided properties. + /// + /// Parameters: + /// - [shape]: Replacement or new shape border + /// - [color]: Replacement or new fill color + /// - [gradient]: Replacement or new gradient + /// - [shadows]: Replacement or new shadow list + /// - [image]: Replacement or new decoration image + /// + /// Returns a [ShapeDecoration] with the specified properties. + ShapeDecoration copyWithIfShapeDecoration({ + ShapeBorder? shape, + Color? color, + Gradient? gradient, + List? shadows, + DecorationImage? image, + }) { + if (this is ShapeDecoration) { + var shapeDecoration = this as ShapeDecoration; + return ShapeDecoration( + color: color ?? shapeDecoration.color, + image: image ?? shapeDecoration.image, + shape: shape ?? shapeDecoration.shape, + gradient: gradient ?? shapeDecoration.gradient, + shadows: shadows ?? shapeDecoration.shadows, + ); + } + return ShapeDecoration( + color: color, + image: image, + shape: shape ?? const RoundedRectangleBorder(), + gradient: gradient, + shadows: shadows, + ); + } +} + +/// Theme configuration for primary button styling. +/// +/// [PrimaryButtonTheme] extends [ButtonTheme] to provide theme-level customization +/// for primary buttons. It can be registered in the component theme system to +/// override default primary button styles throughout the application. +/// +/// Example: +/// ```dart +/// PrimaryButtonTheme( +/// decoration: (context, states, defaultValue) { +/// // Customize primary button decoration +/// return customDecoration; +/// }, +/// ) +/// ``` +class PrimaryButtonTheme extends ButtonTheme { + /// Creates a [PrimaryButtonTheme] with optional style property delegates. + const PrimaryButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + PrimaryButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return PrimaryButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for secondary button styling. +/// +/// Provides theme-level customization for secondary buttons through the component +/// theme system. Secondary buttons have muted styling suitable for supporting actions. +class SecondaryButtonTheme extends ButtonTheme { + /// Creates a [SecondaryButtonTheme] with optional style property delegates. + const SecondaryButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + SecondaryButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return SecondaryButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for outline button styling. +/// +/// Provides theme-level customization for outline buttons through the component +/// theme system. Outline buttons feature borders with transparent backgrounds. +class OutlineButtonTheme extends ButtonTheme { + /// Creates an [OutlineButtonTheme] with optional style property delegates. + const OutlineButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + OutlineButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return OutlineButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for ghost button styling. +/// +/// Provides theme-level customization for ghost buttons. Ghost buttons have minimal +/// visual presence with no background or border by default. +class GhostButtonTheme extends ButtonTheme { + /// Creates a [GhostButtonTheme] with optional style property delegates. + const GhostButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + GhostButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return GhostButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for link button styling. +/// +/// Provides theme-level customization for link buttons. Link buttons appear as +/// inline hyperlinks with underline decoration. +class LinkButtonTheme extends ButtonTheme { + /// Creates a [LinkButtonTheme] with optional style property delegates. + const LinkButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + LinkButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return LinkButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for text button styling. +/// +/// Provides theme-level customization for text buttons. Text buttons display only +/// their text content without background or border decoration. +class TextButtonTheme extends ButtonTheme { + /// Creates a [TextButtonTheme] with optional style property delegates. + const TextButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + TextButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return TextButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for destructive button styling. +/// +/// Provides theme-level customization for destructive buttons. Destructive buttons +/// use warning colors (typically red) for actions that delete or remove data. +class DestructiveButtonTheme extends ButtonTheme { + /// Creates a [DestructiveButtonTheme] with optional style property delegates. + const DestructiveButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + DestructiveButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return DestructiveButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for fixed button styling. +/// +/// Provides theme-level customization for fixed buttons. Fixed buttons maintain +/// consistent dimensions regardless of content. +class FixedButtonTheme extends ButtonTheme { + /// Creates a [FixedButtonTheme] with optional style property delegates. + const FixedButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + FixedButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return FixedButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for menu button styling. +/// +/// Provides theme-level customization for menu buttons. Menu buttons are designed +/// for triggering dropdown menus with appropriate spacing and styling. +class MenuButtonTheme extends ButtonTheme { + /// Creates a [MenuButtonTheme] with optional style property delegates. + const MenuButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + MenuButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return MenuButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for menubar button styling. +/// +/// Provides theme-level customization for menubar buttons. Menubar buttons are +/// optimized for horizontal menu bars with appropriate padding and hover effects. +class MenubarButtonTheme extends ButtonTheme { + /// Creates a [MenubarButtonTheme] with optional style property delegates. + const MenubarButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + MenubarButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return MenubarButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for muted button styling. +/// +/// Provides theme-level customization for muted buttons. Muted buttons use +/// low-contrast colors for minimal visual impact while remaining functional. +class MutedButtonTheme extends ButtonTheme { + /// Creates a [MutedButtonTheme] with optional style property delegates. + const MutedButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + MutedButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return MutedButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Theme configuration for card button styling. +/// +/// Provides theme-level customization for card buttons. Card buttons feature +/// subtle shadows and borders creating an elevated, card-like appearance. +class CardButtonTheme extends ButtonTheme { + /// Creates a [CardButtonTheme] with optional style property delegates. + const CardButtonTheme( + {super.decoration, + super.mouseCursor, + super.padding, + super.textStyle, + super.iconTheme, + super.margin}); + + /// Creates a copy of this theme with selectively replaced properties. + CardButtonTheme copyWith({ + ValueGetter?>? decoration, + ValueGetter?>? mouseCursor, + ValueGetter?>? padding, + ValueGetter?>? textStyle, + ValueGetter?>? iconTheme, + ValueGetter?>? margin, + }) { + return CardButtonTheme( + decoration: decoration == null ? this.decoration : decoration(), + mouseCursor: mouseCursor == null ? this.mouseCursor : mouseCursor(), + padding: padding == null ? this.padding : padding(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + iconTheme: iconTheme == null ? this.iconTheme : iconTheme(), + margin: margin == null ? this.margin : margin(), + ); + } +} + +/// Implementation of [AbstractButtonStyle] providing concrete button style variants. +/// +/// [ButtonVariance] implements [AbstractButtonStyle] with state property functions +/// and provides static constants for all standard button variants (primary, secondary, +/// outline, etc.). Each variant is wrapped in a [ComponentThemeButtonStyle] to enable +/// theme-level customization. +/// +/// The static variance constants serve as the base styles used by [ButtonStyle]'s +/// named constructors and can be used directly when creating custom button styles. +/// +/// Example: +/// ```dart +/// // Use a variant directly +/// Button( +/// style: ButtonVariance.primary, +/// child: Text('Click Me'), +/// ) +/// ``` +class ButtonVariance implements AbstractButtonStyle { + /// Primary button variant with prominent filled appearance. + /// + /// Features high-contrast styling suitable for the main action on a screen. + static const AbstractButtonStyle primary = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonPrimaryDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonPrimaryTextStyle, + iconTheme: _buttonPrimaryIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Secondary button variant with muted appearance. + /// + /// Features subtle styling suitable for supporting or alternative actions. + static const AbstractButtonStyle secondary = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonSecondaryDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonSecondaryTextStyle, + iconTheme: _buttonSecondaryIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Outline button variant with border and transparent background. + /// + /// Features a visible border without filled background, suitable for secondary actions. + static const AbstractButtonStyle outline = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonOutlineDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonOutlineTextStyle, + iconTheme: _buttonOutlineIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Ghost button variant with minimal visual presence. + /// + /// Features no background or border by default, only showing on hover. + static const AbstractButtonStyle ghost = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonGhostDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonGhostTextStyle, + iconTheme: _buttonGhostIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Link button variant resembling a text hyperlink. + /// + /// Features inline link styling with underline decoration. + static const AbstractButtonStyle link = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonLinkDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonLinkTextStyle, + iconTheme: _buttonLinkIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Text button variant with only text content. + /// + /// Features minimal styling with no background or border decoration. + static const AbstractButtonStyle text = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonTextDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonTextTextStyle, + iconTheme: _buttonTextIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Destructive button variant for delete/remove actions. + /// + /// Features warning colors (typically red) to indicate data-destructive actions. + static const AbstractButtonStyle destructive = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonDestructiveDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonDestructiveTextStyle, + iconTheme: _buttonDestructiveIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Fixed button variant with consistent dimensions. + /// + /// Features fixed sizing regardless of content, suitable for icon buttons. + static const AbstractButtonStyle fixed = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonTextDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonStaticTextStyle, + iconTheme: _buttonStaticIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Menu button variant for dropdown menu triggers. + /// + /// Features appropriate spacing and styling for menu contexts. + static const AbstractButtonStyle menu = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonMenuDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonMenuPadding, + textStyle: _buttonMenuTextStyle, + iconTheme: _buttonMenuIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Menubar button variant for horizontal menu bars. + /// + /// Features optimized padding and styling for menubar contexts. + static const AbstractButtonStyle menubar = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonMenuDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonMenubarPadding, + textStyle: _buttonMenuTextStyle, + iconTheme: _buttonMenuIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Muted button variant with subdued appearance. + /// + /// Features low-contrast styling for minimal visual impact. + static const AbstractButtonStyle muted = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonTextDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonPadding, + textStyle: _buttonMutedTextStyle, + iconTheme: _buttonMutedIconTheme, + margin: _buttonZeroMargin, + ), + ); + + /// Card button variant with elevated appearance. + /// + /// Features subtle shadows and borders creating a card-like elevated look. + static const AbstractButtonStyle card = + ComponentThemeButtonStyle( + fallback: ButtonVariance( + decoration: _buttonCardDecoration, + mouseCursor: _buttonMouseCursor, + padding: _buttonCardPadding, + textStyle: _buttonCardTextStyle, + iconTheme: _buttonCardIconTheme, + margin: _buttonZeroMargin, + ), + ); + + @override + final ButtonStateProperty decoration; + @override + final ButtonStateProperty mouseCursor; + @override + final ButtonStateProperty padding; + @override + final ButtonStateProperty textStyle; + @override + final ButtonStateProperty iconTheme; + @override + final ButtonStateProperty margin; + + /// Creates a custom [ButtonVariance] with the specified style properties. + /// + /// All parameters are required [ButtonStateProperty] functions that resolve + /// values based on the button's current state. + const ButtonVariance({ + required this.decoration, + required this.mouseCursor, + required this.padding, + required this.textStyle, + required this.iconTheme, + required this.margin, + }); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is ButtonVariance && + other.decoration == decoration && + other.mouseCursor == mouseCursor && + other.padding == padding && + other.textStyle == textStyle && + other.iconTheme == iconTheme && + other.margin == margin; + } + + @override + int get hashCode { + return Object.hash( + decoration, mouseCursor, padding, textStyle, iconTheme, margin); + } + + @override + String toString() { + return 'ButtonVariance(decoration: $decoration, mouseCursor: $mouseCursor, padding: $padding, textStyle: $textStyle, iconTheme: $iconTheme, margin: $margin)'; + } +} + +/// A button state property delegate that always returns the same value. +/// +/// [ButtonStylePropertyAll] implements a [ButtonStatePropertyDelegate] that +/// ignores the context, states, and default value parameters, always returning +/// its stored [value]. This is useful for creating static style properties that +/// don't change based on button state. +/// +/// Example: +/// ```dart +/// final alwaysRedDecoration = ButtonStylePropertyAll( +/// BoxDecoration(color: Colors.red), +/// ); +/// ``` +class ButtonStylePropertyAll { + /// The constant value to return regardless of state. + final T value; + + /// Creates a [ButtonStylePropertyAll] with the specified constant value. + const ButtonStylePropertyAll(this.value); + + /// Returns the stored [value], ignoring all parameters. + /// + /// This method signature matches [ButtonStatePropertyDelegate] for compatibility, + /// but the [context], [states], and [value] parameters are unused. + T call(BuildContext context, Set states, T value) { + return this.value; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is ButtonStylePropertyAll && other.value == value; + } + + @override + int get hashCode { + return value.hashCode; + } + + @override + String toString() => 'ButtonStylePropertyAll(value: $value)'; +} + +/// Extension methods on [AbstractButtonStyle] for convenient style modifications. +/// +/// Provides utility methods to create modified copies of button styles with +/// selective property changes. These methods enable fluent style customization +/// without manually implementing [ButtonVariance] instances. +extension ButtonStyleExtension on AbstractButtonStyle { + /// Creates a copy of this style with selectively replaced properties. + /// + /// Each parameter is a [ButtonStatePropertyDelegate] that can modify or + /// replace the corresponding style property. If all parameters are `null`, + /// returns the original style unchanged for efficiency. + /// + /// Example: + /// ```dart + /// final customStyle = ButtonVariance.primary.copyWith( + /// decoration: (context, states, defaultDecoration) { + /// // Custom decoration logic + /// return myCustomDecoration; + /// }, + /// ); + /// ``` + AbstractButtonStyle copyWith({ + ButtonStatePropertyDelegate? decoration, + ButtonStatePropertyDelegate? mouseCursor, + ButtonStatePropertyDelegate? padding, + ButtonStatePropertyDelegate? textStyle, + ButtonStatePropertyDelegate? iconTheme, + ButtonStatePropertyDelegate? margin, + }) { + if (decoration == null && + mouseCursor == null && + padding == null && + textStyle == null && + iconTheme == null && + margin == null) { + return this; + } + return _CopyWithButtonStyle( + this, + decoration, + mouseCursor, + padding, + textStyle, + iconTheme, + margin, + ); + } + + /// Creates a copy with custom background colors for different states. + /// + /// Modifies the decoration to apply state-specific background colors. + /// Only works with [BoxDecoration]; other decoration types are returned unchanged. + /// + /// Parameters: + /// - [color]: Background color for normal state + /// - [hoverColor]: Background color when hovered + /// - [focusColor]: Background color when focused + /// - [disabledColor]: Background color when disabled + /// + /// Example: + /// ```dart + /// final style = ButtonVariance.primary.withBackgroundColor( + /// color: Colors.blue, + /// hoverColor: Colors.blue.shade700, + /// ); + /// ``` + AbstractButtonStyle withBackgroundColor( + {Color? color, + Color? hoverColor, + Color? focusColor, + Color? disabledColor}) { + return copyWith( + decoration: (context, states, decoration) { + if (decoration is BoxDecoration) { + return decoration.copyWith( + color: states.disabled + ? disabledColor ?? decoration.color + : states.hovered + ? hoverColor ?? decoration.color + : states.focused + ? focusColor ?? decoration.color + : color, + ); + } + return decoration; + }, + ); + } + + /// Creates a copy with custom foreground colors for different states. + /// + /// Modifies both text style and icon theme to apply state-specific foreground + /// colors for text and icons. + /// + /// Parameters: + /// - [color]: Foreground color for normal state + /// - [hoverColor]: Foreground color when hovered + /// - [focusColor]: Foreground color when focused + /// - [disabledColor]: Foreground color when disabled + /// + /// Example: + /// ```dart + /// final style = ButtonVariance.outline.withForegroundColor( + /// color: Colors.black, + /// disabledColor: Colors.grey, + /// ); + /// ``` + AbstractButtonStyle withForegroundColor( + {Color? color, + Color? hoverColor, + Color? focusColor, + Color? disabledColor}) { + return copyWith( + textStyle: (context, states, textStyle) { + return textStyle.copyWith( + color: states.disabled + ? disabledColor ?? textStyle.color + : states.hovered + ? hoverColor ?? textStyle.color + : states.focused + ? focusColor ?? textStyle.color + : color, + ); + }, + iconTheme: (context, states, iconTheme) { + return iconTheme.copyWith( + color: states.disabled + ? disabledColor ?? iconTheme.color + : states.hovered + ? hoverColor ?? iconTheme.color + : states.focused + ? focusColor ?? iconTheme.color + : color, + ); + }, + ); + } + + /// Creates a copy with custom borders for different states. + /// + /// Modifies the decoration to apply state-specific borders. + /// Only works with [BoxDecoration]; other decoration types are returned unchanged. + /// + /// Parameters: + /// - [border]: Border for normal state + /// - [hoverBorder]: Border when hovered + /// - [focusBorder]: Border when focused + /// - [disabledBorder]: Border when disabled + /// + /// Example: + /// ```dart + /// final style = ButtonVariance.outline.withBorder( + /// border: Border.all(color: Colors.blue), + /// hoverBorder: Border.all(color: Colors.blue.shade700, width: 2), + /// ); + /// ``` + AbstractButtonStyle withBorder( + {Border? border, + Border? hoverBorder, + Border? focusBorder, + Border? disabledBorder}) { + return copyWith( + decoration: (context, states, decoration) { + if (decoration is BoxDecoration) { + return decoration.copyWith( + border: states.disabled + ? disabledBorder ?? decoration.border + : states.hovered + ? hoverBorder ?? decoration.border + : states.focused + ? focusBorder ?? decoration.border + : border, + ); + } + return decoration; + }, + ); + } + + /// Creates a copy with custom border radius for different states. + /// + /// Modifies the decoration to apply state-specific border radius. + /// Only works with [BoxDecoration]; other decoration types are returned unchanged. + /// + /// Parameters: + /// - [borderRadius]: Border radius for normal state + /// - [hoverBorderRadius]: Border radius when hovered + /// - [focusBorderRadius]: Border radius when focused + /// - [disabledBorderRadius]: Border radius when disabled + /// + /// Example: + /// ```dart + /// final style = ButtonVariance.primary.withBorderRadius( + /// borderRadius: BorderRadius.circular(8), + /// hoverBorderRadius: BorderRadius.circular(12), + /// ); + /// ``` + AbstractButtonStyle withBorderRadius( + {BorderRadiusGeometry? borderRadius, + BorderRadiusGeometry? hoverBorderRadius, + BorderRadiusGeometry? focusBorderRadius, + BorderRadiusGeometry? disabledBorderRadius}) { + return copyWith( + decoration: (context, states, decoration) { + if (decoration is BoxDecoration) { + return decoration.copyWith( + borderRadius: states.disabled + ? disabledBorderRadius ?? decoration.borderRadius + : states.hovered + ? hoverBorderRadius ?? decoration.borderRadius + : states.focused + ? focusBorderRadius ?? decoration.borderRadius + : borderRadius, + ); + } + return decoration; + }, + ); + } + + /// Creates a copy with custom padding for different states. + /// + /// Modifies the padding to apply state-specific values. + /// + /// Parameters: + /// - [padding]: Padding for normal state + /// - [hoverPadding]: Padding when hovered + /// - [focusPadding]: Padding when focused + /// - [disabledPadding]: Padding when disabled + AbstractButtonStyle withPadding( + {EdgeInsetsGeometry? padding, + EdgeInsetsGeometry? hoverPadding, + EdgeInsetsGeometry? focusPadding, + EdgeInsetsGeometry? disabledPadding}) { + return copyWith( + padding: (context, states, defaultPadding) { + final fallbackPadding = padding ?? defaultPadding; + return states.disabled + ? disabledPadding ?? fallbackPadding + : states.hovered + ? hoverPadding ?? fallbackPadding + : states.focused + ? focusPadding ?? fallbackPadding + : fallbackPadding; + }, + ); + } +} + +/// Function signature for button state property delegates with default value. +/// +/// [ButtonStatePropertyDelegate] extends [ButtonStateProperty] by adding a +/// `value` parameter representing the default or base value. This allows delegates +/// to modify existing values rather than always creating them from scratch. +/// +/// The delegate receives: +/// - [context]: Build context for accessing theme data +/// - [states]: Current widget states +/// - [value]: The default value from the base style +/// +/// Returns the final property value of type [T], which may be the default value, +/// a modified version of it, or a completely new value. +/// +/// Example: +/// ```dart +/// ButtonStatePropertyDelegate customColor = (context, states, defaultColor) { +/// if (states.contains(WidgetState.disabled)) { +/// return defaultColor.withOpacity(0.5); // Modify default +/// } +/// return defaultColor; // Use default +/// }; +/// ``` +typedef ButtonStatePropertyDelegate = T Function( + BuildContext context, Set states, T value); + +class _CopyWithButtonStyle implements AbstractButtonStyle { + final ButtonStatePropertyDelegate? _decoration; + final ButtonStatePropertyDelegate? _mouseCursor; + final ButtonStatePropertyDelegate? _padding; + final ButtonStatePropertyDelegate? _textStyle; + final ButtonStatePropertyDelegate? _iconTheme; + final ButtonStatePropertyDelegate? _margin; + final AbstractButtonStyle _delegate; + + const _CopyWithButtonStyle( + this._delegate, + this._decoration, + this._mouseCursor, + this._padding, + this._textStyle, + this._iconTheme, + this._margin, + ); + + @override + ButtonStateProperty get iconTheme { + if (_iconTheme == null) { + return _delegate.iconTheme; + } + return _buildIconTheme; + } + + IconThemeData _buildIconTheme(BuildContext context, Set states) { + return _iconTheme!(context, states, _delegate.iconTheme(context, states)); + } + + @override + ButtonStateProperty get textStyle { + if (_textStyle == null) { + return _delegate.textStyle; + } + return _buildTextStyle; + } + + TextStyle _buildTextStyle(BuildContext context, Set states) { + return _textStyle!(context, states, _delegate.textStyle(context, states)); + } + + @override + ButtonStateProperty get padding { + if (_padding == null) { + return _delegate.padding; + } + return _buildPadding; + } + + EdgeInsetsGeometry _buildPadding( + BuildContext context, Set states) { + return _padding!(context, states, _delegate.padding(context, states)); + } + + @override + ButtonStateProperty get mouseCursor { + if (_mouseCursor == null) { + return _delegate.mouseCursor; + } + return _buildMouseCursor; + } + + MouseCursor _buildMouseCursor(BuildContext context, Set states) { + return _mouseCursor!( + context, states, _delegate.mouseCursor(context, states)); + } + + @override + ButtonStateProperty get decoration { + if (_decoration == null) { + return _delegate.decoration; + } + return _buildDecoration; + } + + Decoration _buildDecoration(BuildContext context, Set states) { + return _decoration!(context, states, _delegate.decoration(context, states)); + } + + @override + ButtonStateProperty get margin { + if (_margin == null) { + return _delegate.margin; + } + return _buildMargin; + } + + EdgeInsetsGeometry _buildMargin( + BuildContext context, Set states) { + return _margin!(context, states, _delegate.margin(context, states)); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is _CopyWithButtonStyle && + other._delegate == _delegate && + other._decoration == _decoration && + other._mouseCursor == _mouseCursor && + other._padding == _padding && + other._textStyle == _textStyle && + other._iconTheme == _iconTheme && + other._margin == _margin; + } + + @override + int get hashCode { + return Object.hash(_delegate, _decoration, _mouseCursor, _padding, + _textStyle, _iconTheme, _margin); + } + + @override + String toString() { + return '_CopyWithButtonStyle(_delegate: $_delegate, _decoration: $_decoration, _mouseCursor: $_mouseCursor, _padding: $_padding, _textStyle: $_textStyle, _iconTheme: $_iconTheme, _margin: $_margin)'; + } +} + +EdgeInsets _buttonZeroMargin(BuildContext context, Set states) { + return EdgeInsets.zero; +} + +MouseCursor _buttonMouseCursor(BuildContext context, Set states) { + return states.contains(WidgetState.disabled) + ? SystemMouseCursors.basic + : SystemMouseCursors.click; +} + +EdgeInsets _buttonPadding(BuildContext context, Set states) { + final theme = Theme.of(context); + final baseContentPadding = theme.density.baseContentPadding * theme.scaling; + final baseGap = theme.density.baseGap * theme.scaling; + return EdgeInsets.symmetric( + horizontal: baseContentPadding, + vertical: baseGap, + ); +} + +// CARD +TextStyle _buttonCardTextStyle(BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.copyWith( + color: themeData.colorScheme.cardForeground, + ); +} + +IconThemeData _buttonCardIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: themeData.colorScheme.cardForeground, + ); +} + +Decoration _buttonCardDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return BoxDecoration( + color: themeData.colorScheme.muted, + borderRadius: BorderRadius.circular(themeData.radiusXl), + border: Border.all( + color: themeData.colorScheme.border, + width: 1, + ), + ); + } + if (states.contains(WidgetState.hovered) || + states.contains(WidgetState.selected)) { + return BoxDecoration( + color: themeData.colorScheme.border, + borderRadius: BorderRadius.circular(themeData.radiusXl), + border: Border.all( + color: themeData.colorScheme.border, + width: 1, + ), + ); + } + return BoxDecoration( + color: themeData.colorScheme.card, + borderRadius: BorderRadius.circular(themeData.radiusXl), + border: Border.all( + color: themeData.colorScheme.border, + width: 1, + ), + ); +} + +EdgeInsets _buttonCardPadding(BuildContext context, Set states) { + final theme = Theme.of(context); + return EdgeInsets.all(theme.density.baseContentPadding * theme.scaling); +} + +// MENUBUTTON +Decoration _buttonMenuDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return const BoxDecoration(); + } + if (states.contains(WidgetState.focused) || + states.contains(WidgetState.hovered) || + states.contains(WidgetState.selected)) { + return BoxDecoration( + color: themeData.colorScheme.accent, + borderRadius: BorderRadius.circular(themeData.radiusSm), + ); + } + return const BoxDecoration(); +} + +TextStyle _buttonMenuTextStyle(BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return themeData.typography.small.copyWith( + color: themeData.colorScheme.accentForeground.scaleAlpha(0.5), + ); + } + return themeData.typography.small.copyWith( + color: themeData.colorScheme.accentForeground, + ); +} + +EdgeInsets _buttonMenuPadding(BuildContext context, Set states) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final baseContentPadding = theme.density.baseContentPadding * scaling; + final baseGap = theme.density.baseGap * scaling; + final menuGroupData = Data.maybeOf(context); + if (menuGroupData != null && menuGroupData.direction == Axis.horizontal) { + return EdgeInsets.symmetric( + horizontal: baseContentPadding * 1.125, + vertical: baseGap * 0.75, + ); + } + return EdgeInsets.only( + left: baseGap, + top: baseGap * 0.75, + right: baseGap * 0.75, + bottom: baseGap * 0.75, + ); +} + +EdgeInsets _buttonMenubarPadding( + BuildContext context, Set states) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final baseContentPadding = theme.density.baseContentPadding * scaling; + final baseGap = theme.density.baseGap * scaling; + return EdgeInsets.symmetric( + horizontal: baseContentPadding * 0.75, + vertical: baseGap * 0.5, + ); +} + +IconThemeData _buttonMenuIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: themeData.colorScheme.accentForeground, + ); +} + +// PRIMARY +Decoration _buttonPrimaryDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return BoxDecoration( + color: themeData.colorScheme.mutedForeground, + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + if (states.contains(WidgetState.hovered)) { + return BoxDecoration( + color: themeData.colorScheme.primary.scaleAlpha(0.8), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + return BoxDecoration( + color: themeData.colorScheme.primary, + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); +} + +TextStyle _buttonPrimaryTextStyle( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: themeData.colorScheme.primaryForeground, + ); +} + +IconThemeData _buttonPrimaryIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: themeData.colorScheme.primaryForeground, + ); +} + +// SECONDARY +Decoration _buttonSecondaryDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return BoxDecoration( + color: themeData.colorScheme.primaryForeground, + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + if (states.contains(WidgetState.hovered)) { + return BoxDecoration( + color: themeData.colorScheme.secondary.scaleAlpha(0.8), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + return BoxDecoration( + color: themeData.colorScheme.secondary, + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); +} + +TextStyle _buttonSecondaryTextStyle( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.secondaryForeground, + ); +} + +IconThemeData _buttonSecondaryIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.secondaryForeground, + ); +} + +Decoration _buttonOutlineDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return BoxDecoration( + color: themeData.colorScheme.border.withValues( + alpha: 0, + ), + border: Border.all( + color: themeData.colorScheme.border, + width: 1, + strokeAlign: BorderSide.strokeAlignCenter, + ), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + if (states.contains(WidgetState.hovered)) { + return BoxDecoration( + color: themeData.colorScheme.input.scaleAlpha(0.5), + border: Border.all( + color: themeData.colorScheme.input, + width: 1, + strokeAlign: BorderSide.strokeAlignCenter, + ), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + return BoxDecoration( + color: themeData.colorScheme.input.scaleAlpha(0.3), + border: Border.all( + color: themeData.colorScheme.border, + strokeAlign: BorderSide.strokeAlignCenter, + width: 1, + ), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); +} + +TextStyle _buttonOutlineTextStyle( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.foreground, + ); +} + +IconThemeData _buttonOutlineIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.foreground, + ); +} + +Decoration _buttonGhostDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return BoxDecoration( + color: themeData.colorScheme.muted.withValues(alpha: 0), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + if (states.contains(WidgetState.hovered)) { + return BoxDecoration( + color: themeData.colorScheme.muted.scaleAlpha(0.8), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + return BoxDecoration( + color: themeData.colorScheme.muted.withValues(alpha: 0), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); +} + +TextStyle _buttonGhostTextStyle(BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.foreground, + ); +} + +IconThemeData _buttonGhostIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.foreground, + ); +} + +TextStyle _buttonMutedTextStyle(BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: themeData.colorScheme.mutedForeground, + ); +} + +IconThemeData _buttonMutedIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: themeData.colorScheme.mutedForeground, + ); +} + +Decoration _buttonLinkDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return BoxDecoration( + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); +} + +TextStyle _buttonLinkTextStyle(BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.foreground, + decoration: states.contains(WidgetState.hovered) + ? TextDecoration.underline + : TextDecoration.none, + ); +} + +IconThemeData _buttonLinkIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : themeData.colorScheme.foreground, + ); +} + +Decoration _buttonTextDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return BoxDecoration( + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); +} + +TextStyle _buttonTextTextStyle(BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: states.contains(WidgetState.hovered) + ? themeData.colorScheme.primary + : themeData.colorScheme.mutedForeground, + ); +} + +IconThemeData _buttonTextIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: states.contains(WidgetState.hovered) + ? themeData.colorScheme.primary + : themeData.colorScheme.mutedForeground, + ); +} + +Decoration _buttonDestructiveDecoration( + BuildContext context, Set states) { + var themeData = Theme.of(context); + if (states.contains(WidgetState.disabled)) { + return BoxDecoration( + color: themeData.colorScheme.primaryForeground, + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + if (states.contains(WidgetState.hovered)) { + return BoxDecoration( + color: themeData.colorScheme.destructive.scaleAlpha(0.8), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); + } + return BoxDecoration( + color: themeData.colorScheme.destructive.scaleAlpha(0.5), + borderRadius: BorderRadius.circular(themeData.radiusMd), + ); +} + +TextStyle _buttonDestructiveTextStyle( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return themeData.typography.small.merge(themeData.typography.medium).copyWith( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : Colors + .white, // yeah ik, its straight up white regardless light or dark mode + ); +} + +IconThemeData _buttonDestructiveIconTheme( + BuildContext context, Set states) { + var themeData = Theme.of(context); + return IconThemeData( + color: states.contains(WidgetState.disabled) + ? themeData.colorScheme.mutedForeground + : Colors.white, + ); +} + +// STATIC BUTTON +TextStyle _buttonStaticTextStyle( + BuildContext context, Set states) { + final theme = Theme.of(context); + return theme.typography.small.merge(theme.typography.medium).copyWith( + color: theme.colorScheme.foreground, + ); +} + +IconThemeData _buttonStaticIconTheme( + BuildContext context, Set states) { + return const IconThemeData(); +} + +/// Convenience widget for creating a primary button. +/// +/// [PrimaryButton] is a simplified wrapper around [Button] that automatically +/// applies the primary button style. It provides a cleaner API for the common +/// case of creating primary buttons without manually specifying the style. +/// +/// This widget exposes all the same properties as [Button] but defaults to +/// [ButtonStyle.primary] for consistent styling. +/// +/// Example: +/// ```dart +/// PrimaryButton( +/// onPressed: () => submitForm(), +/// leading: Icon(Icons.check), +/// child: Text('Submit'), +/// ) +/// ``` +// Backward compatibility +class PrimaryButton extends StatelessWidget { + /// The widget displayed as the button's main content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a primary button with the specified properties. + const PrimaryButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.primary(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// Convenience widget for creating a secondary button. +/// +/// A simplified wrapper around [Button.secondary] with the same properties +/// as [PrimaryButton] but using secondary button styling for supporting actions. +class SecondaryButton extends StatelessWidget { + /// The widget to display as the button's content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a secondary button with the specified properties. + const SecondaryButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.secondary(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// Convenience widget for creating an outline button. +/// +/// A simplified wrapper around [Button.outline] with the same properties +/// as [PrimaryButton] but using outline button styling with a visible border. +class OutlineButton extends StatelessWidget { + /// The widget to display as the button's content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates an outline button with the specified properties. + const OutlineButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.outline(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// Convenience widget for creating a ghost button. +/// +/// A simplified wrapper around [Button.ghost] with the same properties +/// as [PrimaryButton] but using ghost button styling with minimal visual presence. +class GhostButton extends StatelessWidget { + /// The widget to display as the button's content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a ghost button with the specified properties. + const GhostButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.ghost(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// Convenience widget for creating a link button. +/// +/// A simplified wrapper around [Button.link] with the same properties +/// as [PrimaryButton] but using link button styling that resembles a hyperlink. +class LinkButton extends StatelessWidget { + /// The widget to display as the button's content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a link button with the specified properties. + const LinkButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.link(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// Convenience widget for creating a text button. +/// +/// A simplified wrapper around [Button.text] with the same properties +/// as [PrimaryButton] but using text button styling with minimal styling. +class TextButton extends StatelessWidget { + /// The widget to display as the button's content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a text button with the specified properties. + const TextButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.text(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + child: child, + ); + } +} + +/// Convenience widget for creating a destructive button. +/// +/// A simplified wrapper around [Button.destructive] with the same properties +/// as [PrimaryButton] but using destructive button styling for dangerous actions. +class DestructiveButton extends StatelessWidget { + /// The widget to display as the button's content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a destructive button with the specified properties. + const DestructiveButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: + ButtonStyle.destructive(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// Convenience widget for creating a tab button. +/// +/// A simplified wrapper around [Button] with the same properties +/// as [PrimaryButton] but using tab button styling for tabbed navigation. +class TabButton extends StatelessWidget { + /// The widget to display as the button's content. + final Widget child; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [child]. + final Widget? leading; + + /// Widget displayed after the [child]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.normal]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a tab button with the specified properties. + const TabButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.fixed(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// A button styled as a card with elevated appearance and extensive gesture support. +/// +/// Provides an alternative button presentation that resembles a card with +/// elevated styling, typically used for prominent actions or content sections +/// that need to stand out from the background. The card styling provides +/// visual depth and emphasis compared to standard button variants. +/// +/// Supports the full range of button features including leading/trailing widgets, +/// focus management, gesture handling, and accessibility features. The card +/// appearance is defined by [ButtonStyle.card] with customizable size, +/// density, and shape properties. +/// +/// The component handles complex gesture interactions including primary, +/// secondary, and tertiary taps, long presses, hover states, and focus +/// management, making it suitable for rich interactive experiences. +/// +/// Example: +/// ```dart +/// CardButton( +/// leading: Icon(Icons.dashboard), +/// trailing: Icon(Icons.arrow_forward), +/// size: ButtonSize.large, +/// onPressed: () => Navigator.pushNamed(context, '/dashboard'), +/// child: Column( +/// children: [ +/// Text('Dashboard', style: TextStyle(fontWeight: FontWeight.bold)), +/// Text('View analytics and reports'), +/// ], +/// ), +/// ) +/// ``` +class CardButton extends StatelessWidget { + /// The primary content displayed within the card button. + /// + /// Typically contains text, icons, or complex layouts that represent + /// the button's purpose. The content is styled with card appearance + /// and elevated visual treatment. + final Widget child; + + /// Callback invoked when the button is pressed. + /// + /// Called when the user taps or clicks the button. If null, + /// the button is disabled and does not respond to interactions. + final VoidCallback? onPressed; + + /// Whether this button is enabled and accepts user input. + /// + /// When false, the button is displayed in a disabled state and + /// ignores user interactions. When null, enabled state is determined + /// by whether [onPressed] is provided. + final bool? enabled; + + /// Optional widget displayed before the main content. + /// + /// Commonly used for icons that visually represent the button's action. + /// Positioned to the left of the content in LTR layouts. + final Widget? leading; + + /// Optional widget displayed after the main content. + /// + /// Often used for indicators, chevrons, or secondary actions. + /// Positioned to the right of the content in LTR layouts. + final Widget? trailing; + + /// Alignment of content within the button. + /// + /// Controls how the button's content is positioned within its bounds. + /// Defaults to center alignment if not specified. + final AlignmentGeometry? alignment; + + /// Size variant for the button appearance. + /// + /// Controls padding, font size, and overall dimensions. Available + /// sizes include small, normal, large, and extra large variants. + final ButtonSize size; + + /// Density setting affecting button compactness. + /// + /// Controls spacing and padding to create more or less compact + /// appearance. Useful for dense interfaces or accessibility needs. + final ButtonDensity density; + + /// Shape configuration for the button's appearance. + /// + /// Defines border radius and corner styling. Options include + /// rectangle, rounded corners, and circular shapes. + final ButtonShape shape; + + /// Focus node for keyboard navigation and accessibility. + /// + /// Manages focus state for the button. If not provided, a focus + /// node is created automatically by the underlying button system. + final FocusNode? focusNode; + + /// Whether to disable visual transition animations. + /// + /// When true, the button skips animation effects for state changes. + /// Useful for performance optimization or accessibility preferences. + final bool disableTransition; + + /// Callback invoked when hover state changes. + /// + /// Called with true when the mouse enters the button area, + /// and false when it exits. Useful for custom hover effects. + final ValueChanged? onHover; + + /// Callback invoked when focus state changes. + /// + /// Called with true when the button gains focus, and false + /// when it loses focus. Supports keyboard navigation patterns. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Creates a [CardButton] with card-styled appearance and comprehensive interaction support. + /// + /// The [child] parameter is required and provides the button's main content. + /// The button uses card styling with elevated appearance for visual prominence. + /// Extensive gesture support enables complex interactions beyond simple taps. + /// + /// Parameters include standard button properties (onPressed, enabled, leading, + /// trailing) along with size, density, and shape customization options. + /// Gesture callbacks support primary, secondary, tertiary taps and long presses. + /// + /// Parameters: + /// - [child] (Widget, required): The main content displayed in the button + /// - [onPressed] (VoidCallback?, optional): Primary action when button is pressed + /// - [enabled] (bool?, optional): Whether button accepts input (null uses onPressed) + /// - [size] (ButtonSize, default: normal): Size variant for button dimensions + /// - [density] (ButtonDensity, default: normal): Spacing density setting + /// - [shape] (ButtonShape, default: rectangle): Border radius and corner styling + /// + /// Example: + /// ```dart + /// CardButton( + /// size: ButtonSize.large, + /// leading: Icon(Icons.star), + /// onPressed: () => _handleFavorite(), + /// child: Text('Add to Favorites'), + /// ) + /// ``` + const CardButton({ + super.key, + required this.child, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.normal, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle.card(size: size, density: density, shape: shape), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: child, + ); + } +} + +/// Icon-only button widget with support for multiple visual styles. +/// +/// [IconButton] is optimized for displaying buttons with icon content, +/// using icon-specific density and sizing by default. Supports various +/// button styles through named constructors or the [variance] parameter. +class IconButton extends StatelessWidget { + /// The icon widget to display in the button. + final Widget icon; + + /// Called when the button is pressed. If `null`, the button is disabled. + final VoidCallback? onPressed; + + /// Whether the button is enabled. Overrides the `onPressed` check if provided. + final bool? enabled; + + /// Widget displayed before the [icon]. + final Widget? leading; + + /// Widget displayed after the [icon]. + final Widget? trailing; + + /// Alignment of the button's content. + final AlignmentGeometry? alignment; + + /// Size variant of the button (defaults to [ButtonSize.normal]). + final ButtonSize size; + + /// Density variant affecting spacing (defaults to [ButtonDensity.icon]). + final ButtonDensity density; + + /// Shape of the button (defaults to [ButtonShape.rectangle]). + final ButtonShape shape; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// Whether to disable style transition animations (defaults to `false`). + final bool disableTransition; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// Whether to enable haptic/audio feedback. + final bool? enableFeedback; + + /// Called when primary tap down occurs. + final GestureTapDownCallback? onTapDown; + + /// Called when primary tap up occurs. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called when secondary tap down occurs. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called when secondary tap up occurs. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called when tertiary tap down occurs. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called when tertiary tap up occurs. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called when secondary long press completes. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called when tertiary long press completes. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// The button style variant to apply. + final AbstractButtonStyle variance; + + /// Creates an icon button with the specified style variance. + const IconButton({ + super.key, + required this.icon, + required this.variance, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + }); + + /// Creates an icon button with primary styling. + const IconButton.primary({ + super.key, + required this.icon, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.variance = ButtonVariance.primary, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }); + + /// Creates an icon button with secondary styling. + const IconButton.secondary({ + super.key, + required this.icon, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.variance = ButtonVariance.secondary, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }); + + /// Creates an icon button with outline styling. + const IconButton.outline({ + super.key, + required this.icon, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.variance = ButtonVariance.outline, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }); + + /// Creates an icon button with ghost styling. + const IconButton.ghost({ + super.key, + required this.icon, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.variance = ButtonVariance.ghost, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }); + + /// Creates an icon button with link styling. + const IconButton.link({ + super.key, + required this.icon, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.variance = ButtonVariance.link, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }); + + /// Creates an icon button with text styling. + const IconButton.text({ + super.key, + required this.icon, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.variance = ButtonVariance.text, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }); + + /// Creates an icon button with destructive styling. + const IconButton.destructive({ + super.key, + required this.icon, + this.onPressed, + this.enabled, + this.leading, + this.trailing, + this.alignment, + this.size = ButtonSize.normal, + this.focusNode, + this.disableTransition = false, + this.onHover, + this.onFocus, + this.enableFeedback, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.variance = ButtonVariance.destructive, + this.density = ButtonDensity.icon, + this.shape = ButtonShape.rectangle, + }); + + @override + Widget build(BuildContext context) { + return Button( + onPressed: onPressed, + enabled: enabled, + leading: leading, + trailing: trailing, + alignment: alignment, + style: ButtonStyle( + variance: variance, + size: size, + density: density, + shape: shape, + ), + focusNode: focusNode, + disableTransition: disableTransition, + onHover: onHover, + onFocus: onFocus, + enableFeedback: enableFeedback, + onTapDown: onTapDown, + onTapUp: onTapUp, + onTapCancel: onTapCancel, + onSecondaryTapDown: onSecondaryTapDown, + onSecondaryTapUp: onSecondaryTapUp, + onSecondaryTapCancel: onSecondaryTapCancel, + onTertiaryTapDown: onTertiaryTapDown, + onTertiaryTapUp: onTertiaryTapUp, + onTertiaryTapCancel: onTertiaryTapCancel, + onLongPressStart: onLongPressStart, + onLongPressUp: onLongPressUp, + onLongPressMoveUpdate: onLongPressMoveUpdate, + onLongPressEnd: onLongPressEnd, + onSecondaryLongPress: onSecondaryLongPress, + onTertiaryLongPress: onTertiaryLongPress, + child: icon, + ); + } +} + +/// Widget for locally overriding button styles within a subtree. +/// +/// [ButtonStyleOverride] allows selective customization of button style properties +/// for all descendant buttons without replacing the entire button style. It provides +/// style property delegates that can intercept and modify the default values. +/// +/// The widget supports two modes: +/// - **Replace mode** (default): Applies overrides directly +/// - **Inherit mode**: Chains with parent overrides, allowing nested customization +/// +/// Example: +/// ```dart +/// ButtonStyleOverride( +/// decoration: (context, states, defaultDecoration) { +/// // Customize decoration for all buttons in this subtree +/// return BoxDecoration(color: Colors.red); +/// }, +/// child: Column( +/// children: [ +/// PrimaryButton(child: Text('Red Button')), +/// SecondaryButton(child: Text('Also Red')), +/// ], +/// ), +/// ) +/// ``` +class ButtonStyleOverride extends StatelessWidget { + /// Whether to inherit and chain with parent overrides. + /// + /// When `true`, this override's delegates receive the parent override's result + /// as their default value, allowing nested style modifications. When `false`, + /// parent overrides are ignored. + final bool inherit; + + /// Optional decoration override delegate. + final ButtonStatePropertyDelegate? decoration; + + /// Optional mouse cursor override delegate. + final ButtonStatePropertyDelegate? mouseCursor; + + /// Optional padding override delegate. + final ButtonStatePropertyDelegate? padding; + + /// Optional text style override delegate. + final ButtonStatePropertyDelegate? textStyle; + + /// Optional icon theme override delegate. + final ButtonStatePropertyDelegate? iconTheme; + + /// Optional margin override delegate. + final ButtonStatePropertyDelegate? margin; + + /// The widget subtree where overrides apply. + final Widget child; + + /// Creates a button style override in replace mode. + /// + /// Overrides apply to all descendant buttons, ignoring parent overrides. + const ButtonStyleOverride({ + super.key, + this.decoration, + this.mouseCursor, + this.padding, + this.textStyle, + this.iconTheme, + this.margin, + required this.child, + }) : inherit = false; + + /// Creates a button style override in inherit mode. + /// + /// Overrides chain with parent overrides, allowing nested customization where + /// each level can modify the result of the previous level. + const ButtonStyleOverride.inherit({ + super.key, + this.decoration, + this.mouseCursor, + this.padding, + this.textStyle, + this.iconTheme, + this.margin, + required this.child, + }) : inherit = true; + + @override + Widget build(BuildContext context) { + var decoration = this.decoration; + var mouseCursor = this.mouseCursor; + var padding = this.padding; + var textStyle = this.textStyle; + var iconTheme = this.iconTheme; + var margin = this.margin; + if (inherit) { + var data = Data.maybeOf(context); + if (data != null) { + decoration = (context, state, value) { + return data.decoration?.call(context, state, + decoration?.call(context, state, value) ?? value) ?? + decoration?.call(context, state, value) ?? + value; + }; + mouseCursor = (context, state, value) { + return data.mouseCursor?.call(context, state, + mouseCursor?.call(context, state, value) ?? value) ?? + mouseCursor?.call(context, state, value) ?? + value; + }; + padding = (context, state, value) { + return data.padding?.call(context, state, + padding?.call(context, state, value) ?? value) ?? + padding?.call(context, state, value) ?? + value; + }; + textStyle = (context, state, value) { + return data.textStyle?.call(context, state, + textStyle?.call(context, state, value) ?? value) ?? + textStyle?.call(context, state, value) ?? + value; + }; + iconTheme = (context, state, value) { + return data.iconTheme?.call(context, state, + iconTheme?.call(context, state, value) ?? value) ?? + iconTheme?.call(context, state, value) ?? + value; + }; + margin = (context, state, value) { + return data.margin?.call(context, state, + margin?.call(context, state, value) ?? value) ?? + margin?.call(context, state, value) ?? + value; + }; + } + } + return Data.inherit( + data: ButtonStyleOverrideData( + decoration: decoration, + mouseCursor: mouseCursor, + padding: padding, + textStyle: textStyle, + iconTheme: iconTheme, + margin: margin, + ), + child: child, + ); + } +} + +/// Data class holding button style override delegates. +/// +/// [ButtonStyleOverrideData] is used internally by [ButtonStyleOverride] to pass +/// style override delegates through the widget tree via the [Data] inherited widget +/// system. It stores optional delegates for each button style property. +/// +/// This class is typically not used directly by application code; instead, use +/// [ButtonStyleOverride] widget to apply style overrides. +class ButtonStyleOverrideData { + /// Optional decoration override delegate. + final ButtonStatePropertyDelegate? decoration; + + /// Optional mouse cursor override delegate. + final ButtonStatePropertyDelegate? mouseCursor; + + /// Optional padding override delegate. + final ButtonStatePropertyDelegate? padding; + + /// Optional text style override delegate. + final ButtonStatePropertyDelegate? textStyle; + + /// Optional icon theme override delegate. + final ButtonStatePropertyDelegate? iconTheme; + + /// Optional margin override delegate. + final ButtonStatePropertyDelegate? margin; + + /// Creates button style override data with the specified delegates. + const ButtonStyleOverrideData({ + this.decoration, + this.mouseCursor, + this.padding, + this.textStyle, + this.iconTheme, + this.margin, + }); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + if (other.runtimeType != runtimeType) return false; + return other is ButtonStyleOverrideData && + other.decoration == decoration && + other.mouseCursor == mouseCursor && + other.padding == padding && + other.textStyle == textStyle && + other.iconTheme == iconTheme && + other.margin == margin; + } + + @override + int get hashCode { + return Object.hash( + decoration, + mouseCursor, + padding, + textStyle, + iconTheme, + margin, + ); + } + + @override + String toString() { + return 'ButtonStyleOverrideData(decoration: $decoration, mouseCursor: $mouseCursor, padding: $padding, textStyle: $textStyle, iconTheme: $iconTheme, margin: $margin)'; + } +} + +/// A widget that groups multiple buttons together with connected borders. +/// +/// [ButtonGroup] visually connects a series of related buttons by removing +/// the borders between adjacent buttons and maintaining consistent styling. +/// This creates a segmented appearance where the buttons appear as a single +/// cohesive unit. +/// +/// The group can be oriented horizontally or vertically, and automatically +/// handles border radius adjustments so that only the first and last buttons +/// in the group have rounded corners on their outer edges. +/// +/// Commonly used for: +/// - Toggle button groups (like text formatting options) +/// - Related action sets (like alignment controls) +/// - Pagination controls +/// - View switchers +/// +/// Example: +/// ```dart +/// ButtonGroup( +/// direction: Axis.horizontal, +/// children: [ +/// Button.secondary( +/// onPressed: () => align('left'), +/// child: Icon(Icons.format_align_left), +/// ), +/// Button.secondary( +/// onPressed: () => align('center'), +/// child: Icon(Icons.format_align_center), +/// ), +/// Button.secondary( +/// onPressed: () => align('right'), +/// child: Icon(Icons.format_align_right), +/// ), +/// ], +/// ); +/// ``` +class ButtonGroup extends StatelessWidget { + /// The layout direction for the button group. + /// + /// [Axis.horizontal] arranges buttons in a row, removing vertical borders + /// between adjacent buttons. [Axis.vertical] arranges buttons in a column, + /// removing horizontal borders between adjacent buttons. + final Axis direction; + + /// The list of button widgets to group together. + /// + /// Each widget should typically be a [Button] or similar interactive widget. + /// The group automatically applies border modifications to create the + /// connected appearance. + final List children; + + /// Whether the button group should be shrink-wrapped or expanded. + /// + /// When true, the group will expand to fill available space in the + /// cross axis. When false, the group will size itself based on its + /// children's intrinsic size. + final bool expands; + + /// Creates a [ButtonGroup] that arranges buttons with connected borders. + /// + /// Parameters: + /// - [direction] (Axis, default: Axis.horizontal): Layout direction for the buttons. + /// - [children] (`List`, required): The buttons to group together. + /// + /// The group automatically handles: + /// - Border radius adjustments for first/middle/last buttons + /// - Proper sizing with [IntrinsicHeight] or [IntrinsicWidth] + /// - Stretch alignment for consistent button heights/widths + /// + /// Example: + /// ```dart + /// ButtonGroup( + /// direction: Axis.vertical, + /// children: [ + /// Button.outline(child: Text('Option 1')), + /// Button.outline(child: Text('Option 2')), + /// Button.outline(child: Text('Option 3')), + /// ], + /// ); + /// ``` + const ButtonGroup({ + super.key, + this.direction = Axis.horizontal, + this.expands = false, + required this.children, + }); + + /// Creates a horizontal button group. + /// + /// A convenience constructor equivalent to `ButtonGroup(direction: Axis.horizontal)`. + /// Arranges buttons in a row with connected borders. + const ButtonGroup.horizontal({ + super.key, + this.expands = false, + required this.children, + }) : direction = Axis.horizontal; + + /// Creates a vertical button group. + /// + /// A convenience constructor equivalent to `ButtonGroup(direction: Axis.vertical)`. + /// Arranges buttons in a column with connected borders. + const ButtonGroup.vertical({ + super.key, + this.expands = false, + required this.children, + }) : direction = Axis.vertical; + + @override + Widget build(BuildContext context) { + final parentGroupData = Data.maybeOf(context); + List children = List.from(this.children); + if (children.length > 1) { + for (int i = 0; i < children.length; i++) { + var groupData = direction == Axis.horizontal + ? ButtonGroupData.horizontalIndex(i, children.length) + : ButtonGroupData.verticalIndex(i, children.length); + if (parentGroupData != null) { + groupData = parentGroupData.applyToButtonGroupData(groupData); + } + children[i] = Data.inherit( + data: groupData, + child: ButtonStyleOverride( + decoration: (context, states, value) { + if (value is BoxDecoration) { + final borderRadius = groupData.applyToBorderRadius( + value.borderRadius ?? BorderRadius.zero, + Directionality.of(context)); + return value.copyWith(borderRadius: borderRadius); + } + return value; + }, + child: children[i], + ), + ); + } + } + Widget flex = Flex( + clipBehavior: Clip.none, + mainAxisSize: MainAxisSize.min, + direction: direction, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: children, + ); + if (!expands) { + if (direction == Axis.horizontal) { + flex = IntrinsicHeight(child: flex); + } else { + flex = IntrinsicWidth(child: flex); + } + } + return flex; + } +} + +/// Data class defining border radius multipliers for grouped buttons. +/// +/// [ButtonGroupData] specifies which corners of a button should have reduced +/// border radius when part of a [ButtonGroup]. Values of 0.0 remove the radius +/// entirely (for internal buttons), while 1.0 preserves the full radius (for +/// end buttons). +/// +/// This class uses directional values (start/end) to support RTL layouts properly. +/// The static constants provide common configurations for different positions +/// within a button group. +/// +/// Example: +/// ```dart +/// // First button in horizontal group - preserve left radius, remove right +/// ButtonGroupData.horizontal(end: 0.0) +/// +/// // Middle button - remove all radius +/// ButtonGroupData.zero +/// +/// // Last button in horizontal group - remove left radius, preserve right +/// ButtonGroupData.horizontal(start: 0.0) +/// ``` +class ButtonGroupData { + /// No modification - full border radius on all corners. + static const ButtonGroupData none = ButtonGroupData.all(1.0); + + /// Zero radius - removes border radius from all corners. + static const ButtonGroupData zero = ButtonGroupData.all(0.0); + + /// Horizontal start position - full start radius, no end radius. + static const ButtonGroupData horizontalStart = + ButtonGroupData.horizontal(end: 0.0); + + /// Horizontal end position - no start radius, full end radius. + static const ButtonGroupData horizontalEnd = + ButtonGroupData.horizontal(start: 0.0); + + /// Vertical top position - full top radius, no bottom radius. + static const ButtonGroupData verticalTop = + ButtonGroupData.vertical(bottom: 0.0); + + /// Vertical bottom position - no top radius, full bottom radius. + static const ButtonGroupData verticalBottom = + ButtonGroupData.vertical(top: 0.0); + + /// Border radius multiplier for top-start corner (0.0 to 1.0). + final double topStartValue; + + /// Border radius multiplier for top-end corner (0.0 to 1.0). + final double topEndValue; + + /// Border radius multiplier for bottom-start corner (0.0 to 1.0). + final double bottomStartValue; + + /// Border radius multiplier for bottom-end corner (0.0 to 1.0). + final double bottomEndValue; + + /// Creates button group data with individual corner multipliers. + const ButtonGroupData({ + required this.topStartValue, + required this.topEndValue, + required this.bottomStartValue, + required this.bottomEndValue, + }); + + /// Creates horizontal group data with start and end multipliers. + /// + /// Both top and bottom on each side use the same value. + const ButtonGroupData.horizontal({ + double start = 1.0, + double end = 1.0, + }) : topStartValue = start, + topEndValue = end, + bottomStartValue = start, + bottomEndValue = end; + + /// Creates vertical group data with top and bottom multipliers. + /// + /// Both start and end on each side use the same value. + const ButtonGroupData.vertical({ + double top = 1.0, + double bottom = 1.0, + }) : topStartValue = top, + topEndValue = top, + bottomStartValue = bottom, + bottomEndValue = bottom; + + /// Creates group data with the same multiplier for all corners. + const ButtonGroupData.all(double value) + : topStartValue = value, + topEndValue = value, + bottomStartValue = value, + bottomEndValue = value; + + /// Creates group data for a button at [index] in a horizontal group of [length] buttons. + /// + /// Returns: + /// - [horizontalStart] for the first button (index 0) + /// - [zero] for middle buttons + /// - [horizontalEnd] for the last button + /// - [none] if group has only one button + factory ButtonGroupData.horizontalIndex(int index, int length) { + if (length <= 1) { + return none; + } else { + if (index == 0) { + return horizontalStart; + } else if (index == length - 1) { + return horizontalEnd; + } else { + return zero; + } + } + } + + /// Creates group data for a button at [index] in a vertical group of [length] buttons. + /// + /// Returns: + /// - [verticalTop] for the first button (index 0) + /// - [zero] for middle buttons + /// - [verticalBottom] for the last button + /// - [none] if group has only one button + factory ButtonGroupData.verticalIndex(int index, int length) { + if (length <= 1) { + return none; + } else { + if (index == 0) { + return verticalTop; + } else if (index == length - 1) { + return verticalBottom; + } else { + return zero; + } + } + } + + /// Applies corner multipliers to a border radius. + /// + /// Multiplies each corner's radius by the corresponding corner value, + /// properly handling text direction for start/end mapping to left/right. + /// + /// Parameters: + /// - [borderRadius]: The base border radius to modify + /// - [textDirection]: Text direction for resolving start/end to left/right + /// + /// Returns a new [BorderRadiusGeometry] with modified corner radii. + BorderRadiusGeometry applyToBorderRadius( + BorderRadiusGeometry borderRadius, TextDirection textDirection) { + final topLeftValue = + textDirection == TextDirection.ltr ? topStartValue : topEndValue; + final topRightValue = + textDirection == TextDirection.ltr ? topEndValue : topStartValue; + final bottomLeftValue = + textDirection == TextDirection.ltr ? bottomStartValue : bottomEndValue; + final bottomRightValue = + textDirection == TextDirection.ltr ? bottomEndValue : bottomStartValue; + final resolvedBorderRadius = borderRadius.resolve(textDirection); + return BorderRadius.only( + topLeft: Radius.elliptical( + resolvedBorderRadius.topLeft.x * topLeftValue, + resolvedBorderRadius.topLeft.y * topLeftValue, + ), + topRight: Radius.elliptical( + resolvedBorderRadius.topRight.x * topRightValue, + resolvedBorderRadius.topRight.y * topRightValue, + ), + bottomLeft: Radius.elliptical( + resolvedBorderRadius.bottomLeft.x * bottomLeftValue, + resolvedBorderRadius.bottomLeft.y * bottomLeftValue, + ), + bottomRight: Radius.elliptical( + resolvedBorderRadius.bottomRight.x * bottomRightValue, + resolvedBorderRadius.bottomRight.y * bottomRightValue, + ), + ); + } + + /// Combines this group data with another by multiplying corresponding corner values. + /// + /// Useful for nesting button groups or applying multiple grouping effects. + /// Each corner value is multiplied: result = this.value * other.value. + /// + /// Example: + /// ```dart + /// final half = ButtonGroupData.all(0.5); + /// final end = ButtonGroupData.horizontal(start: 0.0); + /// final combined = half.applyToButtonGroupData(end); + /// // combined has: topStart=0, bottomStart=0, topEnd=0.5, bottomEnd=0.5 + /// ``` + ButtonGroupData applyToButtonGroupData(ButtonGroupData other) { + return ButtonGroupData( + topStartValue: topStartValue * other.topStartValue, + topEndValue: topEndValue * other.topEndValue, + bottomStartValue: bottomStartValue * other.bottomStartValue, + bottomEndValue: bottomEndValue * other.bottomEndValue, + ); + } + + @override + String toString() { + return 'ButtonGroupData(topStartValue: $topStartValue, topEndValue: $topEndValue, bottomStartValue: $bottomStartValue, bottomEndValue: $bottomEndValue)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + if (other.runtimeType != runtimeType) return false; + return other is ButtonGroupData && + other.topStartValue == topStartValue && + other.topEndValue == topEndValue && + other.bottomStartValue == bottomStartValue && + other.bottomEndValue == bottomEndValue; + } + + @override + int get hashCode { + return Object.hash( + topStartValue, + topEndValue, + bottomStartValue, + bottomEndValue, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/control/clickable.dart b/third_party/shadcn_flutter/lib/src/components/control/clickable.dart new file mode 100644 index 00000000..3a2ae90f --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/control/clickable.dart @@ -0,0 +1,1206 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/scheduler.dart'; +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Extension on `Set` providing convenient boolean getters for common states. +/// +/// This extension simplifies checking for widget states by providing readable +/// property accessors instead of using `contains()` calls. +/// +/// ## Example +/// +/// ```dart +/// Set states = {WidgetState.hovered, WidgetState.focused}; +/// +/// if (states.hovered) { +/// // Handle hover state +/// } +/// if (states.disabled) { +/// // Handle disabled state +/// } +/// ``` +extension WidgetStateExtension on Set { + /// Whether the widget is in a disabled state. + bool get disabled => contains(WidgetState.disabled); + + /// Whether the widget is in an error state. + bool get error => contains(WidgetState.error); + + /// Whether the widget is in a selected state. + bool get selected => contains(WidgetState.selected); + + /// Whether the widget is in a pressed state. + bool get pressed => contains(WidgetState.pressed); + + /// Whether the widget is in a hovered state. + bool get hovered => contains(WidgetState.hovered); + + /// Whether the widget is in a focused state. + bool get focused => contains(WidgetState.focused); +} + +/// An abstract widget that provides state-aware visual variations. +/// +/// Enables widgets to display different appearances based on their current +/// interactive state (disabled, selected, pressed, hovered, focused, error). +/// The widget automatically selects the appropriate visual representation +/// from provided alternatives based on a configurable state priority order. +/// +/// Three factory constructors provide different approaches to state handling: +/// - Default constructor: Explicit widgets for each state +/// - `.map()`: Map-based state-to-widget associations +/// - `.builder()`: Function-based dynamic state handling +/// +/// The state resolution follows a priority order where earlier states in the +/// order take precedence over later ones. This ensures consistent behavior +/// when multiple states are active simultaneously. +/// +/// Example: +/// ```dart +/// StatedWidget( +/// child: Text('Default'), +/// disabled: Text('Disabled State'), +/// hovered: Text('Hovered State'), +/// pressed: Text('Pressed State'), +/// selected: Text('Selected State'), +/// ) +/// ``` +abstract class StatedWidget extends StatelessWidget { + /// Default state priority order for resolving multiple active states. + /// + /// Defines the precedence when multiple widget states are active simultaneously. + /// States earlier in the list take priority over later ones. The default order + /// prioritizes accessibility and interaction feedback appropriately. + static const List defaultStateOrder = [ + WidgetState.disabled, + WidgetState.error, + WidgetState.selected, + WidgetState.pressed, + WidgetState.hovered, + WidgetState.focused, + ]; + + const StatedWidget._({super.key}); + + /// Creates a [StatedWidget] with explicit state-specific widgets. + /// + /// Provides dedicated widget instances for each supported state. + /// The [child] serves as the default widget when no specific state + /// matches or when no state-specific widget is provided. + /// + /// State resolution follows the [order] priority, with earlier states + /// taking precedence. The first matching state with a non-null widget + /// is selected for display. + /// + /// Parameters: + /// - [child] (Widget, required): Default widget for normal state + /// - [order] (`List`, default: defaultStateOrder): State priority order + /// - [disabled] (Widget?, optional): Widget for disabled state + /// - [selected] (Widget?, optional): Widget for selected state + /// - [pressed] (Widget?, optional): Widget for pressed/active state + /// - [hovered] (Widget?, optional): Widget for hover state + /// - [focused] (Widget?, optional): Widget for focused state + /// - [error] (Widget?, optional): Widget for error state + /// + /// Example: + /// ```dart + /// StatedWidget( + /// child: Icon(Icons.star_border), + /// selected: Icon(Icons.star, color: Colors.yellow), + /// hovered: Icon(Icons.star_border, color: Colors.grey), + /// disabled: Icon(Icons.star_border, color: Colors.grey.shade300), + /// ) + /// ``` + const factory StatedWidget({ + Key? key, + required Widget child, + List order, + Widget? disabled, + Widget? selected, + Widget? pressed, + Widget? hovered, + Widget? focused, + Widget? error, + }) = _ParamStatedWidget; + + /// Creates a [StatedWidget] using a map-based state configuration. + /// + /// Provides a flexible approach where states are defined using a map + /// with keys representing state identifiers and values being the + /// corresponding widgets. This approach is useful when states are + /// determined dynamically or when working with custom state types. + /// + /// The [child] parameter serves as a fallback when no matching state + /// is found in the states map. State resolution prioritizes exact + /// matches in the provided map. + /// + /// Parameters: + /// - [states] (`Map`, required): Map of state-to-widget mappings + /// - [child] (Widget?, optional): Fallback widget when no state matches + /// + /// Example: + /// ```dart + /// StatedWidget.map( + /// states: { + /// WidgetState.selected: Icon(Icons.check_circle, color: Colors.green), + /// WidgetState.error: Icon(Icons.error, color: Colors.red), + /// 'custom': Icon(Icons.star, color: Colors.blue), + /// }, + /// child: Icon(Icons.circle_outlined), + /// ) + /// ``` + const factory StatedWidget.map({ + Key? key, + required Map states, + Widget? child, + }) = _MapStatedWidget; + + /// Creates a [StatedWidget] using a builder function for dynamic state handling. + /// + /// Provides maximum flexibility by using a builder function that receives + /// the current set of active widget states and returns the appropriate + /// widget. This approach allows for complex state logic, animations, + /// and dynamic visual computations based on state combinations. + /// + /// The builder function is called whenever the widget states change, + /// allowing for real-time adaptation to state transitions. This is + /// ideal for complex UI that needs to respond to multiple simultaneous states. + /// + /// Parameters: + /// - [builder] (Function, required): Builder function receiving context and states + /// + /// Example: + /// ```dart + /// StatedWidget.builder( + /// builder: (context, states) { + /// if (states.contains(WidgetState.disabled)) { + /// return Opacity(opacity: 0.5, child: Icon(Icons.block)); + /// } + /// if (states.contains(WidgetState.selected)) { + /// return Icon(Icons.check_circle, color: Colors.green); + /// } + /// if (states.contains(WidgetState.hovered)) { + /// return AnimatedScale(scale: 1.1, child: Icon(Icons.star)); + /// } + /// return Icon(Icons.star_border); + /// }, + /// ) + /// ``` + const factory StatedWidget.builder({ + Key? key, + required Widget Function(BuildContext context, Set states) + builder, + }) = _BuilderStatedWidget; +} + +class _ParamStatedWidget extends StatedWidget { + final List order; + final Widget? child; + final Widget? disabled; + final Widget? selected; + final Widget? pressed; + final Widget? hovered; + final Widget? focused; + final Widget? error; + + const _ParamStatedWidget({ + super.key, + this.order = StatedWidget.defaultStateOrder, + this.child, + this.disabled, + this.selected, + this.pressed, + this.hovered, + this.focused, + this.error, + }) : super._(); + + Widget? _checkByOrder(Set states, int index) { + if (index >= order.length) { + return child; + } + final state = order[index]; + if (states.contains(state)) { + switch (state) { + case WidgetState.disabled: + return disabled; + case WidgetState.pressed: + return pressed; + case WidgetState.hovered: + return hovered; + case WidgetState.focused: + return focused; + case WidgetState.selected: + return selected; + case WidgetState.error: + return error; + default: + return child; + } + } + return _checkByOrder(states, index + 1); + } + + @override + Widget build(BuildContext context) { + WidgetStatesData? statesData = Data.maybeOf(context); + Set states = statesData?.states ?? {}; + final child = _checkByOrder(states, 0); + return child ?? const SizedBox(); + } +} + +/// A widget that provides widget state information to descendants via `Data`. +/// +/// [WidgetStatesProvider] manages and propagates widget states (like hovered, +/// pressed, disabled) down the widget tree using the Data inheritance mechanism. +/// It supports both static state sets and dynamic controller-based states. +/// +/// ## Overview +/// +/// Use [WidgetStatesProvider] to: +/// - Share widget states with descendant widgets +/// - Control states programmatically via [WidgetStatesController] +/// - Inherit states from ancestor providers +/// - Create state boundaries to isolate state contexts +/// +/// ## Example +/// +/// ```dart +/// WidgetStatesProvider( +/// states: {WidgetState.hovered}, +/// child: StatedWidget( +/// child: Text('Normal'), +/// hovered: Text('Hovered'), +/// ), +/// ) +/// ``` +class WidgetStatesProvider extends StatelessWidget { + /// Optional controller for programmatic state management. + final WidgetStatesController? controller; + + /// Static set of widget states to provide. + final Set? states; + + /// The child widget that can access the provided states. + final Widget child; + + /// Whether to inherit states from ancestor providers. + /// + /// When `true`, combines local states with inherited states. + final bool inherit; + + /// Whether this provider acts as a state boundary. + final bool boundary; + + /// Creates a widget states provider with optional controller and states. + /// + /// ## Parameters + /// + /// * [controller] - Optional controller for dynamic state management. + /// * [child] - The descendant widget that can access states. + /// * [states] - Static set of states to provide. Defaults to empty set. + /// * [inherit] - Whether to inherit from ancestors. Defaults to `true`. + const WidgetStatesProvider({ + super.key, + this.controller, + required this.child, + this.states = const {}, + this.inherit = true, + }) : boundary = false; + + /// Creates a widget states provider that acts as a state boundary. + /// + /// A boundary provider blocks state inheritance from ancestors, creating + /// an isolated state context for its descendants. + /// + /// ## Parameters + /// + /// * [child] - The descendant widget. + const WidgetStatesProvider.boundary({ + super.key, + required this.child, + }) : boundary = true, + controller = null, + states = null, + inherit = false; + + @override + Widget build(BuildContext context) { + if (boundary) { + return Data.boundary( + child: child, + ); + } + Set? parentStates; + if (inherit) { + WidgetStatesData? parentData = Data.maybeOf(context); + parentStates = parentData?.states; + } + return ListenableBuilder( + listenable: Listenable.merge([ + if (controller != null) controller!, + ]), + builder: (context, child) { + Set currentStates = states ?? {}; + if (controller != null) { + currentStates = currentStates.union(controller!.value); + } + if (parentStates != null) { + currentStates = currentStates.union(parentStates); + } + return Data.inherit( + data: WidgetStatesData(currentStates), + child: child!, + ); + }, + child: child, + ); + } +} + +/// Data class wrapping a set of widget states. +/// +/// [WidgetStatesData] is a simple container for a `Set` that can +/// be passed through the widget tree using the [Data] inherited widget system. +/// It's used by components like [Clickable] to propagate state information +/// (hovered, pressed, focused, etc.) to descendant widgets. +/// +/// Example: +/// ```dart +/// const statesData = WidgetStatesData({WidgetState.hovered, WidgetState.focused}); +/// ``` +class WidgetStatesData { + /// The set of current widget states. + /// + /// Common states include [WidgetState.hovered], [WidgetState.pressed], + /// [WidgetState.focused], [WidgetState.disabled], and [WidgetState.selected]. + final Set states; + + /// Creates widget states data with the specified states. + const WidgetStatesData(this.states); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is WidgetStatesData && setEquals(states, other.states); + } + + @override + int get hashCode => states.hashCode; + + @override + String toString() => 'WidgetStatesData(states: $states)'; +} + +class _MapStatedWidget extends StatedWidget { + static final Map _mappedNames = + WidgetState.values.asNameMap(); + final Map states; + final Widget? child; + + const _MapStatedWidget({ + super.key, + required this.states, + this.child, + }) : super._(); + + @override + Widget build(BuildContext context) { + WidgetStatesData? statesData = Data.maybeOf(context); + Set widgetStates = statesData?.states ?? {}; + for (var entry in states.entries) { + final keys = entry.key; + if (keys is Iterable) { + if (widgetStates.containsAll(keys)) { + return entry.value; + } + } else if (keys is WidgetState) { + if (widgetStates.contains(keys)) { + return entry.value; + } + } else if (keys is String) { + final state = _mappedNames[keys]; + if (state != null && widgetStates.contains(state)) { + return entry.value; + } + } else { + assert(false, + 'Invalid key type in states map (${keys.runtimeType}) expected WidgetState, Iterable, or String'); + } + } + return child ?? const SizedBox(); + } +} + +class _BuilderStatedWidget extends StatedWidget { + final Widget Function(BuildContext context, Set states) builder; + + const _BuilderStatedWidget({ + super.key, + required this.builder, + }) : super._(); + + @override + Widget build(BuildContext context) { + WidgetStatesData? statesData = Data.maybeOf(context); + Set states = statesData?.states ?? {}; + return builder(context, states); + } +} + +/// A highly configurable clickable widget with extensive gesture and state support. +/// +/// [Clickable] provides a comprehensive foundation for interactive widgets, handling +/// various input gestures (tap, double-tap, long-press, etc.), visual states, and +/// accessibility features. It manages decoration, styling, and transitions based on +/// widget states like hover, focus, and press. +/// +/// ## Overview +/// +/// Use [Clickable] when building custom interactive components that need: +/// - Fine-grained gesture control (primary, secondary, tertiary taps) +/// - State-aware styling (decoration, text style, mouse cursor, etc.) +/// - Focus management and keyboard shortcuts +/// - Smooth transitions between states +/// - Accessibility features like focus outlines +/// +/// ## Example +/// +/// ```dart +/// Clickable( +/// onPressed: () => print('Clicked!'), +/// decoration: WidgetStateProperty.resolveWith((states) { +/// if (states.contains(WidgetState.pressed)) { +/// return BoxDecoration(color: Colors.blue.shade700); +/// } +/// return BoxDecoration(color: Colors.blue); +/// }), +/// child: Padding( +/// padding: EdgeInsets.all(8), +/// child: Text('Click Me'), +/// ), +/// ) +/// ``` +class Clickable extends StatefulWidget { + /// The child widget displayed within the clickable area. + final Widget child; + + /// Whether the widget is enabled and can respond to interactions. + final bool enabled; + + /// Called when hover state changes. + final ValueChanged? onHover; + + /// Called when focus state changes. + final ValueChanged? onFocus; + + /// State-aware decoration for the widget. + final WidgetStateProperty? decoration; + + /// State-aware mouse cursor style. + final WidgetStateProperty? mouseCursor; + + /// State-aware padding around the child. + final WidgetStateProperty? padding; + + /// State-aware text style applied to text descendants. + final WidgetStateProperty? textStyle; + + /// State-aware icon theme applied to icon descendants. + final WidgetStateProperty? iconTheme; + + /// State-aware margin around the widget. + final WidgetStateProperty? margin; + + /// State-aware transformation matrix. + final WidgetStateProperty? transform; + + /// Called when the widget is tapped (primary button). + final VoidCallback? onPressed; + + /// Called when the widget is double-tapped. + final VoidCallback? onDoubleTap; + + /// Focus node for keyboard focus management. + final FocusNode? focusNode; + + /// How to behave during hit testing. + final HitTestBehavior behavior; + + /// Whether to disable state transition animations. + final bool disableTransition; + + /// Keyboard shortcuts to handle. + final Map? shortcuts; + + /// Actions to handle for intents. + final Map>? actions; + + /// Whether to show focus outline for accessibility. + final bool focusOutline; + + /// Whether to enable haptic/audio feedback. + final bool enableFeedback; + + /// Called when long-pressed. + final VoidCallback? onLongPress; + + /// Called on primary tap down. + final GestureTapDownCallback? onTapDown; + + /// Called on primary tap up. + final GestureTapUpCallback? onTapUp; + + /// Called when primary tap is cancelled. + final GestureTapCancelCallback? onTapCancel; + + /// Called on secondary (right-click) tap down. + final GestureTapDownCallback? onSecondaryTapDown; + + /// Called on secondary tap up. + final GestureTapUpCallback? onSecondaryTapUp; + + /// Called when secondary tap is cancelled. + final GestureTapCancelCallback? onSecondaryTapCancel; + + /// Called on tertiary (middle-click) tap down. + final GestureTapDownCallback? onTertiaryTapDown; + + /// Called on tertiary tap up. + final GestureTapUpCallback? onTertiaryTapUp; + + /// Called when tertiary tap is cancelled. + final GestureTapCancelCallback? onTertiaryTapCancel; + + /// Called when long press starts. + final GestureLongPressStartCallback? onLongPressStart; + + /// Called when long press is released. + final GestureLongPressUpCallback? onLongPressUp; + + /// Called when long press moves. + final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; + + /// Called when long press ends. + final GestureLongPressEndCallback? onLongPressEnd; + + /// Called on secondary long press completion. + final GestureLongPressUpCallback? onSecondaryLongPress; + + /// Called on tertiary long press completion. + final GestureLongPressUpCallback? onTertiaryLongPress; + + /// Whether to disable hover visual effects. + final bool disableHoverEffect; + + /// Optional controller for programmatic state management. + final WidgetStatesController? statesController; + + /// Alignment for applying margin. + final AlignmentGeometry? marginAlignment; + + /// Whether to disable the focus outline. + final bool disableFocusOutline; + + /// Creates a [Clickable] widget. + /// + /// A clickable area with state-dependent styling and comprehensive gesture support. + /// + /// Parameters: + /// - [child] (required): The widget to display and make clickable + /// - [enabled]: Whether the widget is enabled. Defaults to `true` + /// - [onPressed]: Primary tap callback. If `null`, widget is disabled + /// - [decoration], [mouseCursor], [padding], [textStyle], [iconTheme], [margin], [transform]: + /// State-dependent property functions for styling + /// - [focusNode]: Optional focus node for keyboard focus management + /// - [behavior]: Hit test behavior. Defaults to [HitTestBehavior.translucent] + /// - [onHover], [onFocus]: State change callbacks + /// - [disableTransition]: If `true`, disables animation transitions. Defaults to `false` + /// - [disableHoverEffect]: If `true`, disables hover visual effects. Defaults to `false` + /// - [onDoubleTap]: Double tap callback + /// - [shortcuts], [actions]: Keyboard shortcuts and actions + /// - [focusOutline]: Whether to show focus outline. Defaults to `true` + /// - [enableFeedback]: Whether to enable haptic/audio feedback. Defaults to `true` + /// - [onTapDown], [onTapUp], [onTapCancel]: Primary tap gesture callbacks + /// - [onSecondaryTapDown], [onSecondaryTapUp], [onSecondaryTapCancel]: Secondary tap callbacks + /// - [onTertiaryTapDown], [onTertiaryTapUp], [onTertiaryTapCancel]: Tertiary tap callbacks + /// - [onLongPress], [onLongPressStart], [onLongPressUp], [onLongPressMoveUpdate], [onLongPressEnd]: + /// Long press gesture callbacks + /// - [onSecondaryLongPress], [onTertiaryLongPress]: Secondary and tertiary long press callbacks + /// - [statesController]: Optional controller for programmatic state management + /// - [marginAlignment]: Alignment for applying margin + /// - [disableFocusOutline]: Whether to disable the focus outline. Defaults to `false` + const Clickable({ + super.key, + required this.child, + this.statesController, + this.enabled = true, + this.decoration, + this.mouseCursor, + this.padding, + this.textStyle, + this.iconTheme, + this.onPressed, + this.focusNode, + this.behavior = HitTestBehavior.translucent, + this.onHover, + this.onFocus, + this.disableTransition = false, + this.disableHoverEffect = false, + this.margin, + this.onDoubleTap, + this.shortcuts, + this.actions, + this.focusOutline = true, + this.enableFeedback = true, + this.transform, + this.onLongPress, + this.onTapDown, + this.onTapUp, + this.onTapCancel, + this.onSecondaryTapDown, + this.onSecondaryTapUp, + this.onSecondaryTapCancel, + this.onTertiaryTapDown, + this.onTertiaryTapUp, + this.onTertiaryTapCancel, + this.onLongPressStart, + this.onLongPressUp, + this.onLongPressMoveUpdate, + this.onLongPressEnd, + this.onSecondaryLongPress, + this.onTertiaryLongPress, + this.marginAlignment, + this.disableFocusOutline = false, + }); + + @override + State createState() => _ClickableState(); +} + +/// Minimum time interval between taps to be considered a double tap. +/// +/// Taps that occur within this duration (300ms) of a previous tap are counted +/// as part of a multi-tap gesture sequence. Used internally by [Clickable] to +/// detect double-tap gestures. +const kDoubleTapMinTime = Duration(milliseconds: 300); + +class _ClickableState extends State { + late FocusNode _focusNode; + late WidgetStatesController _controller; + DateTime? _lastTap; + int _tapCount = 0; + + @override + void initState() { + super.initState(); + _focusNode = widget.focusNode ?? FocusNode(); + _controller = widget.statesController ?? WidgetStatesController(); + _controller.update(WidgetState.disabled, !widget.enabled); + } + + @override + void didUpdateWidget(covariant Clickable oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.statesController != oldWidget.statesController) { + _controller = widget.statesController ?? WidgetStatesController(); + } + _controller.update(WidgetState.disabled, !widget.enabled); + if (widget.focusNode != oldWidget.focusNode) { + _focusNode = widget.focusNode ?? FocusNode(); + } + if (widget.disableHoverEffect) { + _controller.update(WidgetState.hovered, false); + } + } + + static Future feedbackForTap(BuildContext context) async { + final currentPlatform = Theme.of(context).platform; + context.findRenderObject()!.sendSemanticsEvent(const TapSemanticEvent()); + if (isMobile(currentPlatform)) { + return SystemSound.play(SystemSoundType.click); + } + return Future.value(); + } + + void _onPressed() { + if (!widget.enabled) return; + Duration? deltaTap = + _lastTap == null ? null : DateTime.now().difference(_lastTap!); + _lastTap = DateTime.now(); + if (deltaTap != null && deltaTap < kDoubleTapMinTime) { + _tapCount++; + } else { + _tapCount = 1; + } + + if (_tapCount == 2 && widget.onDoubleTap != null) { + widget.onDoubleTap!(); + _tapCount = 0; + } else { + if (widget.onPressed != null) { + widget.onPressed!(); + if (widget.enableFeedback) { + feedbackForTap(context); + } + } + } + } + + void _updateState(WidgetState state, bool value) { + if (!mounted) return; + // Avoid notifying listeners during a build; defer to next frame if needed. + if (SchedulerBinding.instance.schedulerPhase == + SchedulerPhase.persistentCallbacks) { + SchedulerBinding.instance.addPostFrameCallback((_) { + if (!mounted) return; + _controller.update(state, value); + }); + return; + } + _controller.update(state, value); + } + + @override + Widget build(BuildContext context) { + var enabled = widget.enabled; + return WidgetStatesProvider( + controller: _controller, + states: { + if (!enabled) WidgetState.disabled, + }, + child: ListenableBuilder( + listenable: _controller, + builder: _builder, + ), + ); + } + + Widget _builder(BuildContext context, Widget? _) { + final theme = Theme.of(context); + final enabled = widget.enabled; + var widgetStates = Data.maybeOf(context)?.states ?? {}; + widgetStates = widgetStates.union(_controller.value); + Decoration? decoration = widget.decoration?.resolve(widgetStates); + BorderRadiusGeometry borderRadius; + if (decoration is BoxDecoration) { + borderRadius = decoration.borderRadius ?? theme.borderRadiusMd; + } else { + borderRadius = theme.borderRadiusMd; + } + var buttonContainer = _buildContainer(context, decoration, widgetStates); + return FocusOutline( + focused: widget.focusOutline && + widgetStates.contains(WidgetState.focused) && + !widget.disableFocusOutline, + borderRadius: borderRadius, + child: GestureDetector( + behavior: widget.behavior, + onTap: widget.onPressed != null ? _onPressed : null, + onLongPress: widget.onLongPress, + // onDoubleTap: widget.onDoubleTap, HANDLED CUSTOMLY + onSecondaryTapDown: widget.onSecondaryTapDown, + onSecondaryTapUp: widget.onSecondaryTapUp, + onSecondaryTapCancel: widget.onSecondaryTapCancel, + onTertiaryTapDown: widget.onTertiaryTapDown, + onTertiaryTapUp: widget.onTertiaryTapUp, + onTertiaryTapCancel: widget.onTertiaryTapCancel, + onLongPressStart: widget.onLongPressStart, + onLongPressUp: widget.onLongPressUp, + onLongPressMoveUpdate: widget.onLongPressMoveUpdate, + onLongPressEnd: widget.onLongPressEnd, + onSecondaryLongPress: widget.onSecondaryLongPress, + onTertiaryLongPress: widget.onTertiaryLongPress, + onTapDown: widget.onPressed != null + ? (details) { + if (widget.enableFeedback) { + // also dispatch hover + _updateState(WidgetState.hovered, true); + } + _updateState(WidgetState.pressed, true); + widget.onTapDown?.call(details); + } + : widget.onTapDown, + onTapUp: widget.onPressed != null + ? (details) { + if (widget.enableFeedback) { + // also dispatch hover + _updateState(WidgetState.hovered, false); + } + _updateState(WidgetState.pressed, false); + widget.onTapUp?.call(details); + } + : widget.onTapUp, + onTapCancel: widget.onPressed != null + ? () { + if (widget.enableFeedback) { + // also dispatch hover + _updateState(WidgetState.hovered, false); + } + _updateState(WidgetState.pressed, false); + widget.onTapCancel?.call(); + } + : widget.onTapCancel, + child: FocusableActionDetector( + enabled: enabled, + focusNode: _focusNode, + shortcuts: { + LogicalKeySet(LogicalKeyboardKey.enter): const ActivateIntent(), + LogicalKeySet(LogicalKeyboardKey.space): const ActivateIntent(), + LogicalKeySet(LogicalKeyboardKey.arrowUp): + const DirectionalFocusIntent(TraversalDirection.up), + LogicalKeySet(LogicalKeyboardKey.arrowDown): + const DirectionalFocusIntent(TraversalDirection.down), + LogicalKeySet(LogicalKeyboardKey.arrowLeft): + const DirectionalFocusIntent(TraversalDirection.left), + LogicalKeySet(LogicalKeyboardKey.arrowRight): + const DirectionalFocusIntent(TraversalDirection.right), + ...?widget.shortcuts, + }, + actions: { + ActivateIntent: CallbackAction( + onInvoke: (e) { + _onPressed(); + return null; + }, + ), + DirectionalFocusIntent: CallbackAction( + onInvoke: (e) { + final direction = e.direction; + final focus = _focusNode; + switch (direction) { + case TraversalDirection.up: + focus.focusInDirection(TraversalDirection.up); + break; + case TraversalDirection.down: + focus.focusInDirection(TraversalDirection.down); + break; + case TraversalDirection.left: + focus.focusInDirection(TraversalDirection.left); + break; + case TraversalDirection.right: + focus.focusInDirection(TraversalDirection.right); + break; + } + return null; + }, + ), + ...?widget.actions, + }, + onShowHoverHighlight: (value) { + _updateState( + WidgetState.hovered, value && !widget.disableHoverEffect); + widget.onHover?.call(value); + }, + onShowFocusHighlight: (value) { + _updateState(WidgetState.focused, value); + widget.onFocus?.call(value); + }, + mouseCursor: + widget.mouseCursor?.resolve(widgetStates) ?? MouseCursor.defer, + child: DefaultTextStyle.merge( + style: widget.textStyle?.resolve(widgetStates), + child: IconTheme.merge( + data: widget.iconTheme?.resolve(widgetStates) ?? + const IconThemeData(), + child: AnimatedBuilder( + animation: _controller, + builder: (context, child) { + return AnimatedValueBuilder( + value: widget.transform?.resolve(widgetStates), + duration: const Duration(milliseconds: 50), + lerp: lerpMatrix4, + builder: (context, value, child) { + return Transform( + alignment: Alignment.center, + transform: value ?? Matrix4.identity(), + child: child, + ); + }, + child: child, + ); + }, + child: buttonContainer, + ), + ), + ), + ), + ), + ); + } + + Matrix4? lerpMatrix4(Matrix4? a, Matrix4? b, double t) { + if (a == null && b == null) { + return null; + } + Matrix4Tween tween = Matrix4Tween( + begin: a ?? Matrix4.identity(), + end: b ?? Matrix4.identity(), + ); + return tween.transform(t); + } + + Widget _buildContainer(BuildContext context, Decoration? decoration, + Set widgetStates) { + var resolvedMargin = widget.margin?.resolve(widgetStates); + var resolvedPadding = widget.padding?.resolve(widgetStates); + var textDirection = Directionality.of(context); + var expands = EdgeInsets.zero; + if (resolvedMargin != null) { + var margin = resolvedMargin.resolve(textDirection); + // Ensure non-negative margins, because negative margins are possible + // and used as BoxDecoration overflow paint + resolvedMargin = EdgeInsets.only( + left: margin.left < 0 ? 0 : margin.left, + top: margin.top < 0 ? 0 : margin.top, + right: margin.right < 0 ? 0 : margin.right, + bottom: margin.bottom < 0 ? 0 : margin.bottom, + ); + expands = -EdgeInsets.only( + left: margin.left < 0 ? margin.left : 0, + top: margin.top < 0 ? margin.top : 0, + right: margin.right < 0 ? margin.right : 0, + bottom: margin.bottom < 0 ? margin.bottom : 0, + ); + } + if (widget.disableTransition) { + Widget container = Container( + margin: resolvedMargin, + child: decoration == null + ? widget.child + : _DecoratedBox( + decoration: decoration, + expands: expands, + child: Padding( + padding: resolvedPadding ?? EdgeInsets.zero, + child: widget.child), + ), + ); + if (widget.marginAlignment != null) { + container = Align( + alignment: widget.marginAlignment!, + child: container, + ); + } + return container; + } + if (decoration is BoxDecoration && decoration.shape == BoxShape.circle) { + decoration = decoration.copyWith( + borderRadius: null, + ); + } + Widget animatedContainer = AnimatedContainer( + margin: resolvedMargin, + duration: kDefaultDuration, + child: decoration == null + ? widget.child + : AnimatedValueBuilder( + value: decoration, + duration: kDefaultDuration, + lerp: Decoration.lerp, + builder: (context, value, child) { + if (value == null) { + return child!; + } + return _DecoratedBox( + decoration: value, + expands: expands, + child: child, + ); + }, + child: AnimatedPadding( + duration: kDefaultDuration, + padding: resolvedPadding ?? EdgeInsets.zero, + child: widget.child, + ), + ), + ); + if (widget.marginAlignment != null) { + animatedContainer = AnimatedAlign( + duration: kDefaultDuration, + alignment: widget.marginAlignment!, + child: animatedContainer, + ); + } + return animatedContainer; + } +} + +// These patches are needed because DecoratedBox can now overflow its bounds, +// if the margin is negative. +class _DecoratedBox extends SingleChildRenderObjectWidget { + const _DecoratedBox({ + required this.decoration, + required this.expands, + super.child, + }); + + final EdgeInsets expands; + + final Decoration decoration; + + @override + _RenderDecoratedBox createRenderObject(BuildContext context) { + return _RenderDecoratedBox( + decoration: decoration, + position: DecorationPosition.background, + expands: expands, + configuration: createLocalImageConfiguration(context), + ); + } + + @override + void updateRenderObject( + BuildContext context, _RenderDecoratedBox renderObject) { + renderObject + ..decoration = decoration + ..configuration = createLocalImageConfiguration(context) + ..expands = expands; + } +} + +class _RenderDecoratedBox extends RenderProxyBox { + _RenderDecoratedBox({ + required Decoration decoration, + DecorationPosition position = DecorationPosition.background, + ImageConfiguration configuration = ImageConfiguration.empty, + RenderBox? child, + EdgeInsets expands = EdgeInsets.zero, + }) : _decoration = decoration, + _position = position, + _configuration = configuration, + _expands = expands, + super(child); + + BoxPainter? _painter; + + EdgeInsets get expands => _expands; + EdgeInsets _expands; + set expands(EdgeInsets value) { + if (value == _expands) { + return; + } + _expands = value; + markNeedsPaint(); + } + + Decoration get decoration => _decoration; + Decoration _decoration; + set decoration(Decoration value) { + if (value == _decoration) { + return; + } + _painter?.dispose(); + _painter = null; + _decoration = value; + markNeedsPaint(); + } + + DecorationPosition get position => _position; + DecorationPosition _position; + set position(DecorationPosition value) { + if (value == _position) { + return; + } + _position = value; + markNeedsPaint(); + } + + ImageConfiguration get configuration => _configuration; + ImageConfiguration _configuration; + set configuration(ImageConfiguration value) { + if (value == _configuration) { + return; + } + _configuration = value; + markNeedsPaint(); + } + + @override + void detach() { + _painter?.dispose(); + _painter = null; + super.detach(); + markNeedsPaint(); + } + + @override + void dispose() { + _painter?.dispose(); + super.dispose(); + } + + @override + bool hitTestSelf(Offset position) { + return _decoration.hitTest(size, position, + textDirection: configuration.textDirection); + } + + @override + void paint(PaintingContext context, Offset offset) { + _painter ??= _decoration.createBoxPainter(markNeedsPaint); + Size size = this.size; + // expand size by negative margins for painting + size = Size( + size.width + expands.left + expands.right, + size.height + expands.top + expands.bottom, + ); + Offset adjustedOffset = offset.translate(-expands.left, -expands.top); + final ImageConfiguration filledConfiguration = + configuration.copyWith(size: size); + if (position == DecorationPosition.background) { + int? debugSaveCount; + assert(() { + debugSaveCount = context.canvas.getSaveCount(); + return true; + }()); + _painter!.paint(context.canvas, adjustedOffset, filledConfiguration); + assert(() { + if (debugSaveCount != context.canvas.getSaveCount()) { + throw FlutterError.fromParts([ + ErrorSummary( + '${_decoration.runtimeType} painter had mismatching save and restore calls.', + ), + ErrorDescription( + 'Before painting the decoration, the canvas save count was $debugSaveCount. ' + 'After painting it, the canvas save count was ${context.canvas.getSaveCount()}. ' + 'Every call to save() or saveLayer() must be matched by a call to restore().', + ), + DiagnosticsProperty( + 'The decoration was', + decoration, + style: DiagnosticsTreeStyle.errorProperty, + ), + DiagnosticsProperty( + 'The painter was', + _painter, + style: DiagnosticsTreeStyle.errorProperty, + ), + ]); + } + return true; + }()); + if (decoration.isComplex) { + context.setIsComplexHint(); + } + } + super.paint(context, offset); + if (position == DecorationPosition.foreground) { + _painter!.paint(context.canvas, offset, filledConfiguration); + if (decoration.isComplex) { + context.setIsComplexHint(); + } + } + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(_decoration.toDiagnosticsNode(name: 'decoration')); + properties.add(DiagnosticsProperty( + 'configuration', configuration)); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/control/command.dart b/third_party/shadcn_flutter/lib/src/components/control/command.dart new file mode 100644 index 00000000..1235df8e --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/control/command.dart @@ -0,0 +1,683 @@ +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A builder function that produces command search results as a stream. +/// +/// ## Parameters +/// +/// * [context] - The build context. +/// * [query] - The current search query string, or `null` for initial state. +/// +/// ## Returns +/// +/// A `Stream` of widget lists representing filtered/matched results. +/// +/// ## Example +/// +/// ```dart +/// CommandBuilder myBuilder = (context, query) async* { +/// final results = await fetchResults(query); +/// yield results.map((r) => CommandItem(title: Text(r))).toList(); +/// }; +/// ``` +typedef CommandBuilder = Stream> Function( + BuildContext context, String? query); + +/// A builder function for error widgets in command palettes. +/// +/// ## Parameters +/// +/// * [context] - The build context. +/// * [error] - The error object that was caught. +/// * [stackTrace] - Optional stack trace for debugging. +/// +/// ## Returns +/// +/// A widget to display when an error occurs. +/// +/// ## Example +/// +/// ```dart +/// ErrorWidgetBuilder errorBuilder = (context, error, stackTrace) { +/// return Text('Error: $error'); +/// }; +/// ``` +typedef ErrorWidgetBuilder = Widget Function( + BuildContext context, Object error, StackTrace? stackTrace); + +/// A default widget displayed when command search returns no results. +/// +/// Displays a localized "No results" message with standard styling. +class CommandEmpty extends StatelessWidget { + /// Creates a [CommandEmpty] widget. + /// + /// Displays a standard empty state message when no command results are found. + const CommandEmpty({super.key}); + + @override + Widget build(BuildContext context) { + final localizations = ShadcnLocalizations.of(context); + return Center( + child: + Text(localizations.commandEmpty).withPadding(vertical: 24).small()); + } +} + +/// Shows a command palette in a modal dialog. +/// +/// Displays a [Command] widget in a modal dialog with customizable constraints, +/// backdrop effects, and search behavior. +/// +/// ## Parameters +/// +/// * [context] - The build context. +/// * [builder] - The command builder for search results. +/// * [constraints] - Optional size constraints. Defaults to 510x349. +/// * [autofocus] - Whether to auto-focus the search field. Defaults to `true`. +/// * [debounceDuration] - Search debounce delay. Defaults to 500ms. +/// * [emptyBuilder] - Custom widget for empty results. +/// * [errorBuilder] - Custom widget for error states. +/// * [loadingBuilder] - Custom widget for loading states. +/// * [surfaceOpacity] - Modal surface opacity. +/// * [surfaceBlur] - Modal surface blur amount. +/// +/// ## Returns +/// +/// A `Future` that completes with the dialog result of type [T], or `null` if dismissed. +/// +/// ## Example +/// +/// ```dart +/// final result = await showCommandDialog( +/// context: context, +/// builder: (context, query) async* { +/// yield commands.where((c) => c.contains(query ?? '')).toList(); +/// }, +/// ); +/// ``` +Future showCommandDialog({ + required BuildContext context, + required CommandBuilder builder, + BoxConstraints? constraints, + bool autofocus = true, + Duration debounceDuration = const Duration(milliseconds: 500), + WidgetBuilder? emptyBuilder, + ErrorWidgetBuilder? errorBuilder, + WidgetBuilder? loadingBuilder, + double? surfaceOpacity, + double? surfaceBlur, +}) { + return showDialog( + context: context, + builder: (context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + surfaceOpacity ??= theme.surfaceOpacity; + surfaceBlur ??= theme.surfaceBlur; + return ConstrainedBox( + constraints: constraints ?? + const BoxConstraints.tightFor(width: 510, height: 349) * scaling, + child: ModalBackdrop( + borderRadius: subtractByBorder(theme.borderRadiusXxl, 1 * scaling), + surfaceClip: ModalBackdrop.shouldClipSurface(surfaceOpacity), + child: Command( + autofocus: autofocus, + builder: builder, + debounceDuration: debounceDuration, + emptyBuilder: emptyBuilder, + errorBuilder: errorBuilder, + loadingBuilder: loadingBuilder, + surfaceOpacity: surfaceOpacity, + surfaceBlur: surfaceBlur, + ), + ), + ); + }, + ); +} + +/// Interactive command palette with search functionality and dynamic results. +/// +/// A powerful search and command interface that provides real-time filtering +/// of commands or items based on user input. Features debounced search, +/// keyboard navigation, and customizable result presentation. +/// +/// ## Features +/// +/// - **Real-time search**: Dynamic filtering with configurable debounce timing +/// - **Keyboard navigation**: Full arrow key and Enter/Escape support +/// - **Async data loading**: Stream-based results with loading and error states +/// - **Customizable states**: Custom builders for empty, loading, and error states +/// - **Auto-focus**: Optional automatic focus on the search input +/// - **Accessibility**: Screen reader friendly with proper focus management +/// +/// The command palette is commonly used for: +/// - Quick action selection (Cmd+K style interfaces) +/// - Searchable option lists +/// - Dynamic content filtering +/// - Command-driven workflows +/// +/// Example: +/// ```dart +/// Command( +/// autofocus: true, +/// debounceDuration: Duration(milliseconds: 300), +/// builder: (context, query) async* { +/// final results = await searchService.search(query); +/// yield results.map((item) => CommandItem( +/// onTap: () => handleCommand(item), +/// title: Text(item.title), +/// )).toList(); +/// }, +/// emptyBuilder: (context) => Text('No results found'), +/// ); +/// ``` +class Command extends StatefulWidget { + /// Whether the search input should be auto-focused when the command palette opens. + /// + /// Defaults to `true` for convenient keyboard-driven interaction. + final bool autofocus; + + /// Async builder function that provides search results based on the query. + /// + /// Receives the current search query string and should return a stream of + /// widget lists representing the filtered command results. + final CommandBuilder builder; + + /// Debounce duration for search input to prevent excessive rebuilds. + /// + /// The builder is called only after the user stops typing for this duration, + /// reducing unnecessary API calls or computations. Defaults to 500ms. + final Duration + debounceDuration; // debounce is used to prevent too many requests + + /// Custom widget builder for displaying empty search results. + /// + /// If `null`, displays a default "No results" message via [CommandEmpty]. + final WidgetBuilder? emptyBuilder; + + /// Custom widget builder for displaying error states. + /// + /// Receives the error object and stack trace for custom error presentation. + final ErrorWidgetBuilder? errorBuilder; + + /// Custom widget builder for displaying loading state while fetching results. + /// + /// If `null`, displays a default loading spinner. + final WidgetBuilder? loadingBuilder; + + /// Optional opacity override for the command palette surface. + /// + /// When provided, overrides the theme's default surface opacity. + final double? surfaceOpacity; + + /// Optional blur amount override for the command palette surface backdrop. + /// + /// When provided, overrides the theme's default surface blur. + final double? surfaceBlur; + + /// Optional custom placeholder widget for the search input field. + /// + /// If `null`, displays default localized placeholder text. + final Widget? searchPlaceholder; + + /// Creates a [Command] palette. + /// + /// The [builder] function receives the current search query and should return + /// a stream of widgets representing the filtered results. + /// + /// Parameters: + /// - [builder] (CommandBuilder, required): async builder for search results + /// - [autofocus] (bool, default: true): whether to auto-focus search input + /// - [debounceDuration] (Duration, default: 500ms): debounce delay for search + /// - [emptyBuilder] (WidgetBuilder?, optional): custom widget for empty state + /// - [errorBuilder] (ErrorWidgetBuilder?, optional): custom error display + /// - [loadingBuilder] (WidgetBuilder?, optional): custom loading indicator + /// - [surfaceOpacity] (double?, optional): surface opacity override + /// - [surfaceBlur] (double?, optional): surface blur override + /// - [searchPlaceholder] (Widget?, optional): placeholder text for search input + /// + /// Example: + /// ```dart + /// Command( + /// autofocus: false, + /// debounceDuration: Duration(milliseconds: 200), + /// searchPlaceholder: Text('Search commands...'), + /// builder: (context, query) async* { + /// final filtered = commands.where((cmd) => + /// cmd.name.toLowerCase().contains(query?.toLowerCase() ?? '') + /// ); + /// yield filtered.map((cmd) => CommandItem( + /// title: Text(cmd.name), + /// onTap: () => cmd.execute(), + /// )).toList(); + /// }, + /// ) + /// ``` + const Command({ + super.key, + required this.builder, + this.autofocus = true, + this.debounceDuration = const Duration(milliseconds: 500), + this.emptyBuilder, + this.errorBuilder, + this.loadingBuilder, + this.surfaceOpacity, + this.surfaceBlur, + this.searchPlaceholder, + }); + + @override + State createState() => _CommandState(); +} + +class _Query { + final Stream> stream; + final String? query; + + _Query({required this.stream, this.query}); +} + +class _CommandState extends State { + final TextEditingController _controller = TextEditingController(); + late _Query _currentRequest; + + int requestCount = 0; + + Stream> _request(BuildContext context, String? query) async* { + int currentRequest = ++requestCount; + yield []; + await Future.delayed(widget.debounceDuration); + if (!context.mounted || currentRequest != requestCount) return; + List resultItems = []; + await for (final items in widget.builder(context, query)) { + if (currentRequest != requestCount) continue; + // append items + resultItems.addAll(items); + yield resultItems; + } + } + + @override + void initState() { + super.initState(); + _currentRequest = _Query(stream: _request(context, null)); + _controller.addListener(() { + String? newQuery = _controller.text; + if (newQuery.isEmpty) newQuery = null; + if (newQuery != _currentRequest.query) { + setState(() { + _currentRequest = + _Query(stream: _request(context, newQuery), query: newQuery); + }); + } + }); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + bool canPop = Navigator.of(context).canPop(); + final localization = ShadcnLocalizations.of(context); + return SubFocusScope( + autofocus: true, + builder: (context, state) { + return Actions( + actions: { + NextItemIntent: CallbackAction( + onInvoke: (intent) { + state.nextFocus(); + return null; + }, + ), + PreviousItemIntent: CallbackAction( + onInvoke: (intent) { + state.nextFocus(TraversalDirection.up); + return null; + }, + ), + ActivateIntent: CallbackAction( + onInvoke: (intent) { + state.invokeActionOnFocused(intent); + return null; + }, + ), + }, + child: Shortcuts( + shortcuts: { + LogicalKeySet(LogicalKeyboardKey.arrowUp): + const PreviousItemIntent(), + LogicalKeySet(LogicalKeyboardKey.arrowDown): + const NextItemIntent(), + LogicalKeySet(LogicalKeyboardKey.enter): const ActivateIntent(), + }, + child: IntrinsicWidth( + child: OutlinedContainer( + clipBehavior: Clip.hardEdge, + surfaceBlur: widget.surfaceBlur ?? theme.surfaceBlur, + surfaceOpacity: widget.surfaceOpacity ?? theme.surfaceOpacity, + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + ComponentTheme( + data: const FocusOutlineTheme( + border: Border.fromBorderSide(BorderSide.none), + ), + child: TextField( + autofocus: widget.autofocus, + border: const Border.fromBorderSide(BorderSide.none), + borderRadius: BorderRadius.zero, + controller: _controller, + placeholder: widget.searchPlaceholder ?? + Text(ShadcnLocalizations.of(context) + .commandSearch), + features: [ + InputFeature.leading(const Icon(LucideIcons.search) + .iconSmall() + .iconMutedForeground()), + if (canPop) + InputFeature.trailing(GhostButton( + density: ButtonDensity.iconDense, + onPressed: () { + Navigator.of(context).pop(); + }, + child: const Icon( + LucideIcons.x, + ).iconSmall(), + )) + ], + ), + ), + const Divider(), + Expanded( + child: StreamBuilder( + stream: _currentRequest.stream, + builder: (context, snapshot) { + if (snapshot.hasData) { + List items = List.of(snapshot.data!); + if (snapshot.connectionState == + ConnectionState.active) { + items.add(IconTheme.merge( + data: IconThemeData( + color: theme.colorScheme.mutedForeground, + ), + child: const Center( + child: CircularProgressIndicator()) + .withPadding( + vertical: + theme.density.baseContainerPadding * + theme.scaling * + 1.5, + ), + )); + } else if (items.isEmpty) { + return widget.emptyBuilder?.call(context) ?? + const CommandEmpty(); + } + return ListView.separated( + separatorBuilder: (context, index) => + const Divider(), + padding: EdgeInsets.symmetric( + vertical: theme.density.baseGap * + theme.scaling * + 0.25, + ), + shrinkWrap: true, + itemCount: items.length, + itemBuilder: (context, index) { + return items[index]; + }, + ); + } + return widget.loadingBuilder?.call(context) ?? + const Center(child: CircularProgressIndicator()) + .withPadding( + vertical: theme.density.baseContainerPadding * + theme.scaling * + 1.5, + ); + }, + ), + ), + const Divider(), + Container( + color: theme.colorScheme.card, + padding: EdgeInsets.symmetric( + horizontal: theme.density.baseContentPadding * + theme.scaling * + 0.75, + vertical: + theme.density.baseGap * theme.scaling * 0.75, + ), + child: IntrinsicHeight( + child: Row( + spacing: theme.density.baseGap * theme.scaling, + children: [ + const KeyboardDisplay.fromActivator( + activator: SingleActivator( + LogicalKeyboardKey.arrowUp)) + .xSmall, + Text(localization.commandMoveUp).muted.small, + const VerticalDivider(), + const KeyboardDisplay.fromActivator( + activator: SingleActivator( + LogicalKeyboardKey.arrowDown)) + .xSmall, + Text(localization.commandMoveDown).muted.small, + const VerticalDivider(), + const KeyboardDisplay.fromActivator( + activator: SingleActivator( + LogicalKeyboardKey.enter)) + .xSmall, + Text(localization.commandActivate).muted.small, + ], + ), + ), + ) + ], + ), + ), + ), + ), + ); + }); + } +} + +/// A category grouping for command items in a command palette. +/// +/// Groups related command items under an optional category title. Items within +/// a category are visually grouped and can be navigated as a unit. +/// +/// ## Example +/// +/// ```dart +/// CommandCategory( +/// title: Text('File'), +/// children: [ +/// CommandItem(title: Text('New File'), onTap: () {}), +/// CommandItem(title: Text('Open File'), onTap: () {}), +/// CommandItem(title: Text('Save'), onTap: () {}), +/// ], +/// ) +/// ``` +class CommandCategory extends StatelessWidget { + /// The list of command items in this category. + final List children; + + /// Optional title widget displayed above the category items. + final Widget? title; + + /// Creates a [CommandCategory] to group related command items. + /// + /// Parameters: + /// - [children] (`List`, required): The command items in this category + /// - [title] (Widget?, optional): Optional category header text + /// + /// Example: + /// ```dart + /// CommandCategory( + /// title: Text('Edit'), + /// children: [ + /// CommandItem(title: Text('Cut'), onTap: () => cut()), + /// CommandItem(title: Text('Copy'), onTap: () => copy()), + /// ], + /// ) + /// ``` + const CommandCategory({ + super.key, + required this.children, + this.title, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + mainAxisSize: MainAxisSize.min, + children: [ + if (title != null) + title! + .withPadding( + horizontal: theme.scaling * 8, vertical: theme.scaling * 6) + .medium() + .xSmall() + .muted(), + ...children, + ], + ).withPadding(all: theme.scaling * 4); + } +} + +/// An individual selectable item in a command palette. +/// +/// Represents a single command or option that can be selected via click or +/// keyboard navigation. Supports optional leading and trailing widgets for +/// icons, shortcuts, or other decorations. +/// +/// ## Example +/// +/// ```dart +/// CommandItem( +/// leading: Icon(Icons.save), +/// title: Text('Save File'), +/// trailing: Text('Ctrl+S'), +/// onTap: () => saveFile(), +/// ) +/// ``` +class CommandItem extends StatefulWidget { + /// Optional widget displayed before the title (e.g., an icon). + final Widget? leading; + + /// The main title/label of the command item. + final Widget title; + + /// Optional widget displayed after the title (e.g., keyboard shortcut). + final Widget? trailing; + + /// Called when the item is selected/tapped. + final VoidCallback? onTap; + + /// Creates a [CommandItem] for display in a command palette. + /// + /// Parameters: + /// - [title] (Widget, required): The main label for this command + /// - [leading] (Widget?, optional): Widget displayed before the title (e.g., icon) + /// - [trailing] (Widget?, optional): Widget displayed after the title (e.g., shortcut) + /// - [onTap] (VoidCallback?, optional): Callback when the item is selected + /// + /// Example: + /// ```dart + /// CommandItem( + /// leading: Icon(Icons.file_copy), + /// title: Text('Duplicate'), + /// trailing: Text('Ctrl+D'), + /// onTap: () => duplicate(), + /// ) + /// ``` + const CommandItem({ + super.key, + this.leading, + required this.title, + this.trailing, + this.onTap, + }); + + @override + State createState() => _CommandItemState(); +} + +class _CommandItemState extends State { + @override + Widget build(BuildContext context) { + var themeData = Theme.of(context); + return Actions( + actions: { + ActivateIntent: CallbackAction( + onInvoke: (intent) { + widget.onTap?.call(); + return null; + }, + ), + }, + child: SubFocus( + builder: (context, state) { + return Clickable( + onPressed: widget.onTap, + onHover: (hovered) { + setState(() { + if (hovered) { + state.requestFocus(); + } + }); + }, + child: AnimatedContainer( + duration: kDefaultDuration, + decoration: BoxDecoration( + color: state.isFocused + ? themeData.colorScheme.accent + : themeData.colorScheme.accent.withValues(alpha: 0), + borderRadius: BorderRadius.circular(themeData.radiusSm), + ), + padding: EdgeInsets.symmetric( + horizontal: themeData.density.baseContentPadding * + themeData.scaling * + 0.5, + vertical: themeData.density.baseGap * themeData.scaling * 0.75, + ), + child: IconTheme( + data: themeData.iconTheme.small.copyWith( + color: widget.onTap != null + ? themeData.colorScheme.accentForeground + : themeData.colorScheme.accentForeground.scaleAlpha(0.5), + ), + child: DefaultTextStyle( + style: TextStyle( + color: widget.onTap != null + ? themeData.colorScheme.accentForeground + : themeData.colorScheme.accentForeground + .scaleAlpha(0.5), + ), + child: Row( + children: [ + if (widget.leading != null) widget.leading!, + if (widget.leading != null) + Gap(themeData.density.baseGap * themeData.scaling), + Expanded(child: widget.title), + if (widget.trailing != null) + Gap(themeData.density.baseGap * themeData.scaling), + if (widget.trailing != null) + widget.trailing!.muted().xSmall(), + ], + ).small(), + ), + ), + ), + ); + }, + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/control/hover.dart b/third_party/shadcn_flutter/lib/src/components/control/hover.dart new file mode 100644 index 00000000..bba69b80 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/control/hover.dart @@ -0,0 +1,382 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme configuration for hover-related widgets and behaviors. +/// +/// [HoverTheme] provides configurable durations and behaviors for hover +/// interactions throughout the application. It can be registered in the +/// component theme system to customize hover behavior globally. +/// +/// Example: +/// ```dart +/// HoverTheme( +/// debounceDuration: Duration(milliseconds: 100), +/// hitTestBehavior: HitTestBehavior.opaque, +/// ) +/// ``` +class HoverTheme extends ComponentThemeData { + /// Debounce duration for repeated hover events. + /// + /// When set, hover callbacks are throttled to fire at most once per this duration. + final Duration? debounceDuration; + + /// Hit test behavior for hover detection. + /// + /// Determines how the widget participates in hit testing for mouse events. + final HitTestBehavior? hitTestBehavior; + + /// Wait duration before showing hover feedback (e.g., tooltips). + /// + /// Delays the appearance of hover-triggered UI to avoid flashing on quick passes. + final Duration? waitDuration; + + /// Minimum duration to keep hover feedback visible once shown. + /// + /// Prevents hover UI from disappearing too quickly. + final Duration? minDuration; + + /// Duration for hover feedback show animations. + final Duration? showDuration; + + /// Creates a [HoverTheme] with optional configuration values. + const HoverTheme({ + this.debounceDuration, + this.hitTestBehavior, + this.waitDuration, + this.minDuration, + this.showDuration, + }); + + /// Creates a copy of this theme with selectively replaced properties. + /// + /// Parameters are [ValueGetter] functions to allow setting values to `null`. + HoverTheme copyWith({ + ValueGetter? debounceDuration, + ValueGetter? hitTestBehavior, + ValueGetter? waitDuration, + ValueGetter? minDuration, + ValueGetter? showDuration, + }) { + return HoverTheme( + debounceDuration: + debounceDuration == null ? this.debounceDuration : debounceDuration(), + hitTestBehavior: + hitTestBehavior == null ? this.hitTestBehavior : hitTestBehavior(), + waitDuration: waitDuration == null ? this.waitDuration : waitDuration(), + minDuration: minDuration == null ? this.minDuration : minDuration(), + showDuration: showDuration == null ? this.showDuration : showDuration(), + ); + } + + @override + bool operator ==(Object other) { + return other is HoverTheme && + other.debounceDuration == debounceDuration && + other.hitTestBehavior == hitTestBehavior && + other.waitDuration == waitDuration && + other.minDuration == minDuration && + other.showDuration == showDuration; + } + + @override + int get hashCode => Object.hash( + debounceDuration, + hitTestBehavior, + waitDuration, + minDuration, + showDuration, + ); +} + +/// A widget that tracks mouse hover state and triggers callbacks. +/// +/// [HoverActivity] monitors when the mouse cursor enters, hovers over, and exits +/// its child widget, calling appropriate callbacks. The [onHover] callback can be +/// called repeatedly while hovering if [debounceDuration] is set. +/// +/// Example: +/// ```dart +/// HoverActivity( +/// debounceDuration: Duration(milliseconds: 500), +/// onEnter: () => print('Mouse entered'), +/// onHover: () => print('Still hovering'), +/// onExit: () => print('Mouse exited'), +/// child: Container( +/// width: 100, +/// height: 100, +/// color: Colors.blue, +/// ), +/// ) +/// ``` +class HoverActivity extends StatefulWidget { + /// The widget to track for hover events. + final Widget child; + + /// Called periodically while hovering, at intervals of [debounceDuration]. + /// + /// If [debounceDuration] is `null`, this is called only once on initial hover. + final VoidCallback? onHover; + + /// Called when the mouse cursor exits the widget bounds. + final VoidCallback? onExit; + + /// Called when the mouse cursor first enters the widget bounds. + final VoidCallback? onEnter; + + /// Interval for repeated [onHover] callbacks while the cursor remains over the widget. + /// + /// If `null`, [onHover] is called only once when hover begins. + final Duration? debounceDuration; + + /// Hit test behavior determining how this widget participates in pointer event handling. + final HitTestBehavior? hitTestBehavior; + + /// Creates a [HoverActivity] widget. + const HoverActivity({ + super.key, + required this.child, + this.onHover, + this.onExit, + this.onEnter, + this.hitTestBehavior, + this.debounceDuration, + }); + + @override + State createState() => _HoverActivityState(); +} + +class _HoverActivityState extends State + with SingleTickerProviderStateMixin { + late AnimationController _controller; + + @override + void initState() { + super.initState(); + _controller = AnimationController( + vsync: this, + duration: widget.debounceDuration, + ); + _controller.addStatusListener(_onStatusChanged); + } + + void _onStatusChanged(AnimationStatus status) { + widget.onHover?.call(); + } + + @override + void didUpdateWidget(covariant HoverActivity oldWidget) { + super.didUpdateWidget(oldWidget); + _controller.duration = widget.debounceDuration; + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final debounceDuration = styleValue( + widgetValue: widget.debounceDuration, + themeValue: compTheme?.debounceDuration, + defaultValue: const Duration(milliseconds: 100)); + final behavior = styleValue( + widgetValue: widget.hitTestBehavior, + themeValue: compTheme?.hitTestBehavior, + defaultValue: HitTestBehavior.deferToChild); + _controller.duration = debounceDuration; + return MouseRegion( + hitTestBehavior: behavior, + onEnter: (_) { + widget.onEnter?.call(); + _controller.repeat(reverse: true); + }, + onExit: (_) { + _controller.stop(); + widget.onExit?.call(); + }, + child: widget.child, + ); + } +} + +/// A widget that manages hover state with configurable timing behavior. +/// +/// [Hover] provides sophisticated hover detection with delays and minimum durations +/// to prevent flickering when the cursor quickly passes over the widget. It calls +/// [onHover] with `true` when hover activates and `false` when it deactivates. +/// +/// Unlike [HoverActivity], this widget implements smart timing: +/// - [waitDuration]: Delay before activating hover +/// - [minDuration]: Minimum time to keep hover active once triggered +/// - [showDuration]: Total duration for hover state +/// +/// Example: +/// ```dart +/// Hover( +/// waitDuration: Duration(milliseconds: 500), +/// minDuration: Duration(milliseconds: 200), +/// onHover: (hovered) { +/// print(hovered ? 'Hover activated' : 'Hover deactivated'); +/// }, +/// child: Container( +/// width: 100, +/// height: 100, +/// color: Colors.blue, +/// ), +/// ) +/// ``` +class Hover extends StatefulWidget { + /// The widget to track for hover events. + final Widget child; + + /// Called with `true` when hover activates, `false` when it deactivates. + /// + /// Activation respects [waitDuration] delay, and deactivation respects [minDuration]. + final void Function(bool hovered) onHover; + + /// Delay before activating hover after cursor enters. + /// + /// Prevents accidental activation from quick cursor passes. Defaults to 500ms. + final Duration? waitDuration; + + /// Minimum duration to keep hover active once triggered. + /// + /// Prevents flickering when cursor quickly moves over the widget. Defaults to 0ms. + final Duration? + minDuration; // The minimum duration to show the hover, if the cursor is quickly moved over the widget. + + /// Total duration for hover state before auto-deactivation. + final Duration? showDuration; // The duration to show the hover + + /// Hit test behavior for pointer event handling. + final HitTestBehavior? hitTestBehavior; + + /// Creates a [Hover] widget with timing configuration. + const Hover({ + super.key, + required this.child, + required this.onHover, + this.waitDuration, + this.minDuration, + this.showDuration, + this.hitTestBehavior, + }); + + @override + State createState() => _HoverState(); +} + +class _HoverState extends State with SingleTickerProviderStateMixin { + late AnimationController _controller; + int? _enterTime; + late Duration _waitDur; + late Duration _minDur; + late Duration _showDur; + late HitTestBehavior _behavior; + + @override + void initState() { + super.initState(); + _waitDur = widget.waitDuration ?? const Duration(milliseconds: 500); + _minDur = widget.minDuration ?? const Duration(milliseconds: 0); + _showDur = widget.showDuration ?? const Duration(milliseconds: 200); + _controller = AnimationController( + vsync: this, + duration: _waitDur, + ); + _controller.addStatusListener(_onStatusChanged); + } + + void _onEnter() { + _enterTime = DateTime.now().millisecondsSinceEpoch; + _controller.forward(); + } + + void _onExit(bool cursorOut) { + int minDuration = _minDur.inMilliseconds; + int? enterTime = _enterTime; + if (enterTime != null) { + int duration = DateTime.now().millisecondsSinceEpoch - enterTime; + _controller.reverseDuration = cursorOut + ? Duration(milliseconds: duration < minDuration ? minDuration : 0) + : _showDur; + _controller.reverse(); + } + _enterTime = null; + } + + void _onStatusChanged(AnimationStatus status) { + if (status == AnimationStatus.completed) { + widget.onHover(true); + } else if (status == AnimationStatus.dismissed) { + widget.onHover(false); + } + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final platform = Theme.of(context).platform; + final compTheme = ComponentTheme.maybeOf(context); + _waitDur = styleValue( + widgetValue: widget.waitDuration, + themeValue: compTheme?.waitDuration, + defaultValue: const Duration(milliseconds: 500)); + _minDur = styleValue( + widgetValue: widget.minDuration, + themeValue: compTheme?.minDuration, + defaultValue: const Duration(milliseconds: 0)); + _showDur = styleValue( + widgetValue: widget.showDuration, + themeValue: compTheme?.showDuration, + defaultValue: const Duration(milliseconds: 200)); + _behavior = styleValue( + widgetValue: widget.hitTestBehavior, + themeValue: compTheme?.hitTestBehavior, + defaultValue: HitTestBehavior.deferToChild); + _controller.duration = _waitDur; + bool enableLongPress = platform == TargetPlatform.iOS || + platform == TargetPlatform.android || + platform == TargetPlatform.fuchsia; + return TapRegion( + behavior: _behavior, + onTapOutside: (details) { + _onExit(true); + }, + child: MouseRegion( + hitTestBehavior: _behavior, + onEnter: (_) => _onEnter(), + onExit: (_) { + _onExit(true); + }, + child: GestureDetector( + // for mobile platforms, hover is triggered by a long press + onLongPressDown: enableLongPress + ? (details) { + _onEnter(); + } + : null, + onLongPressCancel: enableLongPress + ? () { + _onExit(true); + } + : null, + onLongPressUp: enableLongPress + ? () { + _onExit(true); + } + : null, + child: widget.child, + ), + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/control/scrollbar.dart b/third_party/shadcn_flutter/lib/src/components/control/scrollbar.dart new file mode 100644 index 00000000..8f330c36 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/control/scrollbar.dart @@ -0,0 +1,273 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/gestures.dart'; + +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for [Scrollbar]. +class ScrollbarTheme extends ComponentThemeData { + /// Color of the scrollbar thumb. + final Color? color; + + /// Thickness of the scrollbar thumb. + final double? thickness; + + /// Radius of the scrollbar thumb. + final Radius? radius; + + /// Creates a [ScrollbarTheme]. + const ScrollbarTheme({ + this.color, + this.thickness, + this.radius, + }); + + /// Creates a copy of this theme with the given values replaced. + ScrollbarTheme copyWith({ + ValueGetter? color, + ValueGetter? thickness, + ValueGetter? radius, + }) { + return ScrollbarTheme( + color: color == null ? this.color : color(), + thickness: thickness == null ? this.thickness : thickness(), + radius: radius == null ? this.radius : radius(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ScrollbarTheme && + other.color == color && + other.thickness == thickness && + other.radius == radius; + } + + @override + int get hashCode => Object.hash(color, thickness, radius); +} + +const double _kScrollbarMinLength = 48.0; +const Duration _kScrollbarFadeDuration = Duration(milliseconds: 300); +const Duration _kScrollbarTimeToFade = Duration(milliseconds: 600); + +/// A customizable scrollbar widget for shadcn_flutter. +/// +/// [Scrollbar] provides a themeable scrollbar that can be attached to any +/// scrollable widget. It supports both vertical and horizontal orientations, +/// configurable appearance, and interactive dragging. +/// +/// Example: +/// ```dart +/// Scrollbar( +/// controller: scrollController, +/// thumbVisibility: true, +/// thickness: 8, +/// child: ListView.builder( +/// controller: scrollController, +/// itemCount: 100, +/// itemBuilder: (context, index) => ListTile(title: Text('Item $index')), +/// ), +/// ) +/// ``` +class Scrollbar extends StatelessWidget { + /// Creates a [Scrollbar] widget. + /// + /// Parameters: + /// - [child] (Widget, required): The scrollable widget to attach the scrollbar to + /// - [controller] (ScrollController?, optional): Controller for the scrollable content + /// - [thumbVisibility] (bool?, optional): Whether the scrollbar thumb is always visible + /// - [trackVisibility] (bool?, optional): Whether the scrollbar track is always visible + /// - [thickness] (double?, optional): Thickness of the scrollbar + /// - [radius] (Radius?, optional): Border radius for the scrollbar thumb + /// - [color] (Color?, optional): Color of the scrollbar thumb + /// - [interactive] (bool?, optional): Whether the scrollbar can be dragged + /// - [notificationPredicate] (ScrollNotificationPredicate?, optional): Predicate for scroll notifications + /// - [scrollbarOrientation] (ScrollbarOrientation?, optional): Orientation of the scrollbar + const Scrollbar({ + super.key, + required this.child, + this.controller, + this.thumbVisibility, + this.trackVisibility, + this.thickness, + this.radius, + this.color, + this.notificationPredicate, + this.interactive, + this.scrollbarOrientation, + }); + + /// The scrollable widget to attach the scrollbar to. + final Widget child; + + /// Optional scroll controller for the scrollable content. + /// + /// If not provided, the scrollbar will use the nearest [Scrollable]'s controller. + final ScrollController? controller; + + /// Whether the scrollbar thumb is always visible. + /// + /// When `true`, the thumb remains visible even when not scrolling. + /// When `false` or `null`, the thumb fades out after scrolling stops. + final bool? thumbVisibility; + + /// Whether the scrollbar track is always visible. + /// + /// When `true`, the track (background) remains visible. + /// When `false` or `null`, only the thumb is shown. + final bool? trackVisibility; + + /// The thickness of the scrollbar in logical pixels. + final double? thickness; + + /// The border radius of the scrollbar thumb. + final Radius? radius; + + /// The color of the scrollbar thumb. + final Color? color; + + /// Whether the scrollbar can be dragged to scroll. + /// + /// When `true`, users can click and drag the scrollbar thumb to scroll. + final bool? interactive; + + /// Predicate to determine which scroll notifications trigger scrollbar updates. + final ScrollNotificationPredicate? notificationPredicate; + + /// The orientation of the scrollbar (vertical or horizontal). + final ScrollbarOrientation? scrollbarOrientation; + + @override + Widget build(BuildContext context) { + return _ShadcnScrollbar( + controller: controller, + thumbVisibility: thumbVisibility, + trackVisibility: trackVisibility, + thickness: thickness, + radius: radius, + color: color, + notificationPredicate: notificationPredicate, + interactive: interactive, + scrollbarOrientation: scrollbarOrientation, + child: child, + ); + } +} + +class _ShadcnScrollbar extends RawScrollbar { + const _ShadcnScrollbar({ + required super.child, + super.controller, + super.thumbVisibility, + super.trackVisibility, + super.thickness, + super.radius, + this.color, + ScrollNotificationPredicate? notificationPredicate, + super.interactive, + super.scrollbarOrientation, + }) : super( + fadeDuration: _kScrollbarFadeDuration, + timeToFade: _kScrollbarTimeToFade, + pressDuration: Duration.zero, + notificationPredicate: + notificationPredicate ?? defaultScrollNotificationPredicate, + ); + + final Color? color; + + @override + RawScrollbarState<_ShadcnScrollbar> createState() => _ShadcnScrollbarState(); +} + +class _ShadcnScrollbarState extends RawScrollbarState<_ShadcnScrollbar> { + late AnimationController _hoverAnimationController; + bool _hoverIsActive = false; + late ThemeData _theme; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + _theme = Theme.of(context); + } + + @override + bool get enableGestures => widget.interactive ?? true; + + @override + void initState() { + super.initState(); + _hoverAnimationController = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 200), + ); + _hoverAnimationController.addListener(() { + updateScrollbarPainter(); + }); + } + + @override + void updateScrollbarPainter() { + final compTheme = ComponentTheme.maybeOf(context); + scrollbarPainter + ..color = styleValue( + widgetValue: widget.color, + themeValue: compTheme?.color, + defaultValue: _theme.colorScheme.border) + ..textDirection = Directionality.of(context) + // Should this be affected by density? + ..thickness = styleValue( + widgetValue: widget.thickness, + themeValue: compTheme?.thickness, + defaultValue: 7.0 * _theme.scaling) + ..radius = styleValue( + widgetValue: widget.radius, + themeValue: compTheme?.radius, + defaultValue: Radius.circular(_theme.radiusSm)) + ..minLength = _kScrollbarMinLength + ..padding = MediaQuery.paddingOf(context) + + EdgeInsets.all( + _theme.density.baseGap * _theme.scaling * 0.125, + ) + ..scrollbarOrientation = widget.scrollbarOrientation + ..ignorePointer = !enableGestures; + } + + @override + void handleHover(PointerHoverEvent event) { + // Check if the position of the pointer falls over the painted scrollbar + if (isPointerOverScrollbar(event.position, event.kind, forHover: true)) { + // Pointer is hovering over the scrollbar + setState(() { + _hoverIsActive = true; + }); + _hoverAnimationController.forward(); + } else if (_hoverIsActive) { + // Pointer was, but is no longer over painted scrollbar. + setState(() { + _hoverIsActive = false; + }); + _hoverAnimationController.reverse(); + } + super.handleHover(event); + } + + @override + void handleHoverExit(PointerExitEvent event) { + super.handleHoverExit(event); + setState(() { + _hoverIsActive = false; + }); + _hoverAnimationController.reverse(); + } + + @override + void dispose() { + _hoverAnimationController.dispose(); + super.dispose(); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/control/scrollview.dart b/third_party/shadcn_flutter/lib/src/components/control/scrollview.dart new file mode 100644 index 00000000..7f7b8ae3 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/control/scrollview.dart @@ -0,0 +1,172 @@ +import 'dart:math'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/scheduler.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Widget that intercepts scroll events to simulate middle-button drag scrolling. +/// +/// Helps simulate middle-hold scroll on web and desktop platforms by intercepting +/// pointer events and converting drag gestures into scroll events. +class ScrollViewInterceptor extends StatefulWidget { + /// The child widget to wrap with scroll interception functionality. + final Widget child; + + /// Whether scroll interception is enabled. + final bool enabled; + + /// Creates a scroll view interceptor. + const ScrollViewInterceptor( + {super.key, required this.child, this.enabled = true}); + + @override + State createState() => _ScrollViewInterceptorState(); +} + +/// The drag speed multiplier for scroll interception (0.02). +const double kScrollDragSpeed = 0.02; + +/// The maximum scroll speed allowed (10.0). +const double kMaxScrollSpeed = 10.0; + +/// A custom pointer scroll event for desktop platforms. +/// +/// Extends [PointerScrollEvent] with desktop-specific scroll event handling. +class DesktopPointerScrollEvent extends PointerScrollEvent { + /// Creates a desktop pointer scroll event. + const DesktopPointerScrollEvent({ + required super.position, + required super.device, + required super.embedderId, + required super.kind, + required super.timeStamp, + required super.viewId, + required super.scrollDelta, + }); +} + +class _ScrollViewInterceptorState extends State + with SingleTickerProviderStateMixin { + late Ticker _ticker; + + Duration? _lastTime; + + PointerDownEvent? _event; + Offset? _lastOffset; + MouseCursor? _cursor; + + @override + void initState() { + super.initState(); + _ticker = createTicker(_tick); + } + + @override + void dispose() { + _ticker.dispose(); + super.dispose(); + } + + void _tick(Duration elapsed) { + Duration delta = _lastTime == null ? Duration.zero : elapsed - _lastTime!; + _lastTime = elapsed; + if (delta.inMilliseconds == 0) return; + Offset positionDelta = _event!.position - _lastOffset!; + double incX = + pow(-positionDelta.dx * kScrollDragSpeed, 3) / delta.inMilliseconds; + double incY = + pow(-positionDelta.dy * kScrollDragSpeed, 3) / delta.inMilliseconds; + incX = incX.clamp(-kMaxScrollSpeed, kMaxScrollSpeed); + incY = incY.clamp(-kMaxScrollSpeed, kMaxScrollSpeed); + var instance = GestureBinding.instance; + HitTestResult result = HitTestResult(); + instance.hitTestInView(result, _event!.position, _event!.viewId); + var pointerScrollEvent = DesktopPointerScrollEvent( + position: _event!.position, + device: _event!.device, + embedderId: _event!.embedderId, + kind: _event!.kind, + timeStamp: Duration(milliseconds: DateTime.now().millisecondsSinceEpoch), + viewId: _event!.viewId, + scrollDelta: Offset(incX, incY), + ); + for (final path in result.path) { + try { + path.target.handleEvent(pointerScrollEvent, path); + } catch (e, s) { + FlutterError.reportError(FlutterErrorDetails( + exception: e, + stack: s, + library: 'shadcn_flutter', + context: ErrorDescription('while dispatching a pointer scroll event'), + )); + } + } + } + + void _activate(PointerDownEvent event) { + _event = event; + _lastOffset = event.position; + _lastTime = null; + _ticker.start(); + setState(() { + _cursor = SystemMouseCursors.allScroll; + }); + } + + void _deactivate() { + _ticker.stop(); + _lastTime = null; + _event = null; + _lastOffset = null; + setState(() { + _cursor = null; + }); + } + + void _toggleScrollMode(PointerDownEvent event) { + if (_ticker.isActive) { + _deactivate(); + } else if (event.buttons == 4) { + _activate(event); + } + } + + bool pointerMoved = false; + @override + Widget build(BuildContext context) { + if (!widget.enabled) return widget.child; + + return Stack( + clipBehavior: Clip.none, + fit: StackFit.passthrough, + children: [ + Listener( + onPointerDown: (event) { + pointerMoved = false; + _toggleScrollMode(event); + }, + onPointerUp: (event) { + if (_ticker.isActive && pointerMoved) { + _deactivate(); + } + }, + onPointerMove: (event) { + if (_ticker.isActive) { + pointerMoved = true; + _lastOffset = event.position; + } + }, + child: widget.child, + ), + if (_cursor != null) + Positioned.fill( + child: MouseRegion( + onHover: (event) => {_lastOffset = event.position}, + cursor: _cursor!, + hitTestBehavior: HitTestBehavior.translucent, + ), + ), + ], + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/debug.dart b/third_party/shadcn_flutter/lib/src/components/debug.dart new file mode 100644 index 00000000..cfa66d10 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/debug.dart @@ -0,0 +1,82 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Whether debug stickers are visible in the UI. +const kDebugStickerVisible = true; + +/// Whether debug containers are visible in the UI. +const kDebugContainerVisible = true; + +/// Posts a temporary debug sticker overlay at the specified position. +/// +/// Displays a semi-transparent colored box with text at the given [rect] position +/// for 2 seconds, useful for debugging layout and positioning issues. +/// Only active in debug mode when [kDebugStickerVisible] is true. +/// +/// Parameters: +/// - [context]: The build context for the overlay. +/// - [rect]: The position and size of the sticker. +/// - [color]: The background color of the sticker. +/// - [text]: The text to display in the sticker. +void debugPostSticker( + BuildContext context, Rect rect, Color color, String text) { + if (!kDebugStickerVisible) { + return; + } + assert(kDebugMode, 'debugPostSticker should only be called in debug mode'); + OverlayEntry entry = OverlayEntry( + builder: (context) { + return Positioned( + left: rect.left, + top: rect.top, + width: rect.width, + height: rect.height, + child: IgnorePointer( + child: Opacity( + opacity: 0.2, + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: color, + ), + child: Text( + text, + style: const TextStyle( + color: Colors.white, + fontSize: 12, + ), + ), + ), + ), + ), + ); + }, + ); + Overlay.of(context).insert(entry); + Timer(const Duration(seconds: 2), () { + entry.remove(); + }); +} + +/// Extension that adds debug container wrapping functionality to widgets. +/// +/// Provides a [debugContainer] method to wrap widgets with a colored container +/// for debugging layout issues. Only active when [kDebugContainerVisible] is true. +extension DebugContainer on Widget { + /// Wraps this widget with a colored debug container. + /// + /// The container uses the specified [color] (defaults to red) to highlight + /// the widget's bounds, making it easier to visualize layout during development. + /// Returns the original widget unchanged if [kDebugContainerVisible] is false. + Widget debugContainer([Color color = Colors.red]) { + if (!kDebugContainerVisible) { + return this; + } + return Container( + color: color, + child: this, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/avatar.dart b/third_party/shadcn_flutter/lib/src/components/display/avatar.dart new file mode 100644 index 00000000..aa6a0688 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/avatar.dart @@ -0,0 +1,1059 @@ +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for [Avatar] and related avatar components. +/// +/// [AvatarTheme] provides styling options for avatar components including size, +/// border radius, colors, and badge positioning. It enables consistent avatar +/// styling across an application while allowing per-instance customization. +/// +/// Used with [ComponentTheme] to apply theme values throughout the widget tree. +/// +/// Example: +/// ```dart +/// ComponentTheme( +/// data: AvatarTheme( +/// size: 48.0, +/// borderRadius: 8.0, +/// backgroundColor: Colors.grey.shade200, +/// badgeAlignment: Alignment.topRight, +/// textStyle: TextStyle(color: Colors.black, fontWeight: FontWeight.w600), +/// ), +/// child: MyAvatarWidget(), +/// ); +/// ``` +class AvatarTheme extends ComponentThemeData { + /// Default size for avatar components in logical pixels. + /// + /// Controls the width and height of avatar containers. If null, defaults + /// to 40 logical pixels scaled by theme scaling factor. + final double? size; + + /// Border radius for avatar corners in logical pixels. + /// + /// Creates rounded corners on avatar containers. If null, defaults to + /// theme radius multiplied by avatar size for proportional rounding. + final double? borderRadius; + + /// Background color for avatar containers when displaying initials. + /// + /// Used as the background color when no image is provided or when image + /// loading fails. If null, uses the muted color from theme color scheme. + final Color? backgroundColor; + + /// Alignment of badge relative to the main avatar. + /// + /// Controls where badges are positioned when attached to avatars. + /// If null, badges are positioned at a calculated offset based on avatar size. + final AlignmentGeometry? badgeAlignment; + + /// Spacing between avatar and badge components. + /// + /// Controls the gap between the main avatar and any attached badges. + /// If null, defaults to 4 logical pixels scaled by theme scaling factor. + final double? badgeGap; + + /// Text style for avatar initials display. + /// + /// Applied to text when displaying user initials in avatar containers. + /// If null, uses bold foreground color from theme. + final TextStyle? textStyle; + + /// Creates an [AvatarTheme] with the specified styling options. + /// + /// All parameters are optional and will fall back to component defaults + /// when not specified. + /// + /// Parameters: + /// - [size] (double?, optional): Default size for avatars. + /// - [borderRadius] (double?, optional): Border radius for avatar corners. + /// - [backgroundColor] (Color?, optional): Background color for initials display. + /// - [badgeAlignment] (AlignmentGeometry?, optional): Badge positioning relative to avatar. + /// - [badgeGap] (double?, optional): Spacing between avatar and badge. + /// - [textStyle] (TextStyle?, optional): Text style for initials. + const AvatarTheme({ + this.size, + this.borderRadius, + this.backgroundColor, + this.badgeAlignment, + this.badgeGap, + this.textStyle, + }); + + /// Creates a copy of this theme with the given values replaced. + /// + /// Uses [ValueGetter] functions to allow conditional updates where + /// null getters preserve the original value. + /// + /// Example: + /// ```dart + /// final newTheme = originalTheme.copyWith( + /// size: () => 60.0, + /// backgroundColor: () => Colors.blue.shade100, + /// ); + /// ``` + AvatarTheme copyWith({ + ValueGetter? size, + ValueGetter? borderRadius, + ValueGetter? backgroundColor, + ValueGetter? badgeAlignment, + ValueGetter? badgeGap, + ValueGetter? textStyle, + }) { + return AvatarTheme( + size: size == null ? this.size : size(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + badgeAlignment: + badgeAlignment == null ? this.badgeAlignment : badgeAlignment(), + badgeGap: badgeGap == null ? this.badgeGap : badgeGap(), + textStyle: textStyle == null ? this.textStyle : textStyle(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is AvatarTheme && + other.size == size && + other.borderRadius == borderRadius && + other.backgroundColor == backgroundColor && + other.badgeAlignment == badgeAlignment && + other.badgeGap == badgeGap && + other.textStyle == textStyle; + } + + @override + int get hashCode => Object.hash( + size, + borderRadius, + backgroundColor, + badgeAlignment, + badgeGap, + textStyle, + ); +} + +/// Abstract base class for avatar-related widgets. +/// +/// [AvatarWidget] provides a common interface for avatar components, ensuring +/// they expose size and border radius properties that can be used by container +/// components like [AvatarGroup] for proper layout and clipping. +abstract class AvatarWidget extends Widget { + /// Creates an [AvatarWidget] with optional key. + const AvatarWidget({super.key}); + + /// Size of the avatar widget in logical pixels. + /// + /// Used by container widgets for layout calculations and clipping operations. + double? get size; + + /// Border radius of the avatar widget in logical pixels. + /// + /// Used by container widgets for proper clipping and visual effects. + double? get borderRadius; +} + +/// A circular or rounded rectangular widget for displaying user profile images or initials. +/// +/// [Avatar] provides a versatile component for representing users in UI interfaces. +/// It can display either an image (from network or other sources) or user initials, +/// with automatic fallback to initials when image loading fails. The avatar supports +/// optional badges for status indicators and integrates seamlessly with [AvatarGroup] +/// for overlapping avatar layouts. +/// +/// ## Key Features +/// - **Flexible Content**: Supports both images and text initials +/// - **Automatic Fallback**: Falls back to initials when images fail to load +/// - **Badge Support**: Optional badge overlay for status or notification indicators +/// - **Network Images**: Built-in support for network images with caching +/// - **Theming**: Comprehensive theming via [AvatarTheme] +/// - **Group Integration**: Works with [AvatarGroup] for overlapping layouts +/// +/// ## Initials Generation +/// The avatar includes intelligent initials generation via [getInitials]: +/// - For single words: First two characters (e.g., "John" → "JO") +/// - For multiple words: First character of first two words (e.g., "John Doe" → "JD") +/// - Proper capitalization and fallback handling +/// +/// Example: +/// ```dart +/// Avatar( +/// initials: 'JD', +/// size: 48, +/// backgroundColor: Colors.blue.shade100, +/// badge: AvatarBadge( +/// color: Colors.green, +/// size: 12, +/// ), +/// ); +/// ``` +class Avatar extends StatefulWidget implements AvatarWidget { + /// Generates initials from a user's full name. + /// + /// Creates appropriate initials for avatar display from a given name string. + /// Uses intelligent logic to extract meaningful characters: + /// - For single words: First two characters (e.g., "John" → "JO") + /// - For multiple words: First character of first two words (e.g., "John Doe" → "JD") + /// - Handles edge cases with proper capitalization + /// + /// Parameters: + /// - [name] (String): The full name to extract initials from + /// + /// Returns: + /// A [String] containing the generated initials, typically 1-2 characters. + /// + /// Example: + /// ```dart + /// String initials1 = Avatar.getInitials('John Doe'); // Returns 'JD' + /// String initials2 = Avatar.getInitials('Madonna'); // Returns 'MA' + /// ``` + static String getInitials(String name) { + if (name.trim().isEmpty) { + return ''; + } + final List parts = name + .trim() + .split(RegExp(r'\s+')) + .where((part) => part.isNotEmpty) + .toList(); + if (parts.isEmpty) { + return ''; + } + // get the first two characters + String first = parts[0].substring(0, 1).toUpperCase(); + if (parts.length > 1) { + String second = parts[1].substring(0, 1).toUpperCase(); + return first + second; + } + // append with the 2nd character of the first part + if (parts[0].length > 1) { + String second = parts[0].substring(1, 2).toUpperCase(); + return first + second; + } + return first; + } + + /// User initials or text to display in the avatar. + /// + /// Primary fallback content when no image is provided via [provider] + /// or when image loading fails. Should typically contain user's initials + /// or a short representative text. + final String initials; + + /// Background color for the avatar when displaying initials. + /// + /// Type: `Color?`. Used as the container background color when showing + /// [initials]. If null, defaults to the theme's muted color. + final Color? backgroundColor; + + /// Size of the avatar in logical pixels. + /// + /// Type: `double?`. Controls both width and height of the avatar container. + /// If null, defaults to theme.scaling * 40 pixels. + @override + final double? size; + + /// Border radius for avatar corners in logical pixels. + /// + /// Type: `double?`. Creates rounded corners on the avatar container. + /// If null, defaults to theme.radius * size for proportional rounding. + @override + final double? borderRadius; + + /// Optional badge widget to overlay on the avatar. + /// + /// Type: `AvatarWidget?`. Typically an [AvatarBadge] for status indicators. + /// Positioned according to [badgeAlignment] with [badgeGap] spacing. + final AvatarWidget? badge; + + /// Position of the badge relative to the avatar. + /// + /// Type: `AlignmentGeometry?`. Controls where the [badge] is positioned. + /// If null, uses a calculated offset based on avatar and badge sizes. + final AlignmentGeometry? badgeAlignment; + + /// Spacing between the avatar and badge in logical pixels. + /// + /// Type: `double?`. Controls the gap between the avatar edge and badge edge. + /// If null, defaults to theme.scaling * 4 pixels. + final double? badgeGap; + + /// Image provider for displaying user photos. + /// + /// Type: `ImageProvider?`. Can be any Flutter image provider (NetworkImage, + /// AssetImage, etc.). If null or loading fails, shows [initials] instead. + final ImageProvider? provider; + + /// Creates an [Avatar] widget with optional image provider. + /// + /// The default constructor creates an avatar that can display either an image + /// (via [provider]) or user initials. If no image provider is specified or + /// image loading fails, the avatar falls back to displaying [initials]. + /// + /// Parameters: + /// - [initials] (String, required): Text to display when no image is provided + /// or image loading fails. Should typically be user's initials. + /// - [backgroundColor] (Color?, optional): Background color for the initials + /// display. If null, uses theme's muted color. + /// - [size] (double?, optional): Width and height of the avatar in logical + /// pixels. If null, defaults to theme.scaling * 40. + /// - [borderRadius] (double?, optional): Corner radius in logical pixels. + /// If null, defaults to theme.radius * size for proportional rounding. + /// - [badge] (AvatarWidget?, optional): Optional badge overlay for status + /// indicators. Positioned according to [badgeAlignment]. + /// - [badgeAlignment] (AlignmentGeometry?, optional): Position of the badge + /// relative to the avatar. If null, uses calculated offset based on sizes. + /// - [badgeGap] (double?, optional): Spacing between avatar and badge. + /// If null, defaults to theme.scaling * 4. + /// - [provider] (ImageProvider?, optional): Image to display. If null or + /// loading fails, shows [initials] instead. + /// + /// Example: + /// ```dart + /// Avatar( + /// initials: 'JD', + /// size: 48, + /// backgroundColor: Colors.blue.shade100, + /// badge: AvatarBadge(color: Colors.green), + /// ); + /// ``` + const Avatar({ + super.key, + required this.initials, + this.backgroundColor, + this.size, + this.borderRadius, + this.badge, + this.badgeAlignment, + this.badgeGap, + this.provider, + }); + + /// Creates an [Avatar] with a network image. + /// + /// This named constructor automatically configures a [NetworkImage] provider + /// with optional image resizing for memory optimization. Falls back to + /// displaying [initials] if the network image fails to load. + /// + /// Parameters: + /// - [initials] (String, required): Fallback text when image loading fails. + /// - [photoUrl] (String, required): URL of the network image to display. + /// - [cacheWidth] (int?, optional): Resize width for memory optimization. + /// If specified, image will be decoded at this width. + /// - [cacheHeight] (int?, optional): Resize height for memory optimization. + /// If specified, image will be decoded at this height. + /// - [backgroundColor] (Color?, optional): Background color for initials fallback. + /// - [size] (double?, optional): Avatar dimensions in logical pixels. + /// - [borderRadius] (double?, optional): Corner radius in logical pixels. + /// - [badge] (AvatarWidget?, optional): Optional badge overlay. + /// - [badgeAlignment] (AlignmentGeometry?, optional): Badge position. + /// - [badgeGap] (double?, optional): Spacing between avatar and badge. + /// + /// Example: + /// ```dart + /// Avatar.network( + /// initials: 'JD', + /// photoUrl: 'https://example.com/photo.jpg', + /// cacheWidth: 100, + /// cacheHeight: 100, + /// ); + /// ``` + Avatar.network({ + super.key, + required this.initials, + this.backgroundColor, + this.size, + this.borderRadius, + this.badge, + this.badgeAlignment, + this.badgeGap, + int? cacheWidth, + int? cacheHeight, + required String photoUrl, + }) : provider = ResizeImage.resizeIfNeeded( + cacheWidth, + cacheHeight, + NetworkImage(photoUrl), + ); + + @override + State createState() => _AvatarState(); +} + +class _AvatarState extends State { + Widget _build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + double size = styleValue( + widgetValue: widget.size, + themeValue: compTheme?.size, + defaultValue: theme.scaling * 40); + double borderRadius = styleValue( + widgetValue: widget.borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: theme.radius * size); + if (widget.provider != null) { + return SizedBox( + width: size, + height: size, + child: ClipRRect( + borderRadius: BorderRadius.circular(borderRadius), + child: Image( + image: widget.provider!, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return _buildInitials(context, borderRadius); + }, + ), + ), + ); + } + return SizedBox( + width: size, + height: size, + child: _buildInitials(context, borderRadius), + ); + } + + Widget _buildInitials(BuildContext context, double borderRadius) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final densityGap = theme.density.baseGap * theme.scaling; + return Container( + decoration: BoxDecoration( + color: styleValue( + widgetValue: widget.backgroundColor, + themeValue: compTheme?.backgroundColor, + defaultValue: theme.colorScheme.muted), + borderRadius: BorderRadius.circular(borderRadius), + ), + child: FittedBox( + fit: BoxFit.fill, + child: Padding( + padding: EdgeInsets.all(densityGap), + child: DefaultTextStyle.merge( + child: Center( + child: Text( + widget.initials, + ), + ), + style: styleValue( + themeValue: compTheme?.textStyle, + defaultValue: TextStyle( + color: theme.colorScheme.foreground, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ); + } + + @override + Widget build(BuildContext context) { + if (widget.badge == null) { + return _build(context); + } + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + double size = styleValue( + widgetValue: widget.size, + themeValue: compTheme?.size, + defaultValue: theme.scaling * 40); + double borderRadius = styleValue( + widgetValue: widget.borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: theme.radius * size); + double badgeSize = widget.badge!.size ?? theme.scaling * 12; + double offset = size / 2 - badgeSize / 2; + offset = offset / size; + final alignment = styleValue( + widgetValue: widget.badgeAlignment, + themeValue: compTheme?.badgeAlignment, + defaultValue: AlignmentDirectional(offset, offset)); + final gap = styleValue( + widgetValue: widget.badgeGap, + themeValue: compTheme?.badgeGap, + defaultValue: theme.scaling * 4); + return AvatarGroup( + alignment: alignment, + gap: gap, + children: [ + _AvatarWidget( + size: widget.badge!.size ?? theme.scaling * 12, + borderRadius: widget.badge!.borderRadius, + child: widget.badge!, + ), + _AvatarWidget( + size: size, + borderRadius: borderRadius, + child: _build(context), + ), + ], + ); + } +} + +/// A circular badge widget designed to overlay on [Avatar] components. +/// +/// [AvatarBadge] provides a small circular indicator typically used to show +/// status information, notifications, or other contextual data on avatars. +/// The badge can contain custom content via [child] or display as a solid +/// colored circle for simple status indicators. +/// +/// ## Features +/// - **Status Indicators**: Colored circles for online/offline status +/// - **Custom Content**: Support for icons, text, or other widgets +/// - **Theme Integration**: Uses primary color by default with theme radius +/// - **Size Flexibility**: Configurable dimensions with automatic scaling +/// +/// ## Common Use Cases +/// - Online status indicators (green dot) +/// - Notification badges (red circle with count) +/// - Custom status icons (checkmarks, warnings) +/// +/// Example: +/// ```dart +/// AvatarBadge( +/// size: 16, +/// color: Colors.green, +/// child: Icon(Icons.check, size: 10, color: Colors.white), +/// ); +/// ``` +class AvatarBadge extends StatelessWidget implements AvatarWidget { + /// Size of the badge in logical pixels. + /// + /// Controls both width and height of the circular badge container. + /// If null, defaults to theme.scaling * 12. + @override + final double? size; + + /// Border radius for the badge corners in logical pixels. + /// + /// If null, defaults to theme.radius * size for proportional rounding, + /// typically creating a circular badge. + @override + final double? borderRadius; + + /// Optional child widget to display inside the badge. + /// + /// Can be an icon, text, or other widget. If null, displays as a + /// solid colored circle using [color]. + final Widget? child; + + /// Background color of the badge. + /// + /// If null, defaults to the theme's primary color. Used as the + /// background color for the circular container. + final Color? color; + + /// Creates an [AvatarBadge]. + /// + /// The badge can display either custom content via [child] or function + /// as a simple colored indicator. + /// + /// Parameters: + /// - [child] (Widget?, optional): Content to display inside the badge. + /// If null, shows as a solid colored circle. + /// - [size] (double?, optional): Badge dimensions in logical pixels. + /// Defaults to theme.scaling * 12. + /// - [borderRadius] (double?, optional): Corner radius in logical pixels. + /// Defaults to theme.radius * size for circular appearance. + /// - [color] (Color?, optional): Background color. Defaults to theme primary. + /// + /// Example: + /// ```dart + /// AvatarBadge( + /// color: Colors.red, + /// child: Text('5', style: TextStyle(color: Colors.white, fontSize: 8)), + /// ); + /// ``` + const AvatarBadge({ + super.key, + this.child, + this.size, + this.borderRadius, + this.color, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + var size = this.size ?? theme.scaling * 12; + return Container( + width: size, + height: size, + decoration: BoxDecoration( + color: color ?? Theme.of(context).colorScheme.primary, + borderRadius: + BorderRadius.circular(borderRadius ?? theme.radius * size), + ), + child: child, + ); + } +} + +class _AvatarWidget extends StatelessWidget implements AvatarWidget { + @override + final double? size; + @override + final double? borderRadius; + final Widget child; + + const _AvatarWidget({ + required this.child, + this.size, + this.borderRadius, + }); + + @override + Widget build(BuildContext context) { + return child; + } +} + +/// A widget that arranges multiple [AvatarWidget]s in an overlapping layout. +/// +/// [AvatarGroup] creates visually appealing overlapping arrangements of avatars, +/// commonly used to display multiple users or participants in a compact space. +/// It automatically handles clipping and positioning to create smooth overlapping +/// effects with configurable gaps and alignment directions. +/// +/// ## Features +/// - **Overlapping Layout**: Automatic positioning with smooth overlapping +/// - **Directional Alignment**: Support for all 8 directional alignments +/// - **Smart Clipping**: Intelligent path clipping preserves rounded corners +/// - **Gap Control**: Configurable spacing between overlapping avatars +/// - **Size Adaptation**: Automatically adapts to different avatar sizes +/// +/// ## Layout Behavior +/// The first avatar is positioned normally, while subsequent avatars are +/// positioned and clipped to create the overlapping effect. The [alignment] +/// parameter controls the direction of overlap, and [gap] controls the +/// spacing between avatars. +/// +/// ## Factory Constructors +/// Convenient factory methods are provided for common alignment patterns: +/// - [toLeft], [toRight]: Horizontal overlapping +/// - [toStart], [toEnd]: Locale-aware horizontal overlapping +/// - [toTop], [toBottom]: Vertical overlapping +/// +/// Example: +/// ```dart +/// AvatarGroup.toRight( +/// children: [ +/// Avatar(initials: 'AB'), +/// Avatar(initials: 'CD'), +/// Avatar(initials: 'EF'), +/// ], +/// gap: 8.0, +/// ); +/// ``` +class AvatarGroup extends StatelessWidget { + /// List of avatar widgets to arrange in overlapping layout. + /// + /// The first avatar in the list serves as the base position, with + /// subsequent avatars overlapping according to [alignment]. + final List children; + + /// Controls the direction and amount of overlap between avatars. + /// + /// Uses standard Flutter [AlignmentGeometry] values: + /// - Positive x values move subsequent avatars to the right + /// - Negative x values move subsequent avatars to the left + /// - Similar behavior for y axis with top/bottom movement + final AlignmentGeometry alignment; + + /// Spacing between overlapping avatars in logical pixels. + /// + /// Controls the gap between the edges of overlapping avatars. + /// If null, defaults to theme.scaling * 4. + final double? gap; + + /// Clipping behavior for the avatar stack. + /// + /// Controls how avatars are clipped at the group boundaries. + /// If null, defaults to [Clip.none]. + final Clip? clipBehavior; + + /// Creates an [AvatarGroup] with custom alignment. + /// + /// This is the base constructor that allows full control over the + /// overlapping behavior through the [alignment] parameter. + /// + /// Parameters: + /// - [alignment] (AlignmentGeometry, required): Direction of overlap + /// - [children] (`List`, required): Avatars to arrange + /// - [gap] (double?, optional): Spacing between avatars + /// - [clipBehavior] (Clip?, optional): Clipping behavior + /// + /// Example: + /// ```dart + /// AvatarGroup( + /// alignment: Alignment(0.5, 0), + /// children: [Avatar(initials: 'A'), Avatar(initials: 'B')], + /// gap: 6.0, + /// ); + /// ``` + const AvatarGroup({ + super.key, + required this.alignment, + required this.children, + this.gap, + this.clipBehavior, + }); + + /// Creates an [AvatarGroup] with left-to-right overlapping. + /// + /// Arranges avatars so that subsequent avatars overlap to the left side + /// of previous avatars, creating a rightward flow. + /// + /// Parameters: + /// - [children] (`List`, required): Avatars to arrange + /// - [gap] (double?, optional): Spacing between overlapping edges + /// - [offset] (double, default: 0.5): Amount of overlap (0.0 to 1.0) + /// + /// Example: + /// ```dart + /// AvatarGroup.toLeft( + /// children: [Avatar(initials: 'A'), Avatar(initials: 'B')], + /// offset: 0.7, + /// ); + /// ``` + factory AvatarGroup.toLeft({ + Key? key, + required List children, + double? gap, + double offset = 0.5, + }) { + return AvatarGroup( + key: key, + alignment: Alignment(offset, 0), + gap: gap, + children: children, + ); + } + + /// Creates an [AvatarGroup] with right-to-left overlapping. + /// + /// Arranges avatars so that subsequent avatars overlap to the right side + /// of previous avatars, creating a leftward flow. + /// + /// Parameters: + /// - [children] (`List`, required): Avatars to arrange + /// - [gap] (double?, optional): Spacing between overlapping edges + /// - [offset] (double, default: 0.5): Amount of overlap (0.0 to 1.0) + /// + /// Example: + /// ```dart + /// AvatarGroup.toRight( + /// children: [Avatar(initials: 'A'), Avatar(initials: 'B')], + /// gap: 4.0, + /// ); + /// ``` + factory AvatarGroup.toRight({ + Key? key, + required List children, + double? gap, + double offset = 0.5, + }) { + return AvatarGroup( + key: key, + alignment: Alignment(-offset, 0), + gap: gap, + children: children, + ); + } + + /// Creates an [AvatarGroup] with start-to-end overlapping. + /// + /// Locale-aware version of [toLeft]. In LTR locales, behaves like [toLeft]. + /// In RTL locales, behaves like [toRight]. + /// + /// Parameters: + /// - [children] (`List`, required): Avatars to arrange + /// - [gap] (double?, optional): Spacing between overlapping edges + /// - [offset] (double, default: 0.5): Amount of overlap (0.0 to 1.0) + /// + /// Example: + /// ```dart + /// AvatarGroup.toStart( + /// children: [Avatar(initials: 'A'), Avatar(initials: 'B')], + /// ); + /// ``` + factory AvatarGroup.toStart({ + Key? key, + required List children, + double? gap, + double offset = 0.5, + }) { + return AvatarGroup( + key: key, + alignment: AlignmentDirectional(offset, 0), + gap: gap, + children: children, + ); + } + + /// Creates an [AvatarGroup] with end-to-start overlapping. + /// + /// Locale-aware version of [toRight]. In LTR locales, behaves like [toRight]. + /// In RTL locales, behaves like [toLeft]. + /// + /// Parameters: + /// - [children] (`List`, required): Avatars to arrange + /// - [gap] (double?, optional): Spacing between overlapping edges + /// - [offset] (double, default: 0.5): Amount of overlap (0.0 to 1.0) + /// + /// Example: + /// ```dart + /// AvatarGroup.toEnd( + /// children: [Avatar(initials: 'A'), Avatar(initials: 'B')], + /// ); + /// ``` + factory AvatarGroup.toEnd({ + Key? key, + required List children, + double? gap, + double offset = 0.5, + }) { + return AvatarGroup( + key: key, + alignment: AlignmentDirectional(-offset, 0), + gap: gap, + children: children, + ); + } + + /// Creates an [AvatarGroup] with top-to-bottom overlapping. + /// + /// Arranges avatars so that subsequent avatars overlap toward the top + /// of previous avatars, creating a downward flow. + /// + /// Parameters: + /// - [children] (`List`, required): Avatars to arrange + /// - [gap] (double?, optional): Spacing between overlapping edges + /// - [offset] (double, default: 0.5): Amount of overlap (0.0 to 1.0) + /// + /// Example: + /// ```dart + /// AvatarGroup.toTop( + /// children: [Avatar(initials: 'A'), Avatar(initials: 'B')], + /// ); + /// ``` + factory AvatarGroup.toTop({ + Key? key, + required List children, + double? gap, + double offset = 0.5, + }) { + return AvatarGroup( + key: key, + alignment: Alignment(0, offset), + gap: gap, + children: children, + ); + } + + /// Creates an [AvatarGroup] with bottom-to-top overlapping. + /// + /// Arranges avatars so that subsequent avatars overlap toward the bottom + /// of previous avatars, creating an upward flow. + /// + /// Parameters: + /// - [children] (`List`, required): Avatars to arrange + /// - [gap] (double?, optional): Spacing between overlapping edges + /// - [offset] (double, default: 0.5): Amount of overlap (0.0 to 1.0) + /// + /// Example: + /// ```dart + /// AvatarGroup.toBottom( + /// children: [Avatar(initials: 'A'), Avatar(initials: 'B')], + /// ); + /// ``` + factory AvatarGroup.toBottom({ + Key? key, + required List children, + double? gap, + double offset = 0.5, + }) { + return AvatarGroup( + key: key, + alignment: Alignment(0, -offset), + gap: gap, + children: children, + ); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + List children = []; + double currentX = 0; + double currentY = 0; + double currentWidth = 0; + double currentHeight = 0; + Rect rect = Rect.zero; + double currentBorderRadius = 0; + Alignment resolved = alignment.optionallyResolve(context); + for (int i = 0; i < this.children.length; i++) { + AvatarWidget avatar = this.children[i]; + double size = avatar.size ?? theme.scaling * 40; + if (i == 0) { + children.add( + Positioned( + left: currentX, + top: currentY, + child: avatar, + ), + ); + rect = Rect.fromLTWH(currentX, currentY, size, size); + currentWidth = size; + currentHeight = size; + currentBorderRadius = + avatar.borderRadius ?? Theme.of(context).radius * size; + } else { + double width = size; + double height = size; + double widthDiff = currentWidth - width; + double heightDiff = currentHeight - height; + + var offsetWidth = -currentWidth * resolved.x; + var offsetHeight = -currentHeight * resolved.y; + var offsetWidthDiff = widthDiff * resolved.x; + var offsetHeightDiff = heightDiff * resolved.y; + double x = (widthDiff / 2) + offsetWidth + currentX + offsetWidthDiff; + double y = + (heightDiff / 2) + offsetHeight + currentY + offsetHeightDiff; + + // NOTE: child positions are not affected by gap + + children.add( + Positioned( + left: x, + top: y, + width: size, + height: size, + child: ClipPath( + clipper: AvatarGroupClipper( + borderRadius: currentBorderRadius, + alignment: resolved, + previousAvatarSize: currentWidth, + gap: gap ?? theme.scaling * 4, + ), + child: avatar, + ), + ), + ); + + currentX = x; + currentY = y; + currentWidth = size; + currentHeight = size; + currentBorderRadius = avatar.borderRadius ?? theme.radius * size; + + rect = rect.expandToInclude(Rect.fromLTWH(x, y, size, size)); + } + } + return SizedBox( + width: rect.width, + height: rect.height, + child: Stack( + clipBehavior: clipBehavior ?? Clip.none, + alignment: Alignment.center, + children: children.map( + (e) { + return Positioned( + left: e.left! - rect.left, + top: e.top! - rect.top, + width: e.width, + height: e.height, + child: e.child, + ); + }, + ).toList(), + ), + ); + } +} + +/// Custom clipper for creating overlapping avatar group effects. +/// +/// Clips avatars to create a stacked appearance where each avatar partially +/// overlaps the previous one, accounting for border radius and alignment. +class AvatarGroupClipper extends CustomClipper { + /// The border radius for rounded corners on avatars. + final double borderRadius; + + /// The alignment of avatars within the group. + final Alignment alignment; + + /// The size of the previous avatar in the stack. + final double previousAvatarSize; + + /// The gap between overlapping avatars. + final double gap; + + /// Creates an avatar group clipper with the specified parameters. + const AvatarGroupClipper({ + required this.borderRadius, + required this.alignment, + required this.previousAvatarSize, + required this.gap, + }); + + @override + Path getClip(Size size) { + // cut the avatar by the previous avatar + // avatars are rounded rectangles + + var prevAvatarSize = previousAvatarSize; + + double widthDiff = size.width - prevAvatarSize; + double heightDiff = size.height - prevAvatarSize; + + // align both at center first + double left = (widthDiff / 2); + double top = (heightDiff / 2); + + left += size.width * alignment.x; + top += size.height * alignment.y; + + Path path = Path(); + path.fillType = PathFillType.evenOdd; + path.addRect(Rect.fromLTWH(0, 0, size.width, size.height)); + if (borderRadius > 0) { + path.addRRect( + RRect.fromRectAndRadius( + Rect.fromLTWH( + left - gap, + top - gap, + prevAvatarSize + gap * 2, + prevAvatarSize + gap * 2, + ), + Radius.circular(borderRadius + gap * 2), + ), + ); + } else { + path.addRect( + Rect.fromLTWH( + left - gap, + top - gap, + prevAvatarSize + gap * 2, + prevAvatarSize + gap * 2, + ), + ); + } + return path; + } + + @override + bool shouldReclip(covariant AvatarGroupClipper oldClipper) { + return oldClipper.borderRadius != borderRadius || + oldClipper.alignment != alignment || + oldClipper.previousAvatarSize != previousAvatarSize || + oldClipper.gap != gap; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/badge.dart b/third_party/shadcn_flutter/lib/src/components/display/badge.dart new file mode 100644 index 00000000..3ca18f29 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/badge.dart @@ -0,0 +1,328 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme data for customizing badge widget appearance across different styles. +/// +/// This class defines the visual properties that can be applied to various +/// badge types including [PrimaryBadge], [SecondaryBadge], [OutlineBadge], +/// and [DestructiveBadge]. Each badge style can have its own button styling +/// configuration to provide consistent appearance across the application. +class BadgeTheme extends ComponentThemeData { + /// Style for [PrimaryBadge]. + final AbstractButtonStyle? primaryStyle; + + /// Style for [SecondaryBadge]. + final AbstractButtonStyle? secondaryStyle; + + /// Style for [OutlineBadge]. + final AbstractButtonStyle? outlineStyle; + + /// Style for [DestructiveBadge]. + final AbstractButtonStyle? destructiveStyle; + + /// Creates a [BadgeTheme]. + const BadgeTheme({ + this.primaryStyle, + this.secondaryStyle, + this.outlineStyle, + this.destructiveStyle, + }); + + /// Returns a copy of this theme with the given fields replaced. + BadgeTheme copyWith({ + ValueGetter? primaryStyle, + ValueGetter? secondaryStyle, + ValueGetter? outlineStyle, + ValueGetter? destructiveStyle, + }) { + return BadgeTheme( + primaryStyle: primaryStyle == null ? this.primaryStyle : primaryStyle(), + secondaryStyle: + secondaryStyle == null ? this.secondaryStyle : secondaryStyle(), + outlineStyle: outlineStyle == null ? this.outlineStyle : outlineStyle(), + destructiveStyle: + destructiveStyle == null ? this.destructiveStyle : destructiveStyle(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is BadgeTheme && + other.primaryStyle == primaryStyle && + other.secondaryStyle == secondaryStyle && + other.outlineStyle == outlineStyle && + other.destructiveStyle == destructiveStyle; + } + + @override + int get hashCode => + Object.hash(primaryStyle, secondaryStyle, outlineStyle, destructiveStyle); +} + +/// A primary style badge widget for highlighting important information or status. +/// +/// [PrimaryBadge] displays content in a prominent badge format using the primary +/// color scheme. It's designed for high-importance status indicators, labels, +/// and interactive elements that need to draw attention. The badge supports +/// leading and trailing widgets for icons or additional content. +/// +/// Key features: +/// - Primary color styling with emphasis and contrast +/// - Optional tap handling for interactive badges +/// - Support for leading and trailing widgets (icons, counters, etc.) +/// - Customizable button styling through theme integration +/// - Compact size optimized for badge display +/// - Consistent visual hierarchy with other badge variants +/// +/// The badge uses button-like styling but in a compact form factor suitable +/// for status displays, labels, and small interactive elements. It integrates +/// with the theme system to maintain visual consistency. +/// +/// Common use cases: +/// - Status indicators (active, new, featured) +/// - Notification counts and alerts +/// - Category labels and tags +/// - Interactive filter chips +/// - Achievement or ranking displays +/// +/// Example: +/// ```dart +/// PrimaryBadge( +/// child: Text('NEW'), +/// leading: Icon(Icons.star, size: 16), +/// onPressed: () => _showNewItems(), +/// ); +/// +/// // Non-interactive status badge +/// PrimaryBadge( +/// child: Text('5'), +/// trailing: Icon(Icons.notifications, size: 14), +/// ); +/// ``` +class PrimaryBadge extends StatelessWidget { + /// The main content of the badge. + final Widget child; + + /// Optional callback when the badge is pressed, making it interactive. + /// + /// If `null`, the badge is non-interactive. + final VoidCallback? onPressed; + + /// Optional widget displayed before the child content. + final Widget? leading; + + /// Optional widget displayed after the child content. + final Widget? trailing; + + /// Optional custom style override for the badge. + /// + /// If `null`, uses theme's primary badge style or default primary styling. + final AbstractButtonStyle? style; + + /// Creates a primary badge. + const PrimaryBadge({ + super.key, + required this.child, + this.onPressed, + this.leading, + this.trailing, + this.style, + }); + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final baseStyle = style ?? + compTheme?.primaryStyle ?? + const ButtonStyle.primary( + size: ButtonSize.small, + density: ButtonDensity.dense, + shape: ButtonShape.rectangle, + ).copyWith( + textStyle: (context, states, value) { + return value.copyWith(fontWeight: FontWeight.w500); + }, + ); + return ExcludeFocus( + child: Button( + leading: leading, + trailing: trailing, + onPressed: onPressed, + enabled: true, + style: baseStyle, + child: child, + ), + ); + } +} + +/// A secondary-styled badge for displaying labels, counts, or status indicators. +/// +/// Similar to [PrimaryBadge] but with secondary (muted) styling suitable for +/// less prominent information. +class SecondaryBadge extends StatelessWidget { + /// The main content of the badge. + final Widget child; + + /// Optional callback when the badge is pressed. + final VoidCallback? onPressed; + + /// Optional widget displayed before the child content. + final Widget? leading; + + /// Optional widget displayed after the child content. + final Widget? trailing; + + /// Optional custom style override for the badge. + final AbstractButtonStyle? style; + + /// Creates a secondary badge with the specified child content. + const SecondaryBadge({ + super.key, + required this.child, + this.onPressed, + this.leading, + this.trailing, + this.style, + }); + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final baseStyle = style ?? + compTheme?.secondaryStyle ?? + const ButtonStyle.secondary( + size: ButtonSize.small, + density: ButtonDensity.dense, + shape: ButtonShape.rectangle, + ).copyWith( + textStyle: (context, states, value) { + return value.copyWith(fontWeight: FontWeight.w500); + }, + ); + return ExcludeFocus( + child: Button( + leading: leading, + trailing: trailing, + onPressed: onPressed, + enabled: true, + style: baseStyle, + child: child, + ), + ); + } +} + +/// An outline-styled badge for displaying labels, counts, or status indicators. +/// +/// Uses outline styling with a visible border and no background fill, +/// suitable for less visually prominent badge elements. +class OutlineBadge extends StatelessWidget { + /// The main content of the badge. + final Widget child; + + /// Optional callback when the badge is pressed. + final VoidCallback? onPressed; + + /// Optional widget displayed before the child content. + final Widget? leading; + + /// Optional widget displayed after the child content. + final Widget? trailing; + + /// Optional custom style override for the badge. + final AbstractButtonStyle? style; + + /// Creates an outline badge with the specified child content. + const OutlineBadge({ + super.key, + required this.child, + this.onPressed, + this.leading, + this.trailing, + this.style, + }); + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final baseStyle = style ?? + compTheme?.outlineStyle ?? + const ButtonStyle.outline( + size: ButtonSize.small, + density: ButtonDensity.dense, + shape: ButtonShape.rectangle, + ).copyWith( + textStyle: (context, states, value) { + return value.copyWith(fontWeight: FontWeight.w500); + }, + ); + return ExcludeFocus( + child: Button( + leading: leading, + trailing: trailing, + onPressed: onPressed, + enabled: true, + style: baseStyle, + child: child, + ), + ); + } +} + +/// A destructive-styled badge for displaying warnings or dangerous actions. +/// +/// Uses destructive (typically red) styling to indicate dangerous, destructive, +/// or critical information that requires user attention. +class DestructiveBadge extends StatelessWidget { + /// The main content of the badge. + final Widget child; + + /// Optional callback when the badge is pressed. + final VoidCallback? onPressed; + + /// Optional widget displayed before the child content. + final Widget? leading; + + /// Optional widget displayed after the child content. + final Widget? trailing; + + /// Optional custom style override for the badge. + final AbstractButtonStyle? style; + + /// Creates a destructive badge with the specified child content. + const DestructiveBadge({ + super.key, + required this.child, + this.onPressed, + this.leading, + this.trailing, + this.style, + }); + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final baseStyle = style ?? + compTheme?.destructiveStyle ?? + const ButtonStyle.destructive( + size: ButtonSize.small, + density: ButtonDensity.dense, + shape: ButtonShape.rectangle, + ).copyWith( + textStyle: (context, states, value) { + return value.copyWith(fontWeight: FontWeight.w500); + }, + ); + return ExcludeFocus( + child: Button( + leading: leading, + trailing: trailing, + onPressed: onPressed, + enabled: true, + style: baseStyle, + child: child, + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/calendar.dart b/third_party/shadcn_flutter/lib/src/components/display/calendar.dart new file mode 100644 index 00000000..7d41672a --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/calendar.dart @@ -0,0 +1,2060 @@ +import 'package:flutter/foundation.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme configuration for calendar widgets. +/// +/// Provides styling options for calendar components, including arrow icon colors +/// for navigation buttons and other visual elements. +class CalendarTheme extends ComponentThemeData { + /// Color of navigation arrow icons. + final Color? arrowIconColor; + + /// Creates a [CalendarTheme]. + /// + /// Parameters: + /// - [arrowIconColor] (`Color?`, optional): Color for navigation arrow icons. + const CalendarTheme({this.arrowIconColor}); + + /// Creates a copy of this theme with the given fields replaced. + CalendarTheme copyWith({ValueGetter? arrowIconColor}) { + return CalendarTheme( + arrowIconColor: + arrowIconColor == null ? this.arrowIconColor : arrowIconColor()); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is CalendarTheme && other.arrowIconColor == arrowIconColor; + } + + @override + int get hashCode => arrowIconColor.hashCode; +} + +/// Defines the different view types available in calendar components. +/// +/// Specifies what granularity of time selection is displayed. +enum CalendarViewType { + /// Shows individual days in a month grid. + date, + + /// Shows months in a year grid. + month, + + /// Shows years in a decade grid. + year, +} + +/// Represents the interactive state of a date in the calendar. +/// +/// Controls whether a specific date can be selected or interacted with. +enum DateState { + /// Date cannot be selected or clicked. + disabled, + + /// Date is fully interactive and selectable. + enabled, +} + +/// Callback function type for determining the state of calendar dates. +/// +/// Takes a [DateTime] and returns a [DateState] to control whether +/// that date should be enabled or disabled for user interaction. +typedef DateStateBuilder = DateState Function(DateTime date); + +/// Selection modes available for calendar components. +/// +/// Determines how users can select dates in calendar widgets. +enum CalendarSelectionMode { + /// No date selection allowed (display only). + none, + + /// Only one date can be selected at a time. + single, + + /// Two dates can be selected to form a date range. + range, + + /// Multiple individual dates can be selected. + multi, +} + +/// A date picker dialog that provides comprehensive date selection capabilities. +/// +/// Displays a modal dialog containing a calendar interface with support for +/// different view types (date, month, year), selection modes (single, range, multi), +/// and customizable date states. Includes navigation controls and responsive layouts. +/// +/// Features: +/// - Multiple view types: date grid, month grid, year grid +/// - Various selection modes: single date, date range, multiple dates +/// - Navigation arrows with keyboard support +/// - Customizable date state validation +/// - Dual-calendar layout for range selection +/// - Theme integration and localization support +/// +/// Example: +/// ```dart +/// DatePickerDialog( +/// initialViewType: CalendarViewType.date, +/// selectionMode: CalendarSelectionMode.single, +/// initialValue: CalendarValue.single(DateTime.now()), +/// onChanged: (value) => print('Selected: $value'), +/// ) +/// ``` +class DatePickerDialog extends StatefulWidget { + /// The initial view type to display (date, month, or year grid). + final CalendarViewType initialViewType; + + /// The initial calendar view position (month/year to display). + final CalendarView? initialView; + + /// The selection mode determining how dates can be selected. + final CalendarSelectionMode selectionMode; + + /// Alternative view mode for display purposes. + final CalendarSelectionMode? viewMode; + + /// The initially selected date value(s). + final CalendarValue? initialValue; + + /// Callback invoked when the selected date(s) change. + final ValueChanged? onChanged; + + /// Builder function to determine the state of each date. + final DateStateBuilder? stateBuilder; + + /// Creates a [DatePickerDialog] with comprehensive date selection options. + /// + /// Configures the dialog's initial state, selection behavior, and callbacks + /// for handling date changes and validation. + /// + /// Parameters: + /// - [initialViewType] (CalendarViewType, required): Starting view (date/month/year) + /// - [initialView] (CalendarView?, optional): Initial calendar view position + /// - [selectionMode] (CalendarSelectionMode, required): How dates can be selected + /// - [viewMode] (CalendarSelectionMode?, optional): Alternative view mode for display + /// - [initialValue] (CalendarValue?, optional): Pre-selected date(s) + /// - [onChanged] (`ValueChanged?`, optional): Called when selection changes + /// - [stateBuilder] (DateStateBuilder?, optional): Custom date state validation + /// + /// Example: + /// ```dart + /// DatePickerDialog( + /// initialViewType: CalendarViewType.date, + /// selectionMode: CalendarSelectionMode.range, + /// onChanged: (value) => handleDateChange(value), + /// stateBuilder: (date) => date.isBefore(DateTime.now()) + /// ? DateState.disabled + /// : DateState.enabled, + /// ) + /// ``` + const DatePickerDialog({ + super.key, + required this.initialViewType, + this.initialView, + required this.selectionMode, + this.viewMode, + this.initialValue, + this.onChanged, + this.stateBuilder, + }); + + @override + State createState() => _DatePickerDialogState(); +} + +class _DatePickerDialogState extends State { + late CalendarView _view; + late CalendarView _alternateView; + late CalendarValue? _value; + late CalendarViewType _viewType; + late int _yearSelectStart; + bool _alternate = false; + + @override + void initState() { + super.initState(); + _view = + widget.initialView ?? widget.initialValue?.view ?? CalendarView.now(); + _alternateView = _view.next; + _value = widget.initialValue; + _viewType = widget.initialViewType; + // _yearSelectStart = round year every 16 years so that it can fit 4x4 grid + _yearSelectStart = (_view.year ~/ 16) * 16; + } + + @override + void didUpdateWidget(covariant DatePickerDialog oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.initialView != oldWidget.initialView) { + _view = + widget.initialView ?? widget.initialValue?.view ?? CalendarView.now(); + _alternateView = _view.next; + _yearSelectStart = (_view.year ~/ 16) * 16; + } + if (widget.initialValue != oldWidget.initialValue) { + _value = widget.initialValue; + } + if (widget.initialViewType != oldWidget.initialViewType) { + _viewType = widget.initialViewType; + } + } + + String getHeaderText(ShadcnLocalizations localizations, CalendarView view, + CalendarViewType viewType) { + if (viewType == CalendarViewType.date) { + return '${localizations.getMonth(view.month)} ${view.year}'; + } + if (viewType == CalendarViewType.month) { + return '${view.year}'; + } + return localizations.datePickerSelectYear; + } + + @override + Widget build(BuildContext context) { + ShadcnLocalizations localizations = ShadcnLocalizations.of(context); + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final arrowColor = + styleValue(themeValue: compTheme?.arrowIconColor, defaultValue: null); + final viewMode = widget.viewMode ?? widget.selectionMode; + if (widget.selectionMode == CalendarSelectionMode.range) { + return IntrinsicWidth( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Expanded( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + OutlineButton( + density: ButtonDensity.icon, + onPressed: () { + setState(() { + switch (_viewType) { + case CalendarViewType.date: + _view = _view.previous; + _alternateView = _alternateView.previous; + break; + case CalendarViewType.month: + _view = _view.previousYear; + break; + case CalendarViewType.year: + _yearSelectStart -= 16; + break; + } + }); + }, + child: Icon(LucideIcons.arrowLeft, color: arrowColor) + .iconXSmall(), + ), + SizedBox( + width: theme.scaling * 16, + ), + Expanded( + child: GhostButton( + enabled: _viewType != CalendarViewType.year, + onPressed: () { + _alternate = false; + switch (_viewType) { + case CalendarViewType.date: + setState(() { + _viewType = CalendarViewType.month; + }); + break; + case CalendarViewType.month: + setState(() { + _viewType = CalendarViewType.year; + }); + break; + default: + break; + } + }, + child: Text(getHeaderText( + localizations, _view, _viewType)) + .foreground() + .small() + .medium() + .center(), + ).sized(height: theme.scaling * 32), + ), + if (_viewType == CalendarViewType.date && + viewMode == CalendarSelectionMode.range) + SizedBox( + width: theme.scaling * 32, + ), + SizedBox( + width: theme.scaling * 16, + ), + if (_viewType != CalendarViewType.date || + viewMode != CalendarSelectionMode.range) + OutlineButton( + density: ButtonDensity.icon, + onPressed: () { + setState(() { + switch (_viewType) { + case CalendarViewType.date: + _view = _view.next; + break; + case CalendarViewType.month: + _view = _view.nextYear; + break; + case CalendarViewType.year: + _yearSelectStart += 16; + break; + } + }); + }, + child: Icon(LucideIcons.arrowRight, color: arrowColor) + .iconXSmall(), + ), + ], + ), + ), + if (_viewType == CalendarViewType.date && + viewMode == CalendarSelectionMode.range) + Gap(theme.density.baseGap * theme.scaling * 2), + if (_viewType == CalendarViewType.date && + viewMode == CalendarSelectionMode.range) + Expanded( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + SizedBox( + width: theme.scaling * (32 + 16), + ), + Expanded( + child: GhostButton( + onPressed: () { + _alternate = true; + switch (_viewType) { + case CalendarViewType.date: + setState(() { + _viewType = CalendarViewType.month; + }); + break; + case CalendarViewType.month: + setState(() { + _viewType = CalendarViewType.year; + }); + break; + default: + break; + } + }, + child: Text(getHeaderText( + localizations, _alternateView, _viewType)) + .foreground() + .small() + .medium() + .center(), + ).sized(height: theme.scaling * 32), + ), + SizedBox( + width: theme.scaling * 16, + ), + OutlineButton( + density: ButtonDensity.icon, + onPressed: () { + setState(() { + switch (_viewType) { + case CalendarViewType.date: + _view = _view.next; + _alternateView = _alternateView.next; + break; + case CalendarViewType.month: + _view = _view.nextYear; + break; + case CalendarViewType.year: + _yearSelectStart += 16; + break; + } + }); + }, + child: Icon(LucideIcons.arrowRight, color: arrowColor) + .iconXSmall(), + ), + ], + ), + ), + ], + ), + Gap(theme.density.baseGap * theme.scaling * 2), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: viewMode == CalendarSelectionMode.range + ? MainAxisAlignment.spaceAround + : MainAxisAlignment.center, + children: [ + buildView( + context, + _yearSelectStart, + _view, + _viewType, + widget.selectionMode, + (value) { + setState(() { + if (!_alternate) { + _view = value; + _alternateView = value.next; + } else { + _view = value.previous; + _alternateView = value; + } + switch (_viewType) { + case CalendarViewType.date: + break; + case CalendarViewType.month: + _viewType = CalendarViewType.date; + break; + case CalendarViewType.year: + _viewType = CalendarViewType.month; + break; + } + }); + }, + ), + if (_viewType == CalendarViewType.date && + viewMode == CalendarSelectionMode.range) + Gap(theme.density.baseGap * theme.scaling * 2), + if (_viewType == CalendarViewType.date && + viewMode == CalendarSelectionMode.range) + buildView( + context, + _yearSelectStart, + _alternateView, + _viewType, + widget.selectionMode, + (value) {}, + ), + ], + ), + ], + ), + ); + } + return IntrinsicWidth( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Row( + children: [ + OutlineButton( + density: ButtonDensity.icon, + onPressed: () { + setState(() { + switch (_viewType) { + case CalendarViewType.date: + _view = _view.previous; + break; + case CalendarViewType.month: + _view = _view.previousYear; + break; + case CalendarViewType.year: + _yearSelectStart -= 16; + break; + } + }); + }, + child: + Icon(LucideIcons.arrowLeft, color: arrowColor).iconXSmall(), + ), + SizedBox( + width: theme.scaling * 16, + ), + Expanded( + child: GhostButton( + enabled: _viewType != CalendarViewType.year, + onPressed: () { + switch (_viewType) { + case CalendarViewType.date: + setState(() { + _viewType = CalendarViewType.month; + }); + break; + case CalendarViewType.month: + setState(() { + _viewType = CalendarViewType.year; + }); + break; + default: + break; + } + }, + child: Text(getHeaderText(localizations, _view, _viewType)) + .foreground() + .small() + .medium() + .center(), + ).sized(height: theme.scaling * 32), + ), + SizedBox( + width: theme.scaling * 16, + ), + OutlineButton( + density: ButtonDensity.icon, + onPressed: () { + setState(() { + switch (_viewType) { + case CalendarViewType.date: + _view = _view.next; + break; + case CalendarViewType.month: + _view = _view.nextYear; + break; + case CalendarViewType.year: + _yearSelectStart += 16; + break; + } + }); + }, + child: Icon(LucideIcons.arrowRight, color: arrowColor) + .iconXSmall(), + ), + ], + ), + Gap(theme.density.baseGap * theme.scaling * 2), + buildView( + context, + _yearSelectStart, + _view, + _viewType, + widget.selectionMode, + (value) { + setState(() { + _view = value; + switch (_viewType) { + case CalendarViewType.date: + break; + case CalendarViewType.month: + _viewType = CalendarViewType.date; + break; + case CalendarViewType.year: + _viewType = CalendarViewType.month; + break; + } + }); + }, + ), + ], + ), + ); + } + + Widget buildView( + BuildContext context, + int yearSelectStart, + CalendarView view, + CalendarViewType viewType, + CalendarSelectionMode selectionMode, + ValueChanged onViewChanged) { + if (viewType == CalendarViewType.year) { + return YearCalendar( + value: view.year, + yearSelectStart: yearSelectStart, + calendarValue: _value, + stateBuilder: widget.stateBuilder, + onChanged: (value) { + setState(() { + onViewChanged(view.copyWith(year: () => value)); + }); + }, + ); + } + if (viewType == CalendarViewType.month) { + return MonthCalendar( + value: view, + onChanged: onViewChanged, + stateBuilder: widget.stateBuilder, + calendarValue: _value, + ); + } + return Calendar( + value: _value, + view: view, + stateBuilder: widget.stateBuilder, + onChanged: (value) { + setState(() { + _value = value; + widget.onChanged?.call(value); + }); + }, + selectionMode: selectionMode, + ); + } +} + +/// Abstract base class representing calendar selection values. +/// +/// Provides a unified interface for different types of calendar selections including +/// single dates, date ranges, and multiple date collections. Handles date lookup +/// operations and conversion between different selection types. +/// +/// Subclasses include: +/// - [SingleCalendarValue]: Represents a single selected date +/// - [RangeCalendarValue]: Represents a date range with start and end +/// - [MultiCalendarValue]: Represents multiple individual selected dates +/// +/// The class provides factory constructors for easy creation and conversion +/// methods to transform between different selection types as needed. +/// +/// Example: +/// ```dart +/// // Create different value types +/// final single = CalendarValue.single(DateTime.now()); +/// final range = CalendarValue.range(startDate, endDate); +/// final multi = CalendarValue.multi([date1, date2, date3]); +/// +/// // Check if a date is selected +/// final lookup = value.lookup(2024, 3, 15); +/// final isSelected = lookup != CalendarValueLookup.none; +/// ``` +abstract class CalendarValue { + /// Looks up whether the specified date is part of this calendar value. + /// + /// Returns a [CalendarValueLookup] indicating the relationship of the + /// queried date to this value (none, selected, start, end, or inRange). + CalendarValueLookup lookup(int year, [int? month = 1, int? day = 1]); + + /// Creates a base calendar value. + const CalendarValue(); + + /// Factory constructor to create a single date value. + static SingleCalendarValue single(DateTime date) { + return SingleCalendarValue(date); + } + + /// Factory constructor to create a date range value. + static RangeCalendarValue range(DateTime start, DateTime end) { + return RangeCalendarValue(start, end); + } + + /// Factory constructor to create a multi-date value. + static MultiCalendarValue multi(List dates) { + return MultiCalendarValue(dates); + } + + /// Converts this value to a single calendar value. + SingleCalendarValue toSingle(); + + /// Converts this value to a range calendar value. + RangeCalendarValue toRange(); + + /// Converts this value to a multi calendar value. + MultiCalendarValue toMulti(); + + /// Returns the calendar view associated with this value. + CalendarView get view; +} + +DateTime _convertNecessarry(DateTime from, int year, [int? month, int? date]) { + if (month == null) { + return DateTime(from.year); + } + if (date == null) { + return DateTime(from.year, from.month); + } + return DateTime(from.year, from.month, from.day); +} + +/// Calendar value representing a single selected date. +/// +/// Encapsulates a single [DateTime] selection and provides lookup functionality +/// to determine if a given date matches the selected date. Used primarily +/// with [CalendarSelectionMode.single]. +/// +/// Example: +/// ```dart +/// final singleValue = SingleCalendarValue(DateTime(2024, 3, 15)); +/// final lookup = singleValue.lookup(2024, 3, 15); +/// print(lookup == CalendarValueLookup.selected); // true +/// ``` +class SingleCalendarValue extends CalendarValue { + /// The selected date. + final DateTime date; + + /// Creates a single calendar value with the specified date. + SingleCalendarValue(this.date); + + @override + CalendarValueLookup lookup(int year, [int? month, int? day]) { + DateTime current = _convertNecessarry(date, year, month, day); + if (current.isAtSameMomentAs(DateTime(year, month ?? 1, day ?? 1))) { + return CalendarValueLookup.selected; + } + return CalendarValueLookup.none; + } + + @override + CalendarView get view => date.toCalendarView(); + + @override + String toString() { + return 'SingleCalendarValue($date)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is SingleCalendarValue && other.date == date; + } + + @override + int get hashCode => date.hashCode; + + @override + SingleCalendarValue toSingle() { + return this; + } + + @override + RangeCalendarValue toRange() { + return CalendarValue.range(date, date); + } + + @override + MultiCalendarValue toMulti() { + return CalendarValue.multi([date]); + } +} + +/// Calendar value representing a date range selection. +/// +/// Encapsulates a date range with start and end dates. Provides lookup +/// functionality to determine if a date is the start, end, within the range, +/// or outside. Used with [CalendarSelectionMode.range]. +/// +/// The range is automatically normalized so start is always before or equal to end. +class RangeCalendarValue extends CalendarValue { + /// The start date of the range (always <= end). + final DateTime start; + + /// The end date of the range (always >= start). + final DateTime end; + + /// Creates a range calendar value with the specified start and end dates. + /// + /// Automatically normalizes the range so [start] is before [end]. + RangeCalendarValue(DateTime start, DateTime end) + : start = start.isBefore(end) ? start : end, + end = start.isBefore(end) ? end : start; + + @override + CalendarValueLookup lookup(int year, [int? month, int? day]) { + DateTime start = _convertNecessarry(this.start, year, month, day); + DateTime end = _convertNecessarry(this.end, year, month, day); + DateTime current = DateTime(year, month ?? 1, day ?? 1); + if (current.isAtSameMomentAs(start) && current.isAtSameMomentAs(end)) { + return CalendarValueLookup.selected; + } + if (current.isAtSameMomentAs(start)) { + return CalendarValueLookup.start; + } + if (current.isAtSameMomentAs(end)) { + return CalendarValueLookup.end; + } + if (current.isAfter(start) && current.isBefore(end)) { + return CalendarValueLookup.inRange; + } + return CalendarValueLookup.none; + } + + @override + CalendarView get view => start.toCalendarView(); + + @override + String toString() { + return 'RangedCalendarValue($start, $end)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is RangeCalendarValue && + other.start == start && + other.end == end; + } + + @override + int get hashCode => start.hashCode ^ end.hashCode; + + @override + SingleCalendarValue toSingle() { + return CalendarValue.single(start); + } + + @override + RangeCalendarValue toRange() { + return this; + } + + @override + MultiCalendarValue toMulti() { + List dates = []; + for (DateTime date = start; + date.isBefore(end); + date = date.add(const Duration(days: 1))) { + dates.add(date); + } + dates.add(end); + return CalendarValue.multi(dates); + } +} + +/// Calendar value representing multiple selected dates. +/// +/// Encapsulates a list of individually selected dates. Provides lookup +/// functionality to determine if a date is among the selected dates. +/// Used with [CalendarSelectionMode.multi]. +class MultiCalendarValue extends CalendarValue { + /// The list of selected dates. + final List dates; + + /// Creates a multi calendar value with the specified list of dates. + MultiCalendarValue(this.dates); + + @override + CalendarValueLookup lookup(int year, [int? month, int? day]) { + DateTime current = DateTime(year, month ?? 1, day ?? 1); + if (dates.any((element) => _convertNecessarry(element, year, month, day) + .isAtSameMomentAs(current))) { + return CalendarValueLookup.selected; + } + return CalendarValueLookup.none; + } + + @override + CalendarView get view => + dates.firstOrNull?.toCalendarView() ?? CalendarView.now(); + + @override + String toString() { + return 'MultiCalendarValue($dates)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is MultiCalendarValue && listEquals(other.dates, dates); + } + + @override + int get hashCode => dates.hashCode; + + @override + SingleCalendarValue toSingle() { + return CalendarValue.single(dates.first); + } + + @override + RangeCalendarValue toRange() { + assert(dates.isNotEmpty, 'Cannot convert empty list to range'); + DateTime min = dates + .reduce((value, element) => value.isBefore(element) ? value : element); + DateTime max = dates + .reduce((value, element) => value.isAfter(element) ? value : element); + return CalendarValue.range(min, max); + } + + @override + MultiCalendarValue toMulti() { + return this; + } +} + +/// Result type for calendar value lookup operations. +/// +/// Indicates the relationship between a queried date and the current calendar selection. +enum CalendarValueLookup { + /// Date is not part of any selection. + none, + + /// Date is directly selected (single mode or exact match). + selected, + + /// Date is the start of a selected range. + start, + + /// Date is the end of a selected range. + end, + + /// Date falls within a selected range but is not start/end. + inRange +} + +/// Represents a specific month and year view in calendar navigation. +/// +/// Provides immutable representation of a calendar's current viewing position +/// with navigation methods to move between months and years. Used to control +/// which month/year combination is displayed in calendar grids. +/// +/// Key Features: +/// - **Navigation Methods**: [next], [previous], [nextYear], [previousYear] +/// - **Factory Constructors**: [now()], [fromDateTime()] +/// - **Validation**: Ensures month values stay within 1-12 range +/// - **Immutable**: All navigation returns new CalendarView instances +/// +/// Example: +/// ```dart +/// // Create views for different dates +/// final current = CalendarView.now(); +/// final specific = CalendarView(2024, 3); // March 2024 +/// final fromDate = CalendarView.fromDateTime(someDateTime); +/// +/// // Navigate between months +/// final nextMonth = current.next; +/// final prevMonth = current.previous; +/// final nextYear = current.nextYear; +/// ``` +class CalendarView { + /// The year component of this view. + final int year; + + /// The month component of this view (1-12). + final int month; + + /// Creates a [CalendarView] for the specified year and month. + /// + /// Parameters: + /// - [year] (int): Four-digit year value + /// - [month] (int): Month number (1-12, where 1 = January) + /// + /// Throws [AssertionError] if month is not between 1 and 12. + /// + /// Example: + /// ```dart + /// final view = CalendarView(2024, 3); // March 2024 + /// ``` + CalendarView(this.year, this.month) { + assert(month >= 1 && month <= 12, 'Month must be between 1 and 12'); + } + + /// Creates a [CalendarView] for the current month and year. + /// + /// Uses [DateTime.now()] to determine the current date and extracts + /// the year and month components. + /// + /// Example: + /// ```dart + /// final currentView = CalendarView.now(); + /// ``` + factory CalendarView.now() { + DateTime now = DateTime.now(); + return CalendarView(now.year, now.month); + } + + /// Creates a [CalendarView] from an existing [DateTime]. + /// + /// Extracts the year and month components from the provided [DateTime] + /// and creates a corresponding calendar view. + /// + /// Parameters: + /// - [dateTime] (DateTime): Date to extract year and month from + /// + /// Example: + /// ```dart + /// final birthday = DateTime(1995, 7, 15); + /// final view = CalendarView.fromDateTime(birthday); // July 1995 + /// ``` + factory CalendarView.fromDateTime(DateTime dateTime) { + return CalendarView(dateTime.year, dateTime.month); + } + + /// Returns a view for the next month. + /// + /// Advances to the next month, rolling over to January of the next year + /// if the current month is December. + CalendarView get next { + if (month == 12) { + return CalendarView(year + 1, 1); + } + return CalendarView(year, month + 1); + } + + /// Returns a view for the previous month. + /// + /// Moves back to the previous month, rolling back to December of the previous + /// year if the current month is January. + CalendarView get previous { + if (month == 1) { + return CalendarView(year - 1, 12); + } + return CalendarView(year, month - 1); + } + + /// Returns a view for the next year with the same month. + CalendarView get nextYear { + return CalendarView(year + 1, month); + } + + /// Returns a view for the previous year with the same month. + CalendarView get previousYear { + return CalendarView(year - 1, month); + } + + @override + String toString() { + return 'CalendarView($year, $month)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is CalendarView && other.year == year && other.month == month; + } + + @override + int get hashCode => year.hashCode ^ month.hashCode; + + /// Creates a copy of this view with the given fields replaced. + CalendarView copyWith({ + ValueGetter? year, + ValueGetter? month, + }) { + return CalendarView( + year == null ? this.year : year(), + month == null ? this.month : month(), + ); + } +} + +/// Extension methods on [DateTime] for calendar operations. +extension CalendarDateTime on DateTime { + /// Converts this DateTime to a CalendarView. + CalendarView toCalendarView() { + return CalendarView.fromDateTime(this); + } + + /// Converts this DateTime to a single CalendarValue. + CalendarValue toCalendarValue() { + return CalendarValue.single(this); + } +} + +/// A highly customizable calendar widget supporting multiple selection modes. +/// +/// Displays a grid-based calendar interface allowing users to view and select dates +/// with comprehensive support for single selection, range selection, and multiple +/// date selection. Includes built-in date validation, state management, and theme integration. +/// +/// Key Features: +/// - **Selection Modes**: Single date, date range, multiple dates, or display-only +/// - **Date Validation**: Custom date state builder for enabling/disabling dates +/// - **Interactive Grid**: Touch/click support with visual feedback +/// - **Theme Integration**: Follows shadcn_flutter design system +/// - **Accessibility**: Screen reader and keyboard navigation support +/// - **Customizable Appearance**: Themed colors, spacing, and visual states +/// +/// The calendar automatically handles date logic, leap years, month boundaries, +/// and provides consistent visual feedback for different selection states. +/// +/// Selection Behavior: +/// - **Single**: Click to select one date, click again to deselect +/// - **Range**: Click start date, then end date to form range +/// - **Multi**: Click multiple dates to build selection set +/// - **None**: Display-only mode with no interaction +/// +/// Example: +/// ```dart +/// Calendar( +/// view: CalendarView.now(), +/// selectionMode: CalendarSelectionMode.range, +/// value: CalendarValue.range(startDate, endDate), +/// onChanged: (value) => setState(() => selectedDates = value), +/// stateBuilder: (date) => date.isBefore(DateTime.now()) +/// ? DateState.disabled +/// : DateState.enabled, +/// ) +/// ``` +class Calendar extends StatefulWidget { + /// The current date for highlighting purposes (defaults to DateTime.now()). + final DateTime? now; + + /// The currently selected date value(s). + final CalendarValue? value; + + /// The month and year view to display in the calendar. + final CalendarView view; + + /// The selection mode determining how dates can be selected. + final CalendarSelectionMode selectionMode; + + /// Callback invoked when the selected date(s) change. + final ValueChanged? onChanged; + + /// Legacy function to determine if a date should be enabled. + final bool Function(DateTime date)? isDateEnabled; + + /// Builder function to determine the state of each date. + final DateStateBuilder? stateBuilder; + + /// Creates a [Calendar] widget with flexible date selection capabilities. + /// + /// Configures the calendar's view, selection behavior, and interaction handling + /// with comprehensive options for customization and validation. + /// + /// Parameters: + /// - [view] (CalendarView, required): Month/year to display in calendar grid + /// - [selectionMode] (CalendarSelectionMode, required): How dates can be selected + /// - [now] (DateTime?, optional): Current date for highlighting, defaults to DateTime.now() + /// - [value] (CalendarValue?, optional): Currently selected date(s) + /// - [onChanged] (`ValueChanged?`, optional): Called when selection changes + /// - [isDateEnabled] (bool Function(DateTime)?, optional): Legacy date validation function + /// - [stateBuilder] (DateStateBuilder?, optional): Custom date state validation + /// + /// The [view] parameter determines which month and year are shown in the calendar grid. + /// Use [CalendarView.now()] for current month or [CalendarView(year, month)] for specific dates. + /// + /// The [stateBuilder] takes precedence over [isDateEnabled] when both are provided. + /// + /// Example: + /// ```dart + /// Calendar( + /// view: CalendarView(2024, 3), // March 2024 + /// selectionMode: CalendarSelectionMode.single, + /// onChanged: (value) => print('Selected: ${value?.toString()}'), + /// stateBuilder: (date) => date.weekday == DateTime.sunday + /// ? DateState.disabled + /// : DateState.enabled, + /// ) + /// ``` + const Calendar({ + super.key, + this.now, + this.value, + required this.view, + required this.selectionMode, + this.onChanged, + this.isDateEnabled, + this.stateBuilder, + }); + + @override + State createState() => _CalendarState(); +} + +class _CalendarState extends State { + late CalendarGridData _gridData; + + @override + void initState() { + super.initState(); + _gridData = + CalendarGridData(month: widget.view.month, year: widget.view.year); + } + + @override + void didUpdateWidget(covariant Calendar oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.view.year != widget.view.year || + oldWidget.view.month != widget.view.month) { + _gridData = + CalendarGridData(month: widget.view.month, year: widget.view.year); + } + } + + void _handleTap(DateTime date) { + var calendarValue = widget.value; + if (widget.selectionMode == CalendarSelectionMode.none) { + return; + } + if (widget.selectionMode == CalendarSelectionMode.single) { + if (calendarValue is SingleCalendarValue && + date.isAtSameMomentAs(calendarValue.date)) { + widget.onChanged?.call(null); + return; + } + widget.onChanged?.call(CalendarValue.single(date)); + return; + } + if (widget.selectionMode == CalendarSelectionMode.multi) { + if (calendarValue == null) { + widget.onChanged?.call(CalendarValue.single(date)); + return; + } + final lookup = calendarValue.lookup(date.year, date.month, date.day); + if (lookup == CalendarValueLookup.none) { + var multi = calendarValue.toMulti(); + (multi).dates.add(date); + widget.onChanged?.call(multi); + return; + } else { + var multi = calendarValue.toMulti(); + (multi).dates.remove(date); + if (multi.dates.isEmpty) { + widget.onChanged?.call(null); + return; + } + widget.onChanged?.call(multi); + return; + } + } + if (widget.selectionMode == CalendarSelectionMode.range) { + if (calendarValue == null) { + widget.onChanged?.call(CalendarValue.single(date)); + return; + } + if (calendarValue is MultiCalendarValue) { + calendarValue = calendarValue.toRange(); + } + if (calendarValue is SingleCalendarValue) { + DateTime selectedDate = calendarValue.date; + if (date.isAtSameMomentAs(selectedDate)) { + widget.onChanged?.call(null); + return; + } + widget.onChanged?.call(CalendarValue.range(selectedDate, date)); + return; + } + if (calendarValue is RangeCalendarValue) { + DateTime start = calendarValue.start; + DateTime end = calendarValue.end; + if (date.isBefore(start)) { + widget.onChanged?.call(CalendarValue.range(date, end)); + return; + } + if (date.isAfter(end)) { + widget.onChanged?.call(CalendarValue.range(start, date)); + return; + } + if (date.isAtSameMomentAs(start)) { + widget.onChanged?.call(null); + return; + } + if (date.isAtSameMomentAs(end)) { + widget.onChanged?.call(CalendarValue.single(end)); + return; + } + widget.onChanged?.call(CalendarValue.range(start, date)); + } + } + } + + @override + Widget build(BuildContext context) { + return CalendarGrid( + data: _gridData, + itemBuilder: (item) { + DateTime date = item.date; + CalendarValueLookup lookup = + widget.value?.lookup(date.year, date.month, date.day) ?? + CalendarValueLookup.none; + CalendarItemType type = CalendarItemType.none; + switch (lookup) { + case CalendarValueLookup.none: + if (widget.now != null && widget.now!.isAtSameMomentAs(date)) { + type = CalendarItemType.today; + } + break; + case CalendarValueLookup.selected: + type = CalendarItemType.selected; + break; + case CalendarValueLookup.start: + type = CalendarItemType.startRangeSelected; + break; + case CalendarValueLookup.end: + type = CalendarItemType.endRangeSelected; + break; + case CalendarValueLookup.inRange: + type = CalendarItemType.inRange; + break; + } + Widget calendarItem = CalendarItem( + type: type, + indexAtRow: item.indexInRow, + rowCount: 7, + onTap: () { + _handleTap(date); + }, + state: widget.stateBuilder?.call(date) ?? DateState.enabled, + child: Text('${date.day}'), + ); + if (item.fromAnotherMonth) { + return Opacity( + opacity: 0.5, + child: calendarItem, + ); + } + return calendarItem; + }, + ); + } +} + +/// A calendar widget that displays months in a year grid. +/// +/// Shows a 4x3 grid of months for year selection. Used as part of the calendar +/// navigation when users want to select a different month. +class MonthCalendar extends StatelessWidget { + /// The current calendar view (year to display). + final CalendarView value; + + /// Callback invoked when a month is selected. + final ValueChanged onChanged; + + /// The current date for highlighting purposes. + final DateTime? now; + + /// The currently selected calendar value. + final CalendarValue? calendarValue; + + /// Builder function to determine the state of each month. + final DateStateBuilder? stateBuilder; + + /// Creates a month selection calendar. + const MonthCalendar({ + super.key, + required this.value, + required this.onChanged, + this.now, + this.calendarValue, + this.stateBuilder, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + // same as Calendar, but instead of showing date + // it shows month in a 4x3 grid + ShadcnLocalizations localizations = ShadcnLocalizations.of(context); + List rows = []; + List months = []; + for (int i = 1; i <= 12; i++) { + DateTime date = DateTime(value.year, i); + CalendarItemType type = CalendarItemType.none; + if (calendarValue != null) { + final lookup = calendarValue!.lookup(date.year, date.month); + switch (lookup) { + case CalendarValueLookup.none: + if (now != null && + DateTime(now!.year, now!.month).isAtSameMomentAs(date)) { + type = CalendarItemType.today; + } + break; + case CalendarValueLookup.selected: + type = CalendarItemType.selected; + break; + case CalendarValueLookup.start: + type = CalendarItemType.startRangeSelected; + break; + case CalendarValueLookup.end: + type = CalendarItemType.endRangeSelected; + break; + case CalendarValueLookup.inRange: + type = CalendarItemType.inRange; + break; + } + } else { + if (now != null && + DateTime(now!.year, now!.month).isAtSameMomentAs(date)) { + type = CalendarItemType.today; + } + } + months.add( + CalendarItem( + key: ValueKey(date), + type: type, + indexAtRow: (i - 1) % 4, + rowCount: 4, + onTap: () { + onChanged(value.copyWith(month: () => i)); + }, + width: theme.scaling * 56, + state: stateBuilder?.call(date) ?? DateState.enabled, + child: Text(localizations.getAbbreviatedMonth(i)), + ), + ); + } + for (int i = 0; i < months.length; i += 4) { + rows.add(Gap(theme.density.baseGap * theme.scaling)); + rows.add(Row( + children: months.sublist(i, i + 4), + )); + } + return Column( + mainAxisSize: MainAxisSize.min, + children: rows, + ); + } +} + +/// A calendar widget that displays years in a grid. +/// +/// Shows a 4x4 grid of years for year selection. Used as part of the calendar +/// navigation when users want to select a different year. +class YearCalendar extends StatelessWidget { + /// The starting year for the grid display. + final int yearSelectStart; + + /// The currently selected year value. + final int value; + + /// Callback invoked when a year is selected. + final ValueChanged onChanged; + + /// The current date for highlighting purposes. + final DateTime? now; + + /// The currently selected calendar value. + final CalendarValue? calendarValue; + + /// Builder function to determine the state of each year. + final DateStateBuilder? stateBuilder; + + /// Creates a year selection calendar. + const YearCalendar({ + super.key, + required this.yearSelectStart, + required this.value, + required this.onChanged, + this.now, + this.calendarValue, + this.stateBuilder, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + // same as Calendar, but instead of showing date + // it shows year in a 4x4 grid + List rows = []; + List years = []; + for (int i = yearSelectStart; i < yearSelectStart + 16; i++) { + DateTime date = DateTime(i); + CalendarItemType type = CalendarItemType.none; + if (calendarValue != null) { + final lookup = calendarValue!.lookup(date.year); + switch (lookup) { + case CalendarValueLookup.none: + if (now != null && now!.year == date.year) { + type = CalendarItemType.today; + } + break; + case CalendarValueLookup.selected: + type = CalendarItemType.selected; + break; + case CalendarValueLookup.start: + type = CalendarItemType.startRangeSelected; + break; + case CalendarValueLookup.end: + type = CalendarItemType.endRangeSelected; + break; + case CalendarValueLookup.inRange: + type = CalendarItemType.inRange; + break; + } + } else { + if (now != null && now!.year == date.year) { + type = CalendarItemType.today; + } + } + years.add( + CalendarItem( + key: ValueKey(date), + type: type, + indexAtRow: (i - yearSelectStart) % 4, + rowCount: 4, + onTap: () { + onChanged(i); + }, + width: theme.scaling * 56, + state: stateBuilder?.call(date) ?? DateState.enabled, + child: Text('$i'), + ), + ); + } + for (int i = 0; i < years.length; i += 4) { + rows.add(Gap(theme.density.baseGap * theme.scaling)); + rows.add(Row( + children: years.sublist(i, i + 4), + )); + } + return Column( + mainAxisSize: MainAxisSize.min, + children: rows, + ); + } +} + +/// Visual states for individual calendar date items. +/// +/// Defines the different visual appearances and behaviors that calendar date cells +/// can have based on their selection state and position within ranges. +enum CalendarItemType { + /// Normal unselected date. + none, + + /// Current date highlighted. + today, + + /// Single selected date or exact range boundary. + selected, + + /// Date within a selected range but not start/end. + inRange, + + /// Range start boundary in other months (same as startRangeSelected). + startRange, + + /// Range end boundary in other months (same as endRangeSelected). + endRange, + + /// Range start boundary in current month. + startRangeSelected, + + /// Range end boundary in current month. + endRangeSelected, + + /// Range start boundary in short ranges. + startRangeSelectedShort, + + /// Range end boundary in short ranges (typically 2-day ranges). + endRangeSelectedShort, + + /// Middle dates in short ranges (typically 2-day ranges). + inRangeSelectedShort, +} + +/// Individual calendar date cell with interactive behavior and visual states. +/// +/// Represents a single date item within a calendar grid, handling touch interactions, +/// visual state management, and theme integration. Supports different visual states +/// for selection, ranges, and special dates like today. +/// +/// Key Features: +/// - **Visual States**: Multiple appearance modes based on selection status +/// - **Interactive**: Touch/click handling with callbacks +/// - **Responsive Sizing**: Configurable width/height with theme scaling +/// - **Accessibility**: Screen reader support and focus management +/// - **State Management**: Enabled/disabled states with visual feedback +/// - **Range Support**: Special styling for range start/end/middle positions +/// +/// The item automatically applies appropriate button styling based on its [type] +/// and handles edge cases for range visualization at row boundaries. +/// +/// Example: +/// ```dart +/// CalendarItem( +/// type: CalendarItemType.selected, +/// indexAtRow: 2, +/// rowCount: 7, +/// state: DateState.enabled, +/// onTap: () => handleDateTap(date), +/// child: Text('15'), +/// ) +/// ``` +class CalendarItem extends StatelessWidget { + /// The widget to display as the date content. + final Widget child; + + /// The visual state type for this calendar item. + final CalendarItemType type; + + /// Callback invoked when the item is tapped. + final VoidCallback? onTap; + + /// The position of this item in its row (0-indexed). + final int indexAtRow; + + /// The total number of items per row. + final int rowCount; + + /// Optional fixed width for the item. + final double? width; + + /// Optional fixed height for the item. + final double? height; + + /// The interaction state of this date (enabled/disabled). + final DateState state; + + /// Creates a calendar item with the specified properties. + const CalendarItem({ + super.key, + required this.child, + required this.type, + required this.indexAtRow, + required this.rowCount, + this.onTap, + this.width, + this.height, + required this.state, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + var type = this.type; + if ((indexAtRow == 0 || indexAtRow == rowCount - 1) && + (type == CalendarItemType.startRangeSelected || + type == CalendarItemType.endRangeSelected || + type == CalendarItemType.startRangeSelectedShort || + type == CalendarItemType.endRangeSelectedShort)) { + type = CalendarItemType.selected; + } + switch (type) { + case CalendarItemType.none: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: GhostButton( + density: ButtonDensity.compact, + alignment: Alignment.center, + enabled: state == DateState.enabled, + onPressed: onTap, + child: child, + ), + ); + case CalendarItemType.today: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: SecondaryButton( + density: ButtonDensity.compact, + alignment: Alignment.center, + enabled: state == DateState.enabled, + onPressed: onTap, + child: child, + ), + ); + case CalendarItemType.selected: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: PrimaryButton( + density: ButtonDensity.compact, + alignment: Alignment.center, + enabled: state == DateState.enabled, + onPressed: onTap, + child: child, + ), + ); + case CalendarItemType.inRange: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Button( + alignment: Alignment.center, + onPressed: onTap, + enabled: state == DateState.enabled, + style: const ButtonStyle( + variance: ButtonVariance.secondary, + density: ButtonDensity.compact, + ).copyWith( + decoration: (context, states, value) { + return (value as BoxDecoration).copyWith( + borderRadius: indexAtRow == 0 + ? BorderRadius.only( + topLeft: Radius.circular(theme.radiusMd), + bottomLeft: Radius.circular(theme.radiusMd), + ) + : indexAtRow == rowCount - 1 + ? BorderRadius.only( + topRight: Radius.circular(theme.radiusMd), + bottomRight: Radius.circular(theme.radiusMd), + ) + : BorderRadius.zero, + ); + }, + ), + child: child, + ), + ); + case CalendarItemType.startRange: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Button( + alignment: Alignment.center, + onPressed: onTap, + enabled: state == DateState.enabled, + style: const ButtonStyle( + variance: ButtonVariance.secondary, + density: ButtonDensity.compact, + ).copyWith( + decoration: (context, states, value) { + return (value as BoxDecoration).copyWith( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(theme.radiusMd), + bottomLeft: Radius.circular(theme.radiusMd), + ), + ); + }, + ), + child: child, + ), + ); + case CalendarItemType.endRange: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Button( + alignment: Alignment.center, + onPressed: onTap, + enabled: state == DateState.enabled, + style: const ButtonStyle( + variance: ButtonVariance.secondary, + density: ButtonDensity.compact, + ).copyWith( + decoration: (context, states, value) { + return (value as BoxDecoration).copyWith( + borderRadius: BorderRadius.only( + topRight: Radius.circular(theme.radiusMd), + bottomRight: Radius.circular(theme.radiusMd), + ), + ); + }, + ), + child: child, + ), + ); + case CalendarItemType.startRangeSelected: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Stack( + fit: StackFit.passthrough, + children: [ + Container( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + decoration: BoxDecoration( + color: theme.colorScheme.secondary, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(theme.radiusMd), + bottomLeft: Radius.circular(theme.radiusMd), + ), + ), + ), + PrimaryButton( + density: ButtonDensity.compact, + alignment: Alignment.center, + enabled: state == DateState.enabled, + onPressed: onTap, + child: child, + ), + ], + ), + ); + case CalendarItemType.endRangeSelected: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Stack( + fit: StackFit.passthrough, + children: [ + Container( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + decoration: BoxDecoration( + color: theme.colorScheme.secondary, + borderRadius: BorderRadius.only( + topRight: Radius.circular(theme.radiusMd), + bottomRight: Radius.circular(theme.radiusMd), + ), + ), + ), + PrimaryButton( + density: ButtonDensity.compact, + alignment: Alignment.center, + enabled: state == DateState.enabled, + onPressed: onTap, + child: child, + ), + ], + ), + ); + case CalendarItemType.startRangeSelectedShort: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Button( + alignment: Alignment.center, + onPressed: onTap, + enabled: state == DateState.enabled, + style: const ButtonStyle( + variance: ButtonVariance.primary, + density: ButtonDensity.compact, + ).copyWith( + decoration: (context, states, value) { + return (value as BoxDecoration).copyWith( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(theme.radiusMd), + bottomLeft: Radius.circular(theme.radiusMd), + ), + ); + }, + ), + child: child, + ), + ); + case CalendarItemType.endRangeSelectedShort: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Button( + alignment: Alignment.center, + onPressed: onTap, + enabled: state == DateState.enabled, + style: const ButtonStyle( + variance: ButtonVariance.primary, + density: ButtonDensity.compact, + ).copyWith( + decoration: (context, states, value) { + return (value as BoxDecoration).copyWith( + borderRadius: BorderRadius.only( + topRight: Radius.circular(theme.radiusMd), + bottomRight: Radius.circular(theme.radiusMd), + ), + ); + }, + ), + child: child, + ), + ); + case CalendarItemType.inRangeSelectedShort: + return SizedBox( + width: width ?? theme.scaling * 32, + height: height ?? theme.scaling * 32, + child: Button( + alignment: Alignment.center, + enabled: state == DateState.enabled, + onPressed: onTap, + style: const ButtonStyle( + variance: ButtonVariance.primary, + density: ButtonDensity.compact, + ).copyWith( + decoration: (context, states, value) { + return (value as BoxDecoration).copyWith( + borderRadius: BorderRadius.zero, + ); + }, + ), + child: child, + ), + ); + } + } +} + +/// Data structure representing a complete calendar month grid. +/// +/// Contains all the information needed to render a calendar grid including +/// dates from the current month and overflow dates from adjacent months +/// to fill complete weeks. +class CalendarGridData { + /// The month number (1-12) this grid represents. + final int month; + + /// The year this grid represents. + final int year; + + /// The list of calendar grid items including current and adjacent month dates. + final List items; + + /// Creates calendar grid data for the specified month and year. + /// + /// Automatically calculates and includes dates from previous and next months + /// to fill complete weeks in the grid. + factory CalendarGridData({required int month, required int year}) { + DateTime firstDayOfMonth = DateTime(year, month, 1); + int daysInMonth = DateTime(year, month == 12 ? 1 : month + 1, 0).day; + + int prevMonthDays = firstDayOfMonth.weekday; + DateTime prevMonthLastDay = + firstDayOfMonth.subtract(Duration(days: prevMonthDays)); + + List items = []; + + int itemCount = 0; + + if (prevMonthDays < 7) { + for (int i = 0; i < prevMonthDays; i++) { + int currentItemIndex = itemCount++; + items.add(CalendarGridItem( + prevMonthLastDay.add(Duration(days: i)), + currentItemIndex % 7, + true, + currentItemIndex ~/ 7, + )); + } + } + + for (int i = 0; i < daysInMonth; i++) { + int currentItemIndex = itemCount++; + DateTime currentDay = DateTime(year, month, i + 1); + items.add(CalendarGridItem( + currentDay, + currentItemIndex % 7, + false, + currentItemIndex ~/ 7, + )); + } + + int remainingDays = (7 - (items.length % 7)) % 7; + DateTime nextMonthFirstDay = DateTime(year, month + 1, 1); + + if (remainingDays < 7) { + for (int i = 0; i < remainingDays; i++) { + int currentItemIndex = itemCount++; + items.add(CalendarGridItem( + nextMonthFirstDay.add(Duration(days: i)), + currentItemIndex % 7, + true, + currentItemIndex ~/ 7, + )); + } + } + + return CalendarGridData._(month, year, items); + } + + CalendarGridData._(this.month, this.year, this.items); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is CalendarGridData && + other.month == month && + other.year == year && + listEquals(other.items, items); + } + + @override + int get hashCode => Object.hash(month, year, items); +} + +/// Individual item within a calendar grid representing a single date cell. +/// +/// Contains metadata about a date's position and state within the calendar grid. +class CalendarGridItem { + /// The date this grid item represents. + final DateTime date; + + /// The index of this item within its row (0-6 for day of week). + final int indexInRow; + + /// The row index in the calendar grid. + final int rowIndex; + + /// Whether this date belongs to a different month than the grid's primary month. + final bool fromAnotherMonth; + + /// Creates a calendar grid item. + CalendarGridItem( + this.date, this.indexInRow, this.fromAnotherMonth, this.rowIndex); + + /// Returns true if this item represents today's date. + bool get isToday { + DateTime now = DateTime.now(); + return date.year == now.year && + date.month == now.month && + date.day == now.day; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is CalendarGridItem && + other.date.isAtSameMomentAs(date) && + other.indexInRow == indexInRow && + other.fromAnotherMonth == fromAnotherMonth && + other.rowIndex == rowIndex; + } + + @override + int get hashCode => Object.hash(date, indexInRow, fromAnotherMonth, rowIndex); +} + +/// Widget that renders a calendar grid using provided data. +/// +/// Takes calendar grid data and an item builder to render the visual grid +/// of calendar dates. Handles layout and arrangement of dates in a weekly grid. +class CalendarGrid extends StatelessWidget { + /// The grid data containing all calendar items to display. + final CalendarGridData data; + + /// Builder function to create widgets for each grid item. + final Widget Function(CalendarGridItem item) itemBuilder; + + /// Creates a calendar grid widget. + const CalendarGrid({ + super.key, + required this.data, + required this.itemBuilder, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final localizations = ShadcnLocalizations.of(context); + // return GridView.builder( + // shrinkWrap: true, + // itemCount: data.items.length, + // gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + // crossAxisCount: 7, + // mainAxisSpacing: 0, + // crossAxisSpacing: 8 * theme.scaling, + // ), + // itemBuilder: (context, index) { + // return SizedBox( + // width: theme.scaling * 32, + // height: theme.scaling * 32, + // child: itemBuilder(data.items[index]), + // ); + // }, + // ); + // do not use GridView because it doesn't support IntrinsicWidth + List rows = []; + List weekDays = []; + for (int i = 0; i < 7; i++) { + int weekday = ((i - 1) % 7) + 1; + weekDays.add( + Container( + width: theme.scaling * 32, + height: theme.scaling * 32, + alignment: Alignment.center, + child: Text(localizations.getAbbreviatedWeekday(weekday)) + .muted() + .xSmall(), + ), + ); + } + rows.add(Row( + mainAxisSize: MainAxisSize.min, + children: weekDays, + )); + for (int i = 0; i < data.items.length; i += 7) { + rows.add(Row( + mainAxisSize: MainAxisSize.min, + children: data.items.sublist(i, i + 7).map((e) { + return SizedBox( + width: theme.scaling * 32, + height: theme.scaling * 32, + child: itemBuilder(e), + ); + }).toList(), + )); + } + return Column( + mainAxisSize: MainAxisSize.min, + spacing: theme.density.baseGap * theme.scaling, + children: rows, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/carousel.dart b/third_party/shadcn_flutter/lib/src/components/display/carousel.dart new file mode 100644 index 00000000..f6533e03 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/carousel.dart @@ -0,0 +1,1042 @@ +import 'dart:math'; + +import 'package:flutter/scheduler.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Size constraint for the carousel. +abstract class CarouselSizeConstraint { + /// Creates a carousel size constraint. + const CarouselSizeConstraint(); + + /// Creates a fixed carousel size constraint. + const factory CarouselSizeConstraint.fixed(double size) = + CarouselFixedConstraint; + + /// Creates a fractional carousel size constraint. + const factory CarouselSizeConstraint.fractional(double fraction) = + CarouselFractionalConstraint; +} + +/// A fixed carousel size constraint. +class CarouselFixedConstraint extends CarouselSizeConstraint { + /// The size of the constraint. + final double size; + + /// Creates a fixed carousel size constraint. + const CarouselFixedConstraint(this.size) + : assert(size > 0, 'size must be greater than 0'); +} + +/// A fractional carousel size constraint. +class CarouselFractionalConstraint extends CarouselSizeConstraint { + /// The fraction of the constraint. + final double fraction; + + /// Creates a fractional carousel size constraint. + const CarouselFractionalConstraint(this.fraction) + : assert(fraction > 0, 'fraction must be greater than 0'); +} + +/// A carousel layout. +abstract class CarouselTransition { + /// Creates a carousel layout. + const CarouselTransition(); + + /// Creates a sliding carousel layout. + const factory CarouselTransition.sliding({double gap}) = + SlidingCarouselTransition; + + /// Creates a fading carousel layout. + const factory CarouselTransition.fading() = FadingCarouselTransition; + + /// Layouts the carousel items. + /// * [context] is the build context. + /// * [progress] is the progress of the carousel. + /// * [constraints] is the constraints of the carousel. + /// * [alignment] is the alignment of the carousel. + /// * [direction] is the direction of the carousel. + /// * [sizeConstraint] is the size constraint of the carousel. + /// * [progressedIndex] is the progressed index of the carousel. + /// * [itemCount] is the item count of the carousel. + /// * [itemBuilder] is the item builder of the carousel. + /// * [wrap] is whether the carousel should wrap. + /// * [reverse] is whether the carousel should reverse. + List layout( + BuildContext context, { + required double progress, + required BoxConstraints constraints, + required CarouselAlignment alignment, + required Axis direction, + required CarouselSizeConstraint sizeConstraint, + required double progressedIndex, + required int? itemCount, + required CarouselItemBuilder itemBuilder, + required bool wrap, + required bool reverse, + }); +} + +/// A sliding carousel transition. +class SlidingCarouselTransition extends CarouselTransition { + /// The gap between the carousel items. + final double gap; + + /// Creates a sliding carousel transition. + const SlidingCarouselTransition({this.gap = 0}); + + @override + List layout( + BuildContext context, { + required double progress, + required BoxConstraints constraints, + required CarouselAlignment alignment, + required Axis direction, + required CarouselSizeConstraint sizeConstraint, + required double progressedIndex, + required int? itemCount, + required CarouselItemBuilder itemBuilder, + required bool wrap, + required bool reverse, + }) { + int additionalPreviousItems = 1; + int additionalNextItems = 1; + double originalSize = direction == Axis.horizontal + ? constraints.maxWidth + : constraints.maxHeight; + double size; + if (sizeConstraint is CarouselFixedConstraint) { + size = sizeConstraint.size; + } else if (sizeConstraint is CarouselFractionalConstraint) { + size = originalSize * sizeConstraint.fraction; + } else { + size = originalSize; + } + double snapOffsetAlignment = (originalSize - size) * alignment.alignment; + double gapBeforeItem = snapOffsetAlignment; + double gapAfterItem = originalSize - size - gapBeforeItem; + additionalPreviousItems += max(0, (gapBeforeItem / size).ceil()); + additionalNextItems += max(0, (gapAfterItem / size).ceil()); + List<_PlacedCarouselItem> items = []; + // curving the index + int start = progressedIndex.floor() - additionalPreviousItems; + int end = progressedIndex.floor() + additionalNextItems; + if (!wrap && itemCount != null) { + start = start.clamp(0, itemCount - 1); + end = end.clamp(0, itemCount - 1); + } + double currentIndex = progressedIndex + (gap / size) * progressedIndex; + for (int i = start; i <= end; i++) { + double index; + if (itemCount != null) { + index = wrapDouble(i.toDouble(), 0.0, itemCount.toDouble()); + } else { + index = i.toDouble(); + } + var itemIndex = reverse ? (-index).toInt() : index.toInt(); + final item = itemBuilder(context, itemIndex); + double position = i.toDouble(); + // offset the gap + items.add( + _PlacedCarouselItem._( + relativeIndex: i, + child: item, + position: position, + ), + ); + } + if (direction == Axis.horizontal) { + return [ + for (var item in items) + Positioned( + left: snapOffsetAlignment + + (item.position - currentIndex) * size + + (gap * item.relativeIndex), + width: size, + height: constraints.maxHeight, + child: item.child, + ), + ]; + } else { + return [ + for (var item in items) + Positioned( + top: snapOffsetAlignment + + (item.position - currentIndex) * size + + (gap * item.relativeIndex), + width: constraints.maxWidth, + height: size, + child: item.child, + ), + ]; + } + } +} + +/// A fading carousel transition. +class FadingCarouselTransition extends CarouselTransition { + /// Creates a fading carousel transition. + const FadingCarouselTransition(); + + @override + List layout( + BuildContext context, { + required double progress, + required BoxConstraints constraints, + required CarouselAlignment alignment, + required Axis direction, + required CarouselSizeConstraint sizeConstraint, + required double progressedIndex, + required int? itemCount, + required CarouselItemBuilder itemBuilder, + required bool wrap, + required bool reverse, + }) { + double originalSize = direction == Axis.horizontal + ? constraints.maxWidth + : constraints.maxHeight; + double size; + if (sizeConstraint is CarouselFixedConstraint) { + size = sizeConstraint.size; + } else if (sizeConstraint is CarouselFractionalConstraint) { + size = originalSize * sizeConstraint.fraction; + } else { + size = originalSize; + } + double snapOffsetAlignment = (originalSize - size) * alignment.alignment; + List<_PlacedCarouselItem> items = []; + // curving the index + int start = progressedIndex.floor() - 1; + int end = progressedIndex.floor() + 1; + if (!wrap && itemCount != null) { + start = start.clamp(0, itemCount - 1); + end = end.clamp(0, itemCount - 1); + } + for (int i = start; i <= end; i++) { + double index; + if (itemCount != null) { + index = wrapDouble(i.toDouble(), 0.0, itemCount.toDouble()); + } else { + index = i.toDouble(); + } + var itemIndex = reverse ? (-index).toInt() : index.toInt(); + final item = itemBuilder(context, itemIndex); + double position = i.toDouble(); + // offset the gap + items.add( + _PlacedCarouselItem._( + relativeIndex: i, + child: item, + position: position, + ), + ); + } + if (direction == Axis.horizontal) { + return [ + for (var item in items) + Positioned( + left: snapOffsetAlignment, + width: size, + height: constraints.maxHeight, + child: Opacity( + opacity: (1 - (progress - item.position).abs()).clamp(0.0, 1.0), + child: item.child, + ), + ), + ]; + } else { + return [ + for (var item in items) + Positioned( + top: snapOffsetAlignment, + width: constraints.maxWidth, + height: size, + child: Opacity( + opacity: (1 - (progress - item.position).abs()).clamp(0.0, 1.0), + child: item.child, + ), + ), + ]; + } + } +} + +/// Builds a carousel item. +/// The [index] is the index of the item. +typedef CarouselItemBuilder = Widget Function(BuildContext context, int index); + +/// A controller for the carousel. +class CarouselController extends Listenable { + final AnimationQueueController _controller = AnimationQueueController(); + + /// Whether the carousel should animate. + bool get shouldAnimate => _controller.shouldTick; + + /// The current value of the controller. + double get value => _controller.value; + + /// Jumps to the next item. + void next() { + _controller.value = (_controller.value + 1).roundToDouble(); + } + + /// Jumps to the previous item. + void previous() { + _controller.value = (_controller.value - 1).roundToDouble(); + } + + /// Animates to the next item. + void animateNext(Duration duration, [Curve curve = Curves.easeInOut]) { + _controller.push( + AnimationRequest( + (_controller.value + 1).roundToDouble(), + duration, + curve, + ), + false, + ); + } + + /// Animates to the previous item. + void animatePrevious(Duration duration, [Curve curve = Curves.easeInOut]) { + _controller.push( + AnimationRequest( + (_controller.value - 1).roundToDouble(), + duration, + curve, + ), + false, + ); + } + + /// Snaps the current value to the nearest integer. + void snap() { + _controller.value = _controller.value.roundToDouble(); + } + + /// Animates the current value to the nearest integer. + void animateSnap(Duration duration, [Curve curve = Curves.easeInOut]) { + _controller.push( + AnimationRequest(_controller.value.roundToDouble(), duration, curve), + ); + } + + /// Jumps to the specified value. + void jumpTo(double value) { + _controller.value = value; + } + + /// Animates to the specified value. + void animateTo( + double value, + Duration duration, [ + Curve curve = Curves.linear, + ]) { + _controller.push(AnimationRequest(value, duration, curve), false); + } + + /// Animates to the specified value. + double getCurrentIndex(int? itemCount) { + if (itemCount == null) { + return _controller.value; + } else { + return wrapDouble(_controller.value, 0, itemCount.toDouble()); + } + } + + /// Animates to the specified value. + void tick(Duration delta) { + _controller.tick(delta); + } + + @override + void addListener(VoidCallback listener) { + _controller.addListener(listener); + } + + @override + void removeListener(VoidCallback listener) { + _controller.removeListener(listener); + } + + /// Disposes the controller. + void dispose() { + _controller.dispose(); + } +} + +/// CarouselAlignment is used to align the carousel items. +enum CarouselAlignment { + /// Aligns the carousel items to the start. + start(0), + + /// Aligns the carousel items to the center. + center(0.5), + + /// Aligns the carousel items to the end. + end(1); + + /// The alignment value. + final double alignment; + + const CarouselAlignment(this.alignment); +} + +/// Theme data for [Carousel]. +class CarouselTheme extends ComponentThemeData { + /// The alignment of carousel items. + final CarouselAlignment? alignment; + + /// The scroll direction (horizontal or vertical). + final Axis? direction; + + /// Whether to wrap around to the beginning after reaching the end. + final bool? wrap; + + /// Whether to pause autoplay on hover. + final bool? pauseOnHover; + + /// The duration between automatic slides. + final Duration? autoplaySpeed; + + /// Whether the carousel can be dragged. + final bool? draggable; + + /// The transition animation speed. + final Duration? speed; + + /// The transition animation curve. + final Curve? curve; + + /// Creates a carousel theme. + const CarouselTheme({ + this.alignment, + this.direction, + this.wrap, + this.pauseOnHover, + this.autoplaySpeed, + this.draggable, + this.speed, + this.curve, + }); + + /// Creates a copy of this theme with the given fields replaced. + CarouselTheme copyWith({ + ValueGetter? alignment, + ValueGetter? direction, + ValueGetter? wrap, + ValueGetter? pauseOnHover, + ValueGetter? autoplaySpeed, + ValueGetter? draggable, + ValueGetter? speed, + ValueGetter? curve, + }) { + return CarouselTheme( + alignment: alignment == null ? this.alignment : alignment(), + direction: direction == null ? this.direction : direction(), + wrap: wrap == null ? this.wrap : wrap(), + pauseOnHover: pauseOnHover == null ? this.pauseOnHover : pauseOnHover(), + autoplaySpeed: + autoplaySpeed == null ? this.autoplaySpeed : autoplaySpeed(), + draggable: draggable == null ? this.draggable : draggable(), + speed: speed == null ? this.speed : speed(), + curve: curve == null ? this.curve : curve(), + ); + } + + @override + bool operator ==(Object other) { + return other is CarouselTheme && + other.alignment == alignment && + other.direction == direction && + other.wrap == wrap && + other.pauseOnHover == pauseOnHover && + other.autoplaySpeed == autoplaySpeed && + other.draggable == draggable && + other.speed == speed && + other.curve == curve; + } + + @override + int get hashCode => Object.hash( + alignment, + direction, + wrap, + pauseOnHover, + autoplaySpeed, + draggable, + speed, + curve, + ); +} + +/// Interactive carousel widget with automatic transitions and customizable layouts. +/// +/// A high-level carousel widget that displays a sequence of items with smooth +/// transitions between them. Supports automatic progression, manual navigation, +/// multiple transition types, and extensive customization options. +/// +/// ## Features +/// +/// - **Multiple transition types**: Sliding and fading transitions with customizable timing +/// - **Automatic progression**: Optional auto-play with configurable duration per item +/// - **Manual navigation**: Programmatic control through [CarouselController] +/// - **Flexible sizing**: Fixed or fractional size constraints for responsive layouts +/// - **Interactive controls**: Pause on hover, wrap-around navigation, and touch gestures +/// - **Flexible alignment**: Multiple alignment options for different layout needs +/// - **Directional support**: Horizontal or vertical carousel orientation +/// +/// ## Usage Patterns +/// +/// **Basic automatic carousel:** +/// ```dart +/// Carousel( +/// itemCount: images.length, +/// duration: Duration(seconds: 3), +/// itemBuilder: (context, index) => Image.asset(images[index]), +/// transition: CarouselTransition.sliding(gap: 16), +/// ) +/// ``` +/// +/// **Controlled carousel with custom navigation:** +/// ```dart +/// final controller = CarouselController(); +/// +/// Carousel( +/// controller: controller, +/// itemCount: products.length, +/// itemBuilder: (context, index) => ProductCard(products[index]), +/// transition: CarouselTransition.fading(), +/// pauseOnHover: true, +/// ) +/// ``` +class Carousel extends StatefulWidget { + /// The carousel transition. + final CarouselTransition transition; + + /// The item builder. + final Widget Function(BuildContext context, int index) itemBuilder; + + /// The duration of the carousel. + final Duration? duration; + + /// The duration builder of the carousel. + final Duration? Function(int index)? durationBuilder; + + /// The item count of the carousel. + final int? itemCount; + + /// The carousel controller. + final CarouselController? controller; + + /// The carousel alignment. + final CarouselAlignment alignment; + + /// The carousel direction. + final Axis direction; + + /// Whether the carousel should wrap. + final bool wrap; + + /// Whether the carousel should pause on hover. + final bool pauseOnHover; + + /// Whether the carousel should wait the item duration on start. + final bool waitOnStart; + + /// The autoplay speed of the carousel. + final Duration? autoplaySpeed; + + /// Whether the carousel should autoplay in reverse. + final bool autoplayReverse; + + /// Whether the carousel is draggable. + final bool draggable; + + /// Whether the carousel is reverse in layout direction. + final bool reverse; + + /// The size constraint of the carousel. + final CarouselSizeConstraint sizeConstraint; + + /// The speed of the carousel. + final Duration speed; + + /// The curve of the carousel. + final Curve curve; + + /// The index change callback. + final ValueChanged? onIndexChanged; + + /// Whether to disable overhead scrolling. + final bool disableOverheadScrolling; + + /// Whether to disable dragging velocity. + final bool disableDraggingVelocity; + + /// Creates a carousel. + const Carousel({ + super.key, + required this.itemBuilder, + this.itemCount, + this.controller, + this.alignment = CarouselAlignment.center, + this.direction = Axis.horizontal, + this.wrap = true, + this.pauseOnHover = true, + this.autoplaySpeed, + this.waitOnStart = false, + this.draggable = true, + this.reverse = false, + this.autoplayReverse = false, + this.sizeConstraint = const CarouselFractionalConstraint(1), + this.speed = const Duration(milliseconds: 200), + this.curve = Curves.easeInOut, + this.duration, + this.durationBuilder, + this.onIndexChanged, + this.disableOverheadScrolling = true, + this.disableDraggingVelocity = false, + required this.transition, + }) : assert( + wrap || itemCount != null, + 'itemCount must be provided if wrap is false', + ); + + @override + State createState() => _CarouselState(); +} + +class _CarouselState extends State + with SingleTickerProviderStateMixin { + late CarouselController _controller; + Duration? _startTime; + late Ticker _ticker; + bool hovered = false; + bool dragging = false; + + late double _lastDragValue; + double _dragVelocity = 0; + + late int _currentIndex; + + CarouselTheme? _theme; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + _theme = ComponentTheme.maybeOf(context); + } + + CarouselAlignment get _alignment => styleValue( + widgetValue: widget.alignment, + themeValue: _theme?.alignment, + defaultValue: CarouselAlignment.center, + ); + + Axis get _direction => styleValue( + widgetValue: widget.direction, + themeValue: _theme?.direction, + defaultValue: Axis.horizontal, + ); + + bool get _wrap => styleValue( + widgetValue: widget.wrap, + themeValue: _theme?.wrap, + defaultValue: true, + ); + + bool get _pauseOnHover => styleValue( + widgetValue: widget.pauseOnHover, + themeValue: _theme?.pauseOnHover, + defaultValue: true, + ); + + Duration? get _autoplaySpeed => styleValue( + widgetValue: widget.autoplaySpeed, + themeValue: _theme?.autoplaySpeed, + defaultValue: null, + ); + + bool get _draggable => styleValue( + widgetValue: widget.draggable, + themeValue: _theme?.draggable, + defaultValue: true, + ); + + Duration get _speed => styleValue( + widgetValue: widget.speed, + themeValue: _theme?.speed, + defaultValue: const Duration(milliseconds: 200), + ); + + Curve get _curve => styleValue( + widgetValue: widget.curve, + themeValue: _theme?.curve, + defaultValue: Curves.easeInOut, + ); + + Duration? get _currentSlideDuration { + double currentIndex = _controller.getCurrentIndex(widget.itemCount); + final int index = currentIndex.floor(); + Duration? duration = widget.durationBuilder?.call(index) ?? widget.duration; + if (duration != null && _autoplaySpeed != null) { + duration += _autoplaySpeed!; + } + return duration; + } + + @override + void initState() { + super.initState(); + _ticker = createTicker(_tick); + _controller = widget.controller ?? CarouselController(); + _controller.addListener(_onControllerChange); + _currentIndex = _controller.getCurrentIndex(widget.itemCount).round(); + _dispatchControllerChange(); + } + + void _check() { + bool shouldStart = false; + if (_controller.shouldAnimate) { + shouldStart = true; + } + if (!shouldStart) { + if (_currentSlideDuration != null) { + if (!_pauseOnHover || !hovered) { + shouldStart = true; + } + } + } + if (!shouldStart) { + if (_dragVelocity.abs() > 0.0001) { + shouldStart = true; + } + } + if (shouldStart) { + if (!_ticker.isActive) { + _lastTime = null; + _startTime = null; + _ticker.start(); + } + } else { + if (_ticker.isActive) { + _ticker.stop(); + _startTime = null; + _lastTime = null; + } + } + } + + Duration? _lastTime; + void _tick(Duration elapsed) { + Duration delta = _lastTime == null ? Duration.zero : elapsed - _lastTime!; + _lastTime = elapsed; + int deltaMillis = delta.inMilliseconds; + // animate the index progress + _controller.tick(delta); + bool shouldAutoPlay = false; + if (_currentSlideDuration != null) { + if (_startTime == null) { + _startTime = elapsed; + shouldAutoPlay = !widget.waitOnStart; + } else { + Duration elapsedDuration = elapsed - _startTime!; + if (elapsedDuration >= _currentSlideDuration!) { + shouldAutoPlay = true; + _startTime = null; + } + } + } + if (shouldAutoPlay) { + if (!_wrap && + widget.itemCount != null && + _controller.value >= widget.itemCount! - 1) { + _controller.animateTo(0, _autoplaySpeed ?? _speed, _curve); + } else if (!_wrap && widget.itemCount != null && _controller.value <= 0) { + _controller.animateTo( + widget.itemCount! - 1, + _autoplaySpeed ?? _speed, + _curve, + ); + } else if (widget.autoplayReverse) { + _controller.animatePrevious(_autoplaySpeed ?? _speed, _curve); + } else { + _controller.animateNext(_autoplaySpeed ?? _speed, _curve); + } + } + if (_dragVelocity.abs() > 0.01 && !dragging) { + var targetValue = progressedValue + _dragVelocity; + _controller.jumpTo(targetValue); + // decrease the drag velocity (consider the delta time) + _dragVelocity *= pow(0.2, deltaMillis / 100); + if (_dragVelocity.abs() < 0.01) { + _dragVelocity = 0; + if (widget.disableOverheadScrolling) { + if (_lastDragValue < targetValue) { + _controller.animateTo( + _lastDragValue.floorToDouble() + 1, + _speed, + _curve, + ); + } else { + _controller.animateTo( + _lastDragValue.floorToDouble() - 1, + _speed, + _curve, + ); + } + } else { + _controller.animateSnap(_speed, _curve); + } + } + } + + _check(); + } + + @override + void didUpdateWidget(covariant Carousel oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.controller != oldWidget.controller) { + oldWidget.controller?.removeListener(_onControllerChange); + _controller = widget.controller ?? CarouselController(); + _controller.addListener(_onControllerChange); + _dispatchControllerChange(); + } + } + + void _onControllerChange() { + setState(() {}); + if (!_wrap && widget.itemCount != null) { + if (_controller.value < 0) { + _controller._controller.value = 0; + } else if (_controller.value >= widget.itemCount!) { + _controller._controller.value = widget.itemCount!.toDouble() - 1; + } + } + _dispatchControllerChange(); + } + + void _dispatchControllerChange() { + _check(); + int index = _controller.getCurrentIndex(widget.itemCount).round(); + if (index != _currentIndex) { + _currentIndex = index; + widget.onIndexChanged?.call(index); + } + } + + @override + void dispose() { + _controller.removeListener(_onControllerChange); + // DO NOT DISPOSE CONTROLLER + // CONTROLLER might not belong to this state + // Removing our listener from the controller is enough + // _controller.dispose(); + _ticker.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return MouseRegion( + onEnter: (event) { + hovered = true; + _check(); + }, + onExit: (event) { + hovered = false; + _check(); + }, + child: LayoutBuilder( + builder: (context, constraints) { + var carouselWidget = buildCarousel(context, constraints); + if (_draggable) { + if (_direction == Axis.horizontal) { + carouselWidget = buildHorizontalDragger( + context, + carouselWidget, + constraints, + ); + } else { + carouselWidget = buildVerticalDragger( + context, + carouselWidget, + constraints, + ); + } + } + return carouselWidget; + }, + ), + ); + } + + Widget buildHorizontalDragger( + BuildContext context, + Widget carouselWidget, + BoxConstraints constraints, + ) { + double size; + if (widget.sizeConstraint is CarouselFixedConstraint) { + size = (widget.sizeConstraint as CarouselFixedConstraint).size; + } else if (widget.sizeConstraint is CarouselFractionalConstraint) { + size = constraints.maxHeight * + (widget.sizeConstraint as CarouselFractionalConstraint).fraction; + } else { + size = constraints.maxHeight; + } + return GestureDetector( + behavior: HitTestBehavior.translucent, + child: carouselWidget, + onHorizontalDragStart: (details) { + dragging = true; + _lastDragValue = progressedValue; + _dragVelocity = 0; + }, + onHorizontalDragUpdate: (details) { + if (_draggable) { + setState(() { + var increment = -details.primaryDelta! / size; + _controller.jumpTo(progressedValue + increment); + }); + } + }, + onHorizontalDragEnd: (details) { + dragging = false; + if (widget.disableDraggingVelocity) { + _dragVelocity = 0; + } else { + _dragVelocity = -details.primaryVelocity! / size / 100.0; + } + _controller.animateSnap(_speed, _curve); + _check(); + }, + ); + } + + Widget buildVerticalDragger( + BuildContext context, + Widget carouselWidget, + BoxConstraints constraints, + ) { + double size; + if (widget.sizeConstraint is CarouselFixedConstraint) { + size = (widget.sizeConstraint as CarouselFixedConstraint).size; + } else if (widget.sizeConstraint is CarouselFractionalConstraint) { + size = constraints.maxWidth * + (widget.sizeConstraint as CarouselFractionalConstraint).fraction; + } else { + size = constraints.maxWidth; + } + return GestureDetector( + behavior: HitTestBehavior.translucent, + child: carouselWidget, + onVerticalDragStart: (details) { + dragging = true; + _lastDragValue = progressedValue; + _dragVelocity = 0; + }, + onVerticalDragUpdate: (details) { + if (_draggable) { + setState(() { + var increment = -details.primaryDelta! / size; + _controller.jumpTo(progressedValue + increment); + }); + } + }, + onVerticalDragEnd: (details) { + dragging = false; + if (widget.disableDraggingVelocity) { + _dragVelocity = 0; + } else { + _dragVelocity = -details.primaryVelocity! / size / 100.0; + } + _controller.animateSnap(_speed, _curve); + _check(); + }, + ); + } + + double get progressedValue { + if (!_wrap && widget.itemCount != null) { + return _controller.value.clamp(0.0, widget.itemCount!.toDouble() - 1); + } else { + return _controller.value; + } + } + + Widget buildCarousel(BuildContext context, BoxConstraints constraints) { + return Stack( + children: widget.transition.layout( + context, + progress: progressedValue, + constraints: constraints, + alignment: _alignment, + direction: _direction, + sizeConstraint: widget.sizeConstraint, + progressedIndex: progressedValue, + wrap: _wrap, + itemCount: widget.itemCount, + itemBuilder: widget.itemBuilder, + reverse: widget.reverse, + ), + ); + } +} + +class _PlacedCarouselItem { + final int relativeIndex; + final Widget child; + final double position; + + const _PlacedCarouselItem._({ + required this.relativeIndex, + required this.child, + required this.position, + }); +} + +/// A dot indicator for the carousel. +class CarouselDotIndicator extends StatelessWidget { + /// The item count of the carousel. + final int itemCount; + + /// The carousel controller. + final CarouselController controller; + + /// The speed of the value change. + final Duration speed; + + /// The curve of the value change. + final Curve curve; + + /// Creates a dot indicator for the carousel. + const CarouselDotIndicator({ + super.key, + required this.itemCount, + required this.controller, + this.speed = const Duration(milliseconds: 200), + this.curve = Curves.easeInOut, + }); + + @override + Widget build(BuildContext context) { + return ListenableBuilder( + listenable: controller, + builder: (context, child) { + int value = controller.value.round() % itemCount; + if (value < 0) { + value += itemCount; + } + return DotIndicator( + index: value, + length: itemCount, + onChanged: (value) { + controller.animateTo(value.toDouble(), speed, curve); + }, + ); + }, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/chat.dart b/third_party/shadcn_flutter/lib/src/components/display/chat.dart new file mode 100644 index 00000000..71a1732a --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/chat.dart @@ -0,0 +1,1335 @@ +import 'dart:math'; + +import 'package:flutter/rendering.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A widget that constrains the width of its child based on a factor and aligns it. +/// +/// This widget is used by [ChatBubble] to limit the width of the bubble relative to +/// the available width and to align it within that space. +/// +/// Parameters: +/// - [widthFactor] (`double`, required): The fraction of the available width that the child should occupy. +/// - [alignment] (`AxisAlignmentGeometry`, required): The alignment of the child within the available space. +/// - [child] (`Widget`, required): The widget below this widget in the tree. +class ChatConstrainedBox extends SingleChildRenderObjectWidget { + /// The fraction of the available width that the child should occupy. + final double widthFactor; + + /// The alignment of the child within the available space. + final AxisAlignmentGeometry alignment; + + /// Creates a [ChatConstrainedBox]. + const ChatConstrainedBox({ + required this.widthFactor, + required this.alignment, + required super.child, + super.key, + }); + + @override + RenderChatConstrainedBox createRenderObject(BuildContext context) { + return RenderChatConstrainedBox( + widthFactor: widthFactor, + alignment: alignment + .resolve(Directionality.maybeOf(context) ?? TextDirection.ltr), + ); + } + + @override + void updateRenderObject( + BuildContext context, RenderChatConstrainedBox renderObject) { + renderObject + ..widthFactor = widthFactor + ..alignment = alignment + .resolve(Directionality.maybeOf(context) ?? TextDirection.ltr); + } +} + +/// A render object that constrains the width of its child and aligns it. +/// +/// This render object implements the layout logic for [ChatConstrainedBox]. +class RenderChatConstrainedBox extends RenderShiftedBox { + double _widthFactor; + AxisAlignment _alignment; + + /// Creates a [RenderChatConstrainedBox]. + /// + /// Parameters: + /// - [widthFactor] (`double`, required): The fraction of the available width that the child should occupy. + /// - [alignment] (`AxisAlignment`, required): The alignment of the child within the available space. + /// - [child] (`RenderBox?`, optional): The child render object. + RenderChatConstrainedBox({ + required double widthFactor, + required AxisAlignment alignment, + RenderBox? child, + }) : _widthFactor = widthFactor, + _alignment = alignment, + super(child); + + /// The fraction of the available width that the child should occupy. + double get widthFactor => _widthFactor; + + /// The alignment of the child within the available space. + AxisAlignment get alignment => _alignment; + + /// Sets the width factor. + set widthFactor(double value) { + if (_widthFactor != value) { + _widthFactor = value; + markNeedsLayout(); + } + } + + /// Sets the alignment. + set alignment(AxisAlignment value) { + if (_alignment != value) { + _alignment = value; + markNeedsLayout(); + } + } + + @override + void performLayout() { + if (child == null) { + size = this.constraints.smallest; + return; + } + var constraints = this.constraints; + var newMaxWidth = constraints.maxWidth * _widthFactor; + constraints = constraints.copyWith(maxWidth: newMaxWidth, minWidth: 0); + child!.layout(constraints, parentUsesSize: true); + size = this + .constraints + .constrain(Size(this.constraints.maxWidth, child!.size.height)); + double x = _alignment.alongValue( + Axis.horizontal, this.constraints.maxWidth - child!.size.width); + final data = child!.parentData as BoxParentData; + data.offset = Offset(x, 0); + } + + @override + Size computeDryLayout(covariant BoxConstraints constraints) { + if (child == null) { + return constraints.smallest; + } + var newMaxWidth = constraints.maxWidth * _widthFactor; + var newConstraints = + constraints.copyWith(maxWidth: newMaxWidth, minWidth: 0); + Size childSize = child!.getDryLayout(newConstraints); + return constraints.constrain(Size(constraints.maxWidth, childSize.height)); + } + + @override + double computeMaxIntrinsicHeight(double width) { + return super.computeMaxIntrinsicHeight(width * _widthFactor); + } + + @override + double computeMinIntrinsicHeight(double width) { + return super.computeMinIntrinsicHeight(width * _widthFactor); + } +} + +/// Defines the theme for a [ChatGroup]. +class ChatGroupTheme extends ComponentThemeData { + /// The spacing between chat bubbles in the group. + final double? spacing; + + /// The alignment of the avatar relative to the chat bubbles. + final AxisAlignmentGeometry? avatarAlignment; + + /// The spacing between the avatar and the chat bubbles. + final double? avatarSpacing; + + /// Creates a [ChatGroupTheme]. + /// + /// Parameters: + /// - [spacing] (`double?`, optional): The spacing between chat bubbles in the group. + /// - [avatarAlignment] (`AxisAlignmentGeometry?`, optional): The alignment of the avatar relative to the chat bubbles. + /// - [avatarSpacing] (`double?`, optional): The spacing between the avatar and the chat bubbles. + const ChatGroupTheme({ + this.spacing, + this.avatarAlignment, + this.avatarSpacing, + }); + + /// Creates a copy of this theme with the given fields replaced with the new values. + /// + /// Parameters: + /// - [spacing] (`ValueGetter?`, optional): New spacing value. + /// - [avatarAlignment] (`ValueGetter?`, optional): New avatar alignment value. + /// - [avatarSpacing] (`ValueGetter?`, optional): New avatar spacing value. + /// + /// Returns: + /// A new [ChatGroupTheme] with the specified values updated. + ChatGroupTheme copyWith({ + ValueGetter? spacing, + ValueGetter? avatarAlignment, + ValueGetter? avatarSpacing, + }) { + return ChatGroupTheme( + spacing: spacing == null ? this.spacing : spacing(), + avatarAlignment: + avatarAlignment == null ? this.avatarAlignment : avatarAlignment(), + avatarSpacing: + avatarSpacing == null ? this.avatarSpacing : avatarSpacing(), + ); + } + + @override + String toString() { + return 'ChatGroupTheme(spacing: $spacing, avatarAlignment: $avatarAlignment, avatarSpacing: $avatarSpacing)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ChatGroupTheme && + other.spacing == spacing && + other.avatarAlignment == avatarAlignment && + other.avatarSpacing == avatarSpacing; + } + + @override + int get hashCode { + return Object.hash(spacing, avatarAlignment, avatarSpacing); + } +} + +/// Defines the theme for [ChatBubble]s. +class ChatTheme extends ComponentThemeData { + /// The background color of the chat bubble. + final Color? color; + + /// The alignment of the chat bubble. + final AxisAlignmentGeometry? alignment; + + /// The type of the chat bubble (e.g., plain, tailed). + final ChatBubbleType? type; + + /// The border radius of the chat bubble. + final BorderRadiusGeometry? borderRadius; + + /// The padding inside the chat bubble. + final EdgeInsetsGeometry? padding; + + /// The border of the chat bubble. + final BorderSide? border; + + /// The width factor of the chat bubble. + final double? widthFactor; + + /// Creates a [ChatTheme]. + /// + /// Parameters: + /// - [color] (`Color?`, optional): The background color of the chat bubble. + /// - [alignment] (`AxisAlignmentGeometry?`, optional): The alignment of the chat bubble. + /// - [type] (`ChatBubbleType?`, optional): The type of the chat bubble (e.g., plain, tailed). + /// - [borderRadius] (`BorderRadiusGeometry?`, optional): The border radius of the chat bubble. + /// - [padding] (`EdgeInsetsGeometry?`, optional): The padding inside the chat bubble. + /// - [border] (`BorderSide?`, optional): The border of the chat bubble. + /// - [widthFactor] (`double?`, optional): The width factor of the chat bubble. + const ChatTheme({ + this.color, + this.alignment, + this.type, + this.borderRadius, + this.padding, + this.border, + this.widthFactor, + }); + + /// Creates a copy of this theme with the given fields replaced with the new values. + /// + /// Parameters: + /// - [color] (`ValueGetter?`, optional): New color value. + /// - [alignment] (`ValueGetter?`, optional): New alignment value. + /// - [type] (`ValueGetter?`, optional): New type value. + /// - [borderRadius] (`ValueGetter?`, optional): New border radius value. + /// - [padding] (`ValueGetter?`, optional): New padding value. + /// - [border] (`ValueGetter?`, optional): New border value. + /// + /// Returns: + /// A new [ChatTheme] with the specified values updated. + ChatTheme copyWith({ + ValueGetter? color, + ValueGetter? alignment, + ValueGetter? type, + ValueGetter? borderRadius, + ValueGetter? padding, + ValueGetter? border, + ValueGetter? widthFactor, + }) { + return ChatTheme( + color: color == null ? this.color : color(), + alignment: alignment == null ? this.alignment : alignment(), + type: type == null ? this.type : type(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + padding: padding == null ? this.padding : padding(), + border: border == null ? this.border : border(), + widthFactor: widthFactor == null ? this.widthFactor : widthFactor(), + ); + } + + @override + String toString() { + return 'ChatTheme(color: $color, alignment: $alignment, type: $type, borderRadius: $borderRadius, padding: $padding, border: $border, widthFactor: $widthFactor)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ChatTheme && + other.color == color && + other.alignment == alignment && + other.type == type && + other.borderRadius == borderRadius && + other.padding == padding && + other.border == border && + other.widthFactor == widthFactor; + } + + @override + int get hashCode { + return Object.hash( + color, alignment, type, borderRadius, padding, border, widthFactor); + } +} + +/// A widget that groups multiple [ChatBubble]s together. +/// +/// This widget handles the layout and styling of a group of chat bubbles, +/// including avatar positioning and spacing. +/// +/// Example: +/// ```dart +/// ChatGroup( +/// avatarPrefix: Avatar(child: Text('A')), +/// children: [ +/// ChatBubble(child: Text('Hello')), +/// ChatBubble(child: Text('How are you?')), +/// ], +/// ) +/// ``` +class ChatGroup extends StatelessWidget { + /// The widget to display before the chat bubbles (e.g., an avatar). + final Widget? avatarPrefix; + + /// The widget to display after the chat bubbles. + final Widget? avatarSuffix; + + /// The list of chat bubbles to display. + final List children; + + /// The alignment of the chat bubbles within the group. + final AxisAlignmentGeometry? alignment; + + /// The background color of the chat bubbles. + final Color? color; + + /// The type of the chat bubbles. + final ChatBubbleType? type; + + /// The border radius of the chat bubbles. + final BorderRadiusGeometry? borderRadius; + + /// The padding inside the chat bubbles. + final EdgeInsetsGeometry? padding; + + /// The border of the chat bubbles. + final BorderSide? border; + + /// The spacing between chat bubbles. + final double? spacing; + + /// The alignment of the avatar. + final AxisAlignmentGeometry? avatarAlignment; + + /// The spacing between the avatar and the chat bubbles. + final double? avatarSpacing; + + /// Creates a [ChatGroup]. + /// + /// Parameters: + /// - [children] (`List`, required): The list of chat bubbles to display. + /// - [alignment] (`AxisAlignmentGeometry?`, optional): The alignment of the chat bubbles within the group. + /// - [color] (`Color?`, optional): The background color of the chat bubbles. + /// - [type] (`ChatBubbleType?`, optional): The type of the chat bubbles. + /// - [borderRadius] (`BorderRadiusGeometry?`, optional): The border radius of the chat bubbles. + /// - [padding] (`EdgeInsetsGeometry?`, optional): The padding inside the chat bubbles. + /// - [border] (`BorderSide?`, optional): The border of the chat bubbles. + /// - [spacing] (`double?`, optional): The spacing between chat bubbles. + /// - [avatarPrefix] (`Widget?`, optional): The widget to display before the chat bubbles. + /// - [avatarSuffix] (`Widget?`, optional): The widget to display after the chat bubbles. + /// - [avatarAlignment] (`AxisAlignmentGeometry?`, optional): The alignment of the avatar. + /// - [avatarSpacing] (`double?`, optional): The spacing between the avatar and the chat bubbles. + const ChatGroup({ + super.key, + required this.children, + this.alignment, + this.color, + this.type, + this.borderRadius, + this.padding, + this.border, + this.spacing, + this.avatarPrefix, + this.avatarSuffix, + this.avatarAlignment, + this.avatarSpacing, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final color = styleValue( + widgetValue: this.color, + themeValue: compTheme?.color, + defaultValue: theme.colorScheme.primary); + final type = styleValue( + widgetValue: this.type, + themeValue: compTheme?.type, + defaultValue: ChatBubbleType.tail); + final groupTheme = ComponentTheme.maybeOf(context); + final avatarAlignment = styleValue( + widgetValue: this.avatarAlignment, + themeValue: groupTheme?.avatarAlignment, + defaultValue: AxisAlignmentDirectional.end, + ) + .resolve(Directionality.maybeOf(context) ?? TextDirection.ltr) + .asVerticalAlignment(AxisAlignment.center); + return ComponentTheme( + data: compTheme?.copyWith( + alignment: alignment == null ? null : () => alignment, + border: border == null ? null : () => border, + borderRadius: borderRadius == null ? null : () => borderRadius, + color: this.color == null ? null : () => this.color, + padding: padding == null ? null : () => padding, + type: this.type == null ? null : () => this.type, + ) ?? + ChatTheme( + alignment: alignment, + border: border, + borderRadius: borderRadius, + color: color, + padding: padding, + type: type, + ), + child: IntrinsicHeight( + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + spacing: styleValue( + widgetValue: avatarSpacing, + themeValue: groupTheme?.avatarSpacing, + defaultValue: 8 * theme.scaling), + children: [ + if (avatarPrefix != null) + Align( + alignment: avatarAlignment, + child: avatarPrefix!, + ), + Flexible( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + spacing: styleValue( + widgetValue: spacing, + themeValue: groupTheme?.spacing, + defaultValue: 2 * theme.scaling), + mainAxisSize: MainAxisSize.min, + children: [ + for (int i = 0; i < children.length; i++) + Data.inherit( + data: ChatBubbleData( + index: i, + length: children.length, + ), + child: children[i], + ) + ], + ), + ), + if (avatarSuffix != null) + Align( + alignment: avatarAlignment, + child: avatarSuffix!, + ), + ], + ), + ), + ); + } +} + +/// Defines the type of a [ChatBubble]. +/// +/// This abstract class allows for different visual styles of chat bubbles, +/// such as plain bubbles or bubbles with tails. +abstract class ChatBubbleType { + /// A plain bubble with no tail. + static const plain = PlainChatBubbleType(); + + /// A bubble with an external triangular tail. + static const tail = TailChatBubbleType(); + + /// A bubble with one sharp corner instead of rounded. + static const sharpCorner = SharpCornerChatBubbleType(); + + /// Creates a [ChatBubbleType]. + const ChatBubbleType(); + + /// Wraps the child widget with the bubble styling. + /// + /// Parameters: + /// - [context] (`BuildContext`, required): The build context. + /// - [child] (`Widget`, required): The child widget to wrap. + /// - [data] (`ChatBubbleData`, required): The data associated with the bubble. + /// - [chat] (`ChatBubble`, required): The chat bubble widget itself. + /// + /// Returns: + /// A [Widget] that wraps the child with the bubble styling. + Widget wrap( + BuildContext context, Widget child, ChatBubbleData data, ChatBubble chat); +} + +/// Defines the corner of a [ChatBubble] where a tail might be attached. +enum ChatBubbleCorner { + /// The top-left corner. + topLeft, + + /// The top-right corner. + topRight, + + /// The bottom-left corner. + bottomLeft, + + /// The bottom-right corner. + bottomRight; +} + +/// Defines the directional corner of a [ChatBubble]. +/// +/// This is used to support RTL languages by defining corners in terms of +/// start and end instead of left and right. +enum ChatBubbleCornerDirectional { + /// The top-start corner (top-left in LTR, top-right in RTL). + topStart, + + /// The top-end corner (top-right in LTR, top-left in RTL). + topEnd, + + /// The bottom-start corner (bottom-left in LTR, bottom-right in RTL). + bottomStart, + + /// The bottom-end corner (bottom-right in LTR, bottom-left in RTL). + bottomEnd; + + /// Resolves the directional corner to a concrete [ChatBubbleCorner] based on the text direction. + ChatBubbleCorner resolve(TextDirection direction) { + return switch ((this, direction)) { + (ChatBubbleCornerDirectional.topStart, TextDirection.ltr) => + ChatBubbleCorner.topLeft, + (ChatBubbleCornerDirectional.topStart, TextDirection.rtl) => + ChatBubbleCorner.topRight, + (ChatBubbleCornerDirectional.topEnd, TextDirection.ltr) => + ChatBubbleCorner.topRight, + (ChatBubbleCornerDirectional.topEnd, TextDirection.rtl) => + ChatBubbleCorner.topLeft, + (ChatBubbleCornerDirectional.bottomStart, TextDirection.ltr) => + ChatBubbleCorner.bottomLeft, + (ChatBubbleCornerDirectional.bottomStart, TextDirection.rtl) => + ChatBubbleCorner.bottomRight, + (ChatBubbleCornerDirectional.bottomEnd, TextDirection.ltr) => + ChatBubbleCorner.bottomRight, + (ChatBubbleCornerDirectional.bottomEnd, TextDirection.rtl) => + ChatBubbleCorner.bottomLeft, + }; + } +} + +/// A [ChatBubbleType] that makes one corner sharp instead of rounded. +/// +/// This style modifies the border radius of one corner to create a pointed +/// corner effect, similar to a speech bubble tail. +class SharpCornerChatBubbleType extends ChatBubbleType { + /// The corner where the tail should be applied. + final ChatBubbleCornerDirectional? corner; + + /// The border radius of the bubble. + final BorderRadiusGeometry? borderRadius; + + /// The padding inside the bubble. + final EdgeInsetsGeometry? padding; + + /// The behavior determining when to show the tail. + final TailBehavior? tailBehavior; + + /// Creates a [SharpCornerChatBubbleType]. + /// + /// Parameters: + /// - [corner] (`ChatBubbleCornerDirectional?`, optional): The corner that should be sharp. + /// - [borderRadius] (`BorderRadiusGeometry?`, optional): The border radius of the bubble. + /// - [padding] (`EdgeInsetsGeometry?`, optional): The padding inside the bubble. + /// - [tailBehavior] (`TailBehavior?`, optional): The behavior determining when to show the sharp corner. + const SharpCornerChatBubbleType({ + this.corner, + this.borderRadius, + this.padding, + this.tailBehavior, + }); + + /// Creates a copy of this bubble type with the given fields replaced with the new values. + /// + /// Parameters: + /// - [corner] (`ValueGetter?`, optional): New corner value. + /// - [borderRadius] (`ValueGetter?`, optional): New border radius value. + /// - [padding] (`ValueGetter?`, optional): New padding value. + /// - [tailBehavior] (`ValueGetter?`, optional): New tail behavior value. + /// + /// Returns: + /// A new [SharpCornerChatBubbleType] with the specified values updated. + SharpCornerChatBubbleType copyWith({ + ValueGetter? corner, + ValueGetter? borderRadius, + ValueGetter? padding, + ValueGetter? tailBehavior, + }) { + return SharpCornerChatBubbleType( + corner: corner == null ? this.corner : corner(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + padding: padding == null ? this.padding : padding(), + tailBehavior: tailBehavior == null ? this.tailBehavior : tailBehavior(), + ); + } + + @override + Widget wrap(BuildContext context, Widget child, ChatBubbleData data, + ChatBubble chat) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final compTailTheme = ComponentTheme.maybeOf(context); + final textDirection = Directionality.maybeOf(context) ?? TextDirection.ltr; + final padding = styleValue( + widgetValue: this.padding, + themeValue: compTheme?.padding, + defaultValue: EdgeInsets.symmetric( + horizontal: 12 * theme.scaling, + vertical: 8 * theme.scaling, + ), + ); + final color = styleValue( + widgetValue: chat.color, + themeValue: compTheme?.color, + defaultValue: theme.colorScheme.primary); + var radius = styleValue( + widgetValue: borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: theme.borderRadiusLg, + ).resolve(textDirection); + final tailBehavior = styleValue( + widgetValue: this.tailBehavior, + themeValue: compTailTheme?.tailBehavior, + defaultValue: TailBehavior.last); + if (tailBehavior.wrapWithTail(data)) { + ChatBubbleCorner? corner = this.corner?.resolve(textDirection); + if (corner == null) { + // guess corner based on alignment + final alignment = styleValue( + widgetValue: chat.alignment, + themeValue: compTheme?.alignment, + defaultValue: AxisAlignmentDirectional.end, + ).resolve(textDirection); + if (alignment.value > 0) { + corner = ChatBubbleCorner.bottomRight; + } else { + corner = ChatBubbleCorner.bottomLeft; + } + } + switch (corner) { + case ChatBubbleCorner.topLeft: + radius = radius.copyWith(topLeft: Radius.zero); + break; + case ChatBubbleCorner.topRight: + radius = radius.copyWith(topRight: Radius.zero); + break; + case ChatBubbleCorner.bottomLeft: + radius = radius.copyWith(bottomLeft: Radius.zero); + break; + case ChatBubbleCorner.bottomRight: + radius = radius.copyWith(bottomRight: Radius.zero); + break; + } + } + return Container( + decoration: BoxDecoration( + borderRadius: radius, + color: color, + ), + padding: padding, + child: child, + ); + } +} + +/// A simple [ChatBubbleType] with no tail. +class PlainChatBubbleType extends ChatBubbleType { + /// The border radius of the bubble. + final BorderRadiusGeometry? borderRadius; + + /// The border of the bubble. + final BorderSide? border; + + /// The padding inside the bubble. + final EdgeInsetsGeometry? padding; + + /// Creates a [PlainChatBubbleType]. + /// + /// Parameters: + /// - [borderRadius] (`BorderRadiusGeometry?`, optional): The border radius of the bubble. + /// - [border] (`BorderSide?`, optional): The border of the bubble. + /// - [padding] (`EdgeInsetsGeometry?`, optional): The padding inside the bubble. + const PlainChatBubbleType({ + this.borderRadius, + this.border, + this.padding, + }); + @override + Widget wrap(BuildContext context, Widget child, ChatBubbleData data, + ChatBubble chat) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final border = styleValue( + widgetValue: this.border, + themeValue: compTheme?.border, + defaultValue: null, + ); + final padding = styleValue( + widgetValue: this.padding, + themeValue: compTheme?.padding, + defaultValue: EdgeInsets.symmetric( + horizontal: 12 * theme.scaling, + vertical: 8 * theme.scaling, + ), + ); + final color = styleValue( + widgetValue: chat.color, + themeValue: compTheme?.color, + defaultValue: theme.colorScheme.primary); + return Container( + decoration: BoxDecoration( + borderRadius: styleValue( + widgetValue: borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: theme.borderRadiusLg, + ), + border: border == null + ? null + : Border.all( + color: border.color, + width: border.width, + strokeAlign: border.strokeAlign, + style: border.style), + color: color, + ), + padding: padding, + child: child, + ); + } +} + +/// Defines when a tail should be shown on a [ChatBubble]. +abstract class TailBehavior { + /// Shows a tail on the first bubble in a group. + static const first = _ChatTailBehavior(_first); + + /// Shows a tail on the middle bubble in a group. + static const middle = _ChatTailBehavior(_middle); + + /// Shows a tail on the last bubble in a group. + static const last = _ChatTailBehavior(_last); + static bool _first(ChatBubbleData data) => data.index == 0; + static bool _middle(ChatBubbleData data) => + data.index == (data.length - 1) ~/ 2; + static bool _last(ChatBubbleData data) => data.index == data.length - 1; + + /// Determines whether the bubble at the given index should have a tail. + bool wrapWithTail(ChatBubbleData data); +} + +class _ChatTailBehavior implements TailBehavior { + final bool Function(ChatBubbleData data) shouldHaveTail; + const _ChatTailBehavior(this.shouldHaveTail); + @override + bool wrapWithTail(ChatBubbleData data) { + return shouldHaveTail(data); + } +} + +/// Defines the theme for the tail of a [ChatBubble]. +class ChatTailTheme extends ComponentThemeData { + /// The position of the tail relative to the bubble. + final AxisDirectional? position; + + /// The size of the tail. + final Size? size; + + /// The border radius of the bubble when a tail is present. + final BorderRadiusGeometry? borderRadius; + + /// The radius of the tail's curve. + final double? tailRadius; + + /// The behavior determining when to show the tail. + final TailBehavior? tailBehavior; + + /// Creates a [ChatTailTheme]. + /// + /// Parameters: + /// - [position] (`AxisDirectional?`, optional): The position of the tail relative to the bubble. + /// - [size] (`Size?`, optional): The size of the tail. + /// - [borderRadius] (`BorderRadiusGeometry?`, optional): The border radius of the bubble when a tail is present. + /// - [tailRadius] (`double?`, optional): The radius of the tail's curve. + /// - [tailBehavior] (`TailBehavior?`, optional): The behavior determining when to show the tail. + const ChatTailTheme({ + this.position, + this.size, + this.borderRadius, + this.tailRadius, + this.tailBehavior, + }); + @override + String toString() { + return 'ChatTailTheme(position: $position, size: $size, borderRadius: $borderRadius, tailRadius: $tailRadius, tailBehavior: $tailBehavior)'; + } + + /// Creates a copy of this theme with the given fields replaced with the new values. + /// + /// Parameters: + /// - [position] (`ValueGetter?`, optional): New position value. + /// - [size] (`ValueGetter?`, optional): New size value. + /// - [borderRadius] (`ValueGetter?`, optional): New border radius value. + /// - [tailRadius] (`ValueGetter?`, optional): New tail radius value. + /// - [tailBehavior] (`ValueGetter?`, optional): New tail behavior value. + /// + /// Returns: + /// A new [ChatTailTheme] with the specified values updated. + ChatTailTheme copyWith({ + ValueGetter? position, + ValueGetter? size, + ValueGetter? borderRadius, + ValueGetter? tailRadius, + ValueGetter? tailBehavior, + }) { + return ChatTailTheme( + position: position?.call() ?? this.position, + size: size?.call() ?? this.size, + borderRadius: borderRadius?.call() ?? this.borderRadius, + tailRadius: tailRadius?.call() ?? this.tailRadius, + tailBehavior: tailBehavior?.call() ?? this.tailBehavior, + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is ChatTailTheme && + other.position == position && + other.size == size && + other.borderRadius == borderRadius && + other.tailRadius == tailRadius && + other.tailBehavior == tailBehavior; + } + + @override + int get hashCode { + return Object.hash( + position, + size, + borderRadius, + tailRadius, + tailBehavior, + ); + } +} + +/// A [ChatBubbleType] that draws an external triangular tail. +class TailChatBubbleType extends ChatBubbleType { + /// The alignment of the tail along the bubble's edge. + final AxisAlignmentGeometry? tailAlignment; + + /// The position of the tail relative to the bubble. + final AxisDirectional? position; + + /// The size of the tail. + final Size? size; + + /// The border radius of the bubble. + final BorderRadiusGeometry? borderRadius; + + /// The radius of the tail's curve. + final double? tailRadius; + + /// The behavior determining when to show the tail. + final TailBehavior? tailBehavior; + + /// The padding inside the bubble. + final EdgeInsetsGeometry? padding; + + /// Creates a [TailChatBubbleType]. + /// + /// Parameters: + /// - [tailAlignment] (`AxisAlignmentGeometry?`, optional): The alignment of the tail along the bubble's edge. + /// - [position] (`AxisDirectional?`, optional): The position of the tail relative to the bubble. + /// - [size] (`Size?`, optional): The size of the tail. + /// - [borderRadius] (`BorderRadiusGeometry?`, optional): The border radius of the bubble. + /// - [tailRadius] (`double?`, optional): The radius of the tail's curve. + /// - [tailBehavior] (`TailBehavior?`, optional): The behavior determining when to show the tail. + /// - [padding] (`EdgeInsetsGeometry?`, optional): The padding inside the bubble. + const TailChatBubbleType({ + this.tailAlignment, + this.position, + this.size, + this.borderRadius, + this.tailRadius, + this.tailBehavior, + this.padding, + }); + + /// Creates a copy of this bubble type with the given fields replaced with the new values. + /// + /// Parameters: + /// - [tailAlignment] (`ValueGetter?`, optional): New tail alignment value. + /// - [position] (`ValueGetter?`, optional): New position value. + /// - [size] (`ValueGetter?`, optional): New size value. + /// - [borderRadius] (`ValueGetter?`, optional): New border radius value. + /// - [tailRadius] (`ValueGetter?`, optional): New tail radius value. + /// - [tailBehavior] (`ValueGetter?`, optional): New tail behavior value. + /// + /// Returns: + /// A new [TailChatBubbleType] with the specified values updated. + TailChatBubbleType copyWith({ + ValueGetter? tailAlignment, + ValueGetter? position, + ValueGetter? size, + ValueGetter? borderRadius, + ValueGetter? tailRadius, + ValueGetter? tailBehavior, + }) { + return TailChatBubbleType( + tailAlignment: tailAlignment?.call() ?? this.tailAlignment, + position: position?.call() ?? this.position, + size: size?.call() ?? this.size, + borderRadius: borderRadius?.call() ?? this.borderRadius, + tailRadius: tailRadius?.call() ?? this.tailRadius, + tailBehavior: tailBehavior?.call() ?? this.tailBehavior, + ); + } + + @override + Widget wrap(BuildContext context, Widget child, ChatBubbleData data, + ChatBubble chat) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final chatTheme = ComponentTheme.maybeOf(context); + final textDirection = Directionality.maybeOf(context) ?? TextDirection.ltr; + final tailBehavior = styleValue( + widgetValue: this.tailBehavior, + themeValue: compTheme?.tailBehavior, + defaultValue: TailBehavior.last); + final color = styleValue( + widgetValue: chat.color, + themeValue: chatTheme?.color, + defaultValue: theme.colorScheme.primary); + final radius = styleValue( + widgetValue: borderRadius, + themeValue: chatTheme?.borderRadius, + defaultValue: theme.borderRadiusLg) + .resolve(textDirection); + child = Container( + decoration: BoxDecoration( + borderRadius: radius, + color: color, + ), + padding: EdgeInsets.symmetric( + horizontal: 12 * theme.scaling, + vertical: 8 * theme.scaling, + ), + child: child, + ); + + double leftPadding; + double rightPadding; + double topPadding; + double bottomPadding; + final size = styleValue( + widgetValue: this.size, + themeValue: compTheme?.size, + defaultValue: const Size(8, 8)); + final position = styleValue( + widgetValue: this.position, + themeValue: compTheme?.position, + defaultValue: AxisDirectional.end) + .resolve(textDirection); + bool wrapWithTail = tailBehavior.wrapWithTail(data); + switch ((position, wrapWithTail)) { + case (AxisDirection.left, _): + topPadding = 0; + leftPadding = size.width; + rightPadding = 0; + bottomPadding = 0; + break; + case (AxisDirection.right, _): + topPadding = 0; + leftPadding = 0; + rightPadding = size.width; + bottomPadding = 0; + break; + case (AxisDirection.up, true): + topPadding = size.height; + leftPadding = 0; + rightPadding = 0; + bottomPadding = 0; + break; + case (AxisDirection.down, true): + topPadding = 0; + leftPadding = 0; + rightPadding = 0; + bottomPadding = size.height; + break; + case (_, _): + topPadding = 0; + leftPadding = 0; + rightPadding = 0; + bottomPadding = 0; + break; + } + + if (tailBehavior.wrapWithTail(data)) { + final color = styleValue( + widgetValue: chat.color, + themeValue: chatTheme?.color, + defaultValue: theme.colorScheme.primary); + + final tailSize = styleValue( + widgetValue: size, + themeValue: compTheme?.size, + defaultValue: const Size(8, 8)); + final tailRadius = styleValue( + widgetValue: this.tailRadius, + themeValue: compTheme?.tailRadius, + defaultValue: theme.radiusSm); + final tailAlignment = styleValue( + widgetValue: this.tailAlignment, + themeValue: chatTheme?.alignment, + defaultValue: AxisAlignmentDirectional.end) + .resolve(textDirection); + final position = styleValue( + widgetValue: this.position, + themeValue: compTheme?.position, + defaultValue: AxisDirectional.down) + .resolve(textDirection); + child = CustomPaint( + painter: _TailPainter( + color: color, + radius: radius, + tailSize: tailSize, + position: position, + tailAlignment: tailAlignment, + tailRadius: tailRadius, + ), + child: child, + ); + } + return Padding( + padding: EdgeInsets.only( + top: topPadding, + left: leftPadding, + right: rightPadding, + bottom: bottomPadding, + ), + child: child, + ); + } +} + +class _TailPainter extends CustomPainter { + final Color color; + final BorderRadius radius; + final Size tailSize; + final AxisDirection position; + final AxisAlignment tailAlignment; + final double tailRadius; + const _TailPainter({ + required this.color, + required this.radius, + required this.tailSize, + required this.position, + required this.tailAlignment, + required this.tailRadius, + }); + + @override + void paint(Canvas canvas, Size size) { + final path = Path(); + // create tail shape + Axis axis = switch (position) { + AxisDirection.up => Axis.vertical, + AxisDirection.down => Axis.vertical, + AxisDirection.left => Axis.horizontal, + AxisDirection.right => Axis.horizontal, + }; + + double horizontalOffset = tailAlignment.alongValue(axis, size.width) - + tailAlignment.alongValue(axis, tailSize.width); + double verticalOffset = tailAlignment.alongValue(axis, size.height) - + tailAlignment.alongValue(axis, tailSize.height); + double alignVal = tailAlignment.resolveValue(axis); + double t = (alignVal + 1) / 2; + + Offset base1, base2, tip; + + // Get corner radius - the bubble extends beyond the painter bounds + double cornerRadius = switch (position) { + AxisDirection.up => max(radius.topLeft.y, radius.topRight.y), + AxisDirection.down => max(radius.bottomLeft.y, radius.bottomRight.y), + AxisDirection.left => max(radius.topLeft.x, radius.bottomLeft.x), + AxisDirection.right => max(radius.topRight.x, radius.bottomRight.x), + }; + + // Calculate initial base positions at the edge + Offset initialBase1, initialBase2; + switch (position) { + case AxisDirection.up: + initialBase1 = Offset(horizontalOffset, 0); + initialBase2 = Offset(horizontalOffset + tailSize.width, 0); + tip = Offset(horizontalOffset + t * tailSize.width, -tailSize.height); + break; + case AxisDirection.down: + initialBase1 = Offset(horizontalOffset, size.height); + initialBase2 = Offset(horizontalOffset + tailSize.width, size.height); + tip = Offset(horizontalOffset + t * tailSize.width, + size.height + tailSize.height); + break; + case AxisDirection.left: + initialBase1 = Offset(0, verticalOffset); + initialBase2 = Offset(0, verticalOffset + tailSize.height); + tip = Offset(-tailSize.width, verticalOffset + t * tailSize.height); + break; + case AxisDirection.right: + initialBase1 = Offset(size.width, verticalOffset); + initialBase2 = Offset(size.width, verticalOffset + tailSize.height); + tip = Offset( + size.width + tailSize.width, verticalOffset + t * tailSize.height); + break; + } + + // Extend base points along the tail-to-base vectors by cornerRadius + Offset v1 = initialBase1 - tip; + Offset v2 = initialBase2 - tip; + double d1 = v1.distance; + double d2 = v2.distance; + + // Move base1 and base2 outward along their respective vectors + base1 = d1 == 0 ? initialBase1 : tip + v1 * ((d1 + cornerRadius) / d1); + base2 = d2 == 0 ? initialBase2 : tip + v2 * ((d2 + cornerRadius) / d2); + + // Recalculate vectors for the rounded tip + v1 = base1 - tip; + v2 = base2 - tip; + d1 = v1.distance; + d2 = v2.distance; + + Offset pathBeforeTail = + d1 == 0 ? tip : tip + v1 * (min(d1, tailRadius) / d1); + Offset pathAfterTail = + d2 == 0 ? tip : tip + v2 * (min(d2, tailRadius) / d2); + + path.moveTo(base1.dx, base1.dy); + path.lineTo(pathBeforeTail.dx, pathBeforeTail.dy); + path.quadraticBezierTo(tip.dx, tip.dy, pathAfterTail.dx, pathAfterTail.dy); + path.lineTo(base2.dx, base2.dy); + path.close(); + canvas.drawPath(path, Paint()..color = color); + } + + @override + bool shouldRepaint(covariant _TailPainter oldDelegate) { + return oldDelegate.color != color || + oldDelegate.radius != radius || + oldDelegate.tailSize != tailSize || + oldDelegate.position != position || + oldDelegate.tailAlignment != tailAlignment; + } +} + +/// Data associated with a [ChatBubble] within a [ChatGroup]. +class ChatBubbleData { + /// The index of the bubble in the group. + final int index; + + /// The total number of bubbles in the group. + final int length; + + /// Creates a [ChatBubbleData]. + /// + /// Parameters: + /// - [index] (`int`, required): The index of the bubble in the group. + /// - [length] (`int`, required): The total number of bubbles in the group. + const ChatBubbleData({ + required this.index, + required this.length, + }); + + /// Creates a copy of this data with the given fields replaced with the new values. + /// + /// Parameters: + /// - [index] (`int?`, optional): New index value. + /// - [length] (`int?`, optional): New length value. + /// + /// Returns: + /// A new [ChatBubbleData] with the specified values updated. + ChatBubbleData copyWith({ + int? index, + int? length, + }) { + return ChatBubbleData( + index: index ?? this.index, + length: length ?? this.length, + ); + } + + @override + String toString() { + return 'ChatBubbleData(index: $index, length: $length)'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ChatBubbleData && + other.index == index && + other.length == length; + } + + @override + int get hashCode { + return Object.hash(index, length); + } +} + +/// A widget that displays a single chat message or content. +/// +/// This widget renders a chat bubble with customizable styling, including +/// background color, alignment, and tail behavior. +/// +/// Example: +/// ```dart +/// ChatBubble( +/// child: Text('Hello World'), +/// alignment: AxisAlignment.right, +/// color: Colors.blue, +/// ) +/// ``` +class ChatBubble extends StatelessWidget { + /// The content of the chat bubble. + final Widget child; + + /// The type of the chat bubble. + final ChatBubbleType? type; + + /// The background color of the chat bubble. + final Color? color; + + /// The alignment of the chat bubble. + final AxisAlignmentGeometry? alignment; + + /// The border of the chat bubble. + final BorderSide? border; + + /// The padding inside the chat bubble. + final EdgeInsetsGeometry? padding; + + /// The border radius of the chat bubble. + final BorderRadiusGeometry? borderRadius; + + /// The width factor of the chat bubble. + final double? widthFactor; + + /// Creates a [ChatBubble]. + /// + /// Parameters: + /// - [child] (`Widget`, required): The content of the chat bubble. + /// - [type] (`ChatBubbleType?`, optional): The type of the chat bubble. + /// - [color] (`Color?`, optional): The background color of the chat bubble. + /// - [alignment] (`AxisAlignmentGeometry?`, optional): The alignment of the chat bubble. + /// - [border] (`BorderSide?`, optional): The border of the chat bubble. + /// - [padding] (`EdgeInsetsGeometry?`, optional): The padding inside the chat bubble. + /// - [borderRadius] (`BorderRadiusGeometry?`, optional): The border radius of the chat bubble. + /// - [widthFactor] (`double?`, optional): The width factor of the chat bubble. + const ChatBubble({ + super.key, + required this.child, + this.type, + this.color, + this.alignment, + this.border, + this.padding, + this.borderRadius, + this.widthFactor, + }); + + @override + Widget build(BuildContext context) { + final chatTheme = ComponentTheme.maybeOf(context); + final textDirection = Directionality.maybeOf(context) ?? TextDirection.ltr; + final alignment = styleValue( + widgetValue: this.alignment, + themeValue: chatTheme?.alignment, + defaultValue: AxisAlignmentDirectional.end, + ).resolve(textDirection); + final type = styleValue( + widgetValue: this.type, + themeValue: chatTheme?.type, + defaultValue: ChatBubbleType.tail, + ); + final effectiveData = (Data.maybeOf(context) ?? + ChatBubbleData( + index: 0, + length: 1, + )); + final widthFactor = styleValue( + widgetValue: this.widthFactor, + themeValue: chatTheme?.widthFactor, + defaultValue: 0.5, + ); + return ChatConstrainedBox( + widthFactor: widthFactor, + alignment: alignment, + child: ComponentTheme( + data: chatTheme?.copyWith( + color: color == null ? null : () => color, + type: () => type, + alignment: () => alignment, + border: border == null ? null : () => border, + padding: padding == null ? null : () => padding, + borderRadius: borderRadius == null ? null : () => borderRadius, + widthFactor: widthFactor == 0.5 ? null : () => widthFactor, + ) ?? + ChatTheme( + color: color, + type: type, + alignment: alignment, + border: border, + padding: padding, + borderRadius: borderRadius, + widthFactor: widthFactor, + ), + child: Builder(builder: (context) { + return type.wrap(context, child, effectiveData, this); + }), + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/chip.dart b/third_party/shadcn_flutter/lib/src/components/display/chip.dart new file mode 100644 index 00000000..79c8d9c2 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/chip.dart @@ -0,0 +1,213 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme for [Chip]. +class ChipTheme extends ComponentThemeData { + /// The padding inside the chip. + final EdgeInsetsGeometry? padding; + + /// The default [Button] style of the chip. + final AbstractButtonStyle? style; + + /// Creates a [ChipTheme]. + const ChipTheme({this.padding, this.style}); + + /// Creates a copy of this theme with the given values replaced. + ChipTheme copyWith({ + ValueGetter? padding, + ValueGetter? style, + }) { + return ChipTheme( + padding: padding == null ? this.padding : padding(), + style: style == null ? this.style : style(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ChipTheme && + other.padding == padding && + other.style == style; + } + + @override + int get hashCode => Object.hash(padding, style); +} + +/// Specialized button component designed for use within chips. +/// +/// A compact button widget optimized for use as leading or trailing elements +/// within [Chip] widgets. Provides consistent styling and behavior for +/// interactive chip elements like close buttons or action triggers. +/// +/// Example: +/// ```dart +/// ChipButton( +/// onPressed: () => removeItem(item), +/// child: Icon(Icons.close, size: 14), +/// ); +/// ``` +class ChipButton extends StatelessWidget { + /// The widget to display as the button content. + final Widget child; + + /// Callback invoked when the button is pressed. + final VoidCallback? onPressed; + + /// Creates a chip button with the specified child and callback. + const ChipButton({ + super.key, + required this.child, + this.onPressed, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final padding = styleValue( + themeValue: compTheme?.padding, + defaultValue: EdgeInsets.zero, + ); + final style = compTheme?.style ?? + ButtonVariance( + decoration: (context, states) { + return const BoxDecoration(); + }, + mouseCursor: (context, states) { + if (states.contains(WidgetState.disabled)) { + return SystemMouseCursors.basic; + } + return SystemMouseCursors.click; + }, + padding: (context, states) { + return padding; + }, + textStyle: (context, states) { + return const TextStyle(); + }, + iconTheme: (context, states) { + return theme.iconTheme.xSmall; + }, + margin: (context, states) { + return EdgeInsets.zero; + }, + ); + return Button( + style: style, + onPressed: onPressed, + child: child, + ); + } +} + +/// Compact interactive element for tags, labels, and selections. +/// +/// A versatile chip widget that combines button functionality with a compact +/// form factor. Ideal for representing tags, categories, filters, or selected +/// items in a space-efficient manner with optional interactive elements. +/// +/// ## Features +/// +/// - **Compact design**: Space-efficient layout perfect for tags and labels +/// - **Interactive elements**: Optional leading and trailing widgets (icons, buttons) +/// - **Customizable styling**: Flexible button styling with theme integration +/// - **Touch feedback**: Optional press handling with visual feedback +/// - **Accessibility**: Full screen reader support and keyboard navigation +/// - **Consistent theming**: Integrated with the component theme system +/// +/// The chip renders as a rounded button with optional leading and trailing +/// elements, making it perfect for filter tags, contact chips, or selection +/// indicators. +/// +/// Example: +/// ```dart +/// Chip( +/// leading: Icon(Icons.star), +/// child: Text('Favorites'), +/// trailing: ChipButton( +/// onPressed: () => removeFilter('favorites'), +/// child: Icon(Icons.close), +/// ), +/// onPressed: () => toggleFilter('favorites'), +/// style: ButtonStyle.secondary(), +/// ); +/// ``` +class Chip extends StatelessWidget { + /// The main content of the chip. + final Widget child; + + /// Optional widget displayed before the child. + final Widget? leading; + + /// Optional widget displayed after the child. + final Widget? trailing; + + /// Callback invoked when the chip is pressed. + final VoidCallback? onPressed; + + /// Custom button style for the chip. + final AbstractButtonStyle? style; + + /// Creates a [Chip]. + /// + /// The chip displays [child] content with optional [leading] and [trailing] + /// widgets. When [onPressed] is provided, the entire chip becomes interactive. + /// + /// Parameters: + /// - [child] (Widget, required): main content displayed in the chip center + /// - [leading] (Widget?, optional): widget displayed before the main content + /// - [trailing] (Widget?, optional): widget displayed after the main content + /// - [onPressed] (VoidCallback?, optional): callback when chip is pressed + /// - [style] (AbstractButtonStyle?, optional): override chip button styling + /// + /// Example: + /// ```dart + /// Chip( + /// leading: Avatar(user: currentUser), + /// child: Text(currentUser.name), + /// trailing: ChipButton( + /// onPressed: () => removeUser(currentUser), + /// child: Icon(Icons.close, size: 16), + /// ), + /// style: ButtonStyle.primary(), + /// ) + /// ``` + const Chip({ + super.key, + required this.child, + this.leading, + this.trailing, + this.onPressed, + this.style, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final baseStyle = style ?? compTheme?.style ?? ButtonVariance.secondary; + return Button( + style: baseStyle.copyWith( + mouseCursor: (context, states, value) { + return onPressed != null + ? SystemMouseCursors.click + : SystemMouseCursors.basic; + }, + padding: (context, states, value) { + return styleValue( + themeValue: compTheme?.padding, + defaultValue: EdgeInsets.symmetric( + horizontal: theme.scaling * 8, + vertical: theme.scaling * 4, + ), + ); + }, + ), + onPressed: onPressed ?? () {}, + leading: leading, + trailing: trailing, + child: child, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/circular_progress_indicator.dart b/third_party/shadcn_flutter/lib/src/components/display/circular_progress_indicator.dart new file mode 100644 index 00000000..ac117018 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/circular_progress_indicator.dart @@ -0,0 +1,277 @@ +import 'package:flutter/material.dart' as mat; + +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for [CircularProgressIndicator] components. +/// +/// Provides visual styling properties for circular progress indicators including +/// colors, sizing, and stroke characteristics. These properties integrate with +/// the design system and can be overridden at the widget level. +/// +/// All theme values respect the current theme's scaling factor and color scheme +/// for consistent visual presentation across different screen densities and themes. +class CircularProgressIndicatorTheme extends ComponentThemeData { + /// The primary color of the progress indicator arc. + /// + /// Type: `Color?`. If null, uses theme's primary color or background color + /// when [onSurface] is true. Applied to the filled portion of the circular track. + final Color? color; + + /// The background color of the progress indicator track. + /// + /// Type: `Color?`. If null, uses a semi-transparent version of the primary color. + /// Visible in the unfilled portion of the circular track. + final Color? backgroundColor; + + /// The diameter size of the circular progress indicator. + /// + /// Type: `double?`. If null, derives size from current icon theme size minus padding. + /// Determines the overall dimensions of the circular progress display. + final double? size; + + /// The width of the progress indicator stroke. + /// + /// Type: `double?`. If null, calculates as size/12 for proportional appearance. + /// Controls the thickness of both the progress arc and background track. + final double? strokeWidth; + + /// Creates a [CircularProgressIndicatorTheme]. + /// + /// All parameters are optional and can be null to use intelligent defaults + /// based on the current theme configuration and icon context. + /// + /// Example: + /// ```dart + /// const CircularProgressIndicatorTheme( + /// color: Colors.blue, + /// backgroundColor: Colors.grey, + /// size: 32.0, + /// strokeWidth: 3.0, + /// ); + /// ``` + const CircularProgressIndicatorTheme({ + this.color, + this.backgroundColor, + this.size, + this.strokeWidth, + }); + + /// Creates a copy of this theme with the given fields replaced. + CircularProgressIndicatorTheme copyWith({ + ValueGetter? color, + ValueGetter? backgroundColor, + ValueGetter? size, + ValueGetter? strokeWidth, + }) { + return CircularProgressIndicatorTheme( + color: color == null ? this.color : color(), + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + size: size == null ? this.size : size(), + strokeWidth: strokeWidth == null ? this.strokeWidth : strokeWidth(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is CircularProgressIndicatorTheme && + other.color == color && + other.backgroundColor == backgroundColor && + other.size == size && + other.strokeWidth == strokeWidth; + } + + @override + int get hashCode => Object.hash( + color, + backgroundColor, + size, + strokeWidth, + ); +} + +/// A circular progress indicator that displays task completion as a rotating arc. +/// +/// The CircularProgressIndicator provides both determinate and indeterminate +/// progress visualization in a compact circular format. When a specific progress +/// value is provided, it shows completion as a filled arc. When value is null, +/// it displays a continuous spinning animation. +/// +/// Built as a wrapper around Flutter's native CircularProgressIndicator with +/// enhanced theming capabilities and integration with the shadcn design system. +/// Automatically adapts sizing based on the current [IconTheme] context while +/// providing manual size override options. +/// +/// Key features: +/// - Determinate and indeterminate progress modes +/// - Automatic sizing based on icon context with manual overrides +/// - Smooth value animations with configurable duration +/// - Surface mode for display on colored backgrounds +/// - Comprehensive theming via [CircularProgressIndicatorTheme] +/// - Performance-optimized rendering with [RepaintBoundary] +/// +/// The component intelligently calculates default colors and sizing based on +/// the current theme and icon context, ensuring consistent visual integration. +/// +/// Example: +/// ```dart +/// CircularProgressIndicator( +/// value: 0.75, +/// size: 32.0, +/// color: Colors.blue, +/// ); +/// ``` +class CircularProgressIndicator extends StatelessWidget { + /// The progress completion value between 0.0 and 1.0. + /// + /// Type: `double?`. If null, displays indeterminate spinning animation. + /// When provided, shows progress as a filled arc from 0% to value*100%. + final double? value; + + /// The explicit diameter size of the progress indicator. + /// + /// Type: `double?`. If null, derives size from current icon theme size + /// minus theme scaling padding. Overrides theme and automatic sizing. + final double? size; + + /// The primary color of the progress arc. + /// + /// Type: `Color?`. If null, uses theme color or background color when + /// [onSurface] is true. Overrides theme configuration. + final Color? color; + + /// The background color of the progress track. + /// + /// Type: `Color?`. If null, uses a semi-transparent version of the + /// primary color. Overrides theme configuration. + final Color? backgroundColor; + + /// The width of the progress stroke line. + /// + /// Type: `double?`. If null, calculates proportionally as size/12. + /// Controls the thickness of both progress and background arcs. + final double? strokeWidth; + + /// The duration for smooth progress value transitions. + /// + /// Type: `Duration`, default: [kDefaultDuration]. Only applied when + /// [animated] is true and [value] is provided for determinate progress. + final Duration duration; + + /// Whether to animate progress value changes. + /// + /// Type: `bool`, default: `true`. When false, progress changes instantly. + /// When true with determinate value, uses [AnimatedValueBuilder] for smooth transitions. + final bool animated; + + /// Whether the indicator is displayed on a colored surface. + /// + /// Type: `bool`, default: `false`. When true, uses background color instead + /// of primary color for better visibility on colored backgrounds. + final bool onSurface; + + /// Creates a [CircularProgressIndicator]. + /// + /// The component automatically handles both determinate and indeterminate modes + /// based on whether [value] is provided. Size and colors adapt intelligently + /// based on theme context unless explicitly overridden. + /// + /// Parameters: + /// - [value] (double?, optional): Progress completion (0.0-1.0) or null for indeterminate + /// - [size] (double?, optional): Explicit diameter size override + /// - [color] (Color?, optional): Primary progress arc color override + /// - [backgroundColor] (Color?, optional): Background track color override + /// - [strokeWidth] (double?, optional): Progress stroke thickness override + /// - [duration] (Duration, default: kDefaultDuration): Animation duration for value changes + /// - [animated] (bool, default: true): Whether to animate progress transitions + /// - [onSurface] (bool, default: false): Whether displayed on colored background + /// + /// Example: + /// ```dart + /// CircularProgressIndicator( + /// value: 0.6, + /// size: 24.0, + /// strokeWidth: 2.0, + /// animated: true, + /// ); + /// ``` + const CircularProgressIndicator({ + super.key, + this.value, + this.size, + this.color, + this.backgroundColor, + this.strokeWidth, + this.duration = kDefaultDuration, + this.animated = true, + this.onSurface = false, + }); + + @override + Widget build(BuildContext context) { + final iconThemeData = IconTheme.of(context); + final theme = Theme.of(context); + final compTheme = + ComponentTheme.maybeOf(context); + + final effectiveSize = styleValue( + widgetValue: size, + themeValue: compTheme?.size, + defaultValue: + (iconThemeData.size ?? 24 * theme.scaling) - 8 * theme.scaling); + + final effectiveColor = styleValue( + widgetValue: color, + themeValue: compTheme?.color, + defaultValue: onSurface + ? theme.colorScheme.background + : theme.colorScheme.primary); + + final effectiveBackgroundColor = styleValue( + widgetValue: backgroundColor, + themeValue: compTheme?.backgroundColor, + defaultValue: effectiveColor.scaleAlpha(0.2)); + + final effectiveStrokeWidth = styleValue( + widgetValue: strokeWidth, + themeValue: compTheme?.strokeWidth, + defaultValue: effectiveSize / 12); + + if (value == null || !animated) { + return RepaintBoundary( + child: SizedBox( + width: effectiveSize, + height: effectiveSize, + child: mat.CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation(effectiveColor), + color: effectiveColor, + backgroundColor: effectiveBackgroundColor, + strokeWidth: effectiveStrokeWidth, + value: value, + ), + ), + ); + } else { + return AnimatedValueBuilder( + value: value!, + duration: duration, + builder: (context, value, child) { + return RepaintBoundary( + child: SizedBox( + width: effectiveSize, + height: effectiveSize, + child: mat.CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation(effectiveColor), + color: effectiveColor, + backgroundColor: effectiveBackgroundColor, + strokeWidth: effectiveStrokeWidth, + value: value, + ), + ), + ); + }, + ); + } + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/code_snippet.dart b/third_party/shadcn_flutter/lib/src/components/display/code_snippet.dart new file mode 100644 index 00000000..ba8f8300 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/code_snippet.dart @@ -0,0 +1,383 @@ +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for [CodeSnippet] components. +/// +/// [CodeSnippetTheme] provides styling options for code snippet containers +/// including background colors, borders, padding, and visual appearance. +/// It integrates with the shadcn_flutter theming system to ensure consistent +/// styling across code display components. +/// +/// Used with [ComponentTheme] to apply theme values throughout the widget tree. +/// +/// Example: +/// ```dart +/// ComponentTheme( +/// data: CodeSnippetTheme( +/// backgroundColor: Colors.grey.shade900, +/// borderColor: Colors.grey.shade700, +/// borderWidth: 1.0, +/// borderRadius: BorderRadius.circular(8.0), +/// padding: EdgeInsets.all(16.0), +/// ), +/// child: MyCodeSnippetWidget(), +/// ); +/// ``` +class CodeSnippetTheme extends ComponentThemeData { + /// Background color of the code snippet container. + /// + /// Type: `Color?`. Used as the background color for the code display area. + /// If null, uses the theme's default muted background color. + final Color? backgroundColor; + + /// Border color of the code snippet container. + /// + /// Type: `Color?`. Color used for the container border outline. + /// If null, uses the theme's default border color. + final Color? borderColor; + + /// Border width of the code snippet container in logical pixels. + /// + /// Type: `double?`. Thickness of the border around the code container. + /// If null, uses the theme's default border width. + final double? borderWidth; + + /// Border radius for the code snippet container corners. + /// + /// Type: `BorderRadiusGeometry?`. Controls corner rounding of the container. + /// If null, uses the theme's default radius for code components. + final BorderRadiusGeometry? borderRadius; + + /// Padding for the code content area. + /// + /// Type: `EdgeInsetsGeometry?`. Internal spacing around the code text. + /// If null, uses default padding appropriate for code display. + final EdgeInsetsGeometry? padding; + + /// Creates a [CodeSnippetTheme]. + /// + /// All parameters are optional and will fall back to theme defaults + /// when not provided. + /// + /// Parameters: + /// - [backgroundColor] (Color?, optional): Container background color + /// - [borderColor] (Color?, optional): Border outline color + /// - [borderWidth] (double?, optional): Border thickness in pixels + /// - [borderRadius] (BorderRadiusGeometry?, optional): Corner radius + /// - [padding] (EdgeInsetsGeometry?, optional): Content padding + /// + /// Example: + /// ```dart + /// CodeSnippetTheme( + /// backgroundColor: Colors.black87, + /// borderRadius: BorderRadius.circular(12.0), + /// padding: EdgeInsets.all(20.0), + /// ); + /// ``` + const CodeSnippetTheme({ + this.backgroundColor, + this.borderColor, + this.borderWidth, + this.borderRadius, + this.padding, + }); + + /// Creates a copy of this theme with the given values replaced. + /// + /// Returns a new [CodeSnippetTheme] instance with the same values as this + /// theme, except for any parameters that are explicitly provided. Use + /// [ValueGetter] functions to specify new values. + /// + /// Parameters are [ValueGetter] functions that return the new value when called. + /// This allows for conditional value setting and proper null handling. + /// + /// Example: + /// ```dart + /// final newTheme = originalTheme.copyWith( + /// backgroundColor: () => Colors.blue.shade50, + /// padding: () => EdgeInsets.all(12.0), + /// ); + /// ``` + CodeSnippetTheme copyWith({ + ValueGetter? backgroundColor, + ValueGetter? borderColor, + ValueGetter? borderWidth, + ValueGetter? borderRadius, + ValueGetter? padding, + }) { + return CodeSnippetTheme( + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + borderColor: borderColor == null ? this.borderColor : borderColor(), + borderWidth: borderWidth == null ? this.borderWidth : borderWidth(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + padding: padding == null ? this.padding : padding(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is CodeSnippetTheme && + other.backgroundColor == backgroundColor && + other.borderColor == borderColor && + other.borderWidth == borderWidth && + other.borderRadius == borderRadius && + other.padding == padding; + } + + @override + int get hashCode => Object.hash( + backgroundColor, + borderColor, + borderWidth, + borderRadius, + padding, + ); +} + +/// A syntax-highlighted code display widget with copy functionality. +/// +/// [CodeSnippet] provides a professional code display component with automatic +/// syntax highlighting, copy-to-clipboard functionality, and customizable theming. +/// It supports multiple programming languages and provides a smooth user experience +/// with loading states and responsive scrolling. +/// +/// ## Supported Languages +/// - **Core Languages**: Dart, JSON, YAML, SQL +/// - **Aliases**: JavaScript/TypeScript (mapped to Dart highlighting) +/// - **Fallback**: Plain text display for unsupported languages +/// +/// ## Key Features +/// - **Syntax Highlighting**: Automatic language detection and coloring +/// - **Copy to Clipboard**: Built-in copy button with toast confirmation +/// - **Custom Actions**: Support for additional action buttons +/// - **Responsive Design**: Horizontal and vertical scrolling for long code +/// - **Theme Integration**: Automatic light/dark theme adaptation +/// - **Loading States**: Smooth loading indicators during initialization +/// +/// ## Performance +/// The widget uses lazy initialization for syntax highlighters and caches +/// them for improved performance across multiple instances. Language +/// initialization occurs asynchronously to prevent UI blocking. +/// +/// Example: +/// ```dart +/// CodeSnippet( +/// code: ''' +/// void main() { +/// print('Hello, World!'); +/// } +/// ''', +/// mode: 'dart', +/// constraints: BoxConstraints(maxHeight: 200), +/// actions: [ +/// IconButton( +/// icon: Icon(Icons.share), +/// onPressed: () => shareCode(), +/// ), +/// ], +/// ); +/// ``` +class CodeSnippet extends StatefulWidget { + /// Optional constraints for the code display area. + /// + /// Type: `BoxConstraints?`. Controls the maximum/minimum size of the + /// scrollable code container. Useful for limiting height in layouts. + final BoxConstraints? constraints; + + /// The code widget to display (typically Text or RichText with syntax highlighting). + final Widget code; + + /// Additional action widgets displayed in the top-right corner. + /// + /// Type: `List`. Custom action buttons shown alongside the + /// default copy button. Useful for share, edit, or other operations. + final List actions; + + /// Creates a [CodeSnippet] widget. + /// + /// Displays syntax-highlighted code with automatic language detection, + /// copy functionality, and optional custom actions. + /// + /// Parameters: + /// - [code] (String, required): The source code to display + /// - [mode] (String, required): Programming language for highlighting + /// - [constraints] (BoxConstraints?, optional): Size constraints for display area + /// - [actions] (`List`, default: []): Additional action buttons + /// + /// Example: + /// ```dart + /// CodeSnippet( + /// code: Text('print("Hello, World!");'), + /// mode: 'dart', + /// constraints: BoxConstraints(maxHeight: 150), + /// ); + /// ``` + const CodeSnippet({ + super.key, + this.constraints, + this.actions = const [], + required this.code, + }); + + @override + State createState() => _CodeSnippetState(); +} + +class _CodeSnippetState extends State { + // static final Map> _initializedLanguages = {}; + // static final Map> _initializedThemes = + // {}; + // static Future _initializeLanguage(String mode) { + // // check for alias + // if (_languageAlias.containsKey(mode)) { + // mode = _languageAlias[mode]!; + // } + // if (!_supportedLanguages.contains(mode)) { + // return Future.value(null); + // } + // if (_initializedLanguages.containsKey(mode)) { + // _initializedLanguages[mode]!; + // return Future.value(mode); + // } + // final future = Highlighter.initialize([mode]); + // _initializedLanguages[mode] = future; + // return future.then((_) => mode); + // } + + // static Future _initializeTheme(Brightness brightness) { + // if (_initializedThemes.containsKey(brightness)) { + // return _initializedThemes[brightness]!; + // } + // final future = HighlighterTheme.loadForBrightness(brightness); + // _initializedThemes[brightness] = future; + // return future; + // } + + // late Future _highlighter; + // Brightness? _brightness; + + // @override + // void didChangeDependencies() { + // super.didChangeDependencies(); + // var newBrightness = Theme.of(context).brightness; + // if (_brightness != newBrightness) { + // _brightness = newBrightness; + // // _highlighter = _initializeHighlighter(); + // } + // } + + // @override + // void didUpdateWidget(covariant CodeSnippet oldWidget) { + // super.didUpdateWidget(oldWidget); + // if (oldWidget.mode != widget.mode) { + // _highlighter = _initializeHighlighter(); + // } + // } + + // Future _initializeHighlighter() async { + // String mode = widget.mode; + // String? language = await _initializeLanguage(mode); + // if (language == null) { + // return null; + // } + // final themeData = await _initializeTheme(_brightness ?? Brightness.light); + // return Highlighter(language: language, theme: themeData); + // } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + final densityContentPadding = + theme.density.baseContentPadding * theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + final backgroundColor = styleValue( + themeValue: compTheme?.backgroundColor, + defaultValue: theme.colorScheme.card, + ); + final borderColor = styleValue( + themeValue: compTheme?.borderColor, + defaultValue: theme.colorScheme.border, + ); + final borderWidth = styleValue( + themeValue: compTheme?.borderWidth, + defaultValue: theme.scaling, + ); + final borderRadius = styleValue( + themeValue: compTheme?.borderRadius, + defaultValue: BorderRadius.circular(theme.radiusLg), + ); + final padding = styleValue( + themeValue: compTheme?.padding, + defaultValue: EdgeInsets.only( + left: densityContentPadding, + right: densityContentPadding * 3, + top: densityContentPadding, + bottom: densityContentPadding, + ), + ); + + return Container( + decoration: BoxDecoration( + color: backgroundColor, + border: Border.all( + color: borderColor, + width: borderWidth, + ), + borderRadius: borderRadius, + ), + child: Stack( + fit: StackFit.passthrough, + children: [ + Container( + constraints: widget.constraints, + child: SingleChildScrollView( + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + padding: padding, + child: widget.code.mono.small.muted, + ), + ), + ), + Positioned( + right: 8, + top: 8, + child: Row( + children: [ + ...widget.actions, + // if (wid) + // GhostButton( + // density: ButtonDensity.icon, + // onPressed: () { + // // Clipboard.setData(ClipboardData(text: widget.code)) + // // .then((value) { + // // if (context.mounted) { + // // showToast( + // // context: context, + // // showDuration: const Duration(seconds: 2), + // // builder: (context, overlay) { + // // final localizations = + // // ShadcnLocalizations.of(context); + // // return Alert( + // // leading: const Icon( + // // LucideIcons.copyCheck, + // // ).iconSmall(), + // // title: Text(localizations.toastSnippetCopied), + // // ); + // // }, + // // ); + // // } + // // }); + + // }, + // child: const Icon(LucideIcons.copy).iconSmall(), + // ), + ], + ).gap(densityGap * 0.5), + ), + ], + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/divider.dart b/third_party/shadcn_flutter/lib/src/components/display/divider.dart new file mode 100644 index 00000000..22535959 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/divider.dart @@ -0,0 +1,592 @@ +import 'dart:ui'; + +import '../../../shadcn_flutter.dart'; + +/// Immutable properties for divider appearance. +/// +/// [DividerProperties] stores the visual characteristics of a divider, +/// including color, thickness, and indentation. This class is used for +/// theme interpolation and default value management. +/// +/// All properties are required and non-nullable. +class DividerProperties { + /// The color of the divider line. + final Color color; + + /// The thickness of the divider line in logical pixels. + final double thickness; + + /// The amount of empty space to the leading edge of the divider. + final double indent; + + /// The amount of empty space to the trailing edge of the divider. + final double endIndent; + + /// Creates divider properties with the specified values. + const DividerProperties({ + required this.color, + required this.thickness, + required this.indent, + required this.endIndent, + }); + + /// Linearly interpolates between two [DividerProperties] objects. + /// + /// Used for smooth theme transitions. Parameter [t] should be between 0.0 and 1.0, + /// where 0.0 returns [a] and 1.0 returns [b]. + static DividerProperties lerp( + DividerProperties a, DividerProperties b, double t) { + return DividerProperties( + color: Color.lerp(a.color, b.color, t)!, + thickness: lerpDouble(a.thickness, b.thickness, t)!, + indent: lerpDouble(a.indent, b.indent, t)!, + endIndent: lerpDouble(a.endIndent, b.endIndent, t)!, + ); + } +} + +/// Theme data for customizing [Divider] widget appearance. +/// +/// This class defines the visual properties that can be applied to +/// [Divider] widgets, including line color, dimensions, spacing, and +/// child padding. These properties can be set at the theme level +/// to provide consistent styling across the application. +class DividerTheme extends ComponentThemeData { + /// Color of the divider line. + final Color? color; + + /// Height of the divider widget. + final double? height; + + /// Thickness of the divider line. + final double? thickness; + + /// Empty space to the leading edge of the divider. + final double? indent; + + /// Empty space to the trailing edge of the divider. + final double? endIndent; + + /// Padding around the [Divider.child]. + final EdgeInsetsGeometry? padding; + + /// Alignment of [Divider.child] along the divider axis. + final AxisAlignmentGeometry? childAlignment; + + /// Creates a [DividerTheme]. + const DividerTheme({ + this.color, + this.height, + this.thickness, + this.indent, + this.endIndent, + this.padding, + this.childAlignment, + }); + + /// Creates a copy of this theme but with the given fields replaced by the + /// new values. + DividerTheme copyWith({ + ValueGetter? color, + ValueGetter? height, + ValueGetter? thickness, + ValueGetter? indent, + ValueGetter? endIndent, + ValueGetter? padding, + ValueGetter? childAlignment, + }) { + return DividerTheme( + color: color == null ? this.color : color(), + height: height == null ? this.height : height(), + thickness: thickness == null ? this.thickness : thickness(), + indent: indent == null ? this.indent : indent(), + endIndent: endIndent == null ? this.endIndent : endIndent(), + padding: padding == null ? this.padding : padding(), + childAlignment: + childAlignment == null ? this.childAlignment : childAlignment(), + ); + } + + @override + bool operator ==(Object other) => + other is DividerTheme && + color == other.color && + height == other.height && + thickness == other.thickness && + indent == other.indent && + endIndent == other.endIndent && + padding == other.padding && + childAlignment == other.childAlignment; + + @override + int get hashCode => Object.hash( + color, height, thickness, indent, endIndent, padding, childAlignment); +} + +/// A horizontal line widget used to visually separate content sections. +/// +/// [Divider] creates a thin horizontal line that spans the available width, +/// optionally with indentation from either end. It's commonly used to separate +/// content sections, list items, or create visual breaks in layouts. The divider +/// can optionally contain a child widget (such as text) that appears centered +/// on the divider line. +/// +/// Key features: +/// - Horizontal line spanning available width +/// - Configurable thickness and color +/// - Optional indentation from start and end +/// - Support for child widgets (text, icons, etc.) +/// - Customizable padding around child content +/// - Theme integration for consistent styling +/// - Implements PreferredSizeWidget for flexible layout +/// +/// The divider automatically adapts to the current theme's border color +/// and can be customized through individual properties or theme configuration. +/// When a child is provided, the divider line is broken to accommodate the +/// child content with appropriate padding. +/// +/// Common use cases: +/// - Separating sections in forms or settings screens +/// - Creating breaks between list items +/// - Dividing content areas in complex layouts +/// - Adding labeled dividers with text or icons +/// +/// Example: +/// ```dart +/// Column( +/// children: [ +/// Text('Section 1'), +/// Divider(), +/// Text('Section 2'), +/// Divider( +/// child: Text('OR', style: TextStyle(color: Colors.grey)), +/// thickness: 2, +/// indent: 20, +/// endIndent: 20, +/// ), +/// Text('Section 3'), +/// ], +/// ); +/// ``` +class Divider extends StatelessWidget implements PreferredSizeWidget { + /// The color of the divider line. + final Color? color; + + /// The total height of the divider (including padding). + final double? height; + + /// The thickness of the divider line. + final double? thickness; + + /// The amount of empty space before the divider line starts. + final double? indent; + + /// The amount of empty space after the divider line ends. + final double? endIndent; + + /// Optional child widget to display alongside the divider (e.g., text label). + final Widget? child; + + /// Padding around the divider content. + final EdgeInsetsGeometry? padding; + + /// Alignment of the [child] along the divider axis. + final AxisAlignmentGeometry? childAlignment; + + /// Creates a horizontal divider. + const Divider({ + super.key, + this.color, + this.height, + this.thickness, + this.indent, + this.endIndent, + this.child, + this.padding, + this.childAlignment, + }); + + @override + Size get preferredSize => Size(0, height ?? 1); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final textDirection = Directionality.maybeOf(context) ?? TextDirection.ltr; + final color = styleValue( + widgetValue: this.color, + themeValue: compTheme?.color, + defaultValue: theme.colorScheme.border, + ); + final densityGap = theme.density.baseGap * theme.scaling; + final thickness = styleValue( + widgetValue: this.thickness, + themeValue: compTheme?.thickness, + defaultValue: 1.0, + ); + final height = styleValue( + widgetValue: this.height, + themeValue: compTheme?.height, + defaultValue: thickness, + ); + final indent = styleValue( + widgetValue: this.indent, + themeValue: compTheme?.indent, + defaultValue: 0.0, + ); + final endIndent = styleValue( + widgetValue: this.endIndent, + themeValue: compTheme?.endIndent, + defaultValue: 0.0, + ); + final padding = styleValue( + widgetValue: this.padding, + themeValue: compTheme?.padding, + defaultValue: EdgeInsets.symmetric(horizontal: densityGap), + ); + final childAlignment = styleValue( + widgetValue: this.childAlignment, + themeValue: compTheme?.childAlignment, + defaultValue: AxisAlignment.center, + ).resolve(textDirection); + if (child != null) { + final clampedAlignmentValue = + childAlignment.value.clamp(-1.0, 1.0); + final leftRatio = (clampedAlignmentValue + 1) / 2; + final rightRatio = 1 - leftRatio; + final leftFlex = (leftRatio * 1000).round(); + final rightFlex = (rightRatio * 1000).round(); + return SizedBox( + width: double.infinity, + child: IntrinsicHeight( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + if (leftFlex > 0) + Expanded( + flex: leftFlex, + child: SizedBox( + height: height, + child: AnimatedValueBuilder( + value: DividerProperties( + color: color, + thickness: thickness, + indent: indent, + endIndent: 0, + ), + duration: kDefaultDuration, + lerp: DividerProperties.lerp, + builder: (context, value, child) { + return CustomPaint( + painter: DividerPainter( + color: value.color, + thickness: value.thickness, + indent: value.indent, + endIndent: value.endIndent, + ), + ); + }), + ), + ) + else + const SizedBox.shrink(), + child!.muted().small().withPadding(padding: padding), + if (rightFlex > 0) + Expanded( + flex: rightFlex, + child: SizedBox( + height: height, + child: AnimatedValueBuilder( + value: DividerProperties( + color: color, + thickness: thickness, + indent: 0, + endIndent: endIndent, + ), + duration: kDefaultDuration, + lerp: DividerProperties.lerp, + builder: (context, value, child) { + return CustomPaint( + painter: DividerPainter( + color: value.color, + thickness: value.thickness, + indent: value.indent, + endIndent: value.endIndent, + ), + ); + }), + ), + ) + else + const SizedBox.shrink(), + ], + ), + ), + ); + } + return SizedBox( + height: height, + width: double.infinity, + child: AnimatedValueBuilder( + value: DividerProperties( + color: color, + thickness: thickness, + indent: indent, + endIndent: endIndent, + ), + lerp: DividerProperties.lerp, + duration: kDefaultDuration, + builder: (context, value, child) { + return CustomPaint( + painter: DividerPainter( + color: value.color, + thickness: value.thickness, + indent: value.indent, + endIndent: value.endIndent, + ), + ); + }), + ); + } +} + +/// Custom painter for drawing horizontal divider lines. +/// +/// Renders a horizontal line with specified color, thickness, and indents. +class DividerPainter extends CustomPainter { + /// The color of the divider line. + final Color color; + + /// The thickness of the divider line. + final double thickness; + + /// The indent from the start edge. + final double indent; + + /// The indent from the end edge. + final double endIndent; + + /// Creates a divider painter with the specified properties. + DividerPainter({ + required this.color, + required this.thickness, + required this.indent, + required this.endIndent, + }); + + @override + void paint(Canvas canvas, Size size) { + final paint = Paint() + ..color = color + ..strokeWidth = thickness + ..strokeCap = StrokeCap.square; + final start = Offset(indent, size.height / 2); + final end = Offset(size.width - endIndent, size.height / 2); + canvas.drawLine(start, end, paint); + } + + @override + bool shouldRepaint(covariant DividerPainter oldDelegate) { + return oldDelegate.color != color || + oldDelegate.thickness != thickness || + oldDelegate.indent != indent || + oldDelegate.endIndent != endIndent; + } +} + +/// Custom painter for drawing vertical divider lines. +/// +/// Renders a vertical line with specified color, thickness, and indents. +class VerticalDividerPainter extends CustomPainter { + /// The color of the divider line. + final Color color; + + /// The thickness of the divider line. + final double thickness; + + /// The indent from the top edge. + final double indent; + + /// The indent from the bottom edge. + final double endIndent; + + /// Creates a vertical divider painter with the specified properties. + const VerticalDividerPainter({ + required this.color, + required this.thickness, + required this.indent, + required this.endIndent, + }); + + @override + void paint(Canvas canvas, Size size) { + final paint = Paint() + ..color = color + ..strokeWidth = thickness + ..strokeCap = StrokeCap.square; + final start = Offset(size.width / 2, indent); + final end = Offset(size.width / 2, size.height - endIndent); + canvas.drawLine(start, end, paint); + } + + @override + bool shouldRepaint(covariant VerticalDividerPainter oldDelegate) { + return oldDelegate.color != color || + oldDelegate.thickness != thickness || + oldDelegate.indent != indent || + oldDelegate.endIndent != endIndent; + } +} + +/// A vertical line used to separate content in a layout. +/// +/// Similar to [Divider] but renders vertically, useful for separating +/// content in horizontal layouts like rows or navigation panels. +class VerticalDivider extends StatelessWidget implements PreferredSizeWidget { + /// The color of the divider line. + final Color? color; + + /// The total width of the divider (including padding). + final double? width; + + /// The thickness of the divider line. + final double? thickness; + + /// The amount of empty space before the divider line starts. + final double? indent; + + /// The amount of empty space after the divider line ends. + final double? endIndent; + + /// Optional child widget to display alongside the divider. + final Widget? child; + + /// Padding around the divider content. + final EdgeInsetsGeometry? padding; + + /// Alignment of the [child] along the divider axis. + final AxisAlignmentGeometry? childAlignment; + + /// Creates a vertical divider. + const VerticalDivider({ + super.key, + this.color, + this.width, + this.thickness, + this.indent, + this.endIndent, + this.child, + this.padding = const EdgeInsets.symmetric(vertical: 8), + this.childAlignment, + }); + + @override + Size get preferredSize => Size(width ?? 1, 0); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final textDirection = Directionality.maybeOf(context) ?? TextDirection.ltr; + final resolvedChildAlignment = + (childAlignment ?? AxisAlignment.center).resolve(textDirection); + if (child != null) { + final clampedAlignmentValue = + resolvedChildAlignment.value.clamp(-1.0, 1.0); + final topRatio = (clampedAlignmentValue + 1) / 2; + final bottomRatio = 1 - topRatio; + final topFlex = (topRatio * 1000).round(); + final bottomFlex = (bottomRatio * 1000).round(); + return SizedBox( + height: double.infinity, + child: IntrinsicWidth( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + if (topFlex > 0) + Expanded( + flex: topFlex, + child: SizedBox( + width: width ?? 1, + child: AnimatedValueBuilder( + value: DividerProperties( + color: color ?? theme.colorScheme.border, + thickness: thickness ?? 1, + indent: indent ?? 0, + endIndent: 0, + ), + duration: kDefaultDuration, + lerp: DividerProperties.lerp, + builder: (context, value, child) { + return CustomPaint( + painter: VerticalDividerPainter( + color: value.color, + thickness: value.thickness, + indent: value.indent, + endIndent: value.endIndent, + ), + ); + }), + ), + ) + else + const SizedBox.shrink(), + child!.muted().small().withPadding(padding: padding), + if (bottomFlex > 0) + Expanded( + flex: bottomFlex, + child: SizedBox( + width: width ?? 1, + child: AnimatedValueBuilder( + value: DividerProperties( + color: color ?? theme.colorScheme.border, + thickness: thickness ?? 1, + indent: 0, + endIndent: endIndent ?? 0, + ), + duration: kDefaultDuration, + lerp: DividerProperties.lerp, + builder: (context, value, child) { + return CustomPaint( + painter: VerticalDividerPainter( + color: value.color, + thickness: value.thickness, + indent: value.indent, + endIndent: value.endIndent, + ), + ); + }), + ), + ) + else + const SizedBox.shrink(), + ], + ), + ), + ); + } + return SizedBox( + width: width ?? 1, + height: double.infinity, + child: AnimatedValueBuilder( + value: DividerProperties( + color: color ?? theme.colorScheme.border, + thickness: thickness ?? 1, + indent: indent ?? 0, + endIndent: endIndent ?? 0, + ), + lerp: DividerProperties.lerp, + duration: kDefaultDuration, + builder: (context, value, child) { + return CustomPaint( + painter: VerticalDividerPainter( + color: value.color, + thickness: value.thickness, + indent: value.indent, + endIndent: value.endIndent, + ), + ); + }), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/dot_indicator.dart b/third_party/shadcn_flutter/lib/src/components/display/dot_indicator.dart new file mode 100644 index 00000000..7d41f7e7 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/dot_indicator.dart @@ -0,0 +1,428 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Builder function type for creating custom dot widgets. +/// +/// Takes the build context, dot index, and whether the dot is active, +/// and returns a widget to display for that dot. +typedef DotBuilder = Widget Function( + BuildContext context, int index, bool active); + +/// Theme configuration for [DotIndicator] and its dot items. +class DotIndicatorTheme extends ComponentThemeData { + /// Spacing between dots. + final double? spacing; + + /// Padding around the dots container. + final EdgeInsetsGeometry? padding; + + /// Builder for individual dots. + final DotBuilder? dotBuilder; + + /// Size of each dot. + final double? size; + + /// Border radius of dots. + final double? borderRadius; + + /// Color of the active dot. + final Color? activeColor; + + /// Color of the inactive dot. + final Color? inactiveColor; + + /// Border color of the inactive dot. + final Color? inactiveBorderColor; + + /// Border width of the inactive dot. + final double? inactiveBorderWidth; + + /// Creates a [DotIndicatorTheme]. + const DotIndicatorTheme({ + this.spacing, + this.padding, + this.dotBuilder, + this.size, + this.borderRadius, + this.activeColor, + this.inactiveColor, + this.inactiveBorderColor, + this.inactiveBorderWidth, + }); + + /// Creates a copy of this theme but with the given fields replaced. + DotIndicatorTheme copyWith({ + ValueGetter? spacing, + ValueGetter? padding, + ValueGetter? dotBuilder, + ValueGetter? size, + ValueGetter? borderRadius, + ValueGetter? activeColor, + ValueGetter? inactiveColor, + ValueGetter? inactiveBorderColor, + ValueGetter? inactiveBorderWidth, + }) { + return DotIndicatorTheme( + spacing: spacing == null ? this.spacing : spacing(), + padding: padding == null ? this.padding : padding(), + dotBuilder: dotBuilder == null ? this.dotBuilder : dotBuilder(), + size: size == null ? this.size : size(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + activeColor: activeColor == null ? this.activeColor : activeColor(), + inactiveColor: + inactiveColor == null ? this.inactiveColor : inactiveColor(), + inactiveBorderColor: inactiveBorderColor == null + ? this.inactiveBorderColor + : inactiveBorderColor(), + inactiveBorderWidth: inactiveBorderWidth == null + ? this.inactiveBorderWidth + : inactiveBorderWidth(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is DotIndicatorTheme && + other.spacing == spacing && + other.padding == padding && + other.dotBuilder == dotBuilder && + other.size == size && + other.borderRadius == borderRadius && + other.activeColor == activeColor && + other.inactiveColor == inactiveColor && + other.inactiveBorderColor == inactiveBorderColor && + other.inactiveBorderWidth == inactiveBorderWidth; + } + + @override + int get hashCode => Object.hash( + spacing, + padding, + dotBuilder, + size, + borderRadius, + activeColor, + inactiveColor, + inactiveBorderColor, + inactiveBorderWidth); +} + +/// Navigation indicator with customizable dots showing current position in a sequence. +/// +/// A visual indicator widget that displays a series of dots representing items +/// in a sequence, with one dot highlighted to show the current position. +/// Commonly used with carousels, page views, and stepper interfaces. +/// +/// ## Features +/// +/// - **Position indication**: Clear visual representation of current position +/// - **Interactive navigation**: Optional tap-to-navigate functionality +/// - **Flexible orientation**: Horizontal or vertical dot arrangement +/// - **Custom dot builders**: Complete control over dot appearance and behavior +/// - **Responsive spacing**: Automatic scaling with theme configuration +/// - **Accessibility support**: Screen reader friendly with semantic information +/// +/// The indicator automatically highlights the dot at the current index and +/// can optionally respond to taps to change the active position. +/// +/// Example: +/// ```dart +/// DotIndicator( +/// index: currentPage, +/// length: totalPages, +/// onChanged: (newIndex) => pageController.animateToPage(newIndex), +/// direction: Axis.horizontal, +/// spacing: 12.0, +/// ); +/// ``` +class DotIndicator extends StatelessWidget { + static Widget _defaultDotBuilder( + BuildContext context, int index, bool active) { + return active ? const ActiveDotItem() : const InactiveDotItem(); + } + + /// The current active index (0-based). + final int index; + + /// The total number of dots to display. + final int length; + + /// Callback invoked when a dot is tapped. + final ValueChanged? onChanged; + + /// Spacing between dots. + final double? spacing; + + /// The direction of the dot layout (horizontal or vertical). + final Axis direction; + + /// Padding around the dots container. + final EdgeInsetsGeometry? padding; + + /// Custom builder for individual dots. + final DotBuilder? dotBuilder; + + /// Creates a [DotIndicator]. + /// + /// The indicator shows [length] dots with the dot at [index] highlighted + /// as active. When [onChanged] is provided, tapping dots triggers navigation. + /// + /// Parameters: + /// - [index] (int, required): current active dot position (0-based) + /// - [length] (int, required): total number of dots to display + /// - [onChanged] (`ValueChanged?`, optional): callback when dot is tapped + /// - [spacing] (double?, optional): override spacing between dots + /// - [direction] (Axis, default: horizontal): layout direction of dots + /// - [padding] (EdgeInsetsGeometry?, optional): padding around dot container + /// - [dotBuilder] (DotBuilder?, optional): custom builder for dot widgets + /// + /// Example: + /// ```dart + /// DotIndicator( + /// index: 1, + /// length: 5, + /// onChanged: (index) => print('Navigate to $index'), + /// direction: Axis.horizontal, + /// dotBuilder: (context, index, active) => Container( + /// width: active ? 16 : 8, + /// height: 8, + /// decoration: BoxDecoration( + /// color: active ? Colors.blue : Colors.grey, + /// borderRadius: BorderRadius.circular(4), + /// ), + /// ), + /// ) + /// ``` + const DotIndicator({ + super.key, + required this.index, + required this.length, + this.onChanged, + this.spacing, + this.direction = Axis.horizontal, + this.padding, + this.dotBuilder, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final directionality = Directionality.of(context); + final scaling = theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + final spacing = styleValue( + widgetValue: this.spacing, + themeValue: compTheme?.spacing, + defaultValue: 8 * scaling); + final padding = styleValue( + widgetValue: this.padding, + themeValue: compTheme?.padding, + defaultValue: const EdgeInsets.all(8)) + .resolve(directionality) * + theme.scaling; + final dotBuilder = + this.dotBuilder ?? compTheme?.dotBuilder ?? _defaultDotBuilder; + List children = []; + for (int i = 0; i < length; i++) { + double topPadding = padding.top; + double bottomPadding = padding.bottom; + double leftPadding = i == 0 ? padding.left : (spacing / 2); + double rightPadding = i == length - 1 ? padding.right : (spacing / 2); + final itemPadding = EdgeInsets.only( + top: topPadding, + bottom: bottomPadding, + left: leftPadding, + right: rightPadding, + ); + children.add(Flexible( + child: Clickable( + behavior: HitTestBehavior.translucent, + onPressed: onChanged != null ? () => onChanged!(i) : null, + mouseCursor: const WidgetStatePropertyAll(SystemMouseCursors.click), + child: Padding( + padding: itemPadding, + child: dotBuilder(context, i, i == index), + ), + ), + )); + } + return IntrinsicHeight( + child: Flex( + direction: direction, + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: children, + ), + ); + } +} + +/// A basic dot item widget with customizable appearance. +/// +/// Used as a base component for creating custom dot indicators. +class DotItem extends StatelessWidget { + /// The size of the dot. + final double? size; + + /// The color of the dot. + final Color? color; + + /// The border radius of the dot. + final double? borderRadius; + + /// The border color of the dot. + final Color? borderColor; + + /// The border width of the dot. + final double? borderWidth; + + /// Creates a dot item with the specified properties. + const DotItem({ + super.key, + this.size, + this.color, + this.borderRadius, + this.borderColor, + this.borderWidth, + }); + + @override + Widget build(BuildContext context) { + return AnimatedContainer( + duration: kDefaultDuration, + width: size, + height: size, + decoration: BoxDecoration( + color: color, + borderRadius: + borderRadius != null ? BorderRadius.circular(borderRadius!) : null, + border: borderColor != null && borderWidth != null + ? Border.all(color: borderColor!, width: borderWidth!) + : null, + ), + ); + } +} + +/// An active dot item widget representing the current position. +/// +/// Styled to highlight the currently active item in a dot indicator. +class ActiveDotItem extends StatelessWidget { + /// The size of the dot. + final double? size; + + /// The color of the dot. + final Color? color; + + /// The border radius of the dot. + final double? borderRadius; + + /// The border color of the dot. + final Color? borderColor; + + /// The border width of the dot. + final double? borderWidth; + + /// Creates an active dot item with the specified properties. + const ActiveDotItem({ + super.key, + this.size, + this.color, + this.borderRadius, + this.borderColor, + this.borderWidth, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final scaling = theme.scaling; + final size = styleValue( + widgetValue: this.size, + themeValue: compTheme?.size, + defaultValue: 12 * scaling); + final color = styleValue( + widgetValue: this.color, + themeValue: compTheme?.activeColor, + defaultValue: theme.colorScheme.primary); + final borderRadius = styleValue( + widgetValue: this.borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: theme.radiusMd); + final borderColor = this.borderColor; + final borderWidth = this.borderWidth; + return Container( + width: size, + height: size, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(borderRadius), + border: borderColor != null && borderWidth != null + ? Border.all(color: borderColor, width: borderWidth) + : null, + ), + ); + } +} + +/// An inactive dot item widget representing non-current positions. +/// +/// Styled to indicate inactive items in a dot indicator with +/// optional border styling. +class InactiveDotItem extends StatelessWidget { + /// The size of the dot. + final double? size; + + /// The color of the dot. + final Color? color; + + /// The border radius of the dot. + final double? borderRadius; + + /// The border color of the dot. + final Color? borderColor; + + /// The border width of the dot. + final double? borderWidth; + + /// Creates an inactive dot item with the specified properties. + const InactiveDotItem({ + super.key, + this.size, + this.color, + this.borderRadius, + this.borderColor, + this.borderWidth, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final scaling = theme.scaling; + final size = styleValue( + widgetValue: this.size, + themeValue: compTheme?.size, + defaultValue: 12 * scaling); + final borderRadius = styleValue( + widgetValue: this.borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: theme.radiusMd); + final borderColor = this.borderColor ?? + compTheme?.inactiveBorderColor ?? + theme.colorScheme.secondary; + final borderWidth = + this.borderWidth ?? compTheme?.inactiveBorderWidth ?? (2 * scaling); + final color = this.color ?? compTheme?.inactiveColor; + return Container( + width: size, + height: size, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(borderRadius), + border: Border.all(color: borderColor, width: borderWidth), + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/fade_scroll.dart b/third_party/shadcn_flutter/lib/src/components/display/fade_scroll.dart new file mode 100644 index 00000000..91c904d5 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/fade_scroll.dart @@ -0,0 +1,187 @@ +import 'package:flutter/foundation.dart'; + +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for [FadeScroll]. +class FadeScrollTheme extends ComponentThemeData { + /// The distance from the start before fading begins. + final double? startOffset; + + /// The distance from the end before fading begins. + final double? endOffset; + + /// The gradient colors used for the fade. + final List? gradient; + + /// Creates a [FadeScrollTheme]. + const FadeScrollTheme({ + this.startOffset, + this.endOffset, + this.gradient, + }); + + /// Creates a copy of this theme but with the given fields replaced. + FadeScrollTheme copyWith({ + ValueGetter? startOffset, + ValueGetter? endOffset, + ValueGetter?>? gradient, + }) { + return FadeScrollTheme( + startOffset: startOffset == null ? this.startOffset : startOffset(), + endOffset: endOffset == null ? this.endOffset : endOffset(), + gradient: gradient == null ? this.gradient : gradient(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is FadeScrollTheme && + other.startOffset == startOffset && + other.endOffset == endOffset && + listEquals(other.gradient, gradient); + } + + @override + int get hashCode => Object.hash(startOffset, endOffset, gradient); +} + +/// A widget that applies fade effects at the edges of scrollable content. +/// +/// Adds gradient fade overlays to the start and end of scrollable content, +/// creating a visual cue that there's more content to scroll. +class FadeScroll extends StatelessWidget { + /// The offset from the start where the fade begins. + final double? startOffset; + + /// The offset from the end where the fade begins. + final double? endOffset; + + /// The cross-axis offset for the start fade. + final double startCrossOffset; + + /// The cross-axis offset for the end fade. + final double endCrossOffset; + + /// The scrollable child widget. + final Widget child; + + /// The scroll controller to monitor for scroll position. + final ScrollController controller; + + /// The gradient colors for the fade effect. + final List? gradient; + + /// Creates a fade scroll widget. + const FadeScroll({ + super.key, + this.startOffset, + this.endOffset, + required this.child, + required this.controller, + this.gradient, + this.startCrossOffset = 0, + this.endCrossOffset = 0, + }); + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final startOffset = styleValue( + widgetValue: this.startOffset, + themeValue: compTheme?.startOffset, + defaultValue: 0.0); + final endOffset = styleValue( + widgetValue: this.endOffset, + themeValue: compTheme?.endOffset, + defaultValue: 0.0); + final gradient = styleValue( + widgetValue: this.gradient, + themeValue: compTheme?.gradient, + defaultValue: const [Colors.white, Colors.transparent]); + return ListenableBuilder( + listenable: controller, + child: child, + builder: (context, child) { + if (!controller.hasClients) { + return child!; + } + final position = controller.position.pixels; + final max = controller.position.maxScrollExtent; + final min = controller.position.minScrollExtent; + final direction = controller.position.axis; + final size = controller.position.viewportDimension; + bool shouldFadeStart = position > min; + bool shouldFadeEnd = position < max; + if (!shouldFadeStart && !shouldFadeEnd) { + return child!; + } + return ShaderMask( + shaderCallback: (bounds) { + Alignment start = direction == Axis.horizontal + ? Alignment.centerLeft + : Alignment.topCenter; + Alignment end = direction == Axis.horizontal + ? Alignment.centerRight + : Alignment.bottomCenter; + double relativeStart = startOffset / size; + double relativeEnd = 1 - endOffset / size; + List stops = shouldFadeStart && shouldFadeEnd + ? [ + for (int i = 0; i < gradient.length; i++) + (i / gradient.length) * relativeStart, + relativeStart, + relativeEnd, + for (int i = 1; i < gradient.length + 1; i++) + relativeEnd + (i / gradient.length) * (1 - relativeEnd), + ] + : shouldFadeStart + ? [ + for (int i = 0; i < gradient.length; i++) + (i / gradient.length) * relativeStart, + relativeStart, + 1 + ] + : [ + 0, + relativeEnd, + for (int i = 1; i < gradient.length + 1; i++) + relativeEnd + + (i / gradient.length) * (1 - relativeEnd), + ]; + return LinearGradient( + colors: [ + if (shouldFadeStart) ...gradient, + Colors.white, + Colors.white, + if (shouldFadeEnd) ...gradient.reversed, + ], + stops: stops, + begin: start, + end: end, + transform: const _ScaleGradient(Offset(1, 1.5))) + .createShader(bounds); + }, + child: child!, + ); + }, + ); + } +} + +class _ScaleGradient extends GradientTransform { + final Offset scale; + + const _ScaleGradient(this.scale); + + @override + Matrix4? transform(Rect bounds, {TextDirection? textDirection}) { + final center = bounds.center; + final dx = center.dx * (1 - scale.dx); + final dy = center.dy * (1 - scale.dy); + return Matrix4.identity() + ..translateByDouble(dx, dy, 0, 1) + ..scaleByDouble(scale.dx, scale.dy, 1, 1) + ..translateByDouble(-dx, -dy, 0, 1); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/keyboard_shortcut.dart b/third_party/shadcn_flutter/lib/src/components/display/keyboard_shortcut.dart new file mode 100644 index 00000000..01ae0b7f --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/keyboard_shortcut.dart @@ -0,0 +1,393 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Builder function type for creating custom keyboard key displays. +/// +/// Takes the build context and logical keyboard key, and returns +/// a widget representing that key. +typedef KeyboardShortcutDisplayBuilder = Widget Function( + BuildContext context, + LogicalKeyboardKey key, +); + +/// Theme for keyboard shortcut displays. +class KeyboardShortcutTheme extends ComponentThemeData { + /// Spacing between keys. + final double? spacing; + + /// Padding inside each key display. + final EdgeInsetsGeometry? keyPadding; + + /// Shadow applied to key displays. + final List? keyShadow; + + /// Creates a [KeyboardShortcutTheme]. + const KeyboardShortcutTheme({ + this.spacing, + this.keyPadding, + this.keyShadow, + }); + + /// Creates a copy with the given values replaced. + KeyboardShortcutTheme copyWith({ + ValueGetter? spacing, + ValueGetter? keyPadding, + ValueGetter?>? keyShadow, + }) { + return KeyboardShortcutTheme( + spacing: spacing == null ? this.spacing : spacing(), + keyPadding: keyPadding == null ? this.keyPadding : keyPadding(), + keyShadow: keyShadow == null ? this.keyShadow : keyShadow(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is KeyboardShortcutTheme && + other.spacing == spacing && + other.keyPadding == keyPadding && + listEquals(other.keyShadow, keyShadow); + } + + @override + int get hashCode => Object.hash(spacing, keyPadding, keyShadow); +} + +/// Handle for accessing keyboard shortcut display builders. +/// +/// Wraps a keyboard shortcut display builder function to provide +/// a consistent API for building key displays. +class KeyboardShortcutDisplayHandle { + final KeyboardShortcutDisplayBuilder _builder; + + /// Creates a handle with the specified builder. + const KeyboardShortcutDisplayHandle(this._builder); + + /// Builds a display widget for the specified keyboard key. + Widget buildKeyboardDisplay(BuildContext context, LogicalKeyboardKey key) { + return _builder(context, key); + } +} + +/// Widget that provides keyboard shortcut display customization. +/// +/// Allows customization of how keyboard shortcuts are displayed +/// throughout the widget tree using a builder function. +class KeyboardShortcutDisplayMapper extends StatefulWidget { + static Widget _defaultBuilder(BuildContext context, LogicalKeyboardKey key) { + switch (key) { + case LogicalKeyboardKey.control: + case LogicalKeyboardKey.controlLeft: + case LogicalKeyboardKey.controlRight: + return const Text('Ctrl'); + case LogicalKeyboardKey.shift: + case LogicalKeyboardKey.shiftLeft: + case LogicalKeyboardKey.shiftRight: + return const Text('Shift'); + case LogicalKeyboardKey.alt: + case LogicalKeyboardKey.altLeft: + case LogicalKeyboardKey.altRight: + return const Text('Alt'); + case LogicalKeyboardKey.meta: + case LogicalKeyboardKey.metaLeft: + case LogicalKeyboardKey.metaRight: + return const Text('⌘'); + case LogicalKeyboardKey.enter: + return const Text('↵'); + case LogicalKeyboardKey.arrowLeft: + return const Text('←'); + case LogicalKeyboardKey.arrowRight: + return const Text('→'); + case LogicalKeyboardKey.arrowUp: + return const Text('↑'); + case LogicalKeyboardKey.arrowDown: + return const Text('↓'); + default: + return Text(key.keyLabel); + } + } + + /// The builder function for creating key displays. + final KeyboardShortcutDisplayBuilder builder; + + /// The child widget that will have access to this mapper. + final Widget child; + + /// Creates a keyboard shortcut display mapper. + const KeyboardShortcutDisplayMapper({ + super.key, + this.builder = _defaultBuilder, + required this.child, + }); + + @override + State createState() => + _KeyboardShortcutDisplayMapperState(); +} + +class _KeyboardShortcutDisplayMapperState + extends State { + late KeyboardShortcutDisplayHandle _handle; + + @override + void initState() { + super.initState(); + _handle = KeyboardShortcutDisplayHandle(widget.builder); + } + + @override + void didUpdateWidget(covariant KeyboardShortcutDisplayMapper oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.builder != widget.builder) { + _handle = KeyboardShortcutDisplayHandle(widget.builder); + } + } + + @override + Widget build(BuildContext context) { + return Data.inherit( + data: _handle, + child: widget.child, + ); + } +} + +/// A widget that displays keyboard shortcuts in a visually appealing format. +/// +/// Renders keyboard key combinations as styled keyboard key representations, +/// typically used in tooltips, help text, or UI elements that need to +/// communicate keyboard shortcuts to users. The display automatically +/// formats keys with appropriate spacing and visual styling. +/// +/// Supports both direct key specification through a list of [LogicalKeyboardKey] +/// objects and automatic conversion from [ShortcutActivator] instances. +/// Keys are displayed as individual key representations with configurable +/// spacing between them. +/// +/// The component integrates with the keyboard shortcut theming system +/// and adapts its appearance based on the current theme and scaling settings. +/// Visual styling matches platform conventions for keyboard key representations. +/// +/// Example: +/// ```dart +/// KeyboardDisplay( +/// keys: [ +/// LogicalKeyboardKey.controlLeft, +/// LogicalKeyboardKey.keyS, +/// ], +/// spacing: 4.0, +/// ) +/// ``` +class KeyboardDisplay extends StatelessWidget { + /// List of keyboard keys to display when using direct key specification. + final List? _keys; + + /// Shortcut activator to convert to keyboard keys for display. + final ShortcutActivator? _activator; + + /// Spacing between individual keyboard key displays. + /// + /// Controls the horizontal gap between adjacent key representations. + /// When null, uses theme-appropriate default spacing. + final double? spacing; + + /// Creates a [KeyboardDisplay] from a list of keyboard keys. + /// + /// Displays the specified keyboard keys as styled key representations + /// with appropriate spacing. This constructor allows direct control + /// over which keys are displayed. + /// + /// Parameters: + /// - [keys] (`List`, required): Keys to display + /// - [spacing] (double?, optional): Gap between key displays + /// + /// Example: + /// ```dart + /// KeyboardDisplay( + /// keys: [LogicalKeyboardKey.alt, LogicalKeyboardKey.tab], + /// spacing: 6.0, + /// ) + /// ``` + const KeyboardDisplay({ + super.key, + required List keys, + this.spacing, + }) : _keys = keys, + _activator = null; + + /// Creates a [KeyboardDisplay] from a shortcut activator. + /// + /// Automatically extracts the keyboard keys from the provided + /// [ShortcutActivator] and displays them as styled key representations. + /// This constructor is convenient when working with Flutter's shortcut system. + /// + /// Parameters: + /// - [activator] (ShortcutActivator, required): Shortcut to extract keys from + /// - [spacing] (double?, optional): Gap between key displays + /// + /// Example: + /// ```dart + /// KeyboardDisplay.fromActivator( + /// activator: SingleActivator(LogicalKeyboardKey.keyS, control: true), + /// spacing: 4.0, + /// ) + /// ``` + const KeyboardDisplay.fromActivator({ + super.key, + required ShortcutActivator activator, + this.spacing, + }) : _keys = null, + _activator = activator; + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + var keys = _keys ?? shortcutActivatorToKeySet(_activator!); + final spacing = styleValue( + widgetValue: this.spacing, + themeValue: compTheme?.spacing, + defaultValue: 2 * theme.scaling); + return Row( + mainAxisSize: MainAxisSize.min, + children: keys + .map((key) => KeyboardKeyDisplay(keyboardKey: key)) + .toList()) + .gap(spacing); + } +} + +/// A widget that displays a single keyboard key in a styled format. +/// +/// Renders an individual keyboard key as a styled representation that +/// resembles a physical keyboard key. Used internally by [KeyboardDisplay] +/// but can also be used standalone for displaying individual keys. +/// +/// The key display automatically formats the key label based on the +/// [LogicalKeyboardKey] and applies appropriate styling including +/// padding, shadows, and theme-consistent appearance. +/// +/// Example: +/// ```dart +/// KeyboardKeyDisplay( +/// keyboardKey: LogicalKeyboardKey.controlLeft, +/// padding: EdgeInsets.symmetric(horizontal: 8, vertical: 4), +/// ) +/// ``` +class KeyboardKeyDisplay extends StatelessWidget { + /// The keyboard key to display. + /// + /// Specifies which keyboard key should be rendered. The display + /// automatically formats the key label and applies appropriate styling. + final LogicalKeyboardKey keyboardKey; + + /// Internal padding applied within the key display. + /// + /// Controls spacing around the key label text. When null, + /// uses theme-appropriate default padding for key displays. + final EdgeInsetsGeometry? padding; + + /// Box shadows applied to the key display for depth effect. + /// + /// Creates visual depth to simulate the appearance of physical + /// keyboard keys. When null, uses theme default shadows. + final List? boxShadow; + + /// Creates a [KeyboardKeyDisplay] for the specified keyboard key. + /// + /// The [keyboardKey] parameter is required and determines which + /// key is displayed. Visual appearance can be customized through + /// the optional padding and shadow parameters. + /// + /// Parameters: + /// - [keyboardKey] (LogicalKeyboardKey, required): Key to display + /// - [padding] (EdgeInsetsGeometry?, optional): Internal padding + /// - [boxShadow] (`List?`, optional): Shadow effects + /// + /// Example: + /// ```dart + /// KeyboardKeyDisplay( + /// keyboardKey: LogicalKeyboardKey.escape, + /// padding: EdgeInsets.all(6), + /// ) + /// ``` + const KeyboardKeyDisplay({ + super.key, + required this.keyboardKey, + this.padding, + this.boxShadow, + }); + + @override + Widget build(BuildContext context) { + final displayMapper = Data.of(context); + final theme = Theme.of(context); + final directionality = Directionality.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final padding = styleValue( + widgetValue: this.padding, + themeValue: compTheme?.keyPadding, + defaultValue: + const EdgeInsets.symmetric(horizontal: 6, vertical: 4)) + .resolve(directionality) * + theme.scaling; + return Card( + padding: padding, + borderRadius: theme.borderRadiusMd, + fillColor: theme.colorScheme.background.scaleAlpha(0.7), + filled: true, + child: displayMapper.buildKeyboardDisplay(context, keyboardKey), + ); + } +} + +/// Converts a [ShortcutActivator] into a list of logical keyboard keys. +/// +/// Extracts modifier keys (control, alt, meta, shift) and the primary key from +/// a shortcut activator, returning them as a list of `List`. +/// +/// Parameters: +/// - [activator] (`ShortcutActivator`, required): The shortcut to convert. +/// +/// Returns: `List` — all keys involved in the shortcut. +/// +/// Supports [CharacterActivator] and [SingleActivator] types. +List shortcutActivatorToKeySet( + ShortcutActivator activator) { + List keys = []; + if (activator is CharacterActivator) { + if (activator.control) { + keys.add(LogicalKeyboardKey.control); + } + if (activator.alt) { + keys.add(LogicalKeyboardKey.alt); + } + if (activator.meta) { + keys.add(LogicalKeyboardKey.meta); + } + keys.add(LogicalKeyboardKey(activator.character.codeUnitAt(0))); + } + if (activator is SingleActivator) { + if (activator.control) { + keys.add(LogicalKeyboardKey.control); + } + if (activator.alt) { + keys.add(LogicalKeyboardKey.alt); + } + if (activator.meta) { + keys.add(LogicalKeyboardKey.meta); + } + if (activator.shift) { + keys.add(LogicalKeyboardKey.shift); + } + keys.add(activator.trigger); + } + if (activator is LogicalKeySet) { + for (final trigger in activator.triggers) { + keys.add(trigger); + } + } + return keys; +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/linear_progress_indicator.dart b/third_party/shadcn_flutter/lib/src/components/display/linear_progress_indicator.dart new file mode 100644 index 00000000..6a0f0893 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/linear_progress_indicator.dart @@ -0,0 +1,568 @@ +import 'dart:ui' as ui; + +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme configuration for [LinearProgressIndicator] components. +/// +/// Provides comprehensive visual styling properties for linear progress indicators +/// including colors, sizing, border radius, and visual effects. These properties +/// integrate with the design system and can be overridden at the widget level. +/// +/// The theme supports advanced features like spark effects for enhanced visual +/// feedback and animation control for performance optimization scenarios. +class LinearProgressIndicatorTheme extends ComponentThemeData { + /// The primary color of the progress indicator fill. + /// + /// Type: `Color?`. If null, uses theme's primary color. Applied to the + /// filled portion that represents completion progress. + final Color? color; + + /// The background color behind the progress indicator. + /// + /// Type: `Color?`. If null, uses a semi-transparent version of the primary color. + /// Visible in the unfilled portion of the progress track. + final Color? backgroundColor; + + /// The minimum height of the progress indicator. + /// + /// Type: `double?`. If null, defaults to 2.0 scaled by theme scaling factor. + /// Ensures adequate visual presence while maintaining sleek appearance. + final double? minHeight; + + /// The border radius of the progress indicator container. + /// + /// Type: `BorderRadiusGeometry?`. If null, uses BorderRadius.zero for sharp edges. + /// Applied to both the track and progress fill for consistent styling. + final BorderRadiusGeometry? borderRadius; + + /// Whether to display spark effects at the progress head. + /// + /// Type: `bool?`. If null, defaults to false. When enabled, shows a + /// radial gradient spark effect at the leading edge of the progress fill. + final bool? showSparks; + + /// Whether to disable smooth progress animations. + /// + /// Type: `bool?`. If null, defaults to false. When true, progress changes + /// instantly without transitions for performance optimization. + final bool? disableAnimation; + + /// Creates a [LinearProgressIndicatorTheme]. + /// + /// All parameters are optional and can be null to use intelligent defaults + /// based on the current theme configuration and design system values. + /// + /// Example: + /// ```dart + /// const LinearProgressIndicatorTheme( + /// color: Colors.blue, + /// backgroundColor: Colors.grey, + /// minHeight: 4.0, + /// borderRadius: BorderRadius.circular(2.0), + /// showSparks: true, + /// ); + /// ``` + const LinearProgressIndicatorTheme({ + this.color, + this.backgroundColor, + this.minHeight, + this.borderRadius, + this.showSparks, + this.disableAnimation, + }); + + /// Returns a copy of this theme with the given fields replaced. + LinearProgressIndicatorTheme copyWith({ + ValueGetter? color, + ValueGetter? backgroundColor, + ValueGetter? minHeight, + ValueGetter? borderRadius, + ValueGetter? showSparks, + ValueGetter? disableAnimation, + }) { + return LinearProgressIndicatorTheme( + color: color == null ? this.color : color(), + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + minHeight: minHeight == null ? this.minHeight : minHeight(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + showSparks: showSparks == null ? this.showSparks : showSparks(), + disableAnimation: + disableAnimation == null ? this.disableAnimation : disableAnimation(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is LinearProgressIndicatorTheme && + other.color == color && + other.backgroundColor == backgroundColor && + other.minHeight == minHeight && + other.borderRadius == borderRadius && + other.showSparks == showSparks && + other.disableAnimation == disableAnimation; + } + + @override + int get hashCode => Object.hash( + color, + backgroundColor, + minHeight, + borderRadius, + showSparks, + disableAnimation, + ); +} + +/// Duration constant for indeterminate linear progress animation cycle. +/// +/// Defines the complete animation cycle duration (1800ms) for the dual-line +/// indeterminate progress pattern, ensuring smooth and consistent motion timing. +const int _kIndeterminateLinearDuration = 1800; + +/// A sophisticated linear progress indicator with advanced visual effects. +/// +/// The LinearProgressIndicator provides both determinate and indeterminate progress +/// visualization with enhanced features including optional spark effects, smooth +/// animations, and comprehensive theming support. Built with custom painting for +/// precise control over visual presentation and performance. +/// +/// For determinate progress, displays completion as a horizontal bar that fills +/// from left to right. For indeterminate progress (when value is null), shows +/// a continuous animation with two overlapping progress segments that move across +/// the track in a coordinated pattern. +/// +/// Key features: +/// - Determinate and indeterminate progress modes +/// - Optional spark effects with radial gradient animation +/// - Smooth animated transitions with disable option +/// - RTL (right-to-left) text direction support +/// - Custom painting for optimal rendering performance +/// - Comprehensive theming via [LinearProgressIndicatorTheme] +/// - Responsive sizing with theme scaling integration +/// +/// The indeterminate animation uses precisely timed curves to create a natural, +/// material design compliant motion pattern that communicates ongoing activity +/// without specific completion timing. +/// +/// Example: +/// ```dart +/// LinearProgressIndicator( +/// value: 0.7, +/// showSparks: true, +/// color: Colors.blue, +/// minHeight: 6.0, +/// ); +/// ``` +class LinearProgressIndicator extends StatelessWidget { + /// Animation curve constants for indeterminate progress motion. + /// + /// These curves define the precise timing and easing for the dual-line + /// indeterminate animation pattern, creating smooth material design motion. + static const Curve _line1Head = Interval( + 0.0, + 750.0 / _kIndeterminateLinearDuration, + curve: Cubic(0.2, 0.0, 0.8, 1.0), + ); + static const Curve _line1Tail = Interval( + 333.0 / _kIndeterminateLinearDuration, + (333.0 + 750.0) / _kIndeterminateLinearDuration, + curve: Cubic(0.4, 0.0, 1.0, 1.0), + ); + static const Curve _line2Head = Interval( + 1000.0 / _kIndeterminateLinearDuration, + (1000.0 + 567.0) / _kIndeterminateLinearDuration, + curve: Cubic(0.0, 0.0, 0.65, 1.0), + ); + static const Curve _line2Tail = Interval( + 1267.0 / _kIndeterminateLinearDuration, + (1267.0 + 533.0) / _kIndeterminateLinearDuration, + curve: Cubic(0.10, 0.0, 0.45, 1.0), + ); + + /// The progress completion value between 0.0 and 1.0. + /// + /// Type: `double?`. If null, displays indeterminate animation with dual + /// moving progress segments. When provided, shows determinate progress. + final double? value; + + /// The background color of the progress track. + /// + /// Type: `Color?`. If null, uses theme background color or semi-transparent + /// version of progress color. Overrides theme configuration. + final Color? backgroundColor; + + /// The minimum height of the progress indicator. + /// + /// Type: `double?`. If null, uses theme minimum height or 2.0 scaled + /// by theme scaling factor. Overrides theme configuration. + final double? minHeight; + + /// The primary color of the progress fill. + /// + /// Type: `Color?`. If null, uses theme primary color. Applied to both + /// progress segments in indeterminate mode. Overrides theme configuration. + final Color? color; + + /// The border radius of the progress container. + /// + /// Type: `BorderRadiusGeometry?`. If null, uses BorderRadius.zero. + /// Applied via [ClipRRect] to both track and progress elements. + final BorderRadiusGeometry? borderRadius; + + /// Whether to display spark effects at the progress head. + /// + /// Type: `bool?`. If null, defaults to false. Shows radial gradient + /// spark effect at the leading edge for enhanced visual feedback. + final bool? showSparks; + + /// Whether to disable smooth progress animations. + /// + /// Type: `bool?`. If null, defaults to false. When true, disables + /// [AnimatedValueBuilder] for instant progress changes. + final bool? disableAnimation; + + /// Creates a [LinearProgressIndicator]. + /// + /// The component automatically handles both determinate and indeterminate modes + /// based on whether [value] is provided. Theming and visual effects can be + /// customized through individual parameters or via [LinearProgressIndicatorTheme]. + /// + /// Parameters: + /// - [value] (double?, optional): Progress completion (0.0-1.0) or null for indeterminate + /// - [backgroundColor] (Color?, optional): Track background color override + /// - [minHeight] (double?, optional): Minimum indicator height override + /// - [color] (Color?, optional): Progress fill color override + /// - [borderRadius] (BorderRadiusGeometry?, optional): Container border radius override + /// - [showSparks] (bool?, optional): Whether to show spark effects + /// - [disableAnimation] (bool?, optional): Whether to disable smooth transitions + /// + /// Example: + /// ```dart + /// LinearProgressIndicator( + /// value: 0.4, + /// color: Colors.green, + /// backgroundColor: Colors.grey.shade300, + /// minHeight: 8.0, + /// showSparks: true, + /// ); + /// ``` + const LinearProgressIndicator({ + super.key, + this.value, + this.backgroundColor, + this.minHeight, + this.color, + this.borderRadius, + this.showSparks, + this.disableAnimation, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final directionality = Directionality.of(context); + final compTheme = ComponentTheme.maybeOf( + context, + ); + final colorValue = styleValue( + widgetValue: color, + themeValue: compTheme?.color, + defaultValue: theme.colorScheme.primary, + ); + final backgroundColorValue = styleValue( + widgetValue: backgroundColor, + themeValue: compTheme?.backgroundColor, + defaultValue: colorValue.scaleAlpha(0.2), + ); + final minHeightValue = styleValue( + widgetValue: minHeight, + themeValue: compTheme?.minHeight, + defaultValue: theme.scaling * 2, + ); + final borderRadiusValue = styleValue( + widgetValue: borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: BorderRadius.zero, + ); + final showSparksValue = styleValue( + widgetValue: showSparks, + themeValue: compTheme?.showSparks, + defaultValue: false, + ); + final disableAnimationValue = styleValue( + widgetValue: disableAnimation, + themeValue: compTheme?.disableAnimation, + defaultValue: false, + ); + Widget childWidget; + if (value != null) { + childWidget = AnimatedValueBuilder( + value: _LinearProgressIndicatorProperties( + start: 0, + end: value!.clamp(0, 1), + color: colorValue, + backgroundColor: backgroundColorValue, + showSparks: showSparksValue, + sparksColor: colorValue, + sparksRadius: theme.scaling * 16, + textDirection: directionality, + ), + duration: disableAnimationValue ? Duration.zero : kDefaultDuration, + lerp: _LinearProgressIndicatorProperties.lerp, + curve: Curves.easeInOut, + builder: (context, value, child) { + return CustomPaint( + painter: _LinearProgressIndicatorPainter( + start: 0, + end: value.end, + start2: value.start2, + end2: value.end2, + color: value.color, + backgroundColor: value.backgroundColor, + showSparks: value.showSparks, + sparksColor: value.sparksColor, + sparksRadius: value.sparksRadius, + textDirection: value.textDirection, + ), + ); + }, + ); + } else { + // indeterminate + childWidget = RepeatedAnimationBuilder( + start: 0.0, + end: 1.0, + duration: const Duration(milliseconds: _kIndeterminateLinearDuration), + builder: (context, value, child) { + double start = _line1Tail.transform(value); + double end = _line1Head.transform(value); + double start2 = _line2Tail.transform(value); + double end2 = _line2Head.transform(value); + return AnimatedValueBuilder( + duration: kDefaultDuration, + lerp: _LinearProgressIndicatorProperties.lerp, + value: _LinearProgressIndicatorProperties( + start: start, + end: end, + start2: start2, + end2: end2, + color: colorValue, + backgroundColor: backgroundColorValue, + showSparks: showSparksValue, + sparksColor: colorValue, + sparksRadius: theme.scaling * 16, + textDirection: directionality, + ), + builder: (context, prop, child) { + return CustomPaint( + painter: _LinearProgressIndicatorPainter( + // do not animate start and end value + start: start, + end: end, + start2: start2, + end2: end2, + color: prop.color, + backgroundColor: prop.backgroundColor, + showSparks: prop.showSparks, + sparksColor: prop.sparksColor, + sparksRadius: prop.sparksRadius, + textDirection: prop.textDirection, + ), + ); + }, + ); + }, + ); + } + return RepaintBoundary( + child: SizedBox( + height: minHeightValue, + child: ClipRRect(borderRadius: borderRadiusValue, child: childWidget), + ), + ); + } +} + +class _LinearProgressIndicatorProperties { + final double start; + final double end; + final double? start2; + final double? end2; + final Color color; + final Color backgroundColor; + final bool showSparks; + final Color sparksColor; + final double sparksRadius; + final TextDirection textDirection; + + const _LinearProgressIndicatorProperties({ + required this.start, + required this.end, + this.start2, + this.end2, + required this.color, + required this.backgroundColor, + required this.showSparks, + required this.sparksColor, + required this.sparksRadius, + required this.textDirection, + }); + + static _LinearProgressIndicatorProperties lerp( + _LinearProgressIndicatorProperties a, + _LinearProgressIndicatorProperties b, + double t, + ) { + return _LinearProgressIndicatorProperties( + start: _lerpDouble(a.start, b.start, t)!, + end: _lerpDouble(a.end, b.end, t)!, + start2: _lerpDouble(a.start2, b.start2, t), + end2: _lerpDouble(a.end2, b.end2, t), + color: Color.lerp(a.color, b.color, t)!, + backgroundColor: Color.lerp(a.backgroundColor, b.backgroundColor, t)!, + showSparks: b.showSparks, + sparksColor: Color.lerp(a.sparksColor, b.sparksColor, t)!, + sparksRadius: _lerpDouble(a.sparksRadius, b.sparksRadius, t)!, + textDirection: b.textDirection, + ); + } +} + +double? _lerpDouble(double? a, double? b, double t) { + if (a == null && b == null) { + return null; + } + if (a!.isNaN || b!.isNaN) { + return double.nan; + } + return a + (b - a) * t; +} + +class _LinearProgressIndicatorPainter extends CustomPainter { + static final gradientTransform = + (Matrix4.identity()..scaleByDouble(1.0, 0.5, 1, 1)).storage; + + final double start; + final double end; + final double? start2; // for indeterminate + final double? end2; + final Color color; + final Color backgroundColor; + final bool showSparks; + final Color sparksColor; + final double sparksRadius; + final TextDirection textDirection; + + _LinearProgressIndicatorPainter({ + required this.start, + required this.end, + this.start2, + this.end2, + required this.color, + required this.backgroundColor, + required this.showSparks, + required this.sparksColor, + required this.sparksRadius, + this.textDirection = TextDirection.ltr, + }); + + @override + void paint(Canvas canvas, Size size) { + var start = this.start; + var end = this.end; + var start2 = this.start2; + var end2 = this.end2; + if (textDirection == TextDirection.rtl) { + start = 1 - end; + end = 1 - this.start; + if (start2 != null && end2 != null) { + start2 = 1 - end2; + end2 = 1 - this.start2!; + } + } + + if (start.isNaN) { + start = 0; + } + if (end.isNaN) { + end = 0; + } + if (start2 != null && start2.isNaN) { + start2 = 0; + } + if (end2 != null && end2.isNaN) { + end2 = 0; + } + + final paint = Paint()..style = PaintingStyle.fill; + + paint.color = backgroundColor; + + canvas.drawRRect( + RRect.fromLTRBR( + 0, + 0, + size.width, + size.height, + Radius.circular(size.height / 2), + ), + paint, + ); + + paint.color = color; + var rectValue = Rect.fromLTWH( + size.width * start, + 0, + size.width * (end - start), + size.height, + ); + canvas.drawRect(rectValue, paint); + if (start2 != null && end2 != null) { + rectValue = Rect.fromLTWH( + size.width * start2, + 0, + size.width * (end2 - start2), + size.height, + ); + canvas.drawRect(rectValue, paint); + } + + if (showSparks) { + // use RadialGradient to create sparks + + final gradient = ui.Gradient.radial( + // colors: [sparksColor, Colors.transparent], + // stops: const [0.0, 1.0], + Offset(size.width * (end - start), size.height / 2), + sparksRadius, + [sparksColor, sparksColor.withAlpha(0)], + [0.0, 1.0], + ui.TileMode.clamp, + // scale to make oval + gradientTransform, + ); + paint.shader = gradient; + canvas.drawCircle( + Offset(size.width * (end - start), size.height / 2), + sparksRadius, + paint, + ); + } + } + + @override + bool shouldRepaint(covariant _LinearProgressIndicatorPainter oldDelegate) { + return oldDelegate.start != start || + oldDelegate.end != end || + oldDelegate.color != color || + oldDelegate.backgroundColor != backgroundColor || + oldDelegate.showSparks != showSparks || + oldDelegate.sparksColor != sparksColor || + oldDelegate.sparksRadius != sparksRadius || + oldDelegate.textDirection != textDirection || + oldDelegate.start2 != start2 || + oldDelegate.end2 != end2; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/number_ticker.dart b/third_party/shadcn_flutter/lib/src/components/display/number_ticker.dart new file mode 100644 index 00000000..c50901db --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/number_ticker.dart @@ -0,0 +1,546 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A callback that builds a widget based on an animated number value. +/// +/// Used by [NumberTicker.builder] to construct custom presentations of the +/// animated number. The [number] parameter contains the current interpolated +/// numeric value, while [child] is an optional widget for optimization. +typedef NumberTickerBuilder = Widget Function( + BuildContext context, num number, Widget? child); + +/// A callback that formats a number into a string representation. +/// +/// Used by [NumberTicker] with its default constructor to control how +/// numeric values are displayed as text. This allows for custom formatting +/// such as currency display, percentage formatting, or localized numbers. +typedef NumberTickerFormatted = String Function(num number); + +/// Theme configuration for [NumberTicker] widgets. +/// +/// Provides default styling values that can be overridden on individual +/// [NumberTicker] instances. This allows for consistent styling across +/// multiple number tickers in an application while still permitting +/// per-instance customization when needed. +/// +/// Used with [ComponentTheme] to provide theme values throughout the widget tree. +/// +/// Example: +/// ```dart +/// ComponentTheme( +/// data: NumberTickerTheme( +/// duration: Duration(milliseconds: 800), +/// curve: Curves.bounceOut, +/// style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), +/// ), +/// child: MyApp(), +/// ); +/// ``` +class NumberTickerTheme extends ComponentThemeData { + /// The default animation duration for number transitions. + /// + /// If null, individual [NumberTicker] widgets will use their own duration + /// or fall back to the default value of 500 milliseconds. + final Duration? duration; + + /// The default animation curve for number transitions. + /// + /// If null, individual [NumberTicker] widgets will use their own curve + /// or fall back to [Curves.easeInOut]. + final Curve? curve; + + /// The default text style for formatted number display. + /// + /// Only used when [NumberTicker] is constructed with a [formatter] function. + /// If null, the default system text style is used. + final TextStyle? style; + + /// Creates a [NumberTickerTheme] with the specified styling options. + /// + /// Parameters: + /// - [duration] (Duration?, optional): Default animation duration for transitions. + /// - [curve] (Curve?, optional): Default easing curve for animations. + /// - [style] (TextStyle?, optional): Default text style for formatted display. + /// + /// All parameters are optional and will fall back to widget-level defaults + /// or system defaults when not specified. + const NumberTickerTheme({this.duration, this.curve, this.style}); + + /// Creates a copy of this theme with the given values replaced. + /// + /// Uses [ValueGetter] functions to allow conditional updates where + /// null getters preserve the original value. + /// + /// Parameters: + /// - [duration] (`ValueGetter?`, optional): New duration value. + /// - [curve] (`ValueGetter?`, optional): New curve value. + /// - [style] (`ValueGetter?`, optional): New text style value. + /// + /// Example: + /// ```dart + /// final newTheme = originalTheme.copyWith( + /// duration: () => Duration(seconds: 1), + /// style: () => TextStyle(color: Colors.blue), + /// ); + /// ``` + NumberTickerTheme copyWith({ + ValueGetter? duration, + ValueGetter? curve, + ValueGetter? style, + }) { + return NumberTickerTheme( + duration: duration == null ? this.duration : duration(), + curve: curve == null ? this.curve : curve(), + style: style == null ? this.style : style(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is NumberTickerTheme && + other.duration == duration && + other.curve == curve && + other.style == style; + } + + @override + int get hashCode => Object.hash(duration, curve, style); +} + +/// A widget that smoothly animates between numeric values with customizable display. +/// +/// [NumberTicker] provides animated transitions when numeric values change, +/// making it ideal for displaying counters, statistics, prices, or any numeric +/// data that changes over time. It offers two construction modes: +/// +/// - Default constructor: Uses a formatter function to display numbers as text +/// - [NumberTicker.builder]: Provides a custom builder for complete control +/// +/// The animation automatically starts when the [number] value changes, smoothly +/// interpolating between the previous and new values. If [initialNumber] is +/// provided, the widget will animate from that value on first display. +/// +/// Supports theming via [NumberTickerTheme] for consistent styling across +/// multiple instances while allowing per-widget customization. +/// +/// Example: +/// ```dart +/// NumberTicker( +/// number: _counter, +/// formatter: (num value) => '\$${value.toStringAsFixed(2)}', +/// duration: Duration(milliseconds: 600), +/// style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), +/// ); +/// ``` +class NumberTicker extends StatelessWidget { + /// The initial number value to start animation from. + /// + /// If null, no initial animation occurs and the widget starts directly + /// with the [number] value. When provided, causes an animation from this + /// initial value to [number] on first build. + final num? initialNumber; + + /// The target number value to animate to and display. + /// + /// When this changes, triggers a smooth animation from the current displayed + /// value to this new target value. Supports any numeric type (int, double). + final num number; + + /// Custom builder function for complete display control. + /// + /// Used only with [NumberTicker.builder] constructor. Receives the current + /// animated numeric value and optional child widget. Allows for complex + /// custom presentations beyond simple text formatting. + final NumberTickerBuilder? builder; + + /// Optional child widget passed to custom builders. + /// + /// Available only when using [NumberTicker.builder]. Passed through to + /// the builder function for optimization when part of the display remains constant. + final Widget? child; + + /// Function to format numbers into display strings. + /// + /// Used only with default constructor. Called with the current animated + /// numeric value and must return a string representation for display. + /// Enables custom formatting like currency, percentages, or localization. + final NumberTickerFormatted? formatter; + + /// Override duration for this widget's animations. + /// + /// If null, uses the duration from [NumberTickerTheme] or defaults to + /// 500 milliseconds. Controls how long transitions take when [number] changes. + final Duration? duration; + + /// Override animation curve for this widget. + /// + /// If null, uses the curve from [NumberTickerTheme] or defaults to + /// [Curves.easeInOut]. Controls the timing function of number transitions. + final Curve? curve; + + /// Override text style for formatted number display. + /// + /// Only used with default constructor. If null, uses the style from + /// [NumberTickerTheme] or system default. Has no effect when using builder. + final TextStyle? style; + + /// Creates a [NumberTicker] with custom builder for complete display control. + /// + /// This constructor provides maximum flexibility by allowing you to define + /// exactly how the animated number should be presented. The builder receives + /// the current interpolated numeric value and can construct any widget tree. + /// + /// Parameters: + /// - [initialNumber] (num?, optional): Starting value for first animation. + /// - [number] (num, required): Target value to animate to and display. + /// - [builder] (NumberTickerBuilder, required): Custom display builder function. + /// - [child] (Widget?, optional): Optional child passed to builder for optimization. + /// - [duration] (Duration?, optional): Override animation duration. + /// - [curve] (Curve?, optional): Override animation curve. + /// + /// Example: + /// ```dart + /// NumberTicker.builder( + /// number: _score, + /// duration: Duration(milliseconds: 400), + /// builder: (context, value, child) { + /// return Container( + /// padding: EdgeInsets.all(8), + /// decoration: BoxDecoration( + /// color: Colors.green, + /// borderRadius: BorderRadius.circular(8), + /// ), + /// child: Text( + /// '${value.toInt()} points', + /// style: TextStyle(color: Colors.white, fontSize: 18), + /// ), + /// ); + /// }, + /// ); + /// ``` + const NumberTicker.builder({ + super.key, + this.initialNumber, + required this.number, + required this.builder, + this.child, + this.duration, + this.curve, + }) : formatter = null, + style = null; + + /// Creates a [NumberTicker] with formatted text display. + /// + /// This is the standard constructor that displays animated numbers as text + /// using a formatting function. The formatter receives the current numeric + /// value and must return a string representation for display. + /// + /// Parameters: + /// - [initialNumber] (num?, optional): Starting value for first animation. + /// - [number] (num, required): Target value to animate to and display. + /// - [formatter] (NumberTickerFormatted, required): Function to format numbers as strings. + /// - [duration] (Duration?, optional): Override animation duration. + /// - [curve] (Curve?, optional): Override animation curve. + /// - [style] (TextStyle?, optional): Override text styling. + /// + /// Example: + /// ```dart + /// NumberTicker( + /// initialNumber: 0, + /// number: 1234.56, + /// formatter: (value) => NumberFormat.currency( + /// locale: 'en_US', + /// symbol: '\$', + /// ).format(value), + /// duration: Duration(milliseconds: 750), + /// style: TextStyle(fontSize: 20, fontWeight: FontWeight.w600), + /// ); + /// ``` + const NumberTicker({ + super.key, + this.initialNumber, + required this.number, + required this.formatter, + this.duration, + this.curve, + this.style, + }) : builder = null, + child = null; + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final duration = styleValue( + widgetValue: this.duration, + themeValue: compTheme?.duration, + defaultValue: const Duration(milliseconds: 500), + ); + final curve = styleValue( + widgetValue: this.curve, + themeValue: compTheme?.curve, + defaultValue: Curves.easeInOut, + ); + if (formatter != null) { + final textStyle = styleValue( + widgetValue: style, + themeValue: compTheme?.style, + defaultValue: null, + ); + return AnimatedValueBuilder( + value: number.toDouble(), + duration: duration, + curve: curve, + initialValue: initialNumber?.toDouble(), + builder: (context, value, child) { + return Text( + formatter!(value), + style: textStyle, + ); + }, + ); + } + return AnimatedValueBuilder( + value: number.toDouble(), + duration: duration, + curve: curve, + initialValue: initialNumber?.toDouble(), + builder: (context, value, child) { + return builder!(context, value, child); + }, + child: child, + ); + } +} + +/// Defines a character set for [FlipperCharacter] and [TextFlipper]. +class FlipperCharset { + /// Digits 0–9. + static const FlipperCharset numbers = FlipperCharset('0123456789'); + + /// Uppercase Latin letters. + static const FlipperCharset uppercase = + FlipperCharset('ABCDEFGHIJKLMNOPQRSTUVWXYZ'); + + /// Lowercase Latin letters. + static const FlipperCharset lowercase = + FlipperCharset('abcdefghijklmnopqrstuvwxyz'); + + /// Uppercase and lowercase Latin letters. + static const FlipperCharset letters = + FlipperCharset('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'); + + /// Alphanumeric characters. + static const FlipperCharset alphanumeric = FlipperCharset( + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'); + + /// Common symbol characters. + static const FlipperCharset symbols = + FlipperCharset('!@#\$%^&*()-_=+[]{}|;:\'",.<>?/`~'); + + /// Letters, numbers, and symbols. + static const FlipperCharset all = FlipperCharset( + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#\$%^&*()-_=+[]{}|;:\'",.<>?/`~'); + + /// The characters available to flip through. + final String characters; + + /// Creates a [FlipperCharset] from a string of characters. + const FlipperCharset(this.characters); + + /// Combines two [FlipperCharset] instances into one. + FlipperCharset operator +(FlipperCharset other) { + return FlipperCharset(characters + other.characters); + } + + @override + String toString() => 'FlipperCharset($characters)'; + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is FlipperCharset && other.characters == characters; + } + + @override + int get hashCode => characters.hashCode; +} + +/// Animates a single character by flipping through [FlipperCharset]. +class FlipperCharacter extends StatelessWidget { + /// The character set used for flipping. + final FlipperCharset charset; + + /// The target character to display. + final String character; + + /// Duration of the flip animation. + final Duration duration; + + /// Curve used for the flip animation. + final Curve curve; + + /// Creates a [FlipperCharacter]. + const FlipperCharacter({ + super.key, + required this.charset, + required this.character, + required this.duration, + required this.curve, + }); + + @override + Widget build(BuildContext context) { + int index = charset.characters.indexOf(character); + return AnimatedValueBuilder( + value: index.toDouble(), + duration: duration, + curve: curve, + builder: (context, value, child) { + final nextChar = value.ceil(); + final prevChar = value.floor(); + if (nextChar == prevChar) { + final charString = nextChar == -1 + ? '' + : charset.characters[nextChar % charset.characters.length]; + return Text(charString); + } + final t = value - prevChar; + final nextCharString = nextChar == -1 + ? '' + : charset.characters[nextChar % charset.characters.length]; + final prevCharString = prevChar == -1 + ? '' + : charset.characters[prevChar % charset.characters.length]; + final nextOffset = Offset(0, -(1 - t)); + final prevOffset = Offset(0, t); + final nextOpacity = t; + final prevOpacity = 1 - t; + Widget child = Stack( + children: [ + Visibility( + visible: false, + maintainSize: true, + maintainAnimation: true, + maintainState: true, + child: Text(nextCharString), + ), + Positioned.fill( + child: Opacity( + opacity: prevOpacity, + child: LayoutBuilder( + builder: (context, constraints) { + return Transform.translate( + offset: Offset( + prevOffset.dx * constraints.maxWidth, + prevOffset.dy * constraints.maxHeight, + ), + child: Text(prevCharString), + ); + }, + ), + ), + ), + Positioned.fill( + child: Opacity( + opacity: nextOpacity, + child: LayoutBuilder( + builder: (context, constraints) { + return Transform.translate( + offset: Offset( + nextOffset.dx * constraints.maxWidth, + nextOffset.dy * constraints.maxHeight, + ), + child: Text(nextCharString), + ); + }, + ), + ), + ), + ], + ); + final halfT = (t - 0.5).abs().clamp(0.0, 0.5); + final gradientHeight = 0.5 - halfT; // or (0.5 - halfT).clamp(0.0, 0.5) + return AnimatedSize( + duration: duration, + curve: curve, + child: _FlipperGradientMask( + gradientHeight: gradientHeight, + child: child, + ), + ); + }, + ); + } +} + +class _FlipperGradientMask extends StatelessWidget { + final Widget child; + final double gradientHeight; // fraction + const _FlipperGradientMask({ + required this.child, + required this.gradientHeight, + }); + + @override + Widget build(BuildContext context) { + return ShaderMask( + shaderCallback: (bounds) { + return LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Colors.white.withAlpha(0), + Colors.white, + Colors.white, + Colors.white.withAlpha(0), + ], + stops: [0.0, gradientHeight, 1 - gradientHeight, 1.0], + ).createShader(bounds); + }, + child: child, + ); + } +} + +/// Animates a string by flipping each character. +class TextFlipper extends StatelessWidget { + /// The character set used for each character flip. + final FlipperCharset charset; + + /// The text to animate. + final String text; + + /// Duration of the flip animation for each character. + final Duration duration; + + /// Curve used for the flip animation. + final Curve curve; + + /// Creates a [TextFlipper]. + const TextFlipper({ + super.key, + this.charset = FlipperCharset.all, + required this.text, + this.duration = const Duration(milliseconds: 500), + this.curve = Curves.easeInOut, + }); + @override + Widget build(BuildContext context) { + // We need to force-clip because Row does not clip its children + // if the children overflowed by using Transform. + return ClipRect( + child: Row( + clipBehavior: Clip.none, + mainAxisSize: MainAxisSize.min, + children: text.characters + .map((char) => FlipperCharacter( + charset: charset, + character: char, + duration: duration, + curve: curve, + )) + .toList(), + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/progress.dart b/third_party/shadcn_flutter/lib/src/components/display/progress.dart new file mode 100644 index 00000000..26568fc7 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/progress.dart @@ -0,0 +1,226 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme configuration for [Progress] components. +/// +/// Provides visual styling properties for progress indicators including colors, +/// border radius, and sizing constraints. These properties can be overridden +/// at the widget level or applied globally via [ComponentTheme]. +/// +/// The theme integrates seamlessly with the design system by leveraging +/// theme scaling factors and color schemes for consistent visual presentation. +class ProgressTheme extends ComponentThemeData { + /// The foreground color of the progress indicator. + /// + /// Type: `Color?`. If null, uses the default progress color from theme. + /// Applied to the filled portion that shows completion progress. + final Color? color; + + /// The background color behind the progress indicator. + /// + /// Type: `Color?`. If null, uses a semi-transparent version of the progress color. + /// Visible in the unfilled portion of the progress track. + final Color? backgroundColor; + + /// The border radius of the progress indicator container. + /// + /// Type: `BorderRadiusGeometry?`. If null, uses theme's small border radius. + /// Applied to both the track and the progress fill for consistent styling. + final BorderRadiusGeometry? borderRadius; + + /// The minimum height of the progress indicator. + /// + /// Type: `double?`. If null, defaults to 8.0 scaled by theme scaling factor. + /// Ensures adequate visual presence while maintaining proportional sizing. + final double? minHeight; + + /// Creates a [ProgressTheme]. + /// + /// All parameters are optional and can be null to use default values + /// derived from the current theme configuration. + /// + /// Example: + /// ```dart + /// const ProgressTheme( + /// color: Colors.blue, + /// backgroundColor: Colors.grey, + /// borderRadius: BorderRadius.circular(4.0), + /// minHeight: 6.0, + /// ); + /// ``` + const ProgressTheme({ + this.color, + this.backgroundColor, + this.borderRadius, + this.minHeight, + }); + + /// Creates a copy of this theme but with the given fields replaced with the new values. + ProgressTheme copyWith({ + ValueGetter? color, + ValueGetter? backgroundColor, + ValueGetter? borderRadius, + ValueGetter? minHeight, + }) { + return ProgressTheme( + color: color == null ? this.color : color(), + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + minHeight: minHeight == null ? this.minHeight : minHeight(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + if (other is! ProgressTheme) return false; + return other.color == color && + other.backgroundColor == backgroundColor && + other.borderRadius == borderRadius && + other.minHeight == minHeight; + } + + @override + int get hashCode => Object.hash( + color, + backgroundColor, + borderRadius, + minHeight, + ); +} + +/// A linear progress indicator that visually represents task completion. +/// +/// The Progress widget displays completion status as a horizontal bar that fills +/// from left to right based on the current progress value. Supports both +/// determinate progress (with specific values) and indeterminate progress +/// (continuous animation when value is null). +/// +/// Built on top of [LinearProgressIndicator], this component provides enhanced +/// theming capabilities and integrates seamlessly with the design system. +/// Progress values are automatically normalized between configurable min/max +/// bounds with built-in validation to ensure values remain within range. +/// +/// Key features: +/// - Flexible progress range with custom min/max values +/// - Automatic value normalization and validation +/// - Smooth animations with optional animation disable +/// - Comprehensive theming support via [ProgressTheme] +/// - Responsive scaling based on theme configuration +/// - Indeterminate progress support for unknown durations +/// +/// Example: +/// ```dart +/// Progress( +/// progress: 0.65, +/// color: Colors.blue, +/// backgroundColor: Colors.grey.shade300, +/// ); +/// ``` +class Progress extends StatelessWidget { + /// The current progress value within the specified range. + /// + /// Type: `double?`. If null, displays indeterminate progress animation. + /// Must be between [min] and [max] values when provided. The widget + /// automatically normalizes this value for display. + final double? progress; + + /// The minimum value of the progress range. + /// + /// Type: `double`, default: `0.0`. Defines the starting point for + /// progress calculation. Must be less than [max]. + final double min; + + /// The maximum value of the progress range. + /// + /// Type: `double`, default: `1.0`. Defines the completion point for + /// progress calculation. Must be greater than [min]. + final double max; + + /// Whether to disable progress fill animations. + /// + /// Type: `bool`, default: `false`. When true, progress changes immediately + /// without smooth transitions. Useful for performance optimization. + final bool disableAnimation; + + /// The color of the progress indicator fill. + /// + /// Type: `Color?`. If null, uses the theme's progress color or + /// the color specified in [ProgressTheme]. Overrides theme values. + final Color? color; + + /// The background color of the progress track. + /// + /// Type: `Color?`. If null, uses the theme's background color or + /// a semi-transparent version of the progress color. Overrides theme values. + final Color? backgroundColor; + + /// The normalized progress value between 0.0 and 1.0. + /// + /// Type: `double?`. Returns null when [progress] is null (indeterminate). + /// Automatically calculated by normalizing [progress] within the [min]-[max] range. + /// + /// Formula: `(progress - min) / (max - min)` + double? get normalizedValue { + if (progress == null) { + return null; + } + return (progress! - min) / (max - min); + } + + /// Creates a [Progress] indicator. + /// + /// The progress value must be between [min] and [max] when provided. + /// If progress is null, the indicator shows indeterminate animation. + /// + /// Parameters: + /// - [progress] (double?, optional): Current progress value or null for indeterminate + /// - [min] (double, default: 0.0): Minimum progress value + /// - [max] (double, default: 1.0): Maximum progress value + /// - [disableAnimation] (bool, default: false): Whether to disable smooth transitions + /// - [color] (Color?, optional): Progress fill color override + /// - [backgroundColor] (Color?, optional): Progress track color override + /// + /// Throws: + /// - [AssertionError] if progress is not between min and max values. + /// + /// Example: + /// ```dart + /// Progress( + /// progress: 75, + /// min: 0, + /// max: 100, + /// color: Colors.green, + /// ); + /// ``` + const Progress({ + super.key, + this.progress, + this.min = 0.0, + this.max = 1.0, + this.disableAnimation = false, + this.color, + this.backgroundColor, + }) : assert(progress == null || progress >= min && progress <= max, + 'Progress must be between min and max'); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + return LinearProgressIndicator( + value: normalizedValue, + backgroundColor: styleValue( + defaultValue: backgroundColor, + themeValue: compTheme?.backgroundColor), + color: styleValue( + themeValue: compTheme?.color, widgetValue: color, defaultValue: null), + minHeight: styleValue( + defaultValue: 8.0 * theme.scaling, themeValue: compTheme?.minHeight), + borderRadius: styleValue( + defaultValue: theme.borderRadiusSm, + themeValue: compTheme?.borderRadius), + disableAnimation: disableAnimation, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/skeleton.dart b/third_party/shadcn_flutter/lib/src/components/display/skeleton.dart new file mode 100644 index 00000000..0be41aab --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/skeleton.dart @@ -0,0 +1,358 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; +import 'package:skeletonizer/skeletonizer.dart'; + +/// Theme configuration for skeleton loading effects. +/// +/// Provides styling properties for skeleton loading animations including pulse +/// timing, colors, and animation behavior. These properties integrate with the +/// shadcn design system and work with the underlying Skeletonizer package. +/// +/// The theme enables consistent skeleton styling across the application while +/// allowing for customization of animation characteristics and visual appearance. +class SkeletonTheme extends ComponentThemeData { + /// The duration of one complete pulse animation cycle. + /// + /// Type: `Duration?`. If null, defaults to 1 second for a natural breathing + /// effect. Controls the speed of the fade in/out pulse animation. + final Duration? duration; + + /// The starting color of the pulse animation. + /// + /// Type: `Color?`. If null, uses primary color with 5% opacity from theme. + /// Represents the lightest state of the skeleton shimmer effect. + final Color? fromColor; + + /// The ending color of the pulse animation. + /// + /// Type: `Color?`. If null, uses primary color with 10% opacity from theme. + /// Represents the darkest state of the skeleton shimmer effect. + final Color? toColor; + + /// Whether to enable smooth transitions when switching between skeleton states. + /// + /// Type: `bool?`. If null, defaults to true. When enabled, provides smooth + /// fade transitions when toggling skeleton visibility on/off. + final bool? enableSwitchAnimation; + + /// Creates a [SkeletonTheme]. + /// + /// All parameters are optional and can be null to use intelligent defaults + /// that integrate with the current theme's color scheme and design system. + /// + /// Example: + /// ```dart + /// const SkeletonTheme( + /// duration: Duration(milliseconds: 800), + /// fromColor: Colors.grey.withOpacity(0.1), + /// toColor: Colors.grey.withOpacity(0.2), + /// enableSwitchAnimation: true, + /// ); + /// ``` + const SkeletonTheme({ + this.duration, + this.fromColor, + this.toColor, + this.enableSwitchAnimation, + }); + + /// Returns a copy of this theme with the given fields replaced. + SkeletonTheme copyWith({ + ValueGetter? duration, + ValueGetter? fromColor, + ValueGetter? toColor, + ValueGetter? enableSwitchAnimation, + }) { + return SkeletonTheme( + duration: duration == null ? this.duration : duration(), + fromColor: fromColor == null ? this.fromColor : fromColor(), + toColor: toColor == null ? this.toColor : toColor(), + enableSwitchAnimation: enableSwitchAnimation == null + ? this.enableSwitchAnimation + : enableSwitchAnimation(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is SkeletonTheme && + other.duration == duration && + other.fromColor == fromColor && + other.toColor == toColor && + other.enableSwitchAnimation == enableSwitchAnimation; + } + + @override + int get hashCode => + Object.hash(duration, fromColor, toColor, enableSwitchAnimation); +} + +/// A configuration layer that provides Skeletonizer setup with theme integration. +/// +/// ShadcnSkeletonizerConfigLayer acts as a bridge between the shadcn theme system +/// and the underlying Skeletonizer package, ensuring skeleton loading effects +/// are consistent with the overall design system. This widget wraps content +/// with properly configured skeleton animation settings. +/// +/// The component automatically resolves theme values from [SkeletonTheme] and +/// applies appropriate defaults based on the current theme's color scheme and +/// scaling factors. It creates a [SkeletonizerConfig] with [PulseEffect] for +/// smooth, accessible loading animations. +/// +/// This is typically used internally by skeleton extension methods and should +/// rarely be instantiated directly by application code. +/// +/// Example: +/// ```dart +/// ShadcnSkeletonizerConfigLayer( +/// theme: Theme.of(context), +/// child: YourContentWidget(), +/// ); +/// ``` +class ShadcnSkeletonizerConfigLayer extends StatelessWidget { + /// The theme data used for skeleton configuration. + /// + /// Type: `ThemeData`, required. Provides color scheme, scaling factors, + /// and other design system values for skeleton appearance calculation. + final ThemeData theme; + + /// The child widget to wrap with skeleton configuration. + /// + /// Type: `Widget`, required. The content that will have skeleton + /// configuration available through the widget tree. + final Widget child; + + /// Override duration for the pulse animation cycle. + /// + /// Type: `Duration?`. If provided, overrides theme and default duration + /// values for this specific configuration layer. + final Duration? duration; + + /// Override starting color for the pulse animation. + /// + /// Type: `Color?`. If provided, overrides theme and default color + /// values for the lightest pulse state. + final Color? fromColor; + + /// Override ending color for the pulse animation. + /// + /// Type: `Color?`. If provided, overrides theme and default color + /// values for the darkest pulse state. + final Color? toColor; + + /// Override switch animation behavior. + /// + /// Type: `bool?`. If provided, overrides theme and default animation + /// behavior when toggling skeleton visibility. + final bool? enableSwitchAnimation; + + /// Creates a [ShadcnSkeletonizerConfigLayer]. + /// + /// The [theme] and [child] parameters are required for proper skeleton + /// configuration and content wrapping. Override parameters allow for + /// fine-tuned control of skeleton appearance at the layer level. + /// + /// Parameters: + /// - [theme] (ThemeData, required): Theme for skeleton configuration calculation + /// - [child] (Widget, required): Content to wrap with skeleton configuration + /// - [duration] (Duration?, optional): Pulse animation duration override + /// - [fromColor] (Color?, optional): Pulse start color override + /// - [toColor] (Color?, optional): Pulse end color override + /// - [enableSwitchAnimation] (bool?, optional): Switch animation behavior override + /// + /// Example: + /// ```dart + /// ShadcnSkeletonizerConfigLayer( + /// theme: Theme.of(context), + /// duration: Duration(milliseconds: 1200), + /// child: MyContentWidget(), + /// ); + /// ``` + const ShadcnSkeletonizerConfigLayer({ + super.key, + required this.theme, + required this.child, + this.duration, + this.fromColor, + this.toColor, + this.enableSwitchAnimation, + }); + + @override + Widget build(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + final durationValue = styleValue( + widgetValue: duration, + themeValue: compTheme?.duration, + defaultValue: const Duration(seconds: 1), + ); + final fromValue = styleValue( + widgetValue: fromColor, + themeValue: compTheme?.fromColor, + defaultValue: theme.colorScheme.primary.scaleAlpha(0.05), + ); + final toValue = styleValue( + widgetValue: toColor, + themeValue: compTheme?.toColor, + defaultValue: theme.colorScheme.primary.scaleAlpha(0.1), + ); + final enableSwitchAnimationValue = styleValue( + widgetValue: enableSwitchAnimation, + themeValue: compTheme?.enableSwitchAnimation, + defaultValue: true, + ); + return SkeletonizerConfig( + data: SkeletonizerConfigData( + effect: PulseEffect( + duration: durationValue, + from: fromValue, + to: toValue, + ), + enableSwitchAnimation: enableSwitchAnimationValue, + ), + child: child, + ); + } +} + +/// Extension methods for adding skeleton loading effects to any widget. +/// +/// SkeletonExtension provides convenient methods to transform regular widgets +/// into skeleton loading states with proper animation and theming integration. +/// These methods work with the underlying Skeletonizer package while ensuring +/// consistency with the shadcn design system. +/// +/// The extension handles common use cases including content loading, image +/// placeholders, form field loading, and complex layout skeletonization. +/// Different skeleton modes (sliver, leaf, unite, replace) provide flexibility +/// for various UI patterns and performance requirements. +/// +/// Methods automatically detect certain widget types (Avatar, Image) and apply +/// appropriate skeleton handling to avoid common rendering issues. +extension SkeletonExtension on Widget { + /// Converts the widget to a skeleton suitable for sliver layouts. + /// + /// Creates a [Skeletonizer] wrapper that works within [CustomScrollView] + /// and other sliver-based layouts. The [ignoreContainers] parameter is + /// set to false for consistent skeleton appearance in scroll contexts. + /// + /// Parameters: + /// - [enabled] (bool, default: true): Whether skeleton effect is active + /// + /// Returns: + /// A [Skeletonizer] widget configured for sliver layout compatibility. + /// + /// Example: + /// ```dart + /// ListView.builder( + /// itemBuilder: (context, index) => ListTile( + /// title: Text('Item $index'), + /// ).asSkeletonSliver(enabled: isLoading), + /// ); + /// ``` + Widget asSkeletonSliver({bool enabled = true}) { + return Skeletonizer(enabled: enabled, ignoreContainers: false, child: this); + } + + /// Converts the widget to a skeleton with advanced configuration options. + /// + /// Provides comprehensive skeleton transformation with multiple modes and + /// automatic handling of problematic widget types. Supports [AsyncSnapshot] + /// integration for automatic skeleton state management based on data loading. + /// + /// Special handling: + /// - Avatar and Image widgets use [Skeleton.leaf] to avoid rendering issues + /// - [snapshot] parameter automatically enables/disables based on data state + /// - Various skeleton modes (leaf, unite, replace) for different use cases + /// + /// Parameters: + /// - [enabled] (bool, default: true): Whether skeleton effect is active + /// - [leaf] (bool, default: false): Use leaf mode for simple widgets + /// - [replacement] (Widget?, optional): Custom replacement widget in replace mode + /// - [unite] (bool, default: false): Use unite mode for complex layouts + /// - [snapshot] (AsyncSnapshot?, optional): Auto-enable based on data loading state + /// + /// Returns: + /// A skeleton-wrapped widget with appropriate configuration for the specified mode. + /// + /// Example: + /// ```dart + /// FutureBuilder( + /// future: loadData(), + /// builder: (context, snapshot) => Text(snapshot.data ?? 'Loading...').asSkeleton( + /// snapshot: snapshot, + /// ), + /// ); + /// ``` + Widget asSkeleton({ + bool enabled = true, + bool leaf = false, + Widget? replacement, + bool unite = false, + AsyncSnapshot? snapshot, + }) { + if (snapshot != null) { + enabled = !snapshot.hasData; + } + if (this is Avatar || this is Image) { + // https://github.com/Milad-Akarie/skeletonizer/issues/17 + return Skeleton.leaf(enabled: enabled, child: this); + } + if (unite) { + return Skeleton.unite(unite: enabled, child: this); + } + if (replacement != null) { + return Skeleton.replace(replace: enabled, child: replacement); + } + if (leaf) { + return Skeleton.leaf(enabled: enabled, child: this); + } + return Skeletonizer(enabled: enabled, child: this); + } + + /// Excludes the widget from skeleton effects in its parent skeleton context. + /// + /// Wraps the widget with [Skeleton.ignore] to prevent skeleton transformation + /// even when placed within a skeleton-enabled parent. Useful for preserving + /// interactive elements or dynamic content within skeleton layouts. + /// + /// Returns: + /// A [Skeleton.ignore] wrapper that prevents skeleton effects on this widget. + /// + /// Example: + /// ```dart + /// Column(children: [ + /// Text('Loading content...'), + /// Button( + /// onPressed: () {}, + /// child: Text('Cancel'), + /// ).ignoreSkeleton(), // Button remains interactive + /// ]).asSkeleton(); + /// ``` + Widget ignoreSkeleton() { + return Skeleton.ignore(child: this); + } + + /// Controls whether the widget should be preserved in skeleton mode. + /// + /// Wraps the widget with [Skeleton.keep] to conditionally preserve the + /// original widget appearance when skeleton effects are active. When [exclude] + /// is true, the widget maintains its normal appearance instead of being skeletonized. + /// + /// Parameters: + /// - [exclude] (bool, default: true): Whether to exclude from skeleton effects + /// + /// Returns: + /// A [Skeleton.keep] wrapper that conditionally preserves the widget's appearance. + /// + /// Example: + /// ```dart + /// Row(children: [ + /// Text('Data: $value'), + /// Icon(Icons.star).excludeSkeleton(exclude: isImportant), + /// ]).asSkeleton(); + /// ``` + Widget excludeSkeleton({bool exclude = true}) { + return Skeleton.keep(keep: exclude, child: this); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/display/spinner.dart b/third_party/shadcn_flutter/lib/src/components/display/spinner.dart new file mode 100644 index 00000000..2da3bb12 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/display/spinner.dart @@ -0,0 +1,88 @@ +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for spinner widgets. +class SpinnerTheme extends ComponentThemeData { + /// Color of the spinner elements. + final Color? color; + + /// Size of the spinner widget. + final double? size; + + /// Creates a [SpinnerTheme] with optional color and size. + const SpinnerTheme({this.color, this.size}); + + /// Creates a copy of this theme with selectively replaced properties. + SpinnerTheme copyWith({ + ValueGetter? color, + ValueGetter? size, + }) { + return SpinnerTheme( + color: color == null ? this.color : color(), + size: size == null ? this.size : size(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is SpinnerTheme && other.color == color && other.size == size; + } + + @override + int get hashCode => Object.hash(color, size); +} + +/// Base interface for spinner transformations. +/// +/// Implementations define how spinner elements are transformed during animation. +abstract class SpinnerTransform {} + +/// Base interface for spinner visual elements. +/// +/// Implementations define how to paint individual spinner components like +/// dots, lines, or arcs onto the canvas. +abstract class SpinnerElement { + /// Paints this spinner element onto the canvas. + /// + /// Parameters: + /// - [canvas]: The canvas to paint on + /// - [size]: The size of the spinner widget + /// - [transform]: The current transformation matrix for animation + void paint(Canvas canvas, Size size, Matrix4 transform); +} + +/// Abstract base class for all spinner widgets. +/// +/// [Spinner] provides common functionality for loading indicators including +/// color and size resolution from theme. Concrete implementations include +/// [CircularSpinner], [DotsSpinner], and others. +abstract class Spinner extends StatelessWidget { + /// Optional color override for the spinner. + /// + /// If `null`, uses theme's spinner color or default foreground color. + final Color? color; + + /// Optional size override for the spinner in logical pixels. + /// + /// If `null`, uses theme's spinner size or a default size. + final double? size; + + /// Creates a [Spinner] with optional color and size overrides. + const Spinner({super.key, this.color, this.size}); + + /// Resolve spinner color considering theme overrides. + Color? resolveColor(BuildContext context) { + final compTheme = ComponentTheme.maybeOf(context); + return styleValue( + widgetValue: color, themeValue: compTheme?.color, defaultValue: null); + } + + /// Resolve spinner size considering theme overrides and a default value. + double resolveSize(BuildContext context, double defaultValue) { + final compTheme = ComponentTheme.maybeOf(context); + return styleValue( + widgetValue: size, + themeValue: compTheme?.size, + defaultValue: defaultValue); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/autocomplete.dart b/third_party/shadcn_flutter/lib/src/components/form/autocomplete.dart new file mode 100644 index 00000000..a79b6443 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/autocomplete.dart @@ -0,0 +1,531 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Function signature for customizing how autocomplete suggestions are applied. +/// +/// Takes a [suggestion] string and returns the final text that should be +/// inserted into the text field. This allows for custom formatting or +/// modification of suggestions before they're applied. +typedef AutoCompleteCompleter = String Function(String suggestion); + +/// Theme configuration for [AutoComplete] widget styling and behavior. +/// +/// Defines the visual appearance and positioning of the autocomplete popover +/// that displays suggestions. All properties are optional and will fall back +/// to sensible defaults when not specified. +/// +/// This theme can be applied globally through [ComponentTheme] or passed +/// directly to individual [AutoComplete] widgets for per-instance customization. +class AutoCompleteTheme extends ComponentThemeData { + /// Constraints applied to the autocomplete popover container. + /// + /// Controls the maximum/minimum dimensions of the suggestion list popover. + /// Defaults to a maximum height of 300 logical pixels when null. + final BoxConstraints? popoverConstraints; + + /// Width constraint strategy for the autocomplete popover. + /// + /// Determines how the popover width relates to its anchor (the text field). + /// Options include matching anchor width, flexible sizing, or fixed dimensions. + final PopoverConstraint? popoverWidthConstraint; + + /// Alignment point on the anchor widget where the popover attaches. + /// + /// Specifies which edge/corner of the text field the popover should align to. + /// Defaults to bottom-start (bottom-left in LTR, bottom-right in RTL). + final AlignmentDirectional? popoverAnchorAlignment; + + /// Alignment point on the popover that aligns with the anchor point. + /// + /// Specifies which edge/corner of the popover aligns with the anchor alignment. + /// Defaults to top-start (top-left in LTR, top-right in RTL). + final AlignmentDirectional? popoverAlignment; + + /// Default mode for how suggestions are applied to text fields. + /// + /// Controls the text replacement strategy when a suggestion is selected. + /// Defaults to [AutoCompleteMode.replaceWord] when null. + final AutoCompleteMode? mode; + + /// Creates an [AutoCompleteTheme]. + /// + /// All parameters are optional and will use framework defaults when null. + const AutoCompleteTheme({ + this.popoverConstraints, + this.popoverWidthConstraint, + this.popoverAnchorAlignment, + this.popoverAlignment, + this.mode, + }); + + /// Creates a copy of this theme with specified properties overridden. + /// + /// Each parameter function is called only if provided, allowing selective + /// overrides while preserving existing values for unspecified properties. + AutoCompleteTheme copyWith({ + ValueGetter? popoverConstraints, + ValueGetter? popoverWidthConstraint, + ValueGetter? popoverAnchorAlignment, + ValueGetter? popoverAlignment, + ValueGetter? mode, + }) { + return AutoCompleteTheme( + popoverConstraints: popoverConstraints == null + ? this.popoverConstraints + : popoverConstraints(), + popoverWidthConstraint: popoverWidthConstraint == null + ? this.popoverWidthConstraint + : popoverWidthConstraint(), + popoverAnchorAlignment: popoverAnchorAlignment == null + ? this.popoverAnchorAlignment + : popoverAnchorAlignment(), + popoverAlignment: + popoverAlignment == null ? this.popoverAlignment : popoverAlignment(), + mode: mode == null ? this.mode : mode(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is AutoCompleteTheme && + other.popoverConstraints == popoverConstraints && + other.popoverWidthConstraint == popoverWidthConstraint && + other.popoverAnchorAlignment == popoverAnchorAlignment && + other.popoverAlignment == popoverAlignment && + other.mode == mode; + } + + @override + int get hashCode => Object.hash(popoverConstraints, popoverWidthConstraint, + popoverAnchorAlignment, popoverAlignment, mode); +} + +/// Intelligent autocomplete functionality with customizable suggestion handling. +/// +/// Provides real-time autocomplete suggestions in a popover overlay when used +/// with text input widgets. Supports multiple text replacement modes, keyboard +/// navigation, and theming customization. The widget wraps a child (typically +/// a text field) and displays filtered suggestions based on user input. +/// +/// ## Features +/// +/// - **Multiple completion modes**: append, replace word, or replace all text +/// - **Keyboard navigation**: arrow keys to navigate, tab/enter to accept +/// - **Customizable presentation**: popover positioning, sizing, and constraints +/// - **Smart suggestion filtering**: automatically manages suggestion visibility +/// - **Accessibility support**: proper focus management and keyboard shortcuts +/// +/// The autocomplete behavior is controlled by the [mode] property and can be +/// customized per-instance or globally through [AutoCompleteTheme]. +/// +/// Example: +/// ```dart +/// AutoComplete( +/// suggestions: ['apple', 'apricot', 'banana', 'cherry'], +/// mode: AutoCompleteMode.replaceWord, +/// child: TextField( +/// decoration: InputDecoration( +/// hintText: 'Type to search fruits...', +/// ), +/// ), +/// ) +/// ``` +class AutoComplete extends StatefulWidget { + /// List of suggestions to display in the autocomplete popover. + /// + /// When non-empty, triggers the popover to appear with selectable options. + /// The suggestions are filtered and managed externally - this widget only + /// handles the presentation and selection logic. + final List suggestions; + + /// The child widget that receives autocomplete functionality. + /// + /// Typically a [TextField] or similar text input widget. The autocomplete + /// popover will be positioned relative to this widget, and keyboard actions + /// will be applied to the focused text field within this child tree. + final Widget child; + + /// Constraints applied to the autocomplete popover container. + /// + /// Overrides the theme default. Controls maximum/minimum dimensions of the + /// suggestion list. When null, uses theme value or framework default. + final BoxConstraints? popoverConstraints; + + /// Width constraint strategy for the autocomplete popover. + /// + /// Overrides the theme default. Determines how popover width relates to + /// the anchor widget. When null, uses theme value or matches anchor width. + final PopoverConstraint? popoverWidthConstraint; + + /// Alignment point on the anchor widget for popover attachment. + /// + /// Overrides the theme default. Specifies which edge/corner of the child + /// widget the popover aligns to. When null, uses theme or bottom-start. + final AlignmentDirectional? popoverAnchorAlignment; + + /// Alignment point on the popover for anchor attachment. + /// + /// Overrides the theme default. Specifies which edge/corner of the popover + /// aligns with the anchor point. When null, uses theme or top-start. + final AlignmentDirectional? popoverAlignment; + + /// Text replacement strategy when a suggestion is selected. + /// + /// Overrides the theme default. Controls how selected suggestions modify + /// the text field content. When null, uses theme or [AutoCompleteMode.replaceWord]. + final AutoCompleteMode? mode; + + /// Function to customize suggestion text before application. + /// + /// Called when a suggestion is selected, allowing modification of the final + /// text inserted into the field. Useful for adding prefixes, suffixes, or + /// formatting. Defaults to returning the suggestion unchanged. + final AutoCompleteCompleter completer; + + /// Creates an [AutoComplete] widget. + /// + /// Wraps the provided [child] with autocomplete functionality using the + /// given [suggestions] list. The popover appearance and behavior can be + /// customized through the optional positioning and constraint parameters. + /// + /// Parameters: + /// - [suggestions] (`List`, required): available autocomplete options + /// - [child] (Widget, required): widget to receive autocomplete functionality + /// - [popoverConstraints] (BoxConstraints?, optional): popover size limits + /// - [popoverWidthConstraint] (PopoverConstraint?, optional): width strategy + /// - [popoverAnchorAlignment] (AlignmentDirectional?, optional): anchor point + /// - [popoverAlignment] (AlignmentDirectional?, optional): popover align point + /// - [mode] (AutoCompleteMode?, optional): text replacement strategy + /// - [completer] (AutoCompleteCompleter, default: identity): suggestion processor + /// + /// Example: + /// ```dart + /// AutoComplete( + /// suggestions: suggestions, + /// mode: AutoCompleteMode.append, + /// completer: (text) => '$text ', + /// child: TextField(), + /// ) + /// ``` + const AutoComplete({ + super.key, + required this.suggestions, + required this.child, + this.popoverConstraints, + this.popoverWidthConstraint, + this.popoverAnchorAlignment, + this.popoverAlignment, + this.mode, + this.completer = _defaultCompleter, + }); + + @override + State createState() => _AutoCompleteState(); + + /// Default completer that returns suggestions unchanged. + /// + /// Used as the fallback when no custom [completer] is provided to the + /// [AutoComplete] constructor. Simply returns the input suggestion as-is. + static String _defaultCompleter(String suggestion) { + return suggestion; + } +} + +class _AutoCompleteItem extends StatefulWidget { + final String suggestion; + final bool selected; + final VoidCallback onSelected; + + const _AutoCompleteItem({ + required this.suggestion, + required this.selected, + required this.onSelected, + }); + + @override + State<_AutoCompleteItem> createState() => _AutoCompleteItemState(); +} + +class _AutoCompleteItemState extends State<_AutoCompleteItem> { + @override + Widget build(BuildContext context) { + return SelectedButton( + value: widget.selected, + alignment: AlignmentDirectional.centerStart, + onChanged: (value) { + widget.onSelected(); + }, + child: Text(widget.suggestion), + ); + } + + @override + void didUpdateWidget(covariant _AutoCompleteItem oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.selected != widget.selected) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (!mounted) { + return; + } + if (widget.selected) { + Scrollable.ensureVisible(context); + } + }); + } + } +} + +/// An intent representing an autocomplete suggestion selection. +/// +/// Used by the autocomplete system to handle suggestion selections +/// with different modes of completion. +class AutoCompleteIntent extends Intent { + /// The suggestion text to be completed. + final String suggestion; + + /// The mode determining how the completion should be applied. + final AutoCompleteMode mode; + + /// Creates an autocomplete intent with the specified suggestion and mode. + const AutoCompleteIntent(this.suggestion, this.mode); +} + +class _AutoCompleteState extends State { + final ValueNotifier> _suggestions = ValueNotifier([]); + final ValueNotifier _selectedIndex = ValueNotifier(-1); + final PopoverController _popoverController = PopoverController(); + bool _isFocused = false; + + AutoCompleteMode get _mode { + final compTheme = ComponentTheme.maybeOf(context); + return styleValue( + widgetValue: widget.mode, + themeValue: compTheme?.mode, + defaultValue: AutoCompleteMode.replaceWord, + ); + } + + @override + void initState() { + super.initState(); + _suggestions.addListener(_onSuggestionsChanged); + if (widget.suggestions.isNotEmpty) { + WidgetsBinding.instance.addPostFrameCallback((_) { + if (!mounted) { + return; + } + _suggestions.value = widget.suggestions; + _selectedIndex.value = widget.suggestions.isEmpty ? -1 : 0; + }); + } + } + + void _onSuggestionsChanged() { + if ((_suggestions.value.isEmpty && _popoverController.hasOpenPopover) || + !_isFocused) { + _popoverController.close(); + } else if (!_popoverController.hasOpenPopover && + _suggestions.value.isNotEmpty) { + final compTheme = ComponentTheme.maybeOf(context); + _selectedIndex.value = -1; + _popoverController.show( + context: context, + handler: const PopoverOverlayHandler(), + builder: (context) { + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + final popoverConstraints = styleValue( + widgetValue: widget.popoverConstraints, + themeValue: compTheme?.popoverConstraints, + defaultValue: BoxConstraints( + maxHeight: 300 * theme.scaling, + ), + ); + return TextFieldTapRegion( + child: ConstrainedBox( + constraints: popoverConstraints, + child: SurfaceCard( + padding: EdgeInsets.all(densityGap * 0.5), + child: AnimatedBuilder( + animation: Listenable.merge([_suggestions, _selectedIndex]), + builder: (context, child) { + return ListView.builder( + shrinkWrap: true, + itemCount: _suggestions.value.length, + itemBuilder: (context, index) { + final suggestion = _suggestions.value[index]; + return _AutoCompleteItem( + suggestion: suggestion, + selected: index == _selectedIndex.value, + onSelected: () { + _selectedIndex.value = index; + _handleProceed(); + }, + ); + }); + }), + ), + ), + ); + }, + widthConstraint: styleValue( + widgetValue: widget.popoverWidthConstraint, + themeValue: compTheme?.popoverWidthConstraint, + defaultValue: PopoverConstraint.anchorFixedSize), + anchorAlignment: styleValue( + widgetValue: widget.popoverAnchorAlignment, + themeValue: compTheme?.popoverAnchorAlignment, + defaultValue: AlignmentDirectional.bottomStart), + alignment: styleValue( + widgetValue: widget.popoverAlignment, + themeValue: compTheme?.popoverAlignment, + defaultValue: AlignmentDirectional.topStart), + ); + } + } + + void _handleProceed() { + final selectedIndex = _selectedIndex.value; + if (selectedIndex < 0 || selectedIndex >= _suggestions.value.length) { + return; + } + _popoverController.close(); + var suggestion = _suggestions.value[selectedIndex]; + suggestion = widget.completer( + suggestion, + ); + invokeActionOnFocusedWidget( + AutoCompleteIntent(suggestion, _mode), + ); + } + + @override + void didUpdateWidget(covariant AutoComplete oldWidget) { + super.didUpdateWidget(oldWidget); + if (!listEquals(oldWidget.suggestions, widget.suggestions)) { + WidgetsBinding.instance.addPostFrameCallback((_) { + if (!mounted) { + return; + } + _suggestions.value = widget.suggestions; + _selectedIndex.value = widget.suggestions.isEmpty ? -1 : 0; + }); + } + } + + void _onFocusChanged(bool focused) { + _isFocused = focused; + if (!focused) { + _popoverController.close(); + } + } + + @override + Widget build(BuildContext context) { + return ListenableBuilder( + listenable: _selectedIndex, + builder: (context, child) { + return FocusableActionDetector( + onFocusChange: _onFocusChanged, + shortcuts: _popoverController.hasOpenPopover + ? { + LogicalKeySet(LogicalKeyboardKey.arrowDown): + const NavigateSuggestionIntent(1), + LogicalKeySet(LogicalKeyboardKey.arrowUp): + const NavigateSuggestionIntent(-1), + if (widget.suggestions.isNotEmpty && + _selectedIndex.value != -1) + LogicalKeySet(LogicalKeyboardKey.tab): + const AcceptSuggestionIntent(), + } + : null, + actions: _popoverController.hasOpenPopover + ? { + NavigateSuggestionIntent: + CallbackAction( + onInvoke: (intent) { + final direction = intent.direction; + final selectedIndex = _selectedIndex.value; + final suggestions = _suggestions.value; + if (suggestions.isEmpty) { + return; + } + final newSelectedIndex = + (selectedIndex + direction) % suggestions.length; + _selectedIndex.value = newSelectedIndex < 0 + ? suggestions.length - 1 + : newSelectedIndex; + return; + }, + ), + AcceptSuggestionIntent: + CallbackAction( + onInvoke: (intent) { + _handleProceed(); + return; + }, + ), + } + : null, + child: widget.child, + ); + }); + } +} + +/// Text replacement strategies for autocomplete suggestion application. +/// +/// Defines how selected autocomplete suggestions modify the existing text +/// field content. Each mode provides different behavior for integrating +/// suggestions with current text. +enum AutoCompleteMode { + /// Appends the suggestion to the current text field content. + /// + /// Adds the selected suggestion at the current cursor position without + /// removing any existing text. Useful for building compound inputs or + /// adding multiple values. + append, + + /// Replaces the current word with the selected suggestion. + /// + /// Identifies the word boundary around the cursor and replaces only that + /// word with the suggestion. This is the default mode and most common + /// autocomplete behavior for text completion. + replaceWord, + + /// Replaces all text field content with the selected suggestion. + /// + /// Clears the entire text field and sets it to the selected suggestion. + /// Useful for search fields or when suggestions represent complete values + /// rather than partial completions. + replaceAll, +} + +/// Intent for navigating through autocomplete suggestions via keyboard. +/// +/// Used internally by [AutoComplete] to handle arrow key navigation within +/// the suggestion list. The [direction] indicates movement direction where +/// positive values move down and negative values move up. +class NavigateSuggestionIntent extends Intent { + /// Direction of navigation through suggestions. + /// + /// Positive values move down in the list, negative values move up. + /// The magnitude is typically 1 for single-step navigation. + final int direction; + + /// Creates a navigation intent with the specified [direction]. + const NavigateSuggestionIntent(this.direction); +} + +/// Intent for accepting the currently selected autocomplete suggestion. +/// +/// Used internally by [AutoComplete] to handle suggestion acceptance via +/// keyboard shortcuts (typically Tab or Enter). Triggers the completion +/// logic to apply the selected suggestion to the text field. +class AcceptSuggestionIntent extends Intent { + /// Creates an accept suggestion intent. + const AcceptSuggestionIntent(); +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/checkbox.dart b/third_party/shadcn_flutter/lib/src/components/form/checkbox.dart new file mode 100644 index 00000000..6f205947 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/checkbox.dart @@ -0,0 +1,870 @@ +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for [Checkbox] widget styling and visual appearance. +/// +/// Defines the visual properties used by checkbox components including colors, +/// dimensions, spacing, and border styling. All properties are optional and +/// fall back to framework defaults when not specified. +/// +/// Can be applied globally through [ComponentTheme] or used to override +/// specific checkbox instances with custom styling. +class CheckboxTheme extends ComponentThemeData { + /// Color of the checkbox background when in unchecked state. + /// + /// Applied as the background color when the checkbox is unchecked. + /// When null, uses a semi-transparent version of the theme's input background color. + final Color? backgroundColor; + + /// Color of the checkbox background when in checked state. + /// + /// Applied as both background and border color when the checkbox is checked. + /// When null, uses the theme's primary color. + final Color? activeColor; + + /// Color of the checkbox border when in unchecked state. + /// + /// Only visible when the checkbox is unchecked or in indeterminate state. + /// When null, uses the theme's border color. + final Color? borderColor; + + /// Size of the checkbox square in logical pixels. + /// + /// Controls both width and height of the checkbox square. The checkmark + /// and indeterminate indicator are scaled proportionally. When null, + /// defaults to 16 logical pixels scaled by theme scaling factor. + final double? size; + + /// Spacing between the checkbox and its leading/trailing widgets. + /// + /// Applied on both sides of the checkbox square when leading or trailing + /// widgets are provided. When null, defaults to 8 logical pixels scaled + /// by theme scaling factor. + final double? gap; + + /// Border radius applied to the checkbox square corners. + /// + /// Creates rounded corners on the checkbox container. When null, uses + /// the theme's small border radius (typically 4 logical pixels). + final BorderRadiusGeometry? borderRadius; + + /// Creates a [CheckboxTheme]. + /// + /// All parameters are optional and will use framework defaults when null. + /// The theme can be applied to individual checkboxes or globally through + /// the component theme system. + const CheckboxTheme({ + this.backgroundColor, + this.activeColor, + this.borderColor, + this.size, + this.gap, + this.borderRadius, + }); + + /// Creates a copy of this theme with specified properties overridden. + /// + /// Each parameter function is called only if provided, allowing selective + /// overrides while preserving existing values for unspecified properties. + /// + /// Example: + /// ```dart + /// final newTheme = theme.copyWith( + /// activeColor: () => Colors.green, + /// size: () => 20.0, + /// ); + /// ``` + CheckboxTheme copyWith({ + ValueGetter? backgroundColor, + ValueGetter? activeColor, + ValueGetter? borderColor, + ValueGetter? size, + ValueGetter? gap, + ValueGetter? borderRadius, + }) { + return CheckboxTheme( + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + activeColor: activeColor == null ? this.activeColor : activeColor(), + borderColor: borderColor == null ? this.borderColor : borderColor(), + size: size == null ? this.size : size(), + gap: gap == null ? this.gap : gap(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is CheckboxTheme && + other.backgroundColor == backgroundColor && + other.activeColor == activeColor && + other.borderColor == borderColor && + other.size == size && + other.gap == gap && + other.borderRadius == borderRadius; + } + + @override + int get hashCode => Object.hash( + backgroundColor, + activeColor, + borderColor, + size, + gap, + borderRadius, + ); +} + +/// Reactive controller for managing checkbox state with convenient methods. +/// +/// Extends [ValueNotifier] to provide state management for checkbox widgets +/// with built-in methods for common state transitions. Supports all three +/// checkbox states: checked, unchecked, and indeterminate. +/// +/// The controller can be used with [ControlledCheckbox] for reactive state +/// management or manually to coordinate checkbox behavior across widgets. +/// +/// Example: +/// ```dart +/// final controller = CheckboxController(CheckboxState.unchecked); +/// +/// // React to changes +/// controller.addListener(() { +/// print('Checkbox is now: ${controller.value}'); +/// }); +/// +/// // Programmatic control +/// controller.toggle(); // unchecked -> checked +/// controller.indeterminate(); // -> indeterminate +/// ``` +class CheckboxController extends ValueNotifier + with ComponentController { + /// Creates a [CheckboxController] with the specified initial [value]. + /// + /// The controller will notify listeners whenever the checkbox state changes + /// through any of the provided methods or direct value assignment. + CheckboxController(super.value); + + /// Sets the checkbox state to checked. + /// + /// Notifies listeners of the state change. Equivalent to setting + /// `value = CheckboxState.checked`. + void check() { + value = CheckboxState.checked; + } + + /// Sets the checkbox state to unchecked. + /// + /// Notifies listeners of the state change. Equivalent to setting + /// `value = CheckboxState.unchecked`. + void uncheck() { + value = CheckboxState.unchecked; + } + + /// Sets the checkbox state to indeterminate. + /// + /// Notifies listeners of the state change. Used for tri-state checkboxes + /// to indicate a partially selected or mixed state. + void indeterminate() { + value = CheckboxState.indeterminate; + } + + /// Toggles between checked and unchecked states. + /// + /// If currently checked, becomes unchecked. If currently unchecked or + /// indeterminate, becomes checked. Does not cycle through indeterminate state. + void toggle() { + value = value == CheckboxState.checked + ? CheckboxState.unchecked + : CheckboxState.checked; + } + + /// Cycles through all three states in order: checked -> unchecked -> indeterminate. + /// + /// Provides complete tri-state cycling behavior. Use this instead of [toggle] + /// when working with tri-state checkboxes that need to support indeterminate state. + void toggleTristate() { + value = value == CheckboxState.checked + ? CheckboxState.unchecked + : value == CheckboxState.unchecked + ? CheckboxState.indeterminate + : CheckboxState.checked; + } + + /// Returns true if the checkbox is currently checked. + bool get isChecked => value == CheckboxState.checked; + + /// Returns true if the checkbox is currently unchecked. + bool get isUnchecked => value == CheckboxState.unchecked; + + /// Returns true if the checkbox is currently in indeterminate state. + bool get isIndeterminate => value == CheckboxState.indeterminate; +} + +/// Reactive checkbox with automatic state management and controller support. +/// +/// A higher-level checkbox widget that provides automatic state management +/// through the controlled component pattern. Can be used with an external +/// [CheckboxController] for programmatic control or with callback-based +/// state management. +/// +/// Supports all checkbox features including tri-state behavior, leading/trailing +/// widgets, and comprehensive theming. The widget automatically handles focus, +/// enabled states, and form integration. +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state management):** +/// ```dart +/// final controller = CheckboxController(CheckboxState.unchecked); +/// +/// ControlledCheckbox( +/// controller: controller, +/// tristate: true, +/// leading: Text('Accept terms'), +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// bool checked = false; +/// +/// ControlledCheckbox( +/// initialValue: checked ? CheckboxState.checked : CheckboxState.unchecked, +/// onChanged: (state) => setState(() { +/// checked = state == CheckboxState.checked; +/// }), +/// trailing: Text('Newsletter subscription'), +/// ) +/// ``` +class ControlledCheckbox extends StatelessWidget + with ControlledComponent { + /// External controller for programmatic state management. + /// + /// When provided, takes precedence over [initialValue] and [onChanged]. + /// The controller's state changes are automatically reflected in the widget. + @override + final CheckboxController? controller; + + /// Initial checkbox state when no controller is provided. + /// + /// Used only when [controller] is null. Defaults to [CheckboxState.unchecked]. + @override + final CheckboxState initialValue; + + /// Callback fired when the checkbox state changes. + /// + /// Called with the new [CheckboxState] when user interaction occurs. + /// If both [controller] and [onChanged] are provided, both will receive updates. + @override + final ValueChanged? onChanged; + + /// Whether the checkbox is interactive. + /// + /// When false, the checkbox becomes read-only and visually disabled. + /// When null, automatically determines enabled state based on [onChanged] or [controller]. + @override + final bool enabled; + + /// Optional widget displayed before the checkbox square. + /// + /// Commonly used for labels or icons. Automatically styled with small and + /// medium text styles for consistency. + final Widget? leading; + + /// Optional widget displayed after the checkbox square. + /// + /// Commonly used for labels, descriptions, or additional controls. + /// Automatically styled with small and medium text styles for consistency. + final Widget? trailing; + + /// Whether the checkbox supports three states including indeterminate. + /// + /// When true, clicking cycles through: checked -> unchecked -> indeterminate -> checked. + /// When false, only toggles between checked and unchecked. Defaults to false. + final bool tristate; + + /// Override size of the checkbox square in logical pixels. + /// + /// When null, uses the theme size or framework default (16px scaled). + final double? size; + + /// Override spacing between checkbox and leading/trailing widgets. + /// + /// When null, uses the theme gap or framework default (8px scaled). + final double? gap; + + /// Override color of the checkbox background when in unchecked state. + /// + /// When null, uses a semi-transparent version of the theme's input background color. + final Color? backgroundColor; + + /// Override color of the checkbox when checked. + /// + /// When null, uses the theme active color or primary color. + final Color? activeColor; + + /// Override color of the checkbox border when unchecked. + /// + /// When null, uses the theme border color or framework border color. + final Color? borderColor; + + /// Override border radius of the checkbox square. + /// + /// When null, uses the theme border radius or small radius (4px). + final BorderRadiusGeometry? borderRadius; + + /// Creates a [ControlledCheckbox]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns depending on application architecture needs. + /// + /// Parameters: + /// - [controller] (CheckboxController?, optional): external state controller + /// - [initialValue] (CheckboxState, default: unchecked): starting state when no controller + /// - [onChanged] (`ValueChanged?`, optional): state change callback + /// - [enabled] (bool, default: true): whether checkbox is interactive + /// - [leading] (Widget?, optional): widget displayed before checkbox + /// - [trailing] (Widget?, optional): widget displayed after checkbox + /// - [tristate] (bool, default: false): whether to support indeterminate state + /// - [size] (double?, optional): override checkbox square size + /// - [gap] (double?, optional): override spacing around checkbox + /// - [backgroundColor] (Color?, optional): override unchecked state color + /// - [activeColor] (Color?, optional): override checked state color + /// - [borderColor] (Color?, optional): override border color + /// - [borderRadius] (BorderRadiusGeometry?, optional): override corner radius + /// + /// Example: + /// ```dart + /// ControlledCheckbox( + /// controller: controller, + /// tristate: true, + /// leading: Icon(Icons.star), + /// trailing: Text('Favorite'), + /// ) + /// ``` + const ControlledCheckbox({ + super.key, + this.controller, + this.initialValue = CheckboxState.unchecked, + this.onChanged, + this.enabled = true, + this.leading, + this.trailing, + this.tristate = false, + this.size, + this.gap, + this.backgroundColor, + this.activeColor, + this.borderColor, + this.borderRadius, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + controller: controller, + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + builder: (context, data) { + return Checkbox( + state: data.value, + onChanged: data.onChanged, + leading: leading, + trailing: trailing, + enabled: data.enabled, + tristate: tristate, + size: size, + gap: gap, + backgroundColor: backgroundColor, + activeColor: activeColor, + borderColor: borderColor, + borderRadius: borderRadius, + ); + }, + ); + } +} + +/// Represents the possible states of a checkbox widget. +/// +/// Supports the standard checked/unchecked binary states as well as an +/// indeterminate state commonly used to represent partial selection in +/// hierarchical or grouped checkbox scenarios. +/// +/// The enum implements [Comparable] to provide consistent ordering: +/// checked < unchecked < indeterminate (based on declaration order). +enum CheckboxState implements Comparable { + /// The checkbox is selected/checked state. + /// + /// Visually represented with a checkmark icon inside the checkbox square. + /// Indicates the associated option or value is selected/enabled. + checked, + + /// The checkbox is unselected/unchecked state. + /// + /// Visually represented as an empty checkbox square with border. + /// Indicates the associated option or value is not selected/disabled. + unchecked, + + /// The checkbox is in a partially selected/indeterminate state. + /// + /// Visually represented with a small square inside the checkbox. + /// Typically used in hierarchical structures to indicate some but not + /// all child items are selected, or when the state is unknown/mixed. + indeterminate; + + /// Compares checkbox states based on their declaration order. + /// + /// Returns negative if this state comes before [other], zero if equal, + /// positive if this state comes after [other] in the enum declaration. + @override + int compareTo(CheckboxState other) { + return index.compareTo(other.index); + } +} + +/// Core checkbox widget with comprehensive theming and interaction support. +/// +/// A low-level checkbox implementation that provides direct state control +/// and extensive customization options. Supports all three checkbox states, +/// smooth animations, accessibility features, and form integration. +/// +/// ## Features +/// +/// - **Tri-state support**: checked, unchecked, and indeterminate states +/// - **Smooth animations**: animated checkmark drawing and state transitions +/// - **Comprehensive theming**: colors, sizing, spacing, and border customization +/// - **Accessibility**: proper semantics, focus management, and keyboard support +/// - **Form integration**: automatic form field registration and validation support +/// - **Layout flexibility**: leading/trailing widgets with automatic styling +/// +/// For most use cases, consider [ControlledCheckbox] which provides higher-level +/// state management. Use this widget directly when you need fine-grained control +/// over the checkbox behavior and lifecycle. +/// +/// Example: +/// ```dart +/// Checkbox( +/// state: CheckboxState.checked, +/// onChanged: (newState) { +/// setState(() => currentState = newState); +/// }, +/// tristate: true, +/// leading: Icon(Icons.security), +/// trailing: Text('Enable security features'), +/// ) +/// ``` +class Checkbox extends StatefulWidget { + /// Current state of the checkbox. + /// + /// Must be one of [CheckboxState.checked], [CheckboxState.unchecked], or + /// [CheckboxState.indeterminate]. The widget rebuilds when this changes + /// to reflect the new visual state with appropriate animations. + final CheckboxState state; + + /// Callback fired when the user interacts with the checkbox. + /// + /// Called with the new [CheckboxState] that should be applied. When null, + /// the checkbox becomes non-interactive and visually disabled. + /// + /// The callback is responsible for updating the parent widget's state + /// to reflect the change - this widget does not manage its own state. + final ValueChanged? onChanged; + + /// Optional widget displayed before the checkbox square. + /// + /// Commonly used for icons or primary labels. The widget is automatically + /// styled with small and medium text styles for visual consistency. + /// Spacing between leading widget and checkbox is controlled by [gap]. + final Widget? leading; + + /// Optional widget displayed after the checkbox square. + /// + /// Commonly used for labels, descriptions, or secondary information. + /// The widget is automatically styled with small and medium text styles + /// for visual consistency. Spacing is controlled by [gap]. + final Widget? trailing; + + /// Whether the checkbox supports indeterminate state cycling. + /// + /// When true, user interaction cycles through: checked -> unchecked -> indeterminate. + /// When false, only toggles between checked and unchecked states. + /// The indeterminate state can still be set programmatically regardless of this setting. + final bool tristate; + + /// Whether the checkbox is interactive and enabled. + /// + /// When false, the checkbox becomes visually disabled and non-interactive. + /// When null, the enabled state is automatically determined from the presence + /// of an [onChanged] callback. + final bool? enabled; + + /// Size of the checkbox square in logical pixels. + /// + /// Overrides the theme default. When null, uses [CheckboxTheme.size] or + /// framework default (16 logical pixels scaled by theme scaling factor). + final double? size; + + /// Spacing between the checkbox and its leading/trailing widgets. + /// + /// Overrides the theme default. Applied on both sides when leading or trailing + /// widgets are present. When null, uses [CheckboxTheme.gap] or framework default. + final double? gap; + + /// Color of the checkbox background when in unchecked state. + /// + /// Overrides the theme default. Applied as the background color when unchecked. + /// When null, uses a semi-transparent version of the theme's input background color. + final Color? backgroundColor; + + /// Color used for the checkbox when in checked state. + /// + /// Overrides the theme default. Applied as both background and border color + /// when checked. When null, uses [CheckboxTheme.activeColor] or theme primary color. + final Color? activeColor; + + /// Color used for the checkbox border when unchecked or indeterminate. + /// + /// Overrides the theme default. Only visible in unchecked state as checked + /// state uses [activeColor]. When null, uses [CheckboxTheme.borderColor] or theme border color. + final Color? borderColor; + + /// Border radius applied to the checkbox square. + /// + /// Overrides the theme default. Creates rounded corners on the checkbox container. + /// When null, uses [CheckboxTheme.borderRadius] or theme small radius. + final BorderRadiusGeometry? borderRadius; + + /// Creates a [Checkbox] widget. + /// + /// The [state] and [onChanged] parameters work together to provide controlled + /// component behavior - the widget displays the provided state and notifies + /// of user interactions through the callback. + /// + /// Parameters: + /// - [state] (CheckboxState, required): current checkbox state to display + /// - [onChanged] (`ValueChanged?`, required): interaction callback + /// - [leading] (Widget?, optional): widget displayed before checkbox + /// - [trailing] (Widget?, optional): widget displayed after checkbox + /// - [tristate] (bool, default: false): enable indeterminate state cycling + /// - [enabled] (bool?, optional): override interactivity (null = auto-detect) + /// - [size] (double?, optional): override checkbox square size + /// - [gap] (double?, optional): override spacing around checkbox + /// - [backgroundColor] (Color?, optional): override unchecked state color + /// - [activeColor] (Color?, optional): override checked state color + /// - [borderColor] (Color?, optional): override border color + /// - [borderRadius] (BorderRadiusGeometry?, optional): override corner radius + /// + /// Example: + /// ```dart + /// Checkbox( + /// state: isAccepted ? CheckboxState.checked : CheckboxState.unchecked, + /// onChanged: (state) => setState(() { + /// isAccepted = state == CheckboxState.checked; + /// }), + /// trailing: Text('I accept the terms and conditions'), + /// ) + /// ``` + const Checkbox({ + super.key, + required this.state, + required this.onChanged, + this.leading, + this.trailing, + this.tristate = false, + this.enabled, + this.size, + this.gap, + this.backgroundColor, + this.activeColor, + this.borderColor, + this.borderRadius, + }); + + @override + State createState() => _CheckboxState(); +} + +class _CheckboxState extends State + with FormValueSupplier { + final bool _focusing = false; + bool _shouldAnimate = false; + + @override + void initState() { + super.initState(); + formValue = widget.state; + } + + void _changeTo(CheckboxState state) { + if (widget.onChanged != null) { + widget.onChanged!(state); + } + } + + void _tap() { + if (widget.tristate) { + switch (widget.state) { + case CheckboxState.checked: + _changeTo(CheckboxState.unchecked); + break; + case CheckboxState.unchecked: + _changeTo(CheckboxState.indeterminate); + break; + case CheckboxState.indeterminate: + _changeTo(CheckboxState.checked); + break; + } + } else { + _changeTo( + widget.state == CheckboxState.checked + ? CheckboxState.unchecked + : CheckboxState.checked, + ); + } + } + + @override + void didReplaceFormValue(CheckboxState value) { + _changeTo(value); + } + + @override + void didUpdateWidget(covariant Checkbox oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.state != oldWidget.state) { + formValue = widget.state; + _shouldAnimate = true; + } + } + + bool get enabled => widget.enabled ?? widget.onChanged != null; + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + final size = styleValue( + widgetValue: widget.size, + themeValue: compTheme?.size, + defaultValue: 16 * scaling); + final gap = styleValue( + widgetValue: widget.gap, + themeValue: compTheme?.gap, + defaultValue: 8 * scaling); + final backgroundColor = styleValue( + widgetValue: widget.backgroundColor, + themeValue: compTheme?.backgroundColor, + defaultValue: theme.colorScheme.input.scaleAlpha(0.3)); + final activeColor = styleValue( + widgetValue: widget.activeColor, + themeValue: compTheme?.activeColor, + defaultValue: theme.colorScheme.primary); + final borderColor = styleValue( + widgetValue: widget.borderColor, + themeValue: compTheme?.borderColor, + defaultValue: theme.colorScheme.border); + final borderRadius = styleValue( + widgetValue: widget.borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: BorderRadius.circular(theme.radiusSm)); + return Clickable( + enabled: widget.onChanged != null, + mouseCursor: enabled + ? const WidgetStatePropertyAll(SystemMouseCursors.click) + : const WidgetStatePropertyAll(SystemMouseCursors.forbidden), + onPressed: enabled ? _tap : null, + enableFeedback: enabled, + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + if (widget.leading != null) widget.leading!.small().medium(), + if (widget.leading != null) Gap(gap), + AnimatedContainer( + duration: kDefaultDuration, + width: size, + height: size, + decoration: BoxDecoration( + color: widget.state == CheckboxState.checked + ? activeColor + : backgroundColor, + borderRadius: + optionallyResolveBorderRadius(context, borderRadius) ?? + BorderRadius.circular(theme.radiusSm), + border: Border.all( + color: !enabled + ? theme.colorScheme.muted + : widget.state == CheckboxState.checked + ? activeColor + : borderColor, + width: (_focusing ? 2 : 1) * scaling, + ), + ), + child: widget.state == CheckboxState.checked + ? Center( + child: AnimatedContainer( + duration: const Duration(milliseconds: 100), + child: SizedBox( + width: scaling * 9, + height: scaling * 6.5, + child: AnimatedValueBuilder( + value: 1.0, + initialValue: _shouldAnimate ? 0.0 : null, + duration: const Duration(milliseconds: 300), + curve: const IntervalDuration( + start: Duration(milliseconds: 175), + duration: Duration(milliseconds: 300), + ), + builder: (context, value, child) { + return CustomPaint( + painter: AnimatedCheckPainter( + progress: value, + color: theme.colorScheme.primaryForeground, + strokeWidth: scaling * 1, + ), + ); + }, + ), + ), + ), + ) + : Center( + child: AnimatedContainer( + duration: const Duration(milliseconds: 100), + width: widget.state == CheckboxState.indeterminate + ? scaling * 8 + : 0, + height: widget.state == CheckboxState.indeterminate + ? scaling * 8 + : 0, + padding: EdgeInsets.zero, + decoration: BoxDecoration( + color: activeColor, + borderRadius: BorderRadius.circular(theme.radiusXs), + ), + ), + ), + ), + if (widget.trailing != null) Gap(gap), + if (widget.trailing != null) widget.trailing!.small().medium(), + ], + ), + ); + } +} + +/// Custom painter for drawing animated checkmarks in checkboxes. +/// +/// Renders a smooth checkmark animation that draws progressively from left to right +/// in two stroke segments. The animation provides visual feedback when transitioning +/// to the checked state, creating a satisfying user experience. +/// +/// The checkmark is drawn as two connected line segments: a shorter diagonal line +/// from bottom-left toward center, and a longer diagonal line from center to top-right. +/// The [progress] parameter controls how much of the checkmark is visible. +/// +/// Used internally by [Checkbox] - not typically instantiated directly by consumers. +class AnimatedCheckPainter extends CustomPainter { + /// Animation progress from 0.0 to 1.0 controlling checkmark visibility. + /// + /// At 0.0, no checkmark is visible. At 1.0, the complete checkmark is drawn. + /// Values between 0.0 and 1.0 show partial drawing progress with smooth transitions. + final double progress; + + /// Color used to draw the checkmark strokes. + /// + /// Typically the primary foreground color to provide contrast against + /// the checkbox's active background color. + final Color color; + + /// Width of the checkmark stroke lines in logical pixels. + /// + /// Controls the thickness of the drawn checkmark. Usually scaled with + /// the theme's scaling factor for consistent appearance across screen densities. + final double strokeWidth; + + /// Creates an [AnimatedCheckPainter]. + /// + /// All parameters are required as they directly control the checkmark appearance + /// and animation state. The painter should be recreated when any parameter changes. + /// + /// Parameters: + /// - [progress] (double, required): animation progress 0.0-1.0 + /// - [color] (Color, required): checkmark stroke color + /// - [strokeWidth] (double, required): stroke thickness in logical pixels + /// + /// Example usage within CustomPaint: + /// ```dart + /// CustomPaint( + /// painter: AnimatedCheckPainter( + /// progress: animationValue, + /// color: theme.primaryForeground, + /// strokeWidth: 2.0, + /// ), + /// ) + /// ``` + AnimatedCheckPainter({ + required this.progress, + required this.color, + required this.strokeWidth, + }); + + @override + void paint(Canvas canvas, Size size) { + final paint = Paint() + ..color = color + ..strokeWidth = strokeWidth + ..style = PaintingStyle.stroke + ..strokeCap = StrokeCap.round; + final path = Path(); + Offset firstStrokeStart = Offset(0, size.height * 0.5); + Offset firstStrokeEnd = Offset(size.width * 0.35, size.height); + Offset secondStrokeStart = firstStrokeEnd; + Offset secondStrokeEnd = Offset(size.width, 0); + double firstStrokeLength = + (firstStrokeEnd - firstStrokeStart).distanceSquared; + double secondStrokeLength = + (secondStrokeEnd - secondStrokeStart).distanceSquared; + double totalLength = firstStrokeLength + secondStrokeLength; + + double normalizedFirstStrokeLength = firstStrokeLength / totalLength; + double normalizedSecondStrokeLength = secondStrokeLength / totalLength; + + double firstStrokeProgress = + progress.clamp(0.0, normalizedFirstStrokeLength) / + normalizedFirstStrokeLength; + double secondStrokeProgress = (progress - normalizedFirstStrokeLength) + .clamp(0.0, normalizedSecondStrokeLength) / + normalizedSecondStrokeLength; + if (firstStrokeProgress <= 0) { + return; + } + Offset currentPoint = + Offset.lerp(firstStrokeStart, firstStrokeEnd, firstStrokeProgress)!; + path.moveTo(firstStrokeStart.dx, firstStrokeStart.dy); + path.lineTo(currentPoint.dx, currentPoint.dy); + if (secondStrokeProgress <= 0) { + canvas.drawPath(path, paint); + return; + } + Offset secondPoint = Offset.lerp( + secondStrokeStart, + secondStrokeEnd, + secondStrokeProgress, + )!; + path.lineTo(secondPoint.dx, secondPoint.dy); + canvas.drawPath(path, paint); + } + + @override + bool shouldRepaint(covariant AnimatedCheckPainter oldDelegate) { + return oldDelegate.progress != progress || + oldDelegate.color != color || + oldDelegate.strokeWidth != strokeWidth; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/chip_input.dart b/third_party/shadcn_flutter/lib/src/components/form/chip_input.dart new file mode 100644 index 00000000..9e4e5334 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/chip_input.dart @@ -0,0 +1,754 @@ +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Function signature for building custom chip widgets in chip input fields. +/// +/// Takes a [BuildContext] and chip data of type [T], returning a widget that +/// represents the chip visually. Allows complete customization of chip appearance +/// and behavior within chip input components. +typedef ChipWidgetBuilder = Widget Function(BuildContext context, T chip); + +/// Theme configuration for [ChipInput] widget styling and behavior. +/// +/// Defines visual properties and default behaviors for chip input components +/// including popover constraints and chip rendering preferences. Applied globally +/// through [ComponentTheme] or per-instance for customization. +class ChipInputTheme extends ComponentThemeData { + /// Whether to render selected items as interactive chip widgets by default. + /// + /// When true, selected items appear as dismissible chip widgets with close buttons. + /// When false, items appear as simple text tokens. Individual [ChipInput] widgets + /// can override this default behavior. + final bool? useChips; + + /// The spacing between chips. + final double? spacing; + + /// Creates a [ChipInputTheme]. + /// + /// All parameters are optional and fall back to framework defaults when null. + /// The theme can be applied globally or to specific chip input instances. + const ChipInputTheme({ + this.spacing, + this.useChips, + }); + + /// Creates a copy of this theme with specified properties overridden. + /// + /// Each parameter function is called only if provided, allowing selective + /// overrides while preserving existing values for unspecified properties. + ChipInputTheme copyWith({ + ValueGetter? popoverConstraints, + ValueGetter? useChips, + ValueGetter? spacing, + }) { + return ChipInputTheme( + useChips: useChips == null ? this.useChips : useChips(), + spacing: spacing == null ? this.spacing : spacing(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ChipInputTheme && + other.useChips == useChips && + other.spacing == spacing; + } + + @override + int get hashCode => Object.hash(useChips, spacing); +} + +/// A text editing controller that supports inline chip widgets. +/// +/// Extends [TextEditingController] to manage text with embedded chip objects +/// represented by special Unicode codepoints from the Private Use Area (U+E000-U+F8FF). +/// Each chip is mapped to a unique codepoint allowing up to 6400 chips per controller. +/// +/// Use this when you need to display removable tags or tokens within a text field, +/// such as email recipients, keywords, or selected items. +/// +/// Example: +/// ```dart +/// final controller = ChipEditingController( +/// initialChips: ['tag1', 'tag2'], +/// ); +/// ``` +class ChipEditingController extends TextEditingController { + static const int _chipStart = 0xE000; // Private Use Area start + static const int _chipEnd = 0xF8FF; // Private Use Area end + static const int _maxChips = _chipEnd - _chipStart + 1; + // these codepoints are reserved for chips, so that they don't conflict with normal text + // there are 6400 codepoints available for chips + + // final List _chips = []; + final Map _chipMap = {}; + + int _nextChipIndex = 0; + + int get _nextAvailableChipIndex { + if (_chipMap.length >= _maxChips) { + throw Exception('Maximum number of chips reached'); + } + while (_chipMap.containsKey(_nextChipIndex)) { + int nextIndex = _nextChipIndex + 1; + if (nextIndex >= _maxChips) { + nextIndex = 0; + } + _nextChipIndex = nextIndex; + } + return _nextChipIndex; + } + + /// Factory constructor creating a chip editing controller. + /// + /// Optionally initializes with [text] and [initialChips]. + factory ChipEditingController({String? text, List? initialChips}) { + StringBuffer buffer = StringBuffer(); + if (initialChips != null) { + for (int i = 0; i < initialChips.length; i++) { + buffer.writeCharCode(_chipStart + i); + } + } + if (text != null) { + buffer.write(text); + } + return ChipEditingController._internal(buffer.toString()); + } + + ChipEditingController._internal(String text) : super(text: text); + + @override + set text(String newText) { + super.text = newText; + _updateText(newText); + } + + @override + set value(TextEditingValue newValue) { + super.value = newValue; + _updateText(newValue.text); + } + + void _updateText(String newText) { + for (final entry in _chipMap.entries.toList()) { + int chipIndex = entry.key; + int chipCodeUnit = _chipStart + chipIndex; + if (!newText.contains(String.fromCharCode(chipCodeUnit))) { + _chipMap.remove(chipIndex); + } + } + } + + /// Returns an unmodifiable list of all chips in the controller. + List get chips => List.unmodifiable(_chipMap.values); + + /// Sets the chips in this controller, replacing all existing chips. + set chips(List newChips) { + String text = value.text; + // remove chips that are not in newChips + // add chips that are in newChips but not present, appending them at the last chip position + StringBuffer buffer = StringBuffer(); + int chipCount = 0; + for (int i = 0; i < text.length; i++) { + int codeUnit = text.codeUnitAt(i); + if (codeUnit >= _chipStart && codeUnit <= _chipEnd) { + T? existingChip = _chipMap[codeUnit - _chipStart]; + if (existingChip != null && newChips.contains(existingChip)) { + buffer.writeCharCode(codeUnit); + chipCount++; + } + } else { + buffer.writeCharCode(codeUnit); + } + } + for (int i = chipCount; i < newChips.length; i++) { + T chip = newChips[i]; + int chipIndex = _nextAvailableChipIndex; + buffer.writeCharCode(_chipStart + chipIndex); + _chipMap[chipIndex] = chip; + } + super.value = value.copyWith( + text: buffer.toString(), + selection: TextSelection.collapsed(offset: buffer.length), + ); + } + + /// Removes all chips from the controller, leaving only plain text. + void removeAllChips() { + StringBuffer buffer = StringBuffer(); + String text = value.text; + for (int i = 0; i < text.length; i++) { + int codeUnit = text.codeUnitAt(i); + if (codeUnit < _chipStart || codeUnit > _chipEnd) { + buffer.writeCharCode(codeUnit); + } + } + super.value = value.copyWith( + text: buffer.toString(), + selection: TextSelection.collapsed(offset: buffer.length), + ); + _chipMap.clear(); + } + + @override + TextSpan buildTextSpan( + {required BuildContext context, + TextStyle? style, + required bool withComposing}) { + final provider = Data.maybeOf<_ChipProvider>(context); + final theme = ComponentTheme.maybeOf(context); + final spacing = theme?.spacing ?? 4.0; + if (provider != null) { + final bool composingRegionOutOfRange = + !value.isComposingRangeValid || !withComposing; + + if (composingRegionOutOfRange) { + List children = []; + String text = value.text; + StringBuffer buffer = StringBuffer(); + for (int i = 0; i < text.length; i++) { + int codeUnit = text.codeUnitAt(i); + if (codeUnit >= _chipStart && codeUnit <= _chipEnd) { + // Flush buffer + if (buffer.isNotEmpty) { + children.add(TextSpan(style: style, text: buffer.toString())); + buffer.clear(); + } + T? chip = _chipMap[codeUnit - _chipStart]; + Widget? chipWidget = + chip == null ? null : provider.buildChip(context, chip); + if (chipWidget != null) { + bool previousIsChip = i > 0 && + text.codeUnitAt(i - 1) >= _chipStart && + text.codeUnitAt(i - 1) <= _chipEnd; + bool nextIsChip = i < text.length - 1 && + text.codeUnitAt(i + 1) >= _chipStart && + text.codeUnitAt(i + 1) <= _chipEnd; + children.add(WidgetSpan( + alignment: PlaceholderAlignment.middle, + child: Padding( + padding: EdgeInsets.only( + left: previousIsChip + ? spacing / 2 + : i == 0 + ? 0 + : spacing, + right: nextIsChip ? spacing / 2 : spacing, + ), + child: chipWidget, + ), + )); + } + } else { + buffer.writeCharCode(codeUnit); + } + } + // Flush remaining buffer + if (buffer.isNotEmpty) { + children.add(TextSpan(style: style, text: buffer.toString())); + } + return TextSpan(style: style, children: children); + } + + final TextStyle composingStyle = + style?.merge(const TextStyle(decoration: TextDecoration.underline)) ?? + const TextStyle(decoration: TextDecoration.underline); + List children = []; + String text = value.text; + StringBuffer buffer = StringBuffer(); + for (int i = 0; i < text.length; i++) { + int codeUnit = text.codeUnitAt(i); + if (codeUnit >= _chipStart && codeUnit <= _chipEnd) { + // Flush buffer + if (buffer.isNotEmpty) { + children.add(TextSpan(style: style, text: buffer.toString())); + buffer.clear(); + } + T? chip = _chipMap[codeUnit - _chipStart]; + Widget? chipWidget = + chip == null ? null : provider.buildChip(context, chip); + if (chipWidget != null) { + bool previousIsChip = i > 0 && + text.codeUnitAt(i - 1) >= _chipStart && + text.codeUnitAt(i - 1) <= _chipEnd; + bool nextIsChip = i < text.length - 1 && + text.codeUnitAt(i + 1) >= _chipStart && + text.codeUnitAt(i + 1) <= _chipEnd; + children.add(WidgetSpan( + alignment: PlaceholderAlignment.middle, + child: Padding( + padding: EdgeInsets.only( + left: previousIsChip + ? spacing / 2 + : i == 0 + ? 0 + : spacing, + right: nextIsChip ? spacing / 2 : spacing, + ), + child: chipWidget, + ), + )); + } + } else { + // Check if current index is within composing range + if (i >= value.composing.start && i < value.composing.end) { + // Flush buffer + if (buffer.isNotEmpty) { + children.add(TextSpan(style: style, text: buffer.toString())); + buffer.clear(); + } + children.add(TextSpan( + style: composingStyle, text: String.fromCharCode(codeUnit))); + } else { + buffer.writeCharCode(codeUnit); + } + } + } + // Flush remaining buffer + if (buffer.isNotEmpty) { + children.add(TextSpan(style: style, text: buffer.toString())); + } + return TextSpan(style: style, children: children); + } + return super.buildTextSpan( + context: context, style: style, withComposing: withComposing); + } + + /// Returns the plain text without chip characters. + String get plainText { + StringBuffer buffer = StringBuffer(); + String text = value.text; + for (int i = 0; i < text.length; i++) { + int codeUnit = text.codeUnitAt(i); + if (codeUnit < _chipStart || codeUnit > _chipEnd) { + buffer.writeCharCode(codeUnit); + } + } + return buffer.toString(); + } + + /// Returns the text at the current cursor position. + String get textAtCursor { + final boundaries = _findChipTextBoundaries(selection.baseOffset); + return value.text.substring(boundaries.start, boundaries.end); + } + + /// Inserts a chip at the cursor position by converting the text at cursor. + /// + /// Uses [chipConverter] to convert the text at cursor to a chip. + void insertChipAtCursor(T? Function(String chipText) chipConverter) { + final boundaries = _findChipTextBoundaries(selection.baseOffset); + String chipText = value.text.substring(boundaries.start, boundaries.end); + T? chip = chipConverter(chipText); + if (chip != null) { + int chipIndex = _nextAvailableChipIndex; + _replaceAsChip(boundaries.start, boundaries.end, chipIndex); + _chipMap[chipIndex] = chip; + } + } + + /// Clears the text at the current cursor position. + void clearTextAtCursor() { + final boundaries = _findChipTextBoundaries(selection.baseOffset); + String text = value.text; + StringBuffer buffer = StringBuffer(); + buffer.write(text.substring(0, boundaries.start)); + buffer.write(text.substring(boundaries.end)); + super.value = value.copyWith( + text: buffer.toString(), + selection: TextSelection.collapsed(offset: boundaries.start), + ); + } + + /// Appends a chip at the end of the chip sequence. + void appendChip(T chip) { + // append chip at the last chip position + // note: chip position is not always in order + // sometimes theres chip and then text and then chip + // so we need to find the last chip position + String text = value.text; + int chipIndex = _nextAvailableChipIndex; + int lastChipIndex = -1; + for (int i = text.length - 1; i >= 0; i--) { + int codeUnit = text.codeUnitAt(i); + if (codeUnit >= _chipStart && codeUnit <= _chipEnd) { + lastChipIndex = i; + break; + } + } + String newText = text.replaceRange(lastChipIndex + 1, lastChipIndex + 1, + String.fromCharCode(_chipStart + chipIndex)); + super.value = value.copyWith( + text: newText, + selection: TextSelection.collapsed(offset: lastChipIndex + 2), + ); + _chipMap[chipIndex] = chip; + } + + /// Appends a chip at the current cursor position. + void appendChipAtCursor(T chip) { + // append chip at the cursor position + final boundaries = _findChipTextBoundaries(selection.baseOffset); + String text = value.text; + int chipIndex = _nextAvailableChipIndex; + String newText = text.replaceRange(boundaries.end, boundaries.end, + String.fromCharCode(_chipStart + chipIndex)); + super.value = value.copyWith( + text: newText, + selection: TextSelection.collapsed(offset: boundaries.end + 1), + ); + _chipMap[chipIndex] = chip; + } + + /// Inserts a chip at a specific position in the text. + void insertChip(T chip) { + // insert chip at the start + int chipIndex = _nextAvailableChipIndex; + String newText = String.fromCharCode(_chipStart + chipIndex) + value.text; + super.value = value.copyWith( + text: newText, + selection: const TextSelection.collapsed(offset: 1), + ); + _chipMap[chipIndex] = chip; + } + + void _replaceAsChip(int start, int end, int index) { + String text = value.text; + StringBuffer buffer = StringBuffer(); + buffer.write(text.substring(0, start)); + buffer.writeCharCode(_chipStart + index); + buffer.write(text.substring(end)); + super.value = value.copyWith( + text: buffer.toString(), + selection: TextSelection.collapsed(offset: start + 1), + ); + } + + ({int start, int end}) _findChipTextBoundaries(int cursorPosition) { + String text = value.text; + int start = cursorPosition; + int end = cursorPosition; + + // Move start backward to find the beginning of the chip text + while (start > 0) { + int codeUnit = text.codeUnitAt(start - 1); + if (codeUnit >= _chipStart && codeUnit <= _chipEnd) { + break; + } + start--; + } + + // Move end forward to find the end of the chip text + while (end < text.length) { + int codeUnit = text.codeUnitAt(end); + if (codeUnit >= _chipStart && codeUnit <= _chipEnd) { + break; + } + end++; + } + + return (start: start, end: end); + } + + /// Removes the specified chip from the controller. + void removeChip(T chip) { + int? chipIndex; + _chipMap.forEach((key, value) { + if (value == chip) { + chipIndex = key; + } + }); + if (chipIndex != null) { + String text = value.text; + StringBuffer buffer = StringBuffer(); + int currentCursorOffset = value.selection.baseOffset; + int newCursorOffset = currentCursorOffset; + + for (int i = 0; i < text.length; i++) { + int codeUnit = text.codeUnitAt(i); + if (codeUnit == _chipStart + chipIndex!) { + // Found the chip to remove + // Adjust cursor position if it's after the removed chip + if (currentCursorOffset > i) { + newCursorOffset = currentCursorOffset - 1; + } + // skip this code unit + continue; + } + buffer.writeCharCode(codeUnit); + } + super.value = value.copyWith( + text: buffer.toString(), + selection: TextSelection.collapsed(offset: newCursorOffset), + ); + _chipMap.remove(chipIndex); + } + } +} + +abstract class _ChipProvider { + Widget? buildChip(BuildContext context, T chip); +} + +/// Callback type for converting text to a chip. +/// +/// Takes the chip text and returns a chip object, or null if conversion fails. +typedef ChipSubmissionCallback = T? Function(String chipText); + +/// A text input widget that supports inline chip elements. +/// +/// Allows users to create chip tokens within a text field, useful for +/// tags, email recipients, or any multi-item input scenario. +class ChipInput extends TextInputStatefulWidget { + /// Checks if a code unit represents a chip character. + static bool isChipUnicode(int codeUnit) { + return codeUnit >= ChipEditingController._chipStart && + codeUnit <= ChipEditingController._chipEnd; + } + + /// Checks if a string character is a chip character. + static bool isChipCharacter(String character) { + if (character.isEmpty) return false; + int codeUnit = character.codeUnitAt(0); + return isChipUnicode(codeUnit); + } + + /// Builder function for creating chip widgets. + final ChipWidgetBuilder chipBuilder; + + /// Callback to convert text into a chip object. + final ChipSubmissionCallback onChipSubmitted; + + /// Callback invoked when the list of chips changes. + final ValueChanged>? onChipsChanged; + + /// Whether to display items as visual chips (defaults to theme setting). + final bool? useChips; + + /// Initial chips to display in the input. + final List? initialChips; + + /// Whether to automatically insert autocomplete suggestions as chips. + final bool autoInsertSuggestion; + + /// Creates a chip input widget. + const ChipInput({ + super.key, + super.groupId, + ChipEditingController? super.controller, + super.focusNode, + super.decoration, + super.padding, + super.placeholder, + super.crossAxisAlignment, + super.clearButtonSemanticLabel, + super.keyboardType, + super.textInputAction, + super.textCapitalization, + super.style, + super.strutStyle, + super.textAlign, + super.textAlignVertical, + super.textDirection, + super.readOnly, + super.showCursor, + super.autofocus, + super.obscuringCharacter, + super.obscureText, + super.autocorrect, + super.smartDashesType, + super.smartQuotesType, + super.enableSuggestions, + super.maxLines, + super.minLines, + super.expands, + super.maxLength, + super.maxLengthEnforcement, + super.onChanged, + super.onEditingComplete, + super.onSubmitted, + super.onTapOutside, + super.onTapUpOutside, + super.inputFormatters, + super.enabled, + super.cursorWidth, + super.cursorHeight, + super.cursorRadius, + super.cursorOpacityAnimates, + super.cursorColor, + super.selectionHeightStyle, + super.selectionWidthStyle, + super.keyboardAppearance, + super.scrollPadding, + super.enableInteractiveSelection, + super.selectionControls, + super.dragStartBehavior, + super.scrollController, + super.scrollPhysics, + super.onTap, + super.autofillHints, + super.clipBehavior, + super.restorationId, + super.stylusHandwritingEnabled, + super.enableIMEPersonalizedLearning, + super.contentInsertionConfiguration, + super.contextMenuBuilder, + super.initialValue, + super.hintText, + super.border, + super.borderRadius, + super.filled, + super.statesController, + super.magnifierConfiguration, + super.spellCheckConfiguration, + super.undoController, + super.features, + super.submitFormatters, + super.skipInputFeatureFocusTraversal, + required this.chipBuilder, + required this.onChipSubmitted, + this.autoInsertSuggestion = true, + this.onChipsChanged, + this.useChips, + this.initialChips, + }); + + @override + ChipEditingController? get controller => + super.controller as ChipEditingController?; + + @override + State> createState() => ChipInputState(); +} + +/// State class for [ChipInput]. +/// +/// Manages the chip input's internal state and chip rendering. +class ChipInputState extends State> + with FormValueSupplier, ChipInput> + implements _ChipProvider { + late ChipEditingController _controller; + + @override + Widget? buildChip(BuildContext context, T chip) { + return _chipBuilder(chip); + } + + bool get _useChips { + final compTheme = ComponentTheme.maybeOf(context); + return styleValue( + widgetValue: widget.useChips, + themeValue: compTheme?.useChips, + defaultValue: true, + ); + } + + @override + void initState() { + super.initState(); + _controller = widget.controller ?? + ChipEditingController( + initialChips: widget.initialChips, + text: widget.initialValue ?? '', + ); + _controller.addListener(_onTextChanged); + formValue = widget.controller?.chips ?? []; + } + + void _onTextChanged() { + formValue = _controller.chips; + } + + Widget? _chipBuilder(T chip) { + if (!_useChips) { + return widget.chipBuilder(context, chip); + } + return Chip( + trailing: ChipButton( + onPressed: () { + _controller.removeChip(chip); + widget.onChipsChanged?.call(_controller.chips); + }, + child: const Icon(LucideIcons.x), + ), + child: widget.chipBuilder(context, chip), + ); + } + + @override + void didUpdateWidget(covariant ChipInput oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.controller != oldWidget.controller) { + _controller.removeListener(_onTextChanged); + _controller = widget.controller ?? ChipEditingController(); + _controller.addListener(_onTextChanged); + formValue = _controller.chips; + } + } + + @override + void dispose() { + _controller.removeListener(_onTextChanged); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Data<_ChipProvider>.inherit( + data: this, + child: Shortcuts( + shortcuts: { + LogicalKeySet(LogicalKeyboardKey.enter): const ChipSubmitIntent(), + }, + child: Actions( + actions: { + if (widget.autoInsertSuggestion) + AutoCompleteIntent: Action.overridable( + defaultAction: CallbackAction( + onInvoke: (intent) { + _controller.insertChipAtCursor( + (text) => widget.onChipSubmitted(intent.suggestion)); + widget.onChipsChanged?.call(_controller.chips); + return; + }, + ), + context: context, + ), + ChipSubmitIntent: Action.overridable( + defaultAction: CallbackAction( + onInvoke: (intent) { + _controller.insertChipAtCursor( + (text) => widget.onChipSubmitted(text)); + widget.onChipsChanged?.call(_controller.chips); + return; + }, + ), + context: context, + ), + }, + child: widget.copyWith( + controller: () => _controller, + onSubmitted: () => (value) { + _controller.insertChipAtCursor(widget.onChipSubmitted); + }, + onChanged: () => (text) { + widget.onChanged?.call(_controller.plainText); + }, + ), + ), + )); + } + + @override + void didReplaceFormValue(List value) { + widget.onChipsChanged?.call(value); + } +} + +/// Intent for submitting a chip in the chip input. +class ChipSubmitIntent extends Intent { + /// Creates a chip submit intent. + const ChipSubmitIntent(); +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/color.dart b/third_party/shadcn_flutter/lib/src/components/form/color/color.dart new file mode 100644 index 00000000..90d6d268 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/color.dart @@ -0,0 +1,1047 @@ +import 'dart:math'; + +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Converts a [Color] to its hexadecimal string representation. +/// +/// This function transforms a Flutter [Color] object into a hex string format +/// commonly used in CSS and design tools. The output can optionally include +/// the alpha (transparency) channel and a hash (#) prefix. +/// +/// Parameters: +/// - [color]: The color to convert to hexadecimal format. +/// - [showAlpha]: Whether to include the alpha channel in the output. Defaults to `false`. +/// When `true`, the alpha value is prepended to the RGB values (ARGB format). +/// - [hashPrefix]: Whether to prefix the output with '#'. Defaults to `true`. +/// +/// Returns: +/// A hexadecimal string representation of the color. Format varies based on parameters: +/// - With alpha and hash: `#AARRGGBB` (e.g., `#FF0080FF`) +/// - Without alpha, with hash: `#RRGGBB` (e.g., `#0080FF`) +/// - With alpha, no hash: `AARRGGBB` +/// - Without alpha, no hash: `RRGGBB` +/// +/// Example: +/// ```dart +/// final color = Color.fromARGB(255, 0, 128, 255); +/// print(colorToHex(color)); // Output: #0080FF +/// print(colorToHex(color, true)); // Output: #FF0080FF +/// print(colorToHex(color, false, false)); // Output: 0080FF +/// ``` +String colorToHex(Color color, + [bool showAlpha = false, bool hashPrefix = true]) { + String r = ((color.r * 255).round() & 0xFF).toRadixString(16).padLeft(2, '0'); + String g = ((color.g * 255).round() & 0xFF).toRadixString(16).padLeft(2, '0'); + String b = ((color.b * 255).round() & 0xFF).toRadixString(16).padLeft(2, '0'); + if (showAlpha) { + String a = + ((color.a * 255).round() & 0xFF).toRadixString(16).padLeft(2, '0'); + return hashPrefix ? '#$a$r$g$b' : '$a$r$g$b'; + } else { + return hashPrefix ? '#$r$g$b' : '$r$g$b'; + } +} + +/// An abstract base class representing a color that can be transformed between different color spaces. +/// +/// [ColorDerivative] provides a unified interface for working with colors in various color spaces +/// (HSV, HSL, RGB) while maintaining transformation capabilities. This is particularly useful +/// in color picker implementations where users may want to work with different color models. +/// +/// The class supports: +/// - Conversion between HSV, HSL, and RGB color spaces +/// - Individual channel manipulation (hue, saturation, value/lightness, red, green, blue, opacity) +/// - Preserving the internal color representation when transforming +/// +/// Example: +/// ```dart +/// // Create from a Flutter Color +/// final derivative = ColorDerivative.fromColor(Colors.blue); +/// +/// // Modify saturation +/// final desaturated = derivative.changeToHSVSaturation(0.5); +/// +/// // Convert back to Color +/// final newColor = desaturated.toColor(); +/// ``` +abstract base class ColorDerivative { + /// Creates a [ColorDerivative] from a Flutter [Color] using HSV color space internally. + static ColorDerivative fromColor(Color color) { + return _HSVColor(HSVColor.fromColor(color)); + } + + /// Creates a [ColorDerivative] from an [HSVColor]. + const factory ColorDerivative.fromHSV(HSVColor color) = _HSVColor; + + /// Creates a [ColorDerivative] from an [HSLColor]. + const factory ColorDerivative.fromHSL(HSLColor color) = _HSLColor; + + /// Creates a const [ColorDerivative]. + const ColorDerivative(); + + /// Converts this color derivative to a Flutter [Color]. + Color toColor(); + + /// Converts this color derivative to an [HSVColor]. + HSVColor toHSVColor(); + + /// Converts this color derivative to an [HSLColor]. + HSLColor toHSLColor(); + + /// Gets the opacity (alpha) value of this color, ranging from 0.0 to 1.0. + double get opacity; + + /// Gets the hue component in HSL color space, ranging from 0.0 to 360.0. + double get hslHue; + + /// Gets the saturation component in HSL color space, ranging from 0.0 to 1.0. + double get hslSat; + + /// Gets the lightness component in HSL color space, ranging from 0.0 to 1.0. + double get hslVal; + + /// Gets the hue component in HSV color space, ranging from 0.0 to 360.0. + double get hsvHue; + + /// Gets the saturation component in HSV color space, ranging from 0.0 to 1.0. + double get hsvSat; + + /// Gets the value (brightness) component in HSV color space, ranging from 0.0 to 1.0. + double get hsvVal; + + /// Gets the red component in RGB color space, ranging from 0 to 255. + int get red; + + /// Gets the green component in RGB color space, ranging from 0 to 255. + int get green; + + /// Gets the blue component in RGB color space, ranging from 0 to 255. + int get blue; + + /// Transforms this color derivative to match the internal representation of [old]. + /// + /// This method preserves the color space representation (HSV or HSL) used by [old] + /// while applying the color values from this derivative. This is useful when + /// maintaining consistency in color space during transformations. + ColorDerivative transform(ColorDerivative old); + + /// Changes the opacity (alpha) value of this color. + /// + /// Parameters: + /// - [alpha]: The new opacity value, ranging from 0.0 (fully transparent) to 1.0 (fully opaque). + /// + /// Returns: A new [ColorDerivative] with the updated opacity. + ColorDerivative changeToOpacity(double alpha); + + /// Changes this color to the specified [color] while preserving the internal color space representation. + /// + /// Parameters: + /// - [color]: The target color to change to. + /// + /// Returns: A new [ColorDerivative] with the new color value. + ColorDerivative changeToColor(Color color) { + ColorDerivative newColor = ColorDerivative.fromColor(color); + return newColor.transform(this); + } + + /// Changes this color to the specified [color] in HSV color space. + /// + /// Parameters: + /// - [color]: The target HSV color to change to. + /// + /// Returns: A new [ColorDerivative] with the new HSV color value. + ColorDerivative changeToHSV(HSVColor color) { + ColorDerivative newColor = ColorDerivative.fromHSV(color); + return newColor.transform(this); + } + + /// Changes this color to the specified [color] in HSL color space. + /// + /// Parameters: + /// - [color]: The target HSL color to change to. + /// + /// Returns: A new [ColorDerivative] with the new HSL color value. + ColorDerivative changeToHSL(HSLColor color) { + ColorDerivative newColor = ColorDerivative.fromHSL(color); + return newColor.transform(this); + } + + /// Changes the red component of this color in RGB color space. + /// + /// Parameters: + /// - [red]: The new red value, ranging from 0.0 to 255.0. + /// + /// Returns: A new [ColorDerivative] with the updated red component. + ColorDerivative changeToColorRed(double red) { + return changeToColor(toColor().withRed(red.toInt())); + } + + /// Changes the green component of this color in RGB color space. + /// + /// Parameters: + /// - [green]: The new green value, ranging from 0.0 to 255.0. + /// + /// Returns: A new [ColorDerivative] with the updated green component. + ColorDerivative changeToColorGreen(double green) { + return changeToColor(toColor().withGreen(green.toInt())); + } + + /// Changes the blue component of this color in RGB color space. + /// + /// Parameters: + /// - [blue]: The new blue value, ranging from 0.0 to 255.0. + /// + /// Returns: A new [ColorDerivative] with the updated blue component. + ColorDerivative changeToColorBlue(double blue) { + return changeToColor(toColor().withBlue(blue.toInt())); + } + + /// Changes the hue component of this color in HSV color space. + /// + /// Parameters: + /// - [hue]: The new hue value, ranging from 0.0 to 360.0 degrees. + /// + /// Returns: A new [ColorDerivative] with the updated HSV hue. + ColorDerivative changeToHSVHue(double hue) { + return changeToHSV(toHSVColor().withHue(hue)); + } + + /// Changes the saturation component of this color in HSV color space. + /// + /// Parameters: + /// - [saturation]: The new saturation value, ranging from 0.0 to 1.0. + /// + /// Returns: A new [ColorDerivative] with the updated HSV saturation. + ColorDerivative changeToHSVSaturation(double saturation) { + return changeToHSV(toHSVColor().withSaturation(saturation)); + } + + /// Changes the value (brightness) component of this color in HSV color space. + /// + /// Parameters: + /// - [value]: The new value component, ranging from 0.0 to 1.0. + /// + /// Returns: A new [ColorDerivative] with the updated HSV value. + ColorDerivative changeToHSVValue(double value) { + return changeToHSV(toHSVColor().withValue(value)); + } + + /// Changes the alpha (opacity) component of this color in HSV color space. + /// + /// Parameters: + /// - [alpha]: The new alpha value, ranging from 0.0 (fully transparent) to 1.0 (fully opaque). + /// + /// Returns: A new [ColorDerivative] with the updated HSV alpha. + ColorDerivative changeToHSVAlpha(double alpha) { + return changeToHSV(toHSVColor().withAlpha(alpha)); + } + + /// Changes the hue component of this color in HSL color space. + /// + /// Parameters: + /// - [hue]: The new hue value, ranging from 0.0 to 360.0 degrees. + /// + /// Returns: A new [ColorDerivative] with the updated HSL hue. + ColorDerivative changeToHSLHue(double hue) { + return changeToHSL(toHSLColor().withHue(hue)); + } + + /// Changes the saturation component of this color in HSL color space. + /// + /// Parameters: + /// - [saturation]: The new saturation value, ranging from 0.0 to 1.0. + /// + /// Returns: A new [ColorDerivative] with the updated HSL saturation. + ColorDerivative changeToHSLSaturation(double saturation) { + return changeToHSL(toHSLColor().withSaturation(saturation)); + } + + /// Changes the lightness component of this color in HSL color space. + /// + /// Parameters: + /// - [lightness]: The new lightness value, ranging from 0.0 to 1.0. + /// + /// Returns: A new [ColorDerivative] with the updated HSL lightness. + ColorDerivative changeToHSLLightness(double lightness) { + return changeToHSL(toHSLColor().withLightness(lightness)); + } +} + +final class _HSVColor extends ColorDerivative { + final HSVColor color; + const _HSVColor(this.color); + + @override + String toString() => color.toString(); + + @override + Color toColor() { + return color.toColor(); + } + + @override + HSVColor toHSVColor() { + return color; + } + + @override + HSLColor toHSLColor() { + return color.toHSL(); + } + + @override + double get opacity => color.alpha; + + @override + ColorDerivative changeToOpacity(double alpha) { + return _HSVColor(color.withAlpha(alpha)); + } + + @override + ColorDerivative changeToHSVHue(double hue) { + return _HSVColor(color.withHue(hue)); + } + + @override + ColorDerivative changeToHSVSaturation(double saturation) { + return _HSVColor(color.withSaturation(saturation)); + } + + @override + ColorDerivative changeToHSVValue(double value) { + return _HSVColor(color.withValue(value)); + } + + @override + ColorDerivative transform(ColorDerivative old) { + if (old is _HSVColor) { + return _HSVColor(color); + } else if (old is _HSLColor) { + return _HSLColor(color.toHSL()); + } else { + throw FlutterError('Invalid color type'); + } + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + if (other is _HSLColor) { + return color == other.toHSVColor(); + } + + return other is _HSVColor && other.color == color; + } + + @override + int get hashCode => color.hashCode; + + @override + double get hslHue => color.toHSL().hue; + + @override + double get hslSat => color.toHSL().saturation; + + @override + double get hslVal => color.toHSL().lightness; + + @override + double get hsvHue => color.hue; + + @override + double get hsvSat => color.saturation; + + @override + double get hsvVal => color.value; + + @override + int get red => (color.toColor().r * 255).round() & 0xFF; + + @override + int get green => (color.toColor().g * 255).round() & 0xFF; + + @override + int get blue => (color.toColor().b * 255).round() & 0xFF; +} + +final class _HSLColor extends ColorDerivative { + final HSLColor color; + const _HSLColor(this.color); + @override + String toString() => color.toString(); + + @override + Color toColor() { + return color.toColor(); + } + + @override + HSVColor toHSVColor() { + return color.toHSV(); + } + + @override + HSLColor toHSLColor() { + return color; + } + + @override + double get opacity => color.alpha; + + @override + ColorDerivative changeToOpacity(double alpha) { + return _HSLColor(color.withAlpha(alpha)); + } + + @override + ColorDerivative changeToHSLHue(double hue) { + return _HSLColor(color.withHue(hue)); + } + + @override + ColorDerivative changeToHSLSaturation(double saturation) { + return _HSLColor(color.withSaturation(saturation)); + } + + @override + ColorDerivative changeToHSLLightness(double lightness) { + return _HSLColor(color.withLightness(lightness)); + } + + @override + ColorDerivative changeToHSVHue(double hue) { + // should be the same as changing HSL hue + return _HSLColor(color.withHue(hue)); + } + + @override + ColorDerivative transform(ColorDerivative old) { + if (old is _HSVColor) { + return _HSVColor(color.toHSV()); + } else if (old is _HSLColor) { + return _HSLColor(color); + } else { + throw FlutterError('Invalid color type'); + } + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + if (other is _HSVColor) { + return color == other.toHSLColor(); + } + + return other is _HSLColor && other.color == color; + } + + @override + int get hashCode => color.hashCode; + + @override + double get hslHue => color.hue; + + @override + double get hslSat => color.saturation; + + @override + double get hslVal => color.lightness; + + @override + double get hsvHue => color.toHSV().hue; + + @override + double get hsvSat => color.toHSV().saturation; + + @override + double get hsvVal => color.toHSV().value; + + @override + int get red => (color.toColor().r * 255).toInt() & 0xFF; + + @override + int get green => (color.toColor().g * 255).toInt() & 0xFF; + + @override + int get blue => (color.toColor().b * 255).toInt() & 0xFF; +} + +/// An abstract base class representing a color gradient with multiple color stops. +/// +/// [ColorGradient] provides a common interface for working with gradients that can +/// have colors added, modified, or removed at specific positions. This is useful +/// for creating custom gradient pickers and editors. +/// +/// Implementations should handle the gradient type (linear, radial, sweep, etc.) +/// and provide methods to manipulate color stops and their positions. +abstract class ColorGradient { + /// Creates a const [ColorGradient]. + const ColorGradient(); + + /// Creates a copy of this gradient with optional modifications. + /// + /// Returns: A new [ColorGradient] instance. + ColorGradient copyWith(); + + /// Changes the color at the specified [index]. + /// + /// Parameters: + /// - [index]: The zero-based index of the color stop to modify. + /// - [color]: The new color for the stop. + /// + /// Returns: A new [ColorGradient] with the updated color. + ColorGradient changeColorAt(int index, ColorDerivative color); + + /// Changes the position of the color stop at the specified [index]. + /// + /// Parameters: + /// - [index]: The zero-based index of the color stop to modify. + /// - [position]: The new position for the stop, typically ranging from 0.0 to 1.0. + /// + /// Returns: A new [ColorGradient] with the updated position. + ColorGradient changePositionAt(int index, double position); + + /// Changes both the color and position at the specified [index]. + /// + /// Parameters: + /// - [index]: The zero-based index of the color stop to modify. + /// - [color]: The new color for the stop. + /// - [position]: The new position for the stop, typically ranging from 0.0 to 1.0. + /// + /// Returns: A new [ColorGradient] with both values updated. + ColorGradient changeColorAndPositionAt( + int index, ColorDerivative color, double position); + + /// Inserts a new color stop at a specific position in the gradient. + /// + /// Parameters: + /// - [color]: The color to insert. + /// - [position]: The offset position where the color should be inserted. + /// - [size]: The size of the gradient area. + /// - [textDirection]: The text direction for resolving directional alignments. + /// + /// Returns: A record containing the updated gradient and the index where the color was inserted. + ({ColorGradient gradient, int index}) insertColorAt(ColorDerivative color, + Offset position, Size size, TextDirection textDirection); + + /// Converts this color gradient to a Flutter [Gradient]. + /// + /// Returns: A [Gradient] object that can be used in Flutter painting operations. + Gradient toGradient(); +} + +/// Represents a color stop in a gradient with a specific color and position. +/// +/// A color stop defines where a particular color appears along a gradient. +/// The position is typically a value between 0.0 (start) and 1.0 (end). +/// +/// Example: +/// ```dart +/// const stop = ColorStop( +/// color: ColorDerivative.fromColor(Colors.blue), +/// position: 0.5, // Middle of the gradient +/// ); +/// ``` +class ColorStop { + /// The color at this stop. + final ColorDerivative color; + + /// The position of this stop along the gradient, typically from 0.0 to 1.0. + final double position; + + /// Creates a [ColorStop] with the specified [color] and [position]. + const ColorStop({ + required this.color, + required this.position, + }); +} + +/// An abstract base class for representing gradient angles with alignment geometry. +/// +/// [GradientAngleGeometry] provides an interface for converting between angular +/// representation and alignment-based gradients. It supports both directional +/// (text-direction-aware) and non-directional gradient angles. +/// +/// Subclasses should implement how to calculate begin and end alignments based +/// on the angle value. +abstract class GradientAngleGeometry { + /// Creates a const [GradientAngleGeometry]. + const GradientAngleGeometry(); + + /// The angle of the gradient in radians. + double get angle; + + /// The beginning alignment of the gradient. + AlignmentGeometry get begin; + + /// The ending alignment of the gradient. + AlignmentGeometry get end; + + /// Converts this to a directional gradient angle. + /// + /// Returns: A [DirectionalGradientAngle] based on this angle. + DirectionalGradientAngle toDirectional() { + return DirectionalGradientAngle(angle); + } + + /// Converts this to a non-directional gradient angle. + /// + /// Returns: A [GradientAngle] based on this angle. + GradientAngle toNonDirectional() { + return GradientAngle(angle); + } +} + +/// A directional gradient angle that is aware of text direction. +/// +/// [DirectionalGradientAngle] uses [AlignmentDirectional] for its alignments, +/// making it responsive to the text direction (LTR or RTL). The angle is specified +/// in radians and determines the direction of the gradient. +/// +/// Example: +/// ```dart +/// const angle = DirectionalGradientAngle(0.0); // 0 radians (horizontal) +/// final begin = angle.begin; // Start alignment +/// final end = angle.end; // End alignment +/// ``` +class DirectionalGradientAngle extends GradientAngleGeometry { + @override + + /// The angle of the gradient in radians. + final double angle; + + /// Creates a [DirectionalGradientAngle] with the specified [angle] in radians. + const DirectionalGradientAngle(this.angle); + + @override + + /// The beginning alignment calculated from the angle. + AlignmentGeometry get begin { + final x = 0.5 + 0.5 * cos(angle); + final y = 0.5 + 0.5 * sin(angle); + return AlignmentDirectional(x * 2 - 1, y * 2 - 1); + } + + @override + + /// The ending alignment calculated from the angle. + AlignmentGeometry get end { + final x = 0.5 + 0.5 * cos(angle + pi); + final y = 0.5 + 0.5 * sin(angle + pi); + return AlignmentDirectional(x * 2 - 1, y * 2 - 1); + } +} + +/// A non-directional gradient angle that uses standard [Alignment]. +/// +/// Unlike [DirectionalGradientAngle], this class uses non-directional [Alignment] +/// and is not affected by text direction. The angle is specified in radians. +/// +/// Example: +/// ```dart +/// const angle = GradientAngle(pi / 4); // 45 degrees +/// final begin = angle.begin; +/// final end = angle.end; +/// ``` +class GradientAngle extends GradientAngleGeometry { + @override + + /// The angle of the gradient in radians. + final double angle; + + /// Creates a [GradientAngle] with the specified [angle] in radians. + const GradientAngle(this.angle); + + @override + + /// The beginning alignment calculated from the angle. + AlignmentGeometry get begin { + final x = 0.5 + 0.5 * cos(angle); + final y = 0.5 + 0.5 * sin(angle); + return Alignment(x * 2 - 1, y * 2 - 1); + } + + @override + + /// The ending alignment calculated from the angle. + AlignmentGeometry get end { + final x = 0.5 + 0.5 * cos(angle + pi); + final y = 0.5 + 0.5 * sin(angle + pi); + return Alignment(x * 2 - 1, y * 2 - 1); + } +} + +/// A linear gradient implementation of [ColorGradient]. +/// +/// [LinearColorGradient] represents a gradient that transitions linearly between +/// colors along a specified angle. It supports multiple color stops and different +/// tile modes for how the gradient repeats beyond its bounds. +/// +/// Example: +/// ```dart +/// final gradient = LinearColorGradient( +/// colors: [ +/// ColorStop(color: ColorDerivative.fromColor(Colors.red), position: 0.0), +/// ColorStop(color: ColorDerivative.fromColor(Colors.blue), position: 1.0), +/// ], +/// angle: const GradientAngle(0.0), +/// ); +/// ``` +class LinearColorGradient extends ColorGradient { + /// The list of color stops in the gradient. + final List colors; + + /// The angle of the gradient. + final GradientAngleGeometry angle; + + /// How the gradient repeats beyond its bounds. + final TileMode tileMode; + + /// Creates a [LinearColorGradient] with the specified parameters. + const LinearColorGradient({ + required this.colors, + this.angle = const DirectionalGradientAngle(0), + this.tileMode = TileMode.clamp, + }); + + @override + LinearColorGradient copyWith({ + List? colors, + GradientAngleGeometry? angle, + TileMode? tileMode, + }) { + return LinearColorGradient( + colors: colors ?? this.colors, + angle: angle ?? this.angle, + tileMode: tileMode ?? this.tileMode, + ); + } + + @override + LinearColorGradient changeColorAt(int index, ColorDerivative color) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: color, + position: newColors[index].position, + ); + return copyWith(colors: newColors); + } + + @override + LinearColorGradient changePositionAt(int index, double position) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: newColors[index].color, + position: position, + ); + return copyWith(colors: newColors); + } + + @override + LinearColorGradient changeColorAndPositionAt( + int index, ColorDerivative color, double position) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: color, + position: position, + ); + return copyWith(colors: newColors); + } + + @override + ({LinearColorGradient gradient, int index}) insertColorAt( + ColorDerivative color, + Offset position, + Size size, + TextDirection textDirection) { + Alignment alignBegin = angle.begin.resolve(textDirection); + Alignment alignEnd = angle.end.resolve(textDirection); + final dx = alignEnd.x - alignBegin.x; + final dy = alignEnd.y - alignBegin.y; + final lengthSquared = dx * dx + dy * dy; + final px = (position.dx / size.width) * 2 - 1; + final py = (position.dy / size.height) * 2 - 1; + final t = + ((px - alignBegin.x) * dx + (py - alignBegin.y) * dy) / lengthSquared; + final pos = t.clamp(0.0, 1.0); + List newColors = List.from(colors); + int insertIndex = 0; + for (int i = 0; i < newColors.length; i++) { + if (newColors[i].position < pos) { + insertIndex = i + 1; + } + } + newColors.insert( + insertIndex, + ColorStop(color: color, position: pos), + ); + return ( + gradient: copyWith(colors: newColors), + index: insertIndex, + ); + } + + @override + LinearGradient toGradient() { + return LinearGradient( + colors: colors.map((e) => e.color.toColor()).toList(), + stops: colors.map((e) => e.position).toList(), + tileMode: tileMode, + begin: angle.begin, + end: angle.end, + ); + } +} + +/// A radial gradient for color values. +/// +/// Creates a circular gradient radiating from a center point. +class RadialColorGradient extends ColorGradient { + /// The color stops defining the gradient. + final List colors; + + /// How the gradient tiles beyond its bounds. + final TileMode tileMode; + + /// The center point of the gradient. + final AlignmentGeometry center; + + /// The focal point of the gradient (for elliptical gradients). + final AlignmentGeometry? focal; + + /// The radius of the gradient (0.0 to 1.0). + final double radius; + + /// The focal radius for elliptical gradients. + final double focalRadius; + + /// Creates a radial color gradient. + const RadialColorGradient({ + required this.colors, + this.tileMode = TileMode.clamp, + this.center = Alignment.center, + this.focal, + this.radius = 0.5, + this.focalRadius = 0.0, + }); + + @override + RadialColorGradient copyWith({ + List? colors, + TileMode? tileMode, + AlignmentGeometry? center, + AlignmentGeometry? focal, + double? radius, + double? focalRadius, + }) { + return RadialColorGradient( + colors: colors ?? this.colors, + tileMode: tileMode ?? this.tileMode, + center: center ?? this.center, + focal: focal ?? this.focal, + radius: radius ?? this.radius, + focalRadius: focalRadius ?? this.focalRadius, + ); + } + + @override + RadialColorGradient changeColorAt(int index, ColorDerivative color) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: color, + position: newColors[index].position, + ); + return copyWith(colors: newColors); + } + + @override + RadialColorGradient changePositionAt(int index, double position) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: newColors[index].color, + position: position, + ); + return copyWith(colors: newColors); + } + + @override + RadialColorGradient changeColorAndPositionAt( + int index, ColorDerivative color, double position) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: color, + position: position, + ); + return copyWith(colors: newColors); + } + + @override + ({RadialColorGradient gradient, int index}) insertColorAt( + ColorDerivative color, + Offset position, + Size size, + TextDirection textDirection) { + Alignment alignCenter = center.resolve(textDirection); + final px = (position.dx / size.width) * 2 - 1; + final py = (position.dy / size.height) * 2 - 1; + final dx = px - alignCenter.x; + final dy = py - alignCenter.y; + final dist = + sqrt(dx * dx + dy * dy) / sqrt(2); // max distance in square is sqrt(2) + final pos = dist.clamp(0.0, 1.0); + List newColors = List.from(colors); + int insertIndex = 0; + for (int i = 0; i < newColors.length; i++) { + if (newColors[i].position < pos) { + insertIndex = i + 1; + } + } + newColors.insert( + insertIndex, + ColorStop(color: color, position: pos), + ); + return ( + gradient: copyWith(colors: newColors), + index: insertIndex, + ); + } + + @override + RadialGradient toGradient() { + return RadialGradient( + colors: colors.map((e) => e.color.toColor()).toList(), + stops: colors.map((e) => e.position).toList(), + center: center, + focal: focal, + radius: radius, + focalRadius: focalRadius, + tileMode: tileMode, + ); + } +} + +/// A sweep (angular/conical) gradient for color values. +/// +/// Creates a gradient that sweeps around a center point. +class SweepColorGradient extends ColorGradient { + /// The color stops defining the gradient. + final List colors; + + /// How the gradient tiles beyond its bounds. + final TileMode tileMode; + + /// The center point of the gradient. + final AlignmentGeometry center; + + /// The starting angle in radians. + final double startAngle; + + /// The ending angle in radians. + final double endAngle; + + /// Creates a sweep color gradient. + const SweepColorGradient({ + required this.colors, + this.tileMode = TileMode.clamp, + this.center = Alignment.center, + this.startAngle = 0.0, + this.endAngle = pi * 2, + }); + + @override + SweepColorGradient copyWith({ + List? colors, + TileMode? tileMode, + AlignmentGeometry? center, + double? startAngle, + double? endAngle, + }) { + return SweepColorGradient( + colors: colors ?? this.colors, + tileMode: tileMode ?? this.tileMode, + center: center ?? this.center, + startAngle: startAngle ?? this.startAngle, + endAngle: endAngle ?? this.endAngle, + ); + } + + @override + SweepColorGradient changeColorAt(int index, ColorDerivative color) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: color, + position: newColors[index].position, + ); + return copyWith(colors: newColors); + } + + @override + SweepColorGradient changePositionAt(int index, double position) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: newColors[index].color, + position: position, + ); + return copyWith(colors: newColors); + } + + @override + SweepColorGradient changeColorAndPositionAt( + int index, ColorDerivative color, double position) { + List newColors = List.from(colors); + newColors[index] = ColorStop( + color: color, + position: position, + ); + return copyWith(colors: newColors); + } + + @override + ({SweepColorGradient gradient, int index}) insertColorAt( + ColorDerivative color, + Offset position, + Size size, + TextDirection textDirection) { + Alignment alignCenter = center.resolve(textDirection); + final px = (position.dx / size.width) * 2 - 1; + final py = (position.dy / size.height) * 2 - 1; + final dx = px - alignCenter.x; + final dy = py - alignCenter.y; + final angle = atan2(dy, dx); + double normalizedAngle = angle; + if (normalizedAngle < startAngle) { + normalizedAngle += pi * 2; + } + final totalAngle = endAngle - startAngle; + final pos = ((normalizedAngle - startAngle) / totalAngle).clamp(0.0, 1.0); + List newColors = List.from(colors); + int insertIndex = 0; + for (int i = 0; i < newColors.length; i++) { + if (newColors[i].position < pos) { + insertIndex = i + 1; + } + } + newColors.insert( + insertIndex, + ColorStop(color: color, position: pos), + ); + return ( + gradient: copyWith(colors: newColors), + index: insertIndex, + ); + } + + @override + SweepGradient toGradient() { + return SweepGradient( + colors: colors.map((e) => e.color.toColor()).toList(), + stops: colors.map((e) => e.position).toList(), + center: center, + startAngle: startAngle, + endAngle: endAngle, + tileMode: tileMode, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/solid/color_input.dart b/third_party/shadcn_flutter/lib/src/components/form/color/solid/color_input.dart new file mode 100644 index 00000000..0109d4f9 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/solid/color_input.dart @@ -0,0 +1,634 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme configuration for [ColorInput] widget styling and behavior. +/// +/// Defines the visual properties and default behaviors for color input components +/// including popover presentation, picker modes, and interaction features. Applied +/// globally through [ComponentTheme] or per-instance for customization. +/// +/// Supports comprehensive customization of color picker appearance, positioning, +/// and functionality to match application design requirements. +class ColorInputTheme extends ComponentThemeData { + /// Whether to display alpha (transparency) controls by default. + /// + /// When true, color pickers include alpha/opacity sliders and inputs. + /// When false, only RGB/HSV controls are shown. Individual components + /// can override this theme setting. + final bool? showAlpha; + + /// Alignment point on the popover for anchor attachment. + /// + /// Determines where the color picker popover positions itself relative + /// to the anchor widget. When null, uses framework default alignment. + final AlignmentGeometry? popoverAlignment; + + /// Alignment point on the anchor widget for popover positioning. + /// + /// Specifies which part of the trigger widget the popover should align to. + /// When null, uses framework default anchor alignment. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Internal padding applied to the color picker popover content. + /// + /// Controls spacing around the color picker interface within the popover + /// container. When null, uses framework default padding. + final EdgeInsetsGeometry? popoverPadding; + + /// Default interaction mode for color input triggers. + /// + /// Determines whether color selection opens a popover or modal dialog. + /// When null, uses framework default prompt mode behavior. + final PromptMode? mode; + + /// Default color picker interface type. + /// + /// Specifies whether to use HSV, HSL, or other color picker implementations. + /// When null, uses framework default picker mode. + final ColorPickerMode? pickerMode; + + /// Whether to enable screen color sampling functionality. + /// + /// When true, color pickers include tools to sample colors directly from + /// the screen. Platform support varies. When null, uses framework default. + final bool? enableEyeDropper; + + /// Whether to display color value labels in picker interfaces. + /// + /// When true, shows numeric color values (hex, RGB, HSV, etc.) alongside + /// visual color pickers. When null, uses framework default label visibility. + final bool? showLabel; + + /// The orientation of the color input layout. + final Axis? orientation; + + /// Whether to show the color history panel. + final bool? showHistory; + + /// Creates a [ColorInputTheme]. + /// + /// All parameters are optional and fall back to framework defaults when null. + /// The theme can be applied globally or to specific color input instances. + const ColorInputTheme({ + this.showAlpha, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.mode, + this.pickerMode, + this.enableEyeDropper, + this.showLabel, + this.orientation, + this.showHistory, + }); + + /// Creates a copy of this theme with specified properties overridden. + /// + /// Each parameter function is called only if provided, allowing selective + /// overrides while preserving existing values for unspecified properties. + ColorInputTheme copyWith({ + ValueGetter? showAlpha, + ValueGetter? popoverAlignment, + ValueGetter? popoverAnchorAlignment, + ValueGetter? popoverPadding, + ValueGetter? mode, + ValueGetter? pickerMode, + ValueGetter? enableEyeDropper, + ValueGetter? showLabel, + ValueGetter? orientation, + ValueGetter? showHistory, + }) { + return ColorInputTheme( + showAlpha: showAlpha == null ? this.showAlpha : showAlpha(), + popoverAlignment: + popoverAlignment == null ? this.popoverAlignment : popoverAlignment(), + popoverAnchorAlignment: popoverAnchorAlignment == null + ? this.popoverAnchorAlignment + : popoverAnchorAlignment(), + popoverPadding: + popoverPadding == null ? this.popoverPadding : popoverPadding(), + mode: mode == null ? this.mode : mode(), + pickerMode: pickerMode == null ? this.pickerMode : pickerMode(), + enableEyeDropper: + enableEyeDropper == null ? this.enableEyeDropper : enableEyeDropper(), + orientation: orientation == null ? this.orientation : orientation(), + showLabel: showLabel == null ? this.showLabel : showLabel(), + showHistory: showHistory == null ? this.showHistory : showHistory(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ColorInputTheme && + other.showAlpha == showAlpha && + other.popoverAlignment == popoverAlignment && + other.popoverAnchorAlignment == popoverAnchorAlignment && + other.popoverPadding == popoverPadding && + other.mode == mode && + other.pickerMode == pickerMode && + other.enableEyeDropper == enableEyeDropper && + other.orientation == orientation && + other.showHistory == showHistory && + other.showLabel == showLabel; + } + + @override + int get hashCode => Object.hash( + showAlpha, + popoverAlignment, + popoverAnchorAlignment, + popoverPadding, + mode, + pickerMode, + enableEyeDropper, + orientation, + showHistory, + showLabel); +} + +/// A color input widget that allows users to select and edit colors. +/// +/// [ColorInput] provides a comprehensive color selection interface with support +/// for multiple color spaces (HSV, HSL), alpha channel control, and eye dropper +/// functionality. The widget can be displayed in a popover or modal dialog. +/// +/// The color picker supports: +/// - Multiple color representation modes (HSV, HSL) +/// - Optional alpha/opacity control +/// - Screen color sampling with eye dropper +/// - Customizable layout orientation +/// - Flexible positioning via popovers or dialogs +/// +/// Example: +/// ```dart +/// ColorInput( +/// value: ColorDerivative.fromColor(Colors.blue), +/// onChanged: (color) { +/// print('Selected color: ${color.toColor()}'); +/// }, +/// showAlpha: true, +/// enableEyeDropper: true, +/// ) +/// ``` +class ColorInput extends StatefulWidget { + /// The current color value. + final ColorDerivative value; + + /// Called when the color is being changed (while dragging sliders, etc.). + final ValueChanged? onChanging; + + /// Called when the color change is complete (after releasing sliders, etc.). + final ValueChanged? onChanged; + + /// Whether to show alpha (opacity) controls. + final bool? showAlpha; + + /// The initial color picker mode (HSV, HSL, etc.). + final ColorPickerMode? initialMode; + + /// Whether to enable the eye dropper (screen color sampling) feature. + final bool? enableEyeDropper; + + /// The alignment of the popover relative to the anchor. + final AlignmentGeometry? popoverAlignment; + + /// The alignment point on the anchor widget for popover positioning. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Internal padding for the popover content. + final EdgeInsetsGeometry? popoverPadding; + + /// Widget displayed when no color is selected. + final Widget? placeholder; + + /// The mode for presenting the color picker (popover or modal). + final PromptMode? promptMode; + + /// Title widget for the dialog when using modal mode. + final Widget? dialogTitle; + + /// Whether to show color value labels. + final bool? showLabel; + + /// Whether the color input is enabled. + final bool? enabled; + + /// The layout orientation of the color input. + final Axis? orientation; + + /// Whether to show the color history button. + final bool showHistory; + + /// Creates a [ColorInput] widget. + const ColorInput({ + super.key, + required this.value, + this.onChanging, + this.onChanged, + this.showAlpha, + this.initialMode, + this.enableEyeDropper = true, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.placeholder, + this.promptMode, + this.dialogTitle, + this.showLabel, + this.orientation, + this.enabled, + this.showHistory = true, + }); + + @override + State createState() => _ColorInputState(); +} + +class _ColorInputState extends State + with FormValueSupplier { + ColorDerivative? _changingValue; + + @override + void initState() { + super.initState(); + formValue = widget.value; + } + + @override + void didUpdateWidget(covariant ColorInput oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.value != oldWidget.value) { + formValue = widget.value; + } + } + + final ValueNotifier _showHistoryNotifier = ValueNotifier(false); + + @override + Widget build(BuildContext context) { + final locale = ShadcnLocalizations.of(context); + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + final componentTheme = ComponentTheme.maybeOf(context); + final showAlpha = styleValue( + defaultValue: true, + themeValue: componentTheme?.showAlpha, + widgetValue: widget.showAlpha); + final showLabel = styleValue( + defaultValue: false, + themeValue: componentTheme?.showLabel, + widgetValue: widget.showLabel); + final popoverAlignment = styleValue( + themeValue: componentTheme?.popoverAlignment, + widgetValue: widget.popoverAlignment, + defaultValue: Alignment.topCenter); + final popoverAnchorAlignment = styleValue( + themeValue: componentTheme?.popoverAnchorAlignment, + widgetValue: widget.popoverAnchorAlignment, + defaultValue: Alignment.bottomCenter); + final popoverPadding = styleValue( + themeValue: componentTheme?.popoverPadding, + widgetValue: widget.popoverPadding, + defaultValue: null); + final promptMode = styleValue( + themeValue: componentTheme?.mode, + widgetValue: widget.promptMode, + defaultValue: PromptMode.popover); + final enableEyeDropper = styleValue( + defaultValue: true, + themeValue: componentTheme?.enableEyeDropper, + widgetValue: widget.enableEyeDropper); + final initialMode = styleValue( + themeValue: componentTheme?.pickerMode, + widgetValue: widget.initialMode, + defaultValue: ColorPickerMode.rgb); + final orientation = styleValue( + defaultValue: null, + themeValue: componentTheme?.orientation, + widgetValue: widget.orientation); + final showHistory = styleValue( + defaultValue: true, + themeValue: componentTheme?.showHistory, + widgetValue: widget.showHistory); + return ObjectFormField( + value: widget.value, + placeholder: widget.placeholder ?? Text(locale.placeholderColorPicker), + immediateValueChange: promptMode == PromptMode.popover ? false : null, + onChanged: (color) { + if (color != null) { + widget.onChanged?.call(color); + ColorHistoryStorage.find(context).addHistory(color.toColor()); + setState(() { + _changingValue = null; + }); + } + }, + dialogTitle: widget.dialogTitle, + popoverAlignment: popoverAlignment, + popoverAnchorAlignment: popoverAnchorAlignment, + popoverPadding: popoverPadding, + mode: promptMode, + density: + promptMode == PromptMode.popover ? ButtonDensity.iconDense : null, + enabled: widget.enabled, + builder: (context, value) { + if (!showLabel) { + return Container( + key: const Key('color_input_preview'), + constraints: promptMode == PromptMode.popover + ? BoxConstraints( + minWidth: 28 * theme.scaling, + minHeight: 28 * theme.scaling, + ) + : const BoxConstraints(), + decoration: BoxDecoration( + color: (_changingValue ?? value).toColor(), + borderRadius: BorderRadius.circular(theme.radiusSm), + border: Border.all(color: theme.colorScheme.border), + ), + ); + } + return IntrinsicHeight( + child: Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Flexible(child: Text(colorToHex(value.toColor(), showAlpha))), + Gap(densityGap), + AspectRatio( + aspectRatio: 1, + child: Container( + decoration: BoxDecoration( + color: value.toColor(), + borderRadius: BorderRadius.circular(theme.radiusSm), + border: Border.all(color: theme.colorScheme.border), + ), + ), + ), + ], + ), + ); + }, + dialogActions: (innerContext, handler) { + return [ + if (enableEyeDropper) + IconButton.outline( + icon: Icon(LucideIcons.pipette, size: 16 * theme.scaling), + onPressed: () async { + await handler.close(); + if (!context.mounted) return; + final result = await pickColorFromScreen(context); + if (result != null && context.mounted) { + ColorHistoryStorage.of(context).addHistory(result); + } + handler.prompt( + result != null ? ColorDerivative.fromColor(result) : null); + }, + ), + if (showHistory) + ListenableBuilder( + listenable: _showHistoryNotifier, + builder: (context, _) { + return IconButton( + variance: _showHistoryNotifier.value + ? ButtonVariance.primary + : ButtonVariance.outline, + icon: Icon(LucideIcons.history, size: 16 * theme.scaling), + onPressed: () { + _showHistoryNotifier.value = !_showHistoryNotifier.value; + }, + ); + }), + ]; + }, + editorBuilder: (context, handler) { + return ListenableBuilder( + listenable: _showHistoryNotifier, + builder: (context, _) { + return AnimatedSize( + duration: kDefaultDuration, + curve: Curves.easeInOut, + child: ColorPicker( + // force rebuild when showHistory changes + key: ValueKey(_showHistoryNotifier.value), + value: handler.value ?? + ColorDerivative.fromColor(Color(0x00000000)), + initialShowHistory: _showHistoryNotifier.value, + enableEyeDropper: + promptMode == PromptMode.popover && enableEyeDropper, + showHistoryButton: + showHistory && promptMode == PromptMode.popover, + onChanging: (color) { + widget.onChanging?.call(color); + setState(() { + _changingValue = color; + }); + }, + onChanged: (color) { + handler.value = color; + }, + initialMode: initialMode, + onEyeDropperRequested: () async { + await handler.close(); + if (!context.mounted) return; + final result = await pickColorFromScreen(context); + if (result != null && context.mounted) { + ColorHistoryStorage.of(context).addHistory(result); + } + handler.prompt(result != null + ? ColorDerivative.fromColor(result) + : null); + }, + orientation: orientation, + showAlpha: showAlpha, + ), + ); + }); + }, + ); + } + + @override + void didReplaceFormValue(ColorDerivative value) { + widget.onChanged?.call(value); + } +} + +/// Reactive controller for managing color input state with color operations. +/// +/// Extends [ValueNotifier] to provide state management for color input widgets +/// using [ColorDerivative] values that support multiple color space representations. +/// Enables programmatic color changes while maintaining color space fidelity. +/// +/// The controller manages [ColorDerivative] objects which preserve original +/// color space information (HSV, HSL, RGB) for accurate color manipulations +/// and prevents precision loss during color space conversions. +/// +/// Example: +/// ```dart +/// final controller = ColorInputController( +/// ColorDerivative.fromColor(Colors.blue), +/// ); +/// +/// // React to changes +/// controller.addListener(() { +/// print('Color changed to: ${controller.value.color}'); +/// }); +/// +/// // Programmatic control +/// controller.value = ColorDerivative.fromHSV(HSVColor.fromColor(Colors.red)); +/// ``` +class ColorInputController extends ValueNotifier + with ComponentController { + /// Creates a [ColorInputController] with the specified initial color. + /// + /// The [value] parameter provides the initial color as a [ColorDerivative]. + /// The controller notifies listeners when the color changes through any + /// method calls or direct value assignment. + /// + /// Example: + /// ```dart + /// final controller = ColorInputController( + /// ColorDerivative.fromColor(Colors.green), + /// ); + /// ``` + ColorInputController(super.value); + + /// Sets the color to a new [Color] value. + /// + /// Converts the color to a [ColorDerivative] preserving RGB color space + /// information. Notifies listeners of the change. + void setColor(Color color) { + value = ColorDerivative.fromColor(color); + } + + /// Sets the color to a new HSV color value. + /// + /// Uses [ColorDerivative.fromHSV] to preserve HSV color space information + /// for accurate hue, saturation, and value manipulations. + void setHSVColor(HSVColor hsvColor) { + value = ColorDerivative.fromHSV(hsvColor); + } + + /// Sets the color to a new HSL color value. + /// + /// Uses [ColorDerivative.fromHSL] to preserve HSL color space information + /// for accurate hue, saturation, and lightness manipulations. + void setHSLColor(HSLColor hslColor) { + value = ColorDerivative.fromHSL(hslColor); + } + + /// Gets the current color as a standard [Color] object. + Color get color => value.toColor(); + + /// Gets the current color as an HSV color representation. + HSVColor get hsvColor => value.toHSVColor(); + + /// Gets the current color as an HSL color representation. + HSLColor get hslColor => value.toHSLColor(); +} + +/// A controlled color input widget integrating with form state management. +/// +/// Implements [ControlledComponent] to provide automatic form integration, +/// validation, and state management for color selection. +class ControlledColorInput extends StatelessWidget + with ControlledComponent { + @override + final ColorDerivative initialValue; + + @override + final ValueChanged? onChanged; + + @override + final bool enabled; + + @override + final ColorInputController? controller; + + /// Whether to show alpha channel controls. + final bool? showAlpha; + + /// Alignment of the popover relative to the anchor. + final AlignmentGeometry? popoverAlignment; + + /// Anchor alignment for the popover. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Padding inside the popover. + final EdgeInsetsGeometry? popoverPadding; + + /// Placeholder widget when no color is selected. + final Widget? placeholder; + + /// The prompt display mode for the color picker. + final PromptMode? promptMode; + + /// Title widget for the dialog mode. + final Widget? dialogTitle; + + /// Whether to show color labels. + final bool? showLabel; + + /// Orientation of color controls. + final Axis? orientation; + + /// Whether to enable the eye dropper tool. + final bool? enableEyeDropper; + + /// The initial color picker mode to display. + final ColorPickerMode? initialMode; + + /// Callback invoked while the color is being changed (live updates). + final ValueChanged? onChanging; + + /// Creates a controlled color input. + const ControlledColorInput({ + super.key, + required this.initialValue, + this.onChanged, + this.enabled = true, + this.controller, + this.showAlpha, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.placeholder, + this.promptMode, + this.dialogTitle, + this.showLabel, + this.orientation, + this.enableEyeDropper, + this.initialMode, + this.onChanging, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + controller: controller, + builder: (context, data) { + return ColorInput( + value: data.value, + onChanged: data.onChanged, + enableEyeDropper: enableEyeDropper, + initialMode: initialMode, + onChanging: onChanging, + showAlpha: showAlpha, + popoverAlignment: popoverAlignment, + popoverAnchorAlignment: popoverAnchorAlignment, + popoverPadding: popoverPadding, + placeholder: placeholder, + promptMode: promptMode, + dialogTitle: dialogTitle, + showLabel: showLabel, + orientation: orientation, + enabled: data.enabled, + ); + }, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/solid/color_picker.dart b/third_party/shadcn_flutter/lib/src/components/form/color/solid/color_picker.dart new file mode 100644 index 00000000..c3c23859 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/solid/color_picker.dart @@ -0,0 +1,1017 @@ +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Defines the color representation mode for color pickers. +/// +/// Specifies which color model and input controls to display in the color picker +/// interface. Each mode provides different controls optimized for that color space. +enum ColorPickerMode { + /// RGB (Red, Green, Blue) color mode. + rgb, + + /// HSL (Hue, Saturation, Lightness) color mode. + hsl, + + /// HSV (Hue, Saturation, Value) color mode. + hsv, + + /// Hexadecimal color code mode. + hex, +} + +/// Defines available slider types for HSV color pickers. +/// +/// Each slider type controls different aspects of the HSV color model, +/// allowing fine-tuned control over hue, saturation, value, and alpha channels. +enum HSVColorSliderType { + /// Hue slider only. + hue, + + /// Combined hue and saturation slider. + hueSat, + + /// Combined hue and value slider. + hueVal, + + /// Combined hue and alpha slider. + hueAlpha, + + /// Saturation slider only. + sat, + + /// Combined saturation and value slider. + satVal, + + /// Combined saturation and alpha slider. + satAlpha, + + /// Value (brightness) slider only. + val, + + /// Combined value and alpha slider. + valAlpha, + + /// Alpha (opacity) slider only. + alpha; +} + +/// Defines available slider types for HSL color pickers. +/// +/// Each slider type controls different aspects of the HSL color model, +/// allowing fine-tuned control over hue, saturation, luminance, and alpha channels. +enum HSLColorSliderType { + /// Hue slider only. + hue, + + /// Combined hue and saturation slider. + hueSat, + + /// Combined hue and luminance slider. + hueLum, + + /// Combined hue and alpha slider. + hueAlpha, + + /// Saturation slider only. + sat, + + /// Combined saturation and luminance slider. + satLum, + + /// Combined saturation and alpha slider. + satAlpha, + + /// Luminance (lightness) slider only. + lum, + + /// Combined luminance and alpha slider. + lumAlpha, + + /// Alpha (opacity) slider only. + alpha; +} + +/// Theme configuration for [ColorPicker] widget styling and layout. +/// +/// Defines visual and layout properties for color picker components including +/// spacing, orientation, and feature availability. Applied globally through +/// [ComponentTheme] or per-instance. +class ColorPickerTheme extends ComponentThemeData { + /// Spacing between major color picker sections. + final double? spacing; + + /// Spacing between individual controls within sections. + final double? controlSpacing; + + /// Layout orientation (horizontal or vertical). + final Axis? orientation; + + /// Whether to enable the eye dropper feature. + final bool? enableEyeDropper; + + /// The size of color sliders. + final double? sliderSize; + + /// Creates a [ColorPickerTheme]. + const ColorPickerTheme({ + this.spacing, + this.controlSpacing, + this.orientation, + this.enableEyeDropper, + this.sliderSize, + }); + + /// Creates a copy of this theme with specified properties overridden. + ColorPickerTheme copyWith({ + ValueGetter? spacing, + ValueGetter? controlSpacing, + ValueGetter? orientation, + ValueGetter? enableEyeDropper, + ValueGetter? sliderSize, + }) { + return ColorPickerTheme( + spacing: spacing == null ? this.spacing : spacing(), + controlSpacing: + controlSpacing == null ? this.controlSpacing : controlSpacing(), + orientation: orientation == null ? this.orientation : orientation(), + enableEyeDropper: + enableEyeDropper == null ? this.enableEyeDropper : enableEyeDropper(), + sliderSize: sliderSize == null ? this.sliderSize : sliderSize(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is ColorPickerTheme && + other.spacing == spacing && + other.controlSpacing == controlSpacing && + other.orientation == orientation && + other.sliderSize == sliderSize && + other.enableEyeDropper == enableEyeDropper; + } + + @override + int get hashCode => Object.hash( + spacing, controlSpacing, orientation, enableEyeDropper, sliderSize); +} + +/// A comprehensive color picker widget with multiple color mode support. +/// +/// [ColorPicker] provides an interactive interface for selecting colors using +/// various color representation models (RGB, HSL, HSV, HEX). It supports alpha +/// channel control, eye dropper functionality, and customizable layout. +/// +/// Features: +/// - Multiple color modes (RGB, HSL, HSV, HEX) +/// - Optional alpha/opacity control + +/// - Screen color sampling with eye dropper +/// - Flexible layout orientation +/// - Real-time color updates +/// - Mode switching during use +/// +/// Example: +/// ```dart +/// ColorPicker( +/// value: ColorDerivative.fromColor(Colors.blue), +/// onChanged: (color) { +/// print('Selected: ${color.toColor()}'); +/// }, +/// showAlpha: true, +/// initialMode: ColorPickerMode.hsv, +/// enableEyeDropper: true, +/// ) +/// ``` +class ColorPicker extends StatefulWidget { + /// The current color value. + final ColorDerivative value; + + /// Called when the color is finalized. + final ValueChanged? onChanged; + + /// Called continuously while the color is being changed. + final ValueChanged? onChanging; + + /// Whether to show alpha (opacity) controls. + final bool showAlpha; + + /// Whether to show the color history button. + final bool showHistoryButton; + + /// Whether to show the color history panel initially. + final bool initialShowHistory; + + /// The initial color picker mode. + final ColorPickerMode initialMode; + + /// Called when the color picker mode changes. + final ValueChanged? onModeChanged; + + /// Called when the eye dropper button is pressed. + final VoidCallback? onEyeDropperRequested; + + /// Whether to enable the eye dropper feature. + final bool? enableEyeDropper; + + /// Layout orientation of the color picker. + final Axis? orientation; + + /// Spacing between major sections. + final double? spacing; + + /// Spacing between individual controls. + final double? controlSpacing; + + /// Size of the color sliders. + final double? sliderSize; + + /// Creates a [ColorPicker] widget. + const ColorPicker({ + super.key, + required this.value, + this.onChanged, + this.onChanging, + this.showAlpha = false, + this.initialMode = ColorPickerMode.rgb, + this.onModeChanged, + this.enableEyeDropper, + this.onEyeDropperRequested, + this.orientation, + this.spacing, + this.controlSpacing, + this.sliderSize, + this.showHistoryButton = true, + this.initialShowHistory = false, + }); + + @override + State createState() => _ColorPickerState(); +} + +class _ColorPickerState extends State { + late ColorPickerMode _mode; + + ColorDerivative? _changingValue; + + late bool _showHistory; + + @override + void initState() { + super.initState(); + _mode = widget.initialMode; + _showHistory = widget.initialShowHistory; + } + + ColorDerivative get _effectiveValue { + return _changingValue ?? widget.value; + } + + void _onChanging(ColorDerivative value) { + setState(() { + _changingValue = value; + widget.onChanging?.call(value); + }); + } + + void _onChanged(ColorDerivative value) { + setState(() { + _changingValue = null; + widget.onChanged?.call(value); + }); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final componentTheme = ComponentTheme.maybeOf(context); + final spacing = styleValue( + defaultValue: 12.0, + themeValue: componentTheme?.spacing, + widgetValue: widget.spacing); + final controlSpacing = styleValue( + defaultValue: 8.0, + themeValue: componentTheme?.controlSpacing, + widgetValue: widget.controlSpacing, + ); + final orientation = styleValue( + defaultValue: Axis.vertical, + themeValue: componentTheme?.orientation, + widgetValue: widget.orientation); + + var colorControls = ColorControls( + value: _effectiveValue, + onChanged: _onChanged, + onChanging: _onChanging, + showAlpha: widget.showAlpha, + mode: _mode, + enableEyeDropper: widget.enableEyeDropper, + onEyeDropperRequested: widget.onEyeDropperRequested, + showHistory: _showHistory, + showHistoryButton: + widget.showHistoryButton && orientation == Axis.vertical, + onShowHistoryChanged: (show) { + setState(() { + _showHistory = show; + }); + }, + onModeChanged: (mode) { + setState(() { + _mode = mode; + }); + widget.onModeChanged?.call(mode); + }, + controlSpacing: styleValue( + defaultValue: 8.0, + themeValue: componentTheme?.controlSpacing, + widgetValue: widget.controlSpacing, + ), + ); + var content = Flex( + direction: orientation, + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + spacing: spacing, + children: _showHistory && orientation == Axis.vertical + ? [ + ColorHistoryGrid( + storage: ColorHistoryStorage.of(context), + onColorPicked: (value) { + _onChanging(_effectiveValue.changeToColor(value)); + _onChanged(_effectiveValue.changeToColor(value)); + }, + selectedColor: _effectiveValue.toColor(), + ), + ] + : [ + Flexible( + child: AspectRatio( + aspectRatio: 1.0, + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: 150.0 * theme.scaling, + minWidth: 150.0 * theme.scaling, + ), + child: buildSlider(context), + ), + ), + ), + if (orientation == Axis.horizontal) + ...buildSliders(context) + else + IntrinsicWidth( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + spacing: controlSpacing, + children: [ + if (orientation == Axis.vertical) + ...buildSliders(context), + colorControls, + ], + ), + ), + ], + ); + if (orientation == Axis.horizontal) { + return IntrinsicWidth( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + spacing: spacing, + children: [ + IntrinsicHeight(child: content), + colorControls, + ], + ), + ); + } + return IntrinsicWidth(child: content); + } + + List buildSliders(BuildContext context) { + final componentTheme = ComponentTheme.maybeOf(context); + final sliderSize = styleValue( + defaultValue: 24.0, + themeValue: componentTheme?.sliderSize, + widgetValue: widget.sliderSize, + ); + final orientation = styleValue( + defaultValue: Axis.vertical, + themeValue: componentTheme?.orientation, + widgetValue: widget.orientation); + return [ + SizedBox( + height: orientation == Axis.vertical ? sliderSize : null, + width: orientation == Axis.horizontal ? sliderSize : null, + child: HSVColorSlider( + reverse: orientation == Axis.vertical, + radius: Theme.of(context).radiusSmRadius, + value: + _effectiveValue.toHSVColor().withSaturation(1.0).withValue(1.0), + onChanging: (hsvColor) { + final hue = hsvColor.hue; + _onChanging( + _effectiveValue.changeToHSVHue(hue), + ); + }, + onChanged: (hsvColor) { + final hue = hsvColor.hue; + _onChanged( + _effectiveValue.changeToHSVHue(hue), + ); + }, + sliderType: HSVColorSliderType.hue, + ), + ), + if (widget.showAlpha) + SizedBox( + height: orientation == Axis.vertical ? sliderSize : null, + width: orientation == Axis.horizontal ? sliderSize : null, + child: HSVColorSlider( + reverse: orientation == Axis.vertical, + radius: Theme.of(context).radiusSmRadius, + value: _effectiveValue.toHSVColor(), + onChanging: (hsvColor) { + final alpha = hsvColor.alpha; + _onChanging( + _effectiveValue.changeToOpacity(alpha), + ); + }, + onChanged: (hsvColor) { + final alpha = hsvColor.alpha; + _onChanged( + _effectiveValue.changeToOpacity(alpha), + ); + }, + sliderType: HSVColorSliderType.alpha, + ), + ), + if (orientation == Axis.horizontal && widget.showHistoryButton) + ColorHistoryGrid( + storage: ColorHistoryStorage.of(context), + crossAxisCount: 2, + maxTotalColors: 14, + onColorPicked: (value) { + _onChanging(_effectiveValue.changeToColor(value)); + _onChanged(_effectiveValue.changeToColor(value)); + }, + selectedColor: _effectiveValue.toColor(), + ), + ]; + } + + Widget buildSlider(BuildContext context) { + return switch (widget.initialMode) { + ColorPickerMode.hsl => buildHSLSlider(context), + _ => buildHSVSlider(context), + }; + } + + Widget buildHSVSlider(BuildContext context) { + return HSVColorSlider( + value: _effectiveValue.toHSVColor(), + sliderType: HSVColorSliderType.satVal, + radius: Theme.of(context).radiusSmRadius, + onChanging: (hsvColor) { + final sat = hsvColor.saturation; + final val = hsvColor.value; + _onChanging( + _effectiveValue.changeToHSVSaturation(sat).changeToHSVValue(val), + ); + }, + onChanged: (hsvColor) { + final sat = hsvColor.saturation; + final val = hsvColor.value; + _onChanged( + _effectiveValue.changeToHSVSaturation(sat).changeToHSVValue(val), + ); + }, + ); + } + + Widget buildHSLSlider(BuildContext context) { + return HSLColorSlider( + color: _effectiveValue.toHSLColor(), + sliderType: HSLColorSliderType.satLum, + radius: Theme.of(context).radiusSmRadius, + onChanging: (hslColor) { + final sat = hslColor.saturation; + final light = hslColor.lightness; + _onChanging( + _effectiveValue + .changeToHSLSaturation(sat) + .changeToHSLLightness(light), + ); + }, + onChanged: (hslColor) { + final sat = hslColor.saturation; + final light = hslColor.lightness; + _onChanged( + _effectiveValue + .changeToHSLSaturation(sat) + .changeToHSLLightness(light), + ); + }, + ); + } +} + +/// Widget providing color input controls with multiple color space modes. +/// +/// Displays inputs for editing colors in RGB, HSL, HSV, or HEX formats +/// with optional alpha channel and eye dropper tool support. +class ColorControls extends StatelessWidget { + /// The current color value. + final ColorDerivative value; + + /// Callback invoked when the color is changed. + final ValueChanged? onChanged; + + /// Callback invoked while the color is being changed (live updates). + final ValueChanged? onChanging; + + /// Callback invoked when the color picker mode changes. + final ValueChanged? onModeChanged; + + /// Whether to show alpha channel controls. + final bool showAlpha; + + /// The current color picker mode (RGB, HSL, HSV, or HEX). + final ColorPickerMode mode; + + /// Spacing between control elements. + final double? controlSpacing; + + /// Whether to enable the eye dropper tool. + final bool? enableEyeDropper; + + /// Callback invoked when the eye dropper tool is requested. + final VoidCallback? onEyeDropperRequested; + + /// Whether the color history panel is shown. + final bool showHistory; + + /// Callback invoked when the color history panel visibility changes. + final ValueChanged? onShowHistoryChanged; + + /// Whether to show the color history button. + final bool showHistoryButton; + + /// Creates color controls. + const ColorControls({ + super.key, + required this.value, + this.onChanged, + this.onChanging, + this.onModeChanged, + this.showAlpha = false, + this.mode = ColorPickerMode.rgb, + this.enableEyeDropper, + this.onEyeDropperRequested, + this.controlSpacing, + this.showHistory = false, + this.onShowHistoryChanged, + this.showHistoryButton = true, + }); + + @override + Widget build(BuildContext context) { + final theme = ComponentTheme.maybeOf(context); + final locale = ShadcnLocalizations.of(context); + final enableEyeDropper = styleValue( + defaultValue: true, + themeValue: theme?.enableEyeDropper, + widgetValue: this.enableEyeDropper); + final controlSpacing = styleValue( + defaultValue: 8.0, + themeValue: theme?.controlSpacing, + widgetValue: this.controlSpacing, + ); + String pickerModeToLabel(ColorPickerMode mode) { + switch (mode) { + case ColorPickerMode.rgb: + return locale.colorPickerTabRGB; + case ColorPickerMode.hsl: + return locale.colorPickerTabHSL; + case ColorPickerMode.hsv: + return locale.colorPickerTabHSV; + case ColorPickerMode.hex: + return locale.colorPickerTabHEX; + } + } + + return IntrinsicHeight( + child: Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + spacing: controlSpacing, + children: [ + if (enableEyeDropper) + IconButton.outline( + icon: const Icon(Icons.colorize), + onPressed: onEyeDropperRequested ?? + () async { + final result = await pickColorFromScreen(context); + if (result != null) { + onChanged?.call(ColorDerivative.fromColor(result)); + if (context.mounted) { + ColorHistoryStorage.of(context).addHistory(result); + } + } + }, + ), + if (showHistoryButton) + IconButton( + variance: + showHistory ? ButtonVariance.primary : ButtonVariance.outline, + icon: Icon( + showHistory ? Icons.history_toggle_off : Icons.history, + ), + onPressed: () { + onShowHistoryChanged?.call(!showHistory); + }, + ), + Expanded( + child: ButtonGroup.horizontal( + expands: true, + children: [ + Expanded( + child: Select( + value: mode, + itemBuilder: (context, value) { + return Text(pickerModeToLabel(value)); + }, + onChanged: (mode) { + if (mode != null) { + onModeChanged?.call(mode); + } + }, + popup: SelectPopup.noVirtualization( + items: SelectItemList(children: [ + for (var mode in ColorPickerMode.values) + SelectItemButton( + value: mode, + child: Text(pickerModeToLabel(mode))), + ]), + ).call, + ), + ), + ...buildInputs(context), + ], + ), + ), + ], + ), + ); + } + + /// Builds the input widgets based on the current color picker mode. + List buildInputs(BuildContext context) { + return switch (mode) { + ColorPickerMode.rgb => buildRGBInputs(context), + ColorPickerMode.hsl => buildHSLInputs(context), + ColorPickerMode.hsv => buildHSVInputs(context), + ColorPickerMode.hex => buildHEXInputs(context), + }; + } + + void Function(String value) _onInputChanged( + void Function(double val) changer) { + return (String value) { + final parsed = double.tryParse(value); + if (parsed != null) { + changer(parsed); + } + }; + } + + /// Builds RGB color input widgets. + List buildRGBInputs(BuildContext context) { + final locale = ShadcnLocalizations.of(context); + return [ + // _ColorValueInput ensures that when the value changes from outside, + // the input reflects the latest value unless focused, and only emits + // onChanged while focused to avoid feedback loops. + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorRed), + keyboardType: TextInputType.number, + value: value.red.toInt().toString(), + onChanged: _onInputChanged((val) { + final r = val.clamp(0.0, 255.0); + onChanged?.call(value.changeToColorRed(r)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 255), + ], + ), + ), + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorGreen), + keyboardType: TextInputType.number, + value: value.green.toInt().toString(), + onChanged: _onInputChanged((val) { + final g = val.clamp(0.0, 255.0); + onChanged?.call(value.changeToColorGreen(g)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 255), + ], + ), + ), + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorBlue), + keyboardType: TextInputType.number, + value: value.blue.toInt().toString(), + onChanged: _onInputChanged((val) { + final b = val.clamp(0.0, 255.0); + onChanged?.call(value.changeToColorBlue(b)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 255), + ], + ), + ), + if (showAlpha) + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorAlpha), + keyboardType: TextInputType.number, + value: (value.opacity * 255).toInt().toString(), + onChanged: _onInputChanged((val) { + final a = val.clamp(0.0, 255.0) / 255.0; + onChanged?.call(value.changeToOpacity(a)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 255), + ], + ), + ), + ]; + } + + /// Builds HSL color input widgets. + List buildHSLInputs(BuildContext context) { + final locale = ShadcnLocalizations.of(context); + return [ + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorHue), + keyboardType: TextInputType.number, + value: value.hslHue.toInt().toString(), + onChanged: _onInputChanged((val) { + final h = val.clamp(0.0, 360.0); + onChanged?.call(value.changeToHSLHue(h)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 360), + ], + ), + ), + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorSaturation), + keyboardType: TextInputType.number, + value: (value.hslSat * 100).toInt().toString(), + onChanged: _onInputChanged((val) { + final s = (val.clamp(0.0, 100.0)) / 100.0; + onChanged?.call(value.changeToHSLSaturation(s)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 100), + ], + ), + ), + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorLightness), + keyboardType: TextInputType.number, + value: (value.hslVal * 100).toInt().toString(), + onChanged: _onInputChanged((val) { + final l = (val.clamp(0.0, 100.0)) / 100.0; + onChanged?.call(value.changeToHSLLightness(l)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 100), + ], + ), + ), + if (showAlpha) + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorAlpha), + keyboardType: TextInputType.number, + value: (value.opacity * 100).toInt().toString(), + onChanged: _onInputChanged((val) { + final a = (val.clamp(0.0, 100.0)) / 100.0; + onChanged?.call(value.changeToOpacity(a)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 100), + ], + ), + ), + ]; + } + + /// Builds HSV color input widgets. + List buildHSVInputs(BuildContext context) { + final locale = ShadcnLocalizations.of(context); + return [ + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorHue), + keyboardType: TextInputType.number, + value: value.hsvHue.toInt().toString(), + onChanged: _onInputChanged((val) { + final h = val.clamp(0.0, 360.0); + onChanged?.call(value.changeToHSVHue(h)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 360), + ], + ), + ), + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorSaturation), + keyboardType: TextInputType.number, + value: (value.hsvSat * 100).toInt().toString(), + onChanged: _onInputChanged((val) { + final s = (val.clamp(0.0, 100.0)) / 100.0; + onChanged?.call(value.changeToHSVSaturation(s)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 100), + ], + ), + ), + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorValue), + keyboardType: TextInputType.number, + value: (value.hsvVal * 100).toInt().toString(), + onChanged: _onInputChanged((val) { + final v = (val.clamp(0.0, 100.0)) / 100.0; + onChanged?.call(value.changeToHSVValue(v)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 100), + ], + ), + ), + if (showAlpha) + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorAlpha), + keyboardType: TextInputType.number, + value: (value.opacity * 100).toInt().toString(), + onChanged: _onInputChanged((val) { + final a = (val.clamp(0.0, 100.0)) / 100.0; + onChanged?.call(value.changeToOpacity(a)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 100), + ], + ), + ), + ]; + } + + String _toHex() { + int r = value.red.toInt(); + int g = value.green.toInt(); + int b = value.blue.toInt(); + return '#${r.toRadixString(16).padLeft(2, '0')}${g.toRadixString(16).padLeft(2, '0')}${b.toRadixString(16).padLeft(2, '0')}'; + } + + /// Builds HEX color input widgets. + List buildHEXInputs(BuildContext context) { + final locale = ShadcnLocalizations.of(context); + return [ + SizedBox( + width: 100, + child: _ColorValueInput( + placeholder: Text(locale.colorPickerTabHEX), + keyboardType: TextInputType.text, + value: _toHex(), + onChanged: (val) { + var hex = val.trim(); + if (hex.startsWith('#')) { + hex = hex.substring(1); + } + if (hex.length == 6) { + final r = int.parse(hex.substring(0, 2), radix: 16); + final g = int.parse(hex.substring(2, 4), radix: 16); + final b = int.parse(hex.substring(4, 6), radix: 16); + onChanged?.call( + value + .changeToColorRed(r.toDouble()) + .changeToColorGreen(g.toDouble()) + .changeToColorBlue(b.toDouble()), + ); + } + }, + inputFormatters: [ + TextInputFormatters.hex(hashPrefix: true), + ], + ), + ), + if (showAlpha) + SizedBox( + width: 64, + child: _ColorValueInput( + placeholder: Text(locale.colorAlpha), + keyboardType: TextInputType.number, + value: (value.opacity * 100).toInt().toString(), + onChanged: _onInputChanged((val) { + final a = (val.clamp(0.0, 100.0)) / 100.0; + onChanged?.call(value.changeToOpacity(a)); + }), + inputFormatters: [ + TextInputFormatters.integerOnly(min: 0, max: 100), + ], + ), + ), + ]; + } +} + +// Removed _FocusBuilder in favor of _ColorValueInput which internally +// handles focus state and onChanged gating. + +class _ColorValueInput extends StatefulWidget { + final String value; + final Widget? placeholder; + final ValueChanged? onChanged; + final List? inputFormatters; + final TextInputType? keyboardType; + const _ColorValueInput({ + required this.value, + this.placeholder, + this.onChanged, + this.inputFormatters, + this.keyboardType, + }); + + @override + State<_ColorValueInput> createState() => _ColorValueInputState(); +} + +class _ColorValueInputState extends State<_ColorValueInput> { + late TextEditingController _controller; + bool _focused = false; + + @override + void initState() { + super.initState(); + _controller = TextEditingController(text: widget.value); + } + + @override + void didUpdateWidget(covariant _ColorValueInput oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.value != widget.value && !_focused) { + _controller.text = widget.value; + } + } + + @override + Widget build(BuildContext context) { + return Focus( + onFocusChange: (focused) { + setState(() { + _focused = focused; + }); + }, + child: TextField( + placeholder: widget.placeholder, + keyboardType: widget.keyboardType, + controller: _controller, + onChanged: widget.onChanged != null + ? (val) { + if (_focused) { + widget.onChanged!(val); + } + } + : null, + inputFormatters: widget.inputFormatters, + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/solid/eye_dropper.dart b/third_party/shadcn_flutter/lib/src/components/form/color/solid/eye_dropper.dart new file mode 100644 index 00000000..e92dcda7 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/solid/eye_dropper.dart @@ -0,0 +1,539 @@ +import 'dart:async'; +import 'dart:ui' as ui; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/rendering.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A function that builds a preview label widget for the eye dropper. +/// +/// Parameters: +/// - [context]: The build context. +/// - [color]: The currently selected color under the cursor. +/// +/// Returns: A widget to display as the color preview label. +typedef PreviewLabelBuilder = Widget Function( + BuildContext context, Color color); + +/// A layer widget that provides eye dropper (color picking) functionality. +/// +/// [EyeDropperLayer] wraps its child widget and enables screen color sampling. +/// When active, it displays a magnified preview of the area under the cursor +/// and allows users to pick colors directly from the screen. +/// +/// Features: +/// - Magnified preview of screen area +/// - Customizable preview size and scale +/// - Optional color label display +/// - Flexible preview positioning +/// +/// Example: +/// ```dart +/// EyeDropperLayer( +/// child: MyApp(), +/// showPreview: true, +/// previewScale: 10, +/// previewLabelBuilder: (context, color) { +/// return Text('Color: ${colorToHex(color)}'); +/// }, +/// ) +/// ``` +class EyeDropperLayer extends StatefulWidget { + /// The child widget to wrap. + final Widget child; + + /// Alignment of the preview overlay. + final AlignmentGeometry? previewAlignment; + + /// Whether to show the magnified preview. + final bool showPreview; + + /// Size of the preview overlay. + final Size? previewSize; + + /// Magnification scale of the preview. + final double previewScale; + + /// Builder for custom preview label widgets. + final PreviewLabelBuilder? previewLabelBuilder; + + /// Creates an [EyeDropperLayer]. + const EyeDropperLayer({ + super.key, + required this.child, + this.previewAlignment, + this.showPreview = true, + this.previewSize, + this.previewScale = 8, + this.previewLabelBuilder, + }); + + @override + State createState() => _EyeDropperLayerState(); +} + +class _ScreenshotResult { + final List colors; + final Size size; + final ImageProvider? image; + + _ScreenshotResult(this.colors, this.size, this.image); + + Color operator [](Offset position) { + int index = + (position.dy.floor() * size.width + position.dx.floor()).toInt(); + return colors[index]; + } +} + +class _ScreenshotImage extends ImageProvider<_ScreenshotImage> { + _ScreenshotImage(this.bytes, this.width, this.height, this.format); + + final Uint8List bytes; + final int width; + final int height; + final ui.PixelFormat format; + + @override + Future<_ScreenshotImage> obtainKey(ImageConfiguration configuration) { + return SynchronousFuture<_ScreenshotImage>(this); + } + + @override + ImageStreamCompleter loadImage( + _ScreenshotImage key, ImageDecoderCallback decode) { + Completer completer = Completer(); + ui.decodeImageFromPixels(bytes, width, height, format, completer.complete); + return OneFrameImageStreamCompleter( + completer.future.then((ui.Image image) => ImageInfo(image: image))); + } +} + +class _EyeDropperCompleter { + final Completer completer; + final Set recentColorsScope; + + _EyeDropperCompleter(this.completer, this.recentColorsScope); +} + +class _EyeDropperLayerState extends State + implements EyeDropperLayerScope { + final GlobalKey _repaintKey = GlobalKey(); + _ScreenshotResult? _currentPicking; + EyeDropperResult? _preview; + Offset? _currentPosition; + _EyeDropperCompleter? _session; + + Widget _buildPreviewLabel(BuildContext context, Color color) { + if (widget.previewLabelBuilder != null) { + return widget.previewLabelBuilder!(context, color); + } + return Text(colorToHex(color, false)).small().muted(); + } + + @override + Future promptPickColor([ColorHistoryStorage? historyStorage]) async { + if (!mounted) { + return Future.value(null); + } + if (_session != null) { + if (historyStorage != null && + _session!.recentColorsScope.add(historyStorage)) { + return _session!.completer.future.then((value) { + if (value != null) { + historyStorage.addHistory(value); + } + return value; + }); + } + return _session!.completer.future; + } + final completer = Completer(); + final screenshot = await _screenshotWidget(); + setState(() { + _session = _EyeDropperCompleter( + completer, + historyStorage != null ? {historyStorage} : {}, + ); + _currentPicking = screenshot; + }); + final result = await completer.future; + if (historyStorage != null && result != null) { + historyStorage.addHistory(result); + } + return result; + } + + Future<_ScreenshotResult?> _screenshotWidget() async { + final currentContext = _repaintKey.currentContext; + if (currentContext == null) return null; + final boundary = currentContext.findRenderObject() as RenderRepaintBoundary; + final image = await boundary.toImage(pixelRatio: 1); + final byteData = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + if (byteData == null) return null; + final colors = []; + for (int i = 0; i < byteData.lengthInBytes; i += 4) { + final r = byteData.getUint8(i); + final g = byteData.getUint8(i + 1); + final b = byteData.getUint8(i + 2); + final a = byteData.getUint8(i + 3); + colors.add(Color.fromARGB(a, r, g, b)); + } + final img = _ScreenshotImage(byteData.buffer.asUint8List(), image.width, + image.height, ui.PixelFormat.rgba8888); + return _ScreenshotResult( + colors, Size(image.width.toDouble(), image.height.toDouble()), img); + } + + EyeDropperResult? _getPreview(Offset globalPosition, Size size) { + final image = _currentPicking; + if (image == null) return null; + final colors = []; + for (int y = -size.height ~/ 2; y < size.height ~/ 2; y++) { + for (int x = -size.width ~/ 2; x < size.width ~/ 2; x++) { + final localPosition = + globalPosition.translate(x.toDouble(), y.toDouble()); + if (localPosition.dx < 0 || + localPosition.dy < 0 || + localPosition.dx >= image.size.width || + localPosition.dy >= image.size.height) { + colors.add(Colors.transparent); + } else { + colors.add(image[localPosition]); + } + } + } + final globalIndex = globalPosition.dy.floor() * image.size.width.floor() + + globalPosition.dx.floor(); + final pickedColor = image.colors[globalIndex]; + return EyeDropperResult(colors, size, pickedColor); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final previewSize = + widget.previewSize ?? const Size(100, 100) * theme.scaling; + return ForwardableData( + data: this, + child: Data.inherit( + data: this, + child: GestureDetector( + behavior: HitTestBehavior.translucent, + onTapDown: _preview != null && _session != null + ? (details) async { + _session!.completer.complete(_preview!.pickedColor); + if (mounted) { + setState(() { + _session = null; + _preview = null; + _currentPicking = null; + _currentPosition = null; + }); + } + } + : null, + child: MouseRegion( + hitTestBehavior: HitTestBehavior.translucent, + onHover: _session != null + ? (details) { + setState(() { + _preview = _getPreview( + details.localPosition, + previewSize / widget.previewScale, + ); + _currentPosition = details.localPosition; + }); + } + : null, + child: IgnorePointer( + ignoring: _session != null, + child: Stack( + fit: StackFit.passthrough, + children: [ + RepaintBoundary( + key: _repaintKey, + child: widget.child, + ), + if (_currentPicking != null) + Positioned.fill( + child: Image( + image: _currentPicking!.image!, + fit: BoxFit.fill, + )), + if (widget.showPreview && + _preview != null && + widget.previewAlignment != null) + Positioned( + top: 0, + left: 0, + right: 0, + bottom: 0, + child: Padding( + padding: EdgeInsets.all( + theme.density.baseContainerPadding * + theme.scaling * + 2, + ), + child: Align( + alignment: widget.previewAlignment!, + child: Stack( + clipBehavior: Clip.none, + alignment: Alignment.bottomCenter, + fit: StackFit.passthrough, + children: [ + SizedBox( + width: previewSize.width, + height: previewSize.height, + child: CustomPaint( + painter: _ColorPreviewPainter( + _preview!.colors, + _preview!.size, + theme.colorScheme.border, + 1 * theme.scaling, + theme.colorScheme.primary, + 2 * theme.scaling, + theme.colorScheme.background, + ), + ), + ), + Positioned( + bottom: -18 * theme.scaling, + child: _buildPreviewLabel( + context, + _preview!.pickedColor, + ), + ) + ], + ), + ), + ), + ), + if (widget.showPreview && + _preview != null && + widget.previewAlignment == null) + Positioned( + top: _currentPosition!.dy, + left: _currentPosition!.dx, + child: Stack( + clipBehavior: Clip.none, + alignment: Alignment.bottomCenter, + fit: StackFit.passthrough, + children: [ + SizedBox( + width: previewSize.width, + height: previewSize.height, + child: CustomPaint( + painter: _ColorPreviewPainter( + _preview!.colors, + _preview!.size, + theme.colorScheme.border, + 1 * theme.scaling, + theme.colorScheme.primary, + 2 * theme.scaling, + theme.colorScheme.background, + ), + ), + ), + Positioned( + bottom: -18 * theme.scaling, + child: _buildPreviewLabel( + context, + _preview!.pickedColor, + ), + ) + ], + ), + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +/// Prompts the user to pick a color from the screen using an eye dropper tool. +/// +/// Returns the selected color, or null if the operation was cancelled. +/// Optionally stores the selected color in the provided [storage]. +Future pickColorFromScreen(BuildContext context, + [ColorHistoryStorage? storage]) { + final scope = EyeDropperLayerScope.find(context); + return scope.promptPickColor(storage); +} + +class _ColorPreviewPainter extends CustomPainter { + final List colors; + final Size size; + final Color borderColor; + final double borderWidth; + final Color selectedBorderColor; + final double selectedBorderWidth; + final Color backgroundColor; + + _ColorPreviewPainter( + this.colors, + this.size, + this.borderColor, + this.borderWidth, + this.selectedBorderColor, + this.selectedBorderWidth, + this.backgroundColor, + ); + + @override + void paint(Canvas canvas, Size size) { + // clip it to circle + final clipPath = Path() + ..addOval(Rect.fromLTWH( + 0, 0, size.width.floorToDouble(), size.height.floorToDouble())); + canvas.clipPath(clipPath); + final paint = Paint(); + + // draw the background as background color + paint.color = backgroundColor; + paint.style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH( + 0, 0, size.width.floorToDouble(), size.height.floorToDouble()), + paint); + + // draw the color cells + final cellSize = Size(size.width.floor() / this.size.width.floor(), + size.height.floor() / this.size.height.floor()); + for (int y = 0; y < this.size.height.floor(); y++) { + for (int x = 0; x < this.size.width.floor(); x++) { + final color = colors[y * this.size.width.floor() + x]; + paint.color = color; + paint.style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH( + (x * cellSize.width).floorToDouble(), + (y * cellSize.height).floorToDouble(), + cellSize.width.floorToDouble(), + cellSize.height.floorToDouble()), + paint, + ); + paint.color = borderColor; + paint.style = PaintingStyle.stroke; + paint.strokeWidth = borderWidth; + // draw a border + canvas.drawRect( + Rect.fromLTWH( + (x * cellSize.width).floorToDouble(), + (y * cellSize.height).floorToDouble(), + cellSize.width.floorToDouble(), + cellSize.height.floorToDouble()) + .inflate(paint.strokeWidth / 2), + paint, + ); + } + } + // draw a rect for the selected color at center + paint.color = selectedBorderColor; + paint.style = PaintingStyle.stroke; + paint.strokeWidth = selectedBorderWidth; + final centerX = size.width ~/ 2; + final centerY = size.height ~/ 2; + final cellX = centerX ~/ cellSize.width; + final cellY = centerY ~/ cellSize.height; + canvas.drawRect( + Rect.fromLTWH( + (cellX * cellSize.width).floorToDouble(), + (cellY * cellSize.height).floorToDouble(), + cellSize.width.floorToDouble(), + cellSize.height.floorToDouble(), + ), + paint, + ); + // add circle border, and make sure it is not clipped + paint.color = borderColor; + paint.style = PaintingStyle.stroke; + paint.strokeWidth = borderWidth; + canvas.drawOval( + Rect.fromLTWH( + 0, 0, size.width.floorToDouble(), size.height.floorToDouble()), + paint); + } + + @override + bool shouldRepaint(covariant _ColorPreviewPainter oldDelegate) { + return !listEquals(oldDelegate.colors, colors) || + oldDelegate.size != size || + oldDelegate.borderColor != borderColor || + oldDelegate.borderWidth != borderWidth || + oldDelegate.selectedBorderColor != selectedBorderColor || + oldDelegate.selectedBorderWidth != selectedBorderWidth; + } +} + +/// Provides access to eye dropper functionality in the widget tree. +/// +/// [EyeDropperLayerScope] is an abstract interface that allows widgets to +/// request color picking functionality from an ancestor [EyeDropperLayer]. +/// Use the static methods to find the scope in the widget tree. +abstract class EyeDropperLayerScope { + /// Prompts the user to pick a color from the screen. + /// + /// Parameters: + /// - [historyStorage]: Optional storage for color picking history. + /// + /// Returns: A [Future] that completes with the picked color, or null if cancelled. + Future promptPickColor([ColorHistoryStorage? historyStorage]); + + /// Finds the root [EyeDropperLayerScope] in the widget tree. + /// + /// Searches up the tree to find the topmost eye dropper scope. + static EyeDropperLayerScope findRoot(BuildContext context) { + return Data.maybeFindRoot(context) ?? + Data.maybeFindMessenger(context) ?? + (throw FlutterError( + 'No EyeDropperLayerScope found in context. Make sure to wrap your widget tree with an EyeDropperLayer.', + )); + } + + /// Finds the nearest [EyeDropperLayerScope] in the widget tree. + /// + /// Searches up the tree to find the closest eye dropper scope. + static EyeDropperLayerScope find(BuildContext context) { + return Data.maybeFind(context) ?? + Data.maybeFindMessenger(context) ?? + (throw FlutterError( + 'No EyeDropperLayerScope found in context. Make sure to wrap your widget tree with an EyeDropperLayer.', + )); + } +} + +/// Represents the result of an eye dropper color picking operation. +/// +/// [EyeDropperResult] contains the picked color along with all colors +/// captured in the sampling area. This allows for accessing individual +/// pixels from the captured region. +class EyeDropperResult { + /// The size of the captured area. + final Size size; + + /// All colors in the captured area, stored row by row. + final List colors; + + /// The specific color that was picked by the user. + final Color pickedColor; + + /// Creates an [EyeDropperResult]. + const EyeDropperResult(this.colors, this.size, this.pickedColor); + + /// Gets the color at the specified position in the captured area. + /// + /// Parameters: + /// - [position]: The offset position within the captured area. + /// + /// Returns: The color at that position. + Color operator [](Offset position) { + int index = + (position.dy.floor() * size.width + position.dx.floor()).toInt(); + return colors[index]; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/solid/history.dart b/third_party/shadcn_flutter/lib/src/components/form/color/solid/history.dart new file mode 100644 index 00000000..f0322c00 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/solid/history.dart @@ -0,0 +1,335 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A grid widget that displays a history of previously used colors. +/// +/// [ColorHistoryGrid] presents colors from a [ColorHistoryStorage] in a grid +/// layout, allowing users to quickly reuse recently selected colors. The grid +/// can highlight the currently selected color and supports custom layouts. +/// +/// Example: +/// ```dart +/// ColorHistoryGrid( +/// storage: myColorHistory, +/// onColorPicked: (color) { +/// print('Selected from history: $color'); +/// }, +/// crossAxisCount: 8, +/// ) +/// ``` +class ColorHistoryGrid extends StatelessWidget { + /// The storage containing the color history. + final ColorHistoryStorage storage; + + /// Called when a color from the history is picked. + final ValueChanged? onColorPicked; + + /// Spacing between grid items. + final double? spacing; + + /// Number of columns in the grid. + final int crossAxisCount; + + /// The currently selected color to highlight. + final Color? selectedColor; + + /// The amount of colors to display in the history. + final int? maxTotalColors; + + /// Creates a [ColorHistoryGrid]. + const ColorHistoryGrid({ + super.key, + required this.storage, + this.onColorPicked, + this.spacing, + this.crossAxisCount = 10, + this.selectedColor, + this.maxTotalColors, + }); + + Widget _buildGridTile(BuildContext context, Color? color, ThemeData theme) { + if (color == null) { + return const AspectRatio( + aspectRatio: 1, + child: Button( + style: ButtonStyle.outline( + density: ButtonDensity.compact, + ), + child: SizedBox.shrink(), + ), + ); + } + return Container( + decoration: selectedColor != null && color == selectedColor + ? BoxDecoration( + border: Border.all( + color: theme.colorScheme.primary, width: 2 * theme.scaling), + borderRadius: BorderRadius.circular(theme.radiusMd), + ) + : null, + child: AspectRatio( + aspectRatio: 1, + child: Button( + style: const ButtonStyle.outline( + density: ButtonDensity.compact, + ), + onPressed: () { + onColorPicked?.call(color); + }, + child: Stack( + children: [ + Positioned.fill( + // readjust to prevent visual glitch + top: selectedColor != null && color == selectedColor ? -2 : 0, + left: selectedColor != null && color == selectedColor ? -2 : 0, + child: ClipRRect( + borderRadius: theme.borderRadiusSm, + child: CustomPaint( + painter: AlphaPainter(), + ), + ), + ), + Positioned.fill( + child: Container( + color: color, + ), + ), + ], + ), + ), + ), + ); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + double spacing = this.spacing ?? (4 * theme.scaling); + return ListenableBuilder( + listenable: storage, + builder: (context, child) { + List rows = []; + for (int i = 0; + i < storage.capacity && + (maxTotalColors == null || i < maxTotalColors!); + i += crossAxisCount) { + List tiles = []; + for (int j = 0; j < crossAxisCount; j++) { + final index = i + j; + final color = index < storage.recentColors.length + ? storage.recentColors[index] + : null; + if (index >= storage.capacity || + (maxTotalColors != null && index >= maxTotalColors!)) { + tiles.add( + const Expanded( + child: SizedBox(), + ), + ); + } else { + tiles.add( + Expanded( + child: SizedBox( + width: 32 * theme.scaling, + height: 32 * theme.scaling, + child: _buildGridTile(context, color, theme), + ), + ), + ); + } + if (j < crossAxisCount - 1) { + tiles.add(Gap(spacing)); + } + } + rows.add(IntrinsicHeight( + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: tiles, + ), + )); + if (i < storage.capacity - crossAxisCount) { + rows.add(Gap(spacing)); + } + } + return IntrinsicWidth( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: rows, + ), + ); + }).constrained( + minHeight: 100, + ); + } +} + +/// An abstract interface for storing and managing color history. +/// +/// [ColorHistoryStorage] defines the contract for color history management, +/// including adding new colors, clearing history, and accessing recent colors. +/// Implementations should provide storage mechanisms (in-memory, persistent, etc.). +abstract class ColorHistoryStorage implements Listenable { + /// Adds a color to the history. + /// + /// Parameters: + /// - [color]: The color to add to the history. + void addHistory(Color color); + + /// Replaces the entire color history with a new list. + /// + /// Parameters: + /// - [colors]: The new list of colors to set as the history. + void setHistory(List colors); + + /// Clears all colors from the history. + void clear(); + + /// The maximum number of colors that can be stored in the history. + int get capacity; + + /// The list of recent colors, ordered from most to least recent. + List get recentColors; + + /// Finds and listens the [ColorHistoryStorage] in the widget tree. + static ColorHistoryStorage of(BuildContext context) { + return Data.of(context); + } + + /// Finds the [ColorHistoryStorage] in the widget tree. + static ColorHistoryStorage find(BuildContext context) { + return Data.maybeFind(context) ?? + Data.maybeFindMessenger(context) ?? + (throw FlutterError( + 'No ColorHistoryStorage found in context. Make sure to wrap your widget tree with a RecentColorsScope.', + )); + } +} + +/// Provides color history storage in the widget tree. +/// +/// [RecentColorsScope] manages a list of recently used colors and makes it +/// available to descendant widgets through [ColorHistoryStorage]. It supports +/// a configurable maximum capacity and notifies listeners of changes. +/// +/// Example: +/// ```dart +/// RecentColorsScope( +/// maxRecentColors: 20, +/// onRecentColorsChanged: (colors) { +/// // Save colors to persistent storage +/// }, +/// child: MyColorPicker(), +/// ) +/// ``` +class RecentColorsScope extends StatefulWidget { + /// Initial colors to populate the history. + final List initialRecentColors; + + /// Maximum number of colors to keep in the history. + final int maxRecentColors; + + /// Called when the recent colors list changes. + final ValueChanged>? onRecentColorsChanged; + + /// The child widget. + final Widget child; + + /// Creates a [RecentColorsScope]. + const RecentColorsScope({ + super.key, + this.initialRecentColors = const [], + this.maxRecentColors = 50, + this.onRecentColorsChanged, + required this.child, + }); + + @override + State createState() => RecentColorsScopeState(); +} + +class _ColorListNotifier extends ChangeNotifier { + List _recentColors; + + _ColorListNotifier(this._recentColors); + + void _notify() { + notifyListeners(); + } +} + +/// State class for [RecentColorsScope] implementing color history storage. +/// +/// Manages the list of recently used colors and provides storage functionality +/// for color history tracking. +class RecentColorsScopeState extends State + implements ColorHistoryStorage { + late _ColorListNotifier _recentColors; + + @override + int get capacity => widget.maxRecentColors; + + @override + void initState() { + super.initState(); + _recentColors = _ColorListNotifier(List.from(widget.initialRecentColors)); + } + + @override + List get recentColors => + List.unmodifiable(_recentColors._recentColors); + + @override + void addHistory(Color color) { + var recentColors = _recentColors._recentColors; + if (recentColors.contains(color)) { + recentColors.remove(color); + } + recentColors.insert(0, color); + if (recentColors.length > widget.maxRecentColors) { + recentColors.removeLast(); + } + widget.onRecentColorsChanged?.call(recentColors); + _recentColors._notify(); + } + + @override + void dispose() { + super.dispose(); + _recentColors.dispose(); + } + + @override + void clear() { + _recentColors._recentColors.clear(); + widget.onRecentColorsChanged?.call(recentColors); + _recentColors._notify(); + } + + @override + void setHistory(List colors) { + _recentColors._recentColors = colors; + widget.onRecentColorsChanged?.call(recentColors); + _recentColors._notify(); + } + + @override + Widget build(BuildContext context) { + return ForwardableData( + data: this, + child: Data.inherit( + data: this, + child: widget.child, + ), + ); + } + + @override + void addListener(VoidCallback listener) { + _recentColors.addListener(listener); + } + + @override + void removeListener(VoidCallback listener) { + _recentColors.removeListener(listener); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/alpha.dart b/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/alpha.dart new file mode 100644 index 00000000..4b1780c5 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/alpha.dart @@ -0,0 +1,48 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A custom painter that draws a checkboard pattern for alpha/transparency visualization. +/// +/// [AlphaPainter] renders a two-tone checkerboard pattern typically used behind +/// semi-transparent colors to make the transparency visible. This is a common +/// pattern in color pickers and image editors. +class AlphaPainter extends CustomPainter { + /// Primary color for the checkerboard pattern. + static const Color checkboardPrimary = Color(0xFFE0E0E0); + + /// Secondary color for the checkerboard pattern. + static const Color checkboardSecondary = Color(0xFFB0B0B0); + + /// Size of each checkerboard square. + static const double checkboardSize = 8.0; + + @override + void paint(Canvas canvas, Size size) { + final paint = Paint() + ..style = PaintingStyle.fill + ..color = checkboardPrimary; + canvas.drawRect(Offset.zero & size, paint); + paint.color = checkboardSecondary; + for (var i = 0.0; i < size.width; i += checkboardSize) { + for (var j = 0.0; j < size.height; j += checkboardSize) { + if ((i / checkboardSize).floor() % 2 == 0) { + if ((j / checkboardSize).floor() % 2 == 0) { + canvas.drawRect( + Rect.fromLTWH(i, j, checkboardSize, checkboardSize), + paint, + ); + } + } else { + if ((j / checkboardSize).floor() % 2 != 0) { + canvas.drawRect( + Rect.fromLTWH(i, j, checkboardSize, checkboardSize), + paint, + ); + } + } + } + } + } + + @override + bool shouldRepaint(covariant AlphaPainter oldDelegate) => false; +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsl.dart b/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsl.dart new file mode 100644 index 00000000..93b35581 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsl.dart @@ -0,0 +1,810 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A slider widget for adjusting HSL color components. +/// +/// [HSLColorSlider] provides an interactive slider for modifying different +/// aspects of an HSL color (hue, saturation, lightness, and combinations). +/// The slider displays a gradient representing the selected color channel(s) +/// and allows users to drag to adjust values. +/// +/// Example: +/// ```dart +/// HSLColorSlider( +/// color: HSLColor.fromColor(Colors.blue), +/// sliderType: HSLColorSliderType.hue, +/// onChanged: (newColor) { +/// print('New hue: ${newColor.hue}'); +/// }, +/// ) +/// ``` +class HSLColorSlider extends StatefulWidget { + /// The current HSL color value. + final HSLColor color; + + /// Called while the slider is being dragged. + final ValueChanged? onChanging; + + /// Called when the slider interaction is complete. + final ValueChanged? onChanged; + + /// The type of HSL component(s) this slider controls. + final HSLColorSliderType sliderType; + + /// Whether to reverse the slider direction. + final bool reverse; + + /// Corner radius for the slider. + final Radius radius; + + /// Padding around the slider. + final EdgeInsets padding; + + /// Creates an [HSLColorSlider]. + const HSLColorSlider({ + super.key, + required this.color, + this.onChanging, + this.onChanged, + required this.sliderType, + this.reverse = false, + this.radius = const Radius.circular(0), + this.padding = const EdgeInsets.all(0), + }); + + @override + State createState() => _HSLColorSliderState(); +} + +class _HSLColorSliderState extends State { + late double _currentHorizontal; + late double _currentVertical; + late double _hue; + late double _saturation; + late double _lightness; + late double _alpha; + + @override + void initState() { + super.initState(); + _currentHorizontal = horizontal; + _currentVertical = vertical; + HSLColor hsl = widget.color; + _hue = hsl.hue; + _saturation = hsl.saturation; + _lightness = hsl.lightness; + _alpha = hsl.alpha; + } + + void _updateColor(Offset localPosition, Size size) { + _currentHorizontal = ((localPosition.dx - widget.padding.left) / + (size.width - widget.padding.horizontal)) + .clamp(0, 1); + _currentVertical = ((localPosition.dy - widget.padding.top) / + (size.height - widget.padding.vertical)) + .clamp(0, 1); + if (widget.reverse) { + if (widget.sliderType == HSLColorSliderType.hueSat) { + _hue = _currentHorizontal * 360; + _saturation = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.hueLum) { + _hue = _currentHorizontal * 360; + _lightness = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.hueAlpha) { + _hue = _currentHorizontal * 360; + _alpha = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.satLum) { + _saturation = _currentHorizontal; + _lightness = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.satAlpha) { + _saturation = _currentHorizontal; + _alpha = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.lumAlpha) { + _lightness = _currentHorizontal; + _alpha = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.hue) { + _hue = _currentHorizontal * 360; + } else if (widget.sliderType == HSLColorSliderType.sat) { + _saturation = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.lum) { + _lightness = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.alpha) { + _alpha = _currentHorizontal; + } + } else { + if (widget.sliderType == HSLColorSliderType.hueSat) { + _hue = _currentVertical * 360; + _saturation = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.hueLum) { + _hue = _currentVertical * 360; + _lightness = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.hueAlpha) { + _hue = _currentVertical * 360; + _alpha = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.satLum) { + _saturation = _currentVertical; + _lightness = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.satAlpha) { + _saturation = _currentVertical; + _alpha = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.lumAlpha) { + _lightness = _currentVertical; + _alpha = _currentHorizontal; + } else if (widget.sliderType == HSLColorSliderType.hue) { + _hue = _currentVertical * 360; + } else if (widget.sliderType == HSLColorSliderType.sat) { + _saturation = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.lum) { + _lightness = _currentVertical; + } else if (widget.sliderType == HSLColorSliderType.alpha) { + _alpha = _currentVertical; + } + } + widget.onChanging?.call(HSLColor.fromAHSL( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _lightness.clamp(0, 1), + )); + } + + @override + void didUpdateWidget(covariant HSLColorSlider oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.color != widget.color) { + HSLColor hsl = widget.color; + _hue = hsl.hue; + _saturation = hsl.saturation; + _lightness = hsl.lightness; + _alpha = hsl.alpha; + _currentHorizontal = horizontal; + _currentVertical = vertical; + } + } + + bool get isSingleChannel { + return widget.sliderType == HSLColorSliderType.hue || + widget.sliderType == HSLColorSliderType.sat || + widget.sliderType == HSLColorSliderType.lum || + widget.sliderType == HSLColorSliderType.alpha; + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + double cursorRadius = theme.scaling * 16; + double radDiv = isSingleChannel ? 4 : 2; + return GestureDetector( + onTapDown: (details) { + _updateColor(details.localPosition, context.size!); + widget.onChanged?.call(HSLColor.fromAHSL( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _lightness.clamp(0, 1), + )); + }, + onPanUpdate: (details) { + setState(() { + _updateColor(details.localPosition, context.size!); + }); + }, + onPanEnd: (details) { + widget.onChanged?.call(HSLColor.fromAHSL( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _lightness.clamp(0, 1), + )); + }, + child: Stack( + clipBehavior: Clip.none, + children: [ + Positioned.fill( + child: RepaintBoundary( + child: ClipRRect( + borderRadius: BorderRadius.all(widget.radius), + child: CustomPaint( + painter: AlphaPainter(), + ), + ), + ), + ), + Positioned.fill( + child: RepaintBoundary( + child: ClipRRect( + borderRadius: BorderRadius.all(widget.radius), + child: CustomPaint( + painter: HSLColorSliderPainter( + sliderType: widget.sliderType, + color: HSLColor.fromAHSL( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _lightness.clamp(0, 1), + ), + reverse: widget.reverse, + ), + ), + ), + ), + ), + Positioned( + left: -cursorRadius / radDiv, + top: -cursorRadius / radDiv, + bottom: -cursorRadius / radDiv, + right: -cursorRadius / radDiv, + child: isSingleChannel + ? (widget.reverse + ? Padding( + padding: EdgeInsets.only( + left: widget.padding.left, + right: widget.padding.right, + ), + child: Align( + alignment: Alignment( + (_currentHorizontal.clamp(0, 1) * 2) - 1, + (_currentVertical.clamp(0, 1) * 2) - 1), + child: Container( + width: cursorRadius, + height: double.infinity, + decoration: BoxDecoration( + color: widget.color.toColor(), + border: Border.all( + color: Colors.white, + width: theme.scaling * 2, + ), + borderRadius: BorderRadius.all(widget.radius), + ), + ), + ), + ) + : Padding( + padding: EdgeInsets.only( + top: widget.padding.top, + bottom: widget.padding.bottom, + ), + child: Align( + alignment: Alignment( + (_currentHorizontal.clamp(0, 1) * 2) - 1, + (_currentVertical.clamp(0, 1) * 2) - 1), + child: Container( + height: cursorRadius, + width: double.infinity, + decoration: BoxDecoration( + color: widget.color.toColor(), + border: Border.all( + color: Colors.white, + width: theme.scaling * 2, + ), + borderRadius: BorderRadius.all(widget.radius), + ), + ), + ), + )) + : Padding( + padding: widget.padding, + child: Align( + alignment: Alignment( + (_currentHorizontal.clamp(0, 1) * 2) - 1, + (_currentVertical.clamp(0, 1) * 2) - 1), + child: Container( + width: cursorRadius, + height: cursorRadius, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: widget.color.toColor(), + border: Border.all( + color: Colors.white, + width: theme.scaling * 2, + ), + ), + ), + ), + ), + ), + ], + ), + ); + } + + double get vertical { + HSLColor hsl = widget.color; + if (widget.reverse) { + if (widget.sliderType == HSLColorSliderType.hueSat) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.hueLum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.hueAlpha) { + return hsl.alpha; + } else if (widget.sliderType == HSLColorSliderType.satLum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.satAlpha) { + return hsl.alpha; + } else if (widget.sliderType == HSLColorSliderType.lumAlpha) { + return hsl.alpha; + } else if (widget.sliderType == HSLColorSliderType.hue) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.sat) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.lum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.alpha) { + return hsl.alpha; + } + } else { + if (widget.sliderType == HSLColorSliderType.hueSat) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.hueLum) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.hueAlpha) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.satLum) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.satAlpha) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.lumAlpha) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.hue) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.sat) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.lum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.alpha) { + return hsl.alpha; + } + } + return 0; + } + + double get horizontal { + HSLColor hsl = widget.color; + if (widget.reverse) { + if (widget.sliderType == HSLColorSliderType.hueSat) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.hueLum) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.hueAlpha) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.satLum) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.satAlpha) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.lumAlpha) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.hue) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.sat) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.lum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.alpha) { + return hsl.alpha; + } + } else { + if (widget.sliderType == HSLColorSliderType.hueSat) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.hueLum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.hueAlpha) { + return hsl.alpha; + } else if (widget.sliderType == HSLColorSliderType.satLum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.satAlpha) { + return hsl.alpha; + } else if (widget.sliderType == HSLColorSliderType.lumAlpha) { + return hsl.alpha; + } else if (widget.sliderType == HSLColorSliderType.hue) { + return hsl.hue / 360; + } else if (widget.sliderType == HSLColorSliderType.sat) { + return hsl.saturation; + } else if (widget.sliderType == HSLColorSliderType.lum) { + return hsl.lightness; + } else if (widget.sliderType == HSLColorSliderType.alpha) { + return hsl.alpha; + } + } + return 0; + } +} + +/// A custom painter for rendering HSL color slider gradients. +/// +/// [HSLColorSliderPainter] draws the gradient background for HSL color sliders, +/// showing the range of possible colors for the selected slider type. The +/// gradient updates based on the current color and slider configuration. +class HSLColorSliderPainter extends CustomPainter { + /// The type of slider being painted. + final HSLColorSliderType sliderType; + + /// The current HSL color. + final HSLColor color; + + /// Whether the gradient direction is reversed. + final bool reverse; + + /// Creates an [HSLColorSliderPainter]. + HSLColorSliderPainter({ + required this.sliderType, + required this.color, + this.reverse = false, + }); + + @override + void paint(Canvas canvas, Size size) { + // disable anti-aliasing + var pp = Paint(); + pp.isAntiAlias = false; + pp.style = PaintingStyle.fill; + var canvasHeight = size.height; + var canvasWidth = size.width; + if (sliderType == HSLColorSliderType.hueSat) { + // if reverse, then its sat hue + if (reverse) { + double width = canvasWidth / 360; + double height = canvasHeight / 100; + // vertical for hue and horizontal for saturation + for (var i = 0; i < 360; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSLColor.fromAHSL(1, i.toDouble(), j / 100, color.lightness); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 360; + // horizontal for hue and vertical for saturation + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 360; j++) { + final result = + HSLColor.fromAHSL(1, j.toDouble(), i / 100, color.lightness); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSLColorSliderType.hueLum) { + // if reverse, then its lum hue + if (reverse) { + double width = canvasWidth / 360; + double height = canvasHeight / 100; + // vertical for hue and horizontal for lightness + for (var i = 0; i < 360; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSLColor.fromAHSL(1, i.toDouble(), color.saturation, j / 100.0); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 360; + // horizontal for hue and vertical for lightness + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 360; j++) { + final result = + HSLColor.fromAHSL(1, j.toDouble(), color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSLColorSliderType.satLum) { + // if reverse, then its lum sat + if (reverse) { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for lightness + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSLColor.fromAHSL(1, color.hue, i / 100, j / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for lightness + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSLColor.fromAHSL(1, color.hue, j / 100, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSLColorSliderType.hueAlpha) { + // if reverse, then its alpha hue + if (reverse) { + double width = canvasWidth / 360; + double height = canvasHeight / 100; + // vertical for hue and horizontal for alpha + for (var i = 0; i < 360; i++) { + for (var j = 0; j < 100; j++) { + final result = HSLColor.fromAHSL( + j / 100.0, i.toDouble(), color.saturation, color.lightness); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 360; + // horizontal for hue and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 360; j++) { + final result = HSLColor.fromAHSL( + i / 100, j.toDouble(), color.saturation, color.lightness); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSLColorSliderType.satAlpha) { + // if reverse, then its alpha sat + if (reverse) { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSLColor.fromAHSL(j / 100, color.hue, i / 100, color.lightness); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSLColor.fromAHSL(i / 100, color.hue, j / 100, color.lightness); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSLColorSliderType.lumAlpha) { + // if reverse, then its alpha lum + if (reverse) { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for lightness and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSLColor.fromAHSL( + j / 100, color.hue, color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for lightness and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSLColor.fromAHSL( + i / 100, color.hue, color.saturation, j / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSLColorSliderType.hue) { + if (reverse) { + double width = canvasWidth / 360; + for (var i = 0; i < 360; i++) { + final result = HSLColor.fromAHSL( + 1, i.toDouble(), color.saturation, color.lightness.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 360; + for (var i = 0; i < 360; i++) { + final result = HSLColor.fromAHSL( + 1, i.toDouble(), color.saturation, color.lightness.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } else if (sliderType == HSLColorSliderType.sat) { + if (reverse) { + double width = canvasWidth / 100; + for (var i = 0; i < 100; i++) { + final result = HSLColor.fromAHSL( + 1, color.hue, i / 100, color.lightness.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 100; + for (var i = 0; i < 100; i++) { + final result = HSLColor.fromAHSL( + 1, color.hue, i / 100, color.lightness.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } else if (sliderType == HSLColorSliderType.lum) { + if (reverse) { + double width = canvasWidth / 100; + for (var i = 0; i < 100; i++) { + final result = + HSLColor.fromAHSL(1, color.hue, color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 100; + for (var i = 0; i < 100; i++) { + final result = + HSLColor.fromAHSL(1, color.hue, color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } else if (sliderType == HSLColorSliderType.alpha) { + if (reverse) { + double width = canvasWidth / 100; + for (var i = 0; i < 100; i++) { + final result = HSLColor.fromAHSL(i / 100, color.hue, color.saturation, + color.lightness.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 100; + for (var i = 0; i < 100; i++) { + final result = HSLColor.fromAHSL(i / 100, color.hue, color.saturation, + color.lightness.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } + } + + @override + bool shouldRepaint(covariant HSLColorSliderPainter oldDelegate) { + if (oldDelegate.reverse != reverse || + oldDelegate.sliderType != sliderType) { + return true; + } + if (sliderType == HSLColorSliderType.hueSat) { + return oldDelegate.color.lightness != color.lightness; + } else if (sliderType == HSLColorSliderType.hueLum) { + return oldDelegate.color.saturation != color.saturation; + } else if (sliderType == HSLColorSliderType.satLum) { + return oldDelegate.color.hue != color.hue; + } else if (sliderType == HSLColorSliderType.alpha) { + return oldDelegate.color.lightness != color.lightness || + oldDelegate.color.saturation != color.saturation || + oldDelegate.color.hue != color.hue; + } else if (sliderType == HSLColorSliderType.hue) { + return oldDelegate.color.lightness != color.lightness || + oldDelegate.color.saturation != color.saturation; + } else if (sliderType == HSLColorSliderType.sat) { + return oldDelegate.color.hue != color.hue || + oldDelegate.color.lightness != color.lightness; + } else if (sliderType == HSLColorSliderType.lum) { + return oldDelegate.color.hue != color.hue || + oldDelegate.color.saturation != color.saturation; + } else if (sliderType == HSLColorSliderType.hueAlpha) { + return oldDelegate.color.lightness != color.lightness; + } else if (sliderType == HSLColorSliderType.satAlpha) { + return oldDelegate.color.hue != color.hue; + } else if (sliderType == HSLColorSliderType.lumAlpha) { + return oldDelegate.color.hue != color.hue; + } + return false; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsv.dart b/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsv.dart new file mode 100644 index 00000000..0cbdcd45 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/color/solid/slider/hsv.dart @@ -0,0 +1,821 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A slider widget for adjusting HSV color components. +/// +/// [HSVColorSlider] provides an interactive slider for modifying different +/// aspects of an HSV color (hue, saturation, value, and combinations). +/// The slider displays a gradient representing the selected color channel(s) +/// and allows users to drag to adjust values. +/// +/// Example: +/// ```dart +/// HSVColorSlider( +/// value: HSVColor.fromColor(Colors.blue), +/// sliderType: HSVColorSliderType.hue, +/// onChanged: (newColor) { +/// print('New hue: ${newColor.hue}'); +/// }, +/// ) +/// ``` +class HSVColorSlider extends StatefulWidget { + /// The current HSV color value. + final HSVColor value; + + /// Called while the slider is being dragged. + final ValueChanged? onChanging; + + /// Called when the slider interaction is complete. + final ValueChanged? onChanged; + + /// The type of HSV component(s) this slider controls. + final HSVColorSliderType sliderType; + + /// Whether to reverse the slider direction. + final bool reverse; + + /// Corner radius for the slider. + final Radius radius; + + /// Padding around the slider. + final EdgeInsets padding; + + /// Creates an [HSVColorSlider]. + const HSVColorSlider({ + super.key, + required this.value, + this.onChanging, + this.onChanged, + required this.sliderType, + this.reverse = false, + this.radius = const Radius.circular(0), + this.padding = const EdgeInsets.all(0), + }); + + @override + State createState() => _HSVColorSliderState(); +} + +class _HSVColorSliderState extends State { + late double _currentHorizontal; + late double _currentVertical; + late double _hue; + late double _saturation; + late double _value; + late double _alpha; + + @override + void initState() { + super.initState(); + _currentHorizontal = horizontal; + _currentVertical = vertical; + HSVColor hsv = widget.value; + _hue = hsv.hue; + _saturation = hsv.saturation; + _value = hsv.value; + _alpha = hsv.alpha; + } + + void _updateColor(Offset localPosition, Size size) { + _currentHorizontal = ((localPosition.dx - widget.padding.left) / + (size.width - widget.padding.horizontal)) + .clamp(0, 1); + _currentVertical = ((localPosition.dy - widget.padding.top) / + (size.height - widget.padding.vertical)) + .clamp(0, 1); + if (widget.reverse) { + if (widget.sliderType == HSVColorSliderType.hueSat) { + _hue = _currentHorizontal * 360; + _saturation = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.hueVal) { + _hue = _currentHorizontal * 360; + _value = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.hueAlpha) { + _hue = _currentHorizontal * 360; + _alpha = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.satVal) { + _saturation = _currentHorizontal; + _value = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.satAlpha) { + _saturation = _currentHorizontal; + _alpha = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.valAlpha) { + _value = _currentHorizontal; + _alpha = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.hue) { + _hue = _currentHorizontal * 360; + } else if (widget.sliderType == HSVColorSliderType.sat) { + _saturation = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.val) { + _value = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.alpha) { + _alpha = _currentHorizontal; + } + } else { + if (widget.sliderType == HSVColorSliderType.hueSat) { + _hue = _currentVertical * 360; + _saturation = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.hueVal) { + _hue = _currentVertical * 360; + _value = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.hueAlpha) { + _hue = _currentVertical * 360; + _alpha = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.satVal) { + _saturation = _currentVertical; + _value = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.satAlpha) { + _saturation = _currentVertical; + _alpha = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.valAlpha) { + _value = _currentVertical; + _alpha = _currentHorizontal; + } else if (widget.sliderType == HSVColorSliderType.hue) { + _hue = _currentVertical * 360; + } else if (widget.sliderType == HSVColorSliderType.sat) { + _saturation = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.val) { + _value = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.alpha) { + _alpha = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.valAlpha) { + _value = _currentHorizontal; + _alpha = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.hue) { + _hue = _currentVertical * 360; + } else if (widget.sliderType == HSVColorSliderType.sat) { + _saturation = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.val) { + _value = _currentVertical; + } else if (widget.sliderType == HSVColorSliderType.alpha) { + _alpha = _currentVertical; + } + } + widget.onChanging?.call(HSVColor.fromAHSV( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _value.clamp(0, 1), + )); + } + + @override + void didUpdateWidget(covariant HSVColorSlider oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.value != widget.value) { + HSVColor hsv = widget.value; + _hue = hsv.hue; + _saturation = hsv.saturation; + _value = hsv.value; + _alpha = hsv.alpha; + _currentHorizontal = horizontal; + _currentVertical = vertical; + } + } + + bool get isSingleChannel { + return widget.sliderType == HSVColorSliderType.hue || + widget.sliderType == HSVColorSliderType.sat || + widget.sliderType == HSVColorSliderType.val || + widget.sliderType == HSVColorSliderType.alpha; + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + double cursorRadius = theme.scaling * 16; + double radDiv = isSingleChannel ? 4 : 2; + return GestureDetector( + onTapDown: (details) { + _updateColor(details.localPosition, context.size!); + widget.onChanged?.call(HSVColor.fromAHSV( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _value.clamp(0, 1), + )); + }, + onPanUpdate: (details) { + setState(() { + _updateColor(details.localPosition, context.size!); + }); + }, + onPanEnd: (details) { + widget.onChanged?.call(HSVColor.fromAHSV( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _value.clamp(0, 1), + )); + }, + child: Stack( + clipBehavior: Clip.none, + children: [ + Positioned.fill( + child: RepaintBoundary( + child: ClipRRect( + borderRadius: BorderRadius.all(widget.radius), + child: CustomPaint( + painter: AlphaPainter(), + ), + ), + ), + ), + Positioned.fill( + child: RepaintBoundary( + child: ClipRRect( + borderRadius: BorderRadius.all(widget.radius), + child: CustomPaint( + painter: HSVColorSliderPainter( + sliderType: widget.sliderType, + color: HSVColor.fromAHSV( + _alpha.clamp(0, 1), + _hue.clamp(0, 360), + _saturation.clamp(0, 1), + _value.clamp(0, 1), + ), + reverse: widget.reverse, + ), + ), + ), + ), + ), + Positioned( + left: -cursorRadius / radDiv, + top: -cursorRadius / radDiv, + bottom: -cursorRadius / radDiv, + right: -cursorRadius / radDiv, + child: isSingleChannel + ? (widget.reverse + ? Padding( + padding: EdgeInsets.only( + left: widget.padding.left, + right: widget.padding.right, + ), + child: Align( + alignment: Alignment( + (_currentHorizontal.clamp(0, 1) * 2) - 1, + (_currentVertical.clamp(0, 1) * 2) - 1), + child: Container( + width: cursorRadius, + height: double.infinity, + decoration: BoxDecoration( + color: widget.value.toColor(), + border: Border.all( + color: Colors.white, + width: theme.scaling * 2, + ), + borderRadius: BorderRadius.all(widget.radius), + ), + ), + ), + ) + : Padding( + padding: EdgeInsets.only( + top: widget.padding.top, + bottom: widget.padding.bottom, + ), + child: Align( + alignment: Alignment( + (_currentHorizontal.clamp(0, 1) * 2) - 1, + (_currentVertical.clamp(0, 1) * 2) - 1), + child: Container( + height: cursorRadius, + width: double.infinity, + decoration: BoxDecoration( + color: widget.value.toColor(), + border: Border.all( + color: Colors.white, + width: theme.scaling * 2, + ), + borderRadius: BorderRadius.all(widget.radius), + ), + ), + ), + )) + : Padding( + padding: widget.padding, + child: Align( + alignment: Alignment( + (_currentHorizontal.clamp(0, 1) * 2) - 1, + (_currentVertical.clamp(0, 1) * 2) - 1), + child: Container( + width: cursorRadius, + height: cursorRadius, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: widget.value.toColor(), + border: Border.all( + color: Colors.white, + width: theme.scaling * 2, + ), + ), + ), + ), + ), + ), + ], + ), + ); + } + + double get vertical { + HSVColor hsv = widget.value; + if (widget.reverse) { + if (widget.sliderType == HSVColorSliderType.hueSat) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.hueVal) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.hueAlpha) { + return hsv.alpha; + } else if (widget.sliderType == HSVColorSliderType.satVal) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.satAlpha) { + return hsv.alpha; + } else if (widget.sliderType == HSVColorSliderType.valAlpha) { + return hsv.alpha; + } else if (widget.sliderType == HSVColorSliderType.hue) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.sat) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.val) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.alpha) { + return hsv.alpha; + } + } else { + if (widget.sliderType == HSVColorSliderType.hueSat) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.hueVal) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.hueAlpha) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.satVal) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.satAlpha) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.valAlpha) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.hue) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.sat) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.val) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.alpha) { + return hsv.alpha; + } + } + return 0; + } + + double get horizontal { + HSVColor hsv = widget.value; + if (widget.reverse) { + if (widget.sliderType == HSVColorSliderType.hueSat) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.hueVal) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.hueAlpha) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.satVal) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.satAlpha) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.valAlpha) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.hue) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.sat) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.val) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.alpha) { + return hsv.alpha; + } + } else { + if (widget.sliderType == HSVColorSliderType.hueSat) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.hueVal) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.hueAlpha) { + return hsv.alpha; + } else if (widget.sliderType == HSVColorSliderType.satVal) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.satAlpha) { + return hsv.alpha; + } else if (widget.sliderType == HSVColorSliderType.valAlpha) { + return hsv.alpha; + } else if (widget.sliderType == HSVColorSliderType.hue) { + return hsv.hue / 360; + } else if (widget.sliderType == HSVColorSliderType.sat) { + return hsv.saturation; + } else if (widget.sliderType == HSVColorSliderType.val) { + return hsv.value; + } else if (widget.sliderType == HSVColorSliderType.alpha) { + return hsv.alpha; + } + } + return 0; + } +} + +/// A custom painter for rendering HSV color slider gradients. +/// +/// [HSVColorSliderPainter] draws the gradient background for HSV color sliders, +/// showing the range of possible colors for the selected slider type. The +/// gradient updates based on the current color and slider configuration. +class HSVColorSliderPainter extends CustomPainter { + /// The type of slider being painted. + final HSVColorSliderType sliderType; + + /// The current HSV color. + final HSVColor color; + + /// Whether the gradient direction is reversed. + final bool reverse; + + /// Creates an [HSVColorSliderPainter]. + HSVColorSliderPainter({ + required this.sliderType, + required this.color, + this.reverse = false, + }); + + @override + void paint(Canvas canvas, Size size) { + // disable anti-aliasing + var pp = Paint(); + pp.isAntiAlias = false; + pp.style = PaintingStyle.fill; + var canvasHeight = size.height; + var canvasWidth = size.width; + if (sliderType == HSVColorSliderType.hueSat) { + // if reverse, then its sat hue + if (reverse) { + double width = canvasWidth / 360; + double height = canvasHeight / 100; + // vertical for hue and horizontal for saturation + for (var i = 0; i < 360; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSVColor.fromAHSV(1, i.toDouble(), j / 100, color.value); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 360; + // horizontal for hue and vertical for saturation + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 360; j++) { + final result = + HSVColor.fromAHSV(1, j.toDouble(), i / 100, color.value); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSVColorSliderType.hueVal) { + // if reverse, then its val hue + if (reverse) { + double width = canvasWidth / 360; + double height = canvasHeight / 100; + // vertical for hue and horizontal for value + for (var i = 0; i < 360; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSVColor.fromAHSV(1, i.toDouble(), color.saturation, j / 100.0); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 360; + // horizontal for hue and vertical for value + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 360; j++) { + final result = + HSVColor.fromAHSV(1, j.toDouble(), color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSVColorSliderType.satVal) { + // if reverse, then its val sat + if (reverse) { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for value + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSVColor.fromAHSV(1, color.hue, i / 100, j / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for value + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSVColor.fromAHSV(1, color.hue, j / 100, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSVColorSliderType.hueAlpha) { + // if reverse, then its alpha hue + if (reverse) { + double width = canvasWidth / 360; + double height = canvasHeight / 100; + // vertical for hue and horizontal for alpha + for (var i = 0; i < 360; i++) { + for (var j = 0; j < 100; j++) { + final result = HSVColor.fromAHSV( + j / 100.0, i.toDouble(), color.saturation, color.value); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 360; + // horizontal for hue and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 360; j++) { + final result = HSVColor.fromAHSV( + i / 100, j.toDouble(), color.saturation, color.value); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSVColorSliderType.satAlpha) { + // if reverse, then its alpha sat + if (reverse) { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSVColor.fromAHSV(j / 100, color.hue, i / 100, color.value); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for saturation and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = + HSVColor.fromAHSV(i / 100, color.hue, j / 100, color.value); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSVColorSliderType.valAlpha) { + // if reverse, then its alpha val + if (reverse) { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for value and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSVColor.fromAHSV( + j / 100, color.hue, color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } else { + double width = canvasWidth / 100; + double height = canvasHeight / 100; + // horizontal for value and vertical for alpha + for (var i = 0; i < 100; i++) { + for (var j = 0; j < 100; j++) { + final result = HSVColor.fromAHSV( + i / 100, color.hue, color.saturation, j / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, j * height, width, height), + paint, + ); + } + } + } + } else if (sliderType == HSVColorSliderType.hue) { + if (reverse) { + double width = canvasWidth / 360; + for (var i = 0; i < 360; i++) { + final result = HSVColor.fromAHSV( + 1, i.toDouble(), color.saturation, color.value.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 360; + for (var i = 0; i < 360; i++) { + final result = HSVColor.fromAHSV( + 1, i.toDouble(), color.saturation, color.value.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } else if (sliderType == HSVColorSliderType.sat) { + if (reverse) { + double width = canvasWidth / 100; + for (var i = 0; i < 100; i++) { + final result = + HSVColor.fromAHSV(1, color.hue, i / 100, color.value.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 100; + for (var i = 0; i < 100; i++) { + final result = + HSVColor.fromAHSV(1, color.hue, i / 100, color.value.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } else if (sliderType == HSVColorSliderType.val) { + if (reverse) { + double width = canvasWidth / 100; + for (var i = 0; i < 100; i++) { + final result = + HSVColor.fromAHSV(1, color.hue, color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 100; + for (var i = 0; i < 100; i++) { + final result = + HSVColor.fromAHSV(1, color.hue, color.saturation, i / 100); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } else if (sliderType == HSVColorSliderType.alpha) { + if (reverse) { + double width = canvasWidth / 100; + for (var i = 0; i < 100; i++) { + final result = HSVColor.fromAHSV( + i / 100, color.hue, color.saturation, color.value.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(i * width, 0, width, canvasHeight), + paint, + ); + } + } else { + double height = canvasHeight / 100; + for (var i = 0; i < 100; i++) { + final result = HSVColor.fromAHSV( + i / 100, color.hue, color.saturation, color.value.clamp(0, 1)); + final paint = pp + ..color = result.toColor() + ..style = PaintingStyle.fill; + canvas.drawRect( + Rect.fromLTWH(0, i * height, canvasWidth, height), + paint, + ); + } + } + } + } + + @override + bool shouldRepaint(covariant HSVColorSliderPainter oldDelegate) { + if (oldDelegate.reverse != reverse || + oldDelegate.sliderType != sliderType) { + return true; + } + if (sliderType == HSVColorSliderType.hueSat) { + return oldDelegate.color.value != color.value; + } else if (sliderType == HSVColorSliderType.hueVal) { + return oldDelegate.color.saturation != color.saturation; + } else if (sliderType == HSVColorSliderType.satVal) { + return oldDelegate.color.hue != color.hue; + } else if (sliderType == HSVColorSliderType.alpha) { + return oldDelegate.color.value != color.value || + oldDelegate.color.saturation != color.saturation || + oldDelegate.color.hue != color.hue; + } else if (sliderType == HSVColorSliderType.hue) { + return oldDelegate.color.saturation != color.saturation || + oldDelegate.color.value != color.value; + } else if (sliderType == HSVColorSliderType.sat) { + return oldDelegate.color.hue != color.hue || + oldDelegate.color.value != color.value; + } else if (sliderType == HSVColorSliderType.val) { + return oldDelegate.color.hue != color.hue || + oldDelegate.color.saturation != color.saturation; + } else if (sliderType == HSVColorSliderType.hueAlpha) { + return oldDelegate.color.value != color.value; + } else if (sliderType == HSVColorSliderType.satAlpha) { + return oldDelegate.color.hue != color.hue; + } else if (sliderType == HSVColorSliderType.valAlpha) { + return oldDelegate.color.hue != color.hue; + } + return false; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/control.dart b/third_party/shadcn_flutter/lib/src/components/form/control.dart new file mode 100644 index 00000000..7c2c6cc5 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/control.dart @@ -0,0 +1,267 @@ +import '../../../shadcn_flutter.dart'; + +/// A mixin that defines the interface for controlling component values. +/// +/// This mixin combines the capabilities of [ValueNotifier] to provide +/// a standardized way for widgets to expose their current value and +/// notify listeners of changes. Components that implement this interface +/// can be controlled programmatically and integrated with form validation +/// systems. +/// +/// The generic type [T] represents the type of value this controller manages. +mixin ComponentController implements ValueNotifier {} + +/// A concrete implementation of [ComponentController] that manages a single value. +/// +/// This controller provides a simple way to programmatically control any +/// component that accepts a [ComponentController]. It extends [ValueNotifier] +/// to provide change notification capabilities. +/// +/// The controller maintains the current value and notifies listeners when +/// the value changes through the inherited [ValueNotifier.value] setter. +/// +/// Example: +/// ```dart +/// final controller = ComponentValueController('initial value'); +/// +/// // Listen to changes +/// controller.addListener(() { +/// print('Value changed to: ${controller.value}'); +/// }); +/// +/// // Update the value +/// controller.value = 'new value'; +/// ``` +class ComponentValueController extends ValueNotifier + implements ComponentController { + /// Creates a [ComponentValueController] with the given initial [value]. + /// + /// The [value] parameter sets the initial state of the controller. + /// Listeners will be notified whenever this value changes. + ComponentValueController(super.value); +} + +/// A mixin that provides a standardized interface for controlled components. +/// +/// This mixin defines the contract that all controlled form components should +/// follow. It provides properties for external control through a controller, +/// initial value specification, change notifications, and enabled state management. +/// +/// Components that use this mixin can be controlled either through a +/// [ComponentController] (for programmatic control) or through direct +/// property values (for declarative control). +/// +/// The generic type [T] represents the type of value this component manages. +mixin ControlledComponent on Widget { + /// The controller for managing this component's value programmatically. + /// + /// When provided, the controller takes precedence over [initialValue] + /// and manages the component's state externally. This is useful for + /// form validation, programmatic value changes, and state persistence. + ComponentController? get controller; + + /// The initial value for this component when no controller is provided. + /// + /// This value is used only when [controller] is null. It sets the + /// component's initial state and is ignored if a controller is present. + T? get initialValue; + + /// Callback invoked when the component's value changes. + /// + /// This callback is called whenever the user interacts with the component + /// or when the value is changed programmatically. The callback receives + /// the new value as its parameter. + ValueChanged? get onChanged; + + /// Whether this component is enabled and accepts user input. + /// + /// When false, the component is displayed in a disabled state and + /// does not respond to user interactions. The visual appearance + /// typically changes to indicate the disabled state. + bool get enabled; +} + +/// Immutable data container for controlled component state. +/// +/// This class encapsulates the three essential pieces of state that +/// controlled components need: the current value, a change callback, +/// and the enabled status. It provides a convenient way to pass +/// this state to widget builders. +/// +/// The generic type [T] represents the type of value being managed. +class ControlledComponentData { + /// The current value of the component. + /// + /// This represents the component's current state and should be + /// used by the UI to display the correct value to the user. + final T value; + + /// Callback to invoke when the value should change. + /// + /// This callback should be called whenever the user interaction + /// or programmatic action requires the value to be updated. + /// The new value should be passed as the parameter. + final ValueChanged onChanged; + + /// Whether the component should accept user input. + /// + /// When false, the component should display in a disabled state + /// and ignore user interactions. + final bool enabled; + + /// Creates a [ControlledComponentData] with the specified state. + /// + /// All parameters are required as they represent the essential + /// state needed for any controlled component to function properly. + /// + /// Parameters: + /// - [value] (T, required): The current value to display + /// - [onChanged] (`ValueChanged`, required): Callback for value changes + /// - [enabled] (bool, required): Whether the component accepts input + const ControlledComponentData({ + required this.value, + required this.onChanged, + required this.enabled, + }); +} + +/// A widget adapter that bridges controlled component logic with custom UI implementations. +/// +/// This adapter provides a standardized way to implement controlled components +/// by handling the common logic for value management, controller integration, +/// and state synchronization. It implements the [ControlledComponent] mixin +/// and manages the lifecycle of value updates between controllers and UI. +/// +/// The adapter supports both controlled mode (with a [controller]) and +/// uncontrolled mode (with an [initialValue]). When a controller is provided, +/// it becomes the source of truth for the component's value. When no controller +/// is provided, the component maintains its own internal state. +/// +/// The generic type [T] represents the type of value this adapter manages. +/// +/// Example: +/// ```dart +/// ControlledComponentAdapter( +/// initialValue: 'Hello', +/// onChanged: (value) => print('Value changed: $value'), +/// builder: (context, data) { +/// return GestureDetector( +/// onTap: () => data.onChanged('${data.value}!'), +/// child: Text(data.value), +/// ); +/// }, +/// ); +/// ``` +class ControlledComponentAdapter extends StatefulWidget + with ControlledComponent { + @override + final T? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final ComponentController? controller; + + /// A builder function that creates the widget UI using the provided state data. + /// + /// This function receives the current [BuildContext] and [ControlledComponentData] + /// containing the current value, change callback, and enabled state. The builder + /// should create a widget that displays the current value and calls the + /// onChanged callback when user interaction occurs. + final Widget Function(BuildContext context, ControlledComponentData data) + builder; + + /// Creates a [ControlledComponentAdapter]. + /// + /// Either [controller] or [initialValue] must be provided to establish + /// the component's initial state. The [builder] function is required + /// and will be called to construct the UI with the current state. + /// + /// Parameters: + /// - [builder] (required): Function that builds the UI using state data + /// - [initialValue] (T?, optional): Initial value when no controller is used + /// - [onChanged] (`ValueChanged?`, optional): Callback for value changes + /// - [controller] (`ComponentController?`, optional): External controller for value management + /// - [enabled] (bool, default: true): Whether the component accepts user input + /// + /// Throws [AssertionError] if neither controller nor initialValue is provided. + /// + /// Example: + /// ```dart + /// ControlledComponentAdapter( + /// initialValue: false, + /// enabled: true, + /// builder: (context, data) => Switch( + /// value: data.value, + /// onChanged: data.enabled ? data.onChanged : null, + /// ), + /// ); + /// ``` + const ControlledComponentAdapter({ + super.key, + required this.builder, + this.initialValue, + this.onChanged, + this.controller, + this.enabled = true, + }) : assert(controller != null || initialValue is T, + 'Either controller or initialValue must be provided'); + + @override + State> createState() => + _ControlledComponentAdapterState(); +} + +class _ControlledComponentAdapterState + extends State> { + late T _value; + + @override + void initState() { + super.initState(); + T? value = widget.controller?.value ?? widget.initialValue; + assert(value is T, 'Either controller or initialValue must be provided'); + _value = value as T; + widget.controller?.addListener(_onControllerChanged); + } + + void _onControllerChanged() { + setState(() { + _value = widget.controller!.value; + }); + } + + @override + void didUpdateWidget(covariant ControlledComponentAdapter oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.controller != widget.controller) { + oldWidget.controller?.removeListener(_onControllerChanged); + widget.controller?.addListener(_onControllerChanged); + } + } + + void _onChanged(T value) { + widget.onChanged?.call(value); + final controller = widget.controller; + if (controller != null) { + controller.value = value; + } else { + setState(() { + _value = value; + }); + } + } + + @override + Widget build(BuildContext context) { + return widget.builder( + context, + ControlledComponentData( + value: _value, + onChanged: _onChanged, + enabled: widget.enabled, + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/date_picker.dart b/third_party/shadcn_flutter/lib/src/components/form/date_picker.dart new file mode 100644 index 00000000..758add28 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/date_picker.dart @@ -0,0 +1,552 @@ +import '../../../shadcn_flutter.dart'; + +/// Theme configuration for [DatePicker] widget styling and behavior. +/// +/// Defines the visual properties and default behaviors for date picker components +/// including presentation modes, calendar views, and popover positioning. Applied +/// globally through [ComponentTheme] or per-instance for customization. +/// +/// Supports comprehensive customization of date picker appearance, initial views, +/// and interaction modes to match application design requirements. +class DatePickerTheme extends ComponentThemeData { + /// Default interaction mode for date picker triggers. + /// + /// Determines whether date selection opens a popover or modal dialog. + /// When null, uses framework default prompt mode behavior. + final PromptMode? mode; + + /// Initial calendar view to display when date picker opens. + /// + /// Specifies the default time period view (month, year, decade, etc.) + /// shown when the calendar interface first appears. When null, uses + /// framework default initial view. + final CalendarView? initialView; + + /// Initial calendar view type for date picker interface. + /// + /// Determines the layout style and interaction pattern of the calendar + /// (grid, list, compact, etc.). When null, uses framework default view type. + final CalendarViewType? initialViewType; + + /// Alignment point on the popover for anchor attachment. + /// + /// Determines where the date picker popover positions itself relative + /// to the anchor widget. When null, uses framework default alignment. + final AlignmentGeometry? popoverAlignment; + + /// Alignment point on the anchor widget for popover positioning. + /// + /// Specifies which part of the trigger widget the popover should align to. + /// When null, uses framework default anchor alignment. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Internal padding applied to the date picker popover content. + /// + /// Controls spacing around the calendar interface within the popover + /// container. When null, uses framework default padding. + final EdgeInsetsGeometry? popoverPadding; + + /// Creates a [DatePickerTheme]. + /// + /// All parameters are optional and fall back to framework defaults when null. + /// The theme can be applied globally or to specific date picker instances. + const DatePickerTheme({ + this.mode, + this.initialView, + this.initialViewType, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + }); + + /// Creates a copy of this theme with specified properties overridden. + DatePickerTheme copyWith({ + ValueGetter? mode, + ValueGetter? initialView, + ValueGetter? initialViewType, + ValueGetter? popoverAlignment, + ValueGetter? popoverAnchorAlignment, + ValueGetter? popoverPadding, + }) { + return DatePickerTheme( + mode: mode == null ? this.mode : mode(), + initialView: initialView == null ? this.initialView : initialView(), + initialViewType: + initialViewType == null ? this.initialViewType : initialViewType(), + popoverAlignment: + popoverAlignment == null ? this.popoverAlignment : popoverAlignment(), + popoverAnchorAlignment: popoverAnchorAlignment == null + ? this.popoverAnchorAlignment + : popoverAnchorAlignment(), + popoverPadding: + popoverPadding == null ? this.popoverPadding : popoverPadding(), + ); + } + + @override + bool operator ==(Object other) { + return other is DatePickerTheme && + other.mode == mode && + other.initialView == initialView && + other.initialViewType == initialViewType && + other.popoverAlignment == popoverAlignment && + other.popoverAnchorAlignment == popoverAnchorAlignment && + other.popoverPadding == popoverPadding; + } + + @override + int get hashCode => Object.hash( + mode, + initialView, + initialViewType, + popoverAlignment, + popoverAnchorAlignment, + popoverPadding, + ); +} + +/// A controller for managing the selected date in a [DatePicker]. +/// +/// [DatePickerController] extends [ValueNotifier] to hold the currently selected +/// date and notify listeners when it changes. Use this to programmatically control +/// the date picker or react to date selection changes. +/// +/// Example: +/// ```dart +/// final controller = DatePickerController(DateTime.now()); +/// controller.addListener(() { +/// print('Selected date: ${controller.value}'); +/// }); +/// ``` +class DatePickerController extends ValueNotifier + with ComponentController { + /// Creates a [DatePickerController] with the specified initial date. + DatePickerController(super.value); +} + +/// A controlled date picker widget with comprehensive date selection features. +/// +/// [ControlledDatePicker] provides a complete date selection interface with +/// customizable presentation modes (popover or modal), calendar views, and +/// flexible positioning. It integrates with [DatePickerController] for +/// programmatic control. +/// +/// Features: +/// - Multiple presentation modes (popover, modal) +/// - Various calendar views (month, year, decade) +/// - Custom date state builders +/// - Flexible positioning +/// - Optional placeholder when no date is selected +/// +/// Example: +/// ```dart +/// ControlledDatePicker( +/// initialValue: DateTime.now(), +/// onChanged: (date) { +/// print('Selected: $date'); +/// }, +/// placeholder: Text('Select a date'), +/// ) +/// ``` +class ControlledDatePicker extends StatelessWidget + with ControlledComponent { + @override + + /// The initial date value. + final DateTime? initialValue; + + @override + + /// Called when the selected date changes. + final ValueChanged? onChanged; + + @override + + /// Whether the date picker is enabled. + final bool enabled; + + @override + + /// Optional controller for programmatic access. + final DatePickerController? controller; + + /// Widget displayed when no date is selected. + final Widget? placeholder; + + /// Presentation mode (popover or modal). + final PromptMode? mode; + + /// Initial calendar view to display. + final CalendarView? initialView; + + /// Popover alignment relative to the anchor. + final AlignmentGeometry? popoverAlignment; + + /// Anchor alignment for popover positioning. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Internal padding for the popover. + final EdgeInsetsGeometry? popoverPadding; + + /// Title for the dialog when using modal mode. + final Widget? dialogTitle; + + /// Initial calendar view type. + final CalendarViewType? initialViewType; + + /// Builder for customizing date cell states. + final DateStateBuilder? stateBuilder; + + /// Creates a [ControlledDatePicker]. + const ControlledDatePicker({ + super.key, + this.controller, + this.initialValue, + this.onChanged, + this.enabled = true, + this.placeholder, + this.mode, + this.initialView, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.dialogTitle, + this.initialViewType, + this.stateBuilder, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + controller: controller, + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + builder: (context, data) { + return DatePicker( + enabled: data.enabled, + value: data.value, + onChanged: data.onChanged, + placeholder: placeholder, + mode: mode, + initialView: initialView, + popoverAlignment: popoverAlignment, + popoverAnchorAlignment: popoverAnchorAlignment, + popoverPadding: popoverPadding, + dialogTitle: dialogTitle, + initialViewType: initialViewType, + stateBuilder: stateBuilder, + ); + }, + ); + } +} + +/// A date picker widget for selecting dates. +/// +/// Provides a date selection interface with calendar view in either +/// popover or dialog mode. +class DatePicker extends StatelessWidget { + /// The currently selected date value. + final DateTime? value; + + /// Callback invoked when the selected date changes. + final ValueChanged? onChanged; + + /// Placeholder widget shown when no date is selected. + final Widget? placeholder; + + /// The display mode for the date picker (popover or dialog). + final PromptMode? mode; + + /// The initial calendar view to display. + final CalendarView? initialView; + + /// Alignment of the popover relative to the anchor. + final AlignmentGeometry? popoverAlignment; + + /// Anchor alignment for the popover. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Padding inside the popover. + final EdgeInsetsGeometry? popoverPadding; + + /// Title widget for the dialog mode. + final Widget? dialogTitle; + + /// The initial calendar view type (date, month, or year). + final CalendarViewType? initialViewType; + + /// Builder function to determine the state of each date. + final DateStateBuilder? stateBuilder; + + /// Whether the date picker is enabled. + final bool? enabled; + + /// Creates a date picker. + const DatePicker({ + super.key, + required this.value, + this.onChanged, + this.placeholder, + this.mode, + this.initialView, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.dialogTitle, + this.initialViewType, + this.stateBuilder, + this.enabled, + }); + + @override + Widget build(BuildContext context) { + ShadcnLocalizations localizations = ShadcnLocalizations.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final resolvedMode = styleValue( + widgetValue: mode, + themeValue: compTheme?.mode, + defaultValue: PromptMode.dialog, + ); + final resolvedAlignment = styleValue( + widgetValue: popoverAlignment, + themeValue: compTheme?.popoverAlignment, + defaultValue: Alignment.topLeft, + ); + final resolvedAnchorAlignment = styleValue( + widgetValue: popoverAnchorAlignment, + themeValue: compTheme?.popoverAnchorAlignment, + defaultValue: Alignment.bottomLeft, + ); + final resolvedPadding = styleValue( + widgetValue: popoverPadding, + themeValue: compTheme?.popoverPadding, + defaultValue: null, + ); + final resolvedInitialView = styleValue( + widgetValue: initialView, + themeValue: compTheme?.initialView, + defaultValue: null, + ); + final resolvedInitialViewType = styleValue( + widgetValue: initialViewType, + themeValue: compTheme?.initialViewType, + defaultValue: CalendarViewType.date, + ); + return ObjectFormField( + dialogTitle: dialogTitle, + enabled: enabled, + popoverAlignment: resolvedAlignment, + popoverAnchorAlignment: resolvedAnchorAlignment, + popoverPadding: resolvedPadding, + value: value, + onChanged: onChanged, + placeholder: placeholder ?? Text(localizations.placeholderDatePicker), + trailing: const Icon(LucideIcons.calendarDays), + builder: (context, value) { + return Text(localizations.formatDateTime(value, showTime: false)); + }, + mode: resolvedMode, + editorBuilder: (context, handler) { + return DatePickerDialog( + initialView: resolvedInitialView, + initialViewType: resolvedInitialViewType, + selectionMode: CalendarSelectionMode.single, + initialValue: handler.value == null + ? null + : CalendarValue.single(handler.value!), + onChanged: (value) { + handler.value = + value == null ? null : (value as SingleCalendarValue).date; + }, + stateBuilder: stateBuilder, + ); + }, + ); + } +} + +/// Represents a range of dates with a start and end time. +/// +/// Immutable value type for representing a continuous period between two dates. +/// Commonly used with date range pickers to specify selected date intervals. +/// +/// Example: +/// ```dart +/// final range = DateTimeRange( +/// DateTime(2024, 1, 1), +/// DateTime(2024, 1, 31), +/// ); +/// ``` +class DateTimeRange { + /// The start date/time of the range. + final DateTime start; + + /// The end date/time of the range. + final DateTime end; + + /// Creates a [DateTimeRange]. + /// + /// Parameters: + /// - [start] (`DateTime`, required): The beginning of the range. + /// - [end] (`DateTime`, required): The end of the range. + const DateTimeRange(this.start, this.end); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is DateTimeRange && other.start == start && other.end == end; + } + + @override + int get hashCode => start.hashCode ^ end.hashCode; + + @override + String toString() { + return 'DateTimeRange{start: $start, end: $end}'; + } + + /// Creates a copy of this range with the given fields replaced. + /// + /// Parameters: + /// - [start] (`ValueGetter?`, optional): New start date. + /// - [end] (`ValueGetter?`, optional): New end date. + /// + /// Returns: A new [DateTimeRange] with updated values. + DateTimeRange copyWith({ + ValueGetter? start, + ValueGetter? end, + }) { + return DateTimeRange( + start == null ? this.start : start(), + end == null ? this.end : end(), + ); + } +} + +/// A widget for selecting a date range. +/// +/// Provides an interactive date range picker that allows users to select a start +/// and end date. Supports both dialog and popover presentation modes with +/// customizable calendar views and state management. +/// +/// Example: +/// ```dart +/// DateRangePicker( +/// value: currentRange, +/// onChanged: (range) => setState(() => currentRange = range), +/// mode: PromptMode.dialog, +/// ) +/// ``` +class DateRangePicker extends StatelessWidget { + /// The currently selected date range. + final DateTimeRange? value; + + /// Callback when the date range changes. + final ValueChanged? onChanged; + + /// Placeholder widget shown when no range is selected. + final Widget? placeholder; + + /// Presentation mode (dialog or popover). + final PromptMode mode; + + /// Initial calendar view to display. + final CalendarView? initialView; + + /// Initial view type (date, month, or year). + final CalendarViewType? initialViewType; + + /// Alignment of popover relative to anchor. + final AlignmentGeometry? popoverAlignment; + + /// Alignment of anchor for popover positioning. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Padding inside the popover. + final EdgeInsetsGeometry? popoverPadding; + + /// Title widget for dialog mode. + final Widget? dialogTitle; + + /// Callback to determine date state (enabled/disabled). + final DateStateBuilder? stateBuilder; + + /// Creates a [DateRangePicker]. + /// + /// Parameters: + /// - [value] (`DateTimeRange?`, required): Current selected range. + /// - [onChanged] (`ValueChanged?`, optional): Called when range changes. + /// - [placeholder] (`Widget?`, optional): Shown when no range selected. + /// - [mode] (`PromptMode`, default: `PromptMode.dialog`): Presentation mode. + /// - [initialView] (`CalendarView?`, optional): Starting calendar view. + /// - [initialViewType] (`CalendarViewType?`, optional): Starting view type. + /// - [popoverAlignment] (`AlignmentGeometry?`, optional): Popover alignment. + /// - [popoverAnchorAlignment] (`AlignmentGeometry?`, optional): Anchor alignment. + /// - [popoverPadding] (`EdgeInsetsGeometry?`, optional): Popover padding. + /// - [dialogTitle] (`Widget?`, optional): Dialog title. + /// - [stateBuilder] (`DateStateBuilder?`, optional): Date state callback. + const DateRangePicker({ + super.key, + required this.value, + this.onChanged, + this.placeholder, + this.mode = PromptMode.dialog, + this.initialView, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.dialogTitle, + this.initialViewType, + this.stateBuilder, + }); + + @override + Widget build(BuildContext context) { + ShadcnLocalizations localizations = ShadcnLocalizations.of(context); + return ObjectFormField( + popoverAlignment: popoverAlignment, + popoverAnchorAlignment: popoverAnchorAlignment, + popoverPadding: popoverPadding, + value: value, + mode: mode, + onChanged: onChanged, + dialogTitle: dialogTitle, + placeholder: placeholder ?? Text(localizations.placeholderDatePicker), + trailing: const Icon(LucideIcons.calendarRange), + builder: (context, value) { + return Text( + '${localizations.formatDateTime(value.start, showTime: false)} - ${localizations.formatDateTime(value.end, showTime: false)}', + ); + }, + editorBuilder: (context, handler) { + DateTimeRange? value = handler.value; + return LayoutBuilder( + builder: (context, constraints) { + return DatePickerDialog( + initialView: initialView, + initialViewType: initialViewType ?? CalendarViewType.date, + selectionMode: CalendarSelectionMode.range, + viewMode: constraints.biggest.width < 500 + ? CalendarSelectionMode.single + : CalendarSelectionMode.range, + initialValue: value == null + ? null + : CalendarValue.range(value.start, value.end), + onChanged: (value) { + if (value == null) { + handler.value = null; + } else { + final range = value.toRange(); + handler.value = DateTimeRange(range.start, range.end); + } + }, + stateBuilder: stateBuilder, + ); + }, + ); + }, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/file_input.dart b/third_party/shadcn_flutter/lib/src/components/form/file_input.dart new file mode 100644 index 00000000..cb027548 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/file_input.dart @@ -0,0 +1,167 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +Widget _buildFileIcon(String extension) { + switch (extension) { + case 'pdf': + return const Icon(BootstrapIcons.filetypePdf); + case 'doc': + case 'docx': + return const Icon(BootstrapIcons.fileWord); + case 'xls': + case 'xlsx': + return const Icon(BootstrapIcons.fileExcel); + case 'ppt': + case 'pptx': + return const Icon(BootstrapIcons.filePpt); + case 'zip': + case 'rar': + return const Icon(BootstrapIcons.fileZip); + case 'jpg': + case 'jpeg': + case 'png': + case 'gif': + return const Icon(BootstrapIcons.fileImage); + case 'mp3': + case 'wav': + return const Icon(BootstrapIcons.fileMusic); + case 'mp4': + case 'avi': + case 'mkv': + return const Icon(BootstrapIcons.filePlay); + default: + return const Icon(BootstrapIcons.file); + } +} + +/// A function that builds a file icon widget based on the file extension. +/// +/// Parameters: +/// - [extension]: The file extension (without the dot). +/// +/// Returns: A widget representing the file type icon. +typedef FileIconBuilder = Widget Function(String extension); + +/// Provides customizable file icons in the widget tree. +/// +/// [FileIconProvider] allows applications to define custom file icons based on +/// file extensions. Icons can be provided either through a builder function or +/// a static map of extensions to widgets. +/// +/// Example using builder: +/// ```dart +/// FileIconProvider.builder( +/// builder: (extension) { +/// if (extension == 'txt') return Icon(Icons.text_snippet); +/// return Icon(Icons.insert_drive_file); +/// }, +/// child: MyFileList(), +/// ) +/// ``` +/// +/// Example using icon map: +/// ```dart +/// FileIconProvider( +/// icons: { +/// 'pdf': Icon(Icons.picture_as_pdf), +/// 'jpg': Icon(Icons.image), +/// }, +/// child: MyFileList(), +/// ) +/// ``` +class FileIconProvider extends StatelessWidget { + /// Builder function for creating file icons. + final FileIconBuilder? builder; + + /// Map of file extensions to icon widgets. + final Map? icons; + + /// The child widget. + final Widget child; + + /// Creates a [FileIconProvider] using a builder function. + const FileIconProvider.builder({ + super.key, + FileIconBuilder this.builder = _buildFileIcon, + required this.child, + }) : icons = null; + + /// Creates a [FileIconProvider] using a static icon map. + const FileIconProvider({ + super.key, + required this.icons, + required this.child, + }) : builder = null; + + @override + Widget build(BuildContext context) { + return Data.inherit( + data: FileIconProviderData._( + builder: builder, + icons: icons, + ), + child: child, + ); + } + + /// Builds a file icon for the given extension using the configured provider. + /// + /// Parameters: + /// - [context]: The build context to find the provider. + /// - [extension]: The file extension (without the dot). + /// + /// Returns: The appropriate icon widget for the file type. + static Widget buildIcon(BuildContext context, String extension) { + final data = Data.of(context); + return data.buildIcon(extension); + } +} + +/// Internal data class for [FileIconProvider]. +/// +/// Stores the configuration for file icon provision and provides +/// a method to build icons based on file extensions. +class FileIconProviderData { + /// Optional builder function for icons. + final FileIconBuilder? builder; + + /// Optional map of extension to icon widgets. + final Map? icons; + + /// Creates internal data for file icon provision. + const FileIconProviderData._({ + this.builder, + this.icons, + }); + + /// Builds an icon for the given file extension. + /// + /// Uses the builder if provided, otherwise checks the icons map, + /// and falls back to the default icon builder. + Widget buildIcon(String extension) { + if (builder != null) return builder!(extension); + final icon = icons?[extension]; + if (icon != null) return icon; + return _buildFileIcon(extension); + } +} + +// +// class SingleFileInput extends StatelessWidget { +// final XFile? file; +// final ValueChanged? onChanged; +// final bool acceptDrop; +// final bool enabled; +// +// const SingleFileInput({ +// super.key, +// this.file, +// this.onChanged, +// this.acceptDrop = false, +// this.enabled = true, +// }); +// +// @override +// Widget build(BuildContext context) { +// throw UnimplementedError(); +// } +// } diff --git a/third_party/shadcn_flutter/lib/src/components/form/file_picker.dart b/third_party/shadcn_flutter/lib/src/components/form/file_picker.dart new file mode 100644 index 00000000..438afdc4 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/file_picker.dart @@ -0,0 +1,146 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +// const fileByteUnits = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; +// const fileBitUnits = ['Bi', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']; +// String formatFileSize(int bytes, List units) { +// if (bytes <= 0) return '0 ${units[0]}'; +// final +// } + +/// A file picker widget for selecting and managing file uploads. +/// +/// **Work in Progress** - This component is under active development and +/// may have incomplete functionality or undergo API changes. +/// +/// Provides a comprehensive interface for file selection with drag-and-drop +/// support, file management capabilities, and customizable presentation. +/// Displays selected files as a list of manageable items with options +/// for adding, removing, and organizing uploaded files. +/// +/// Supports hot drop functionality for drag-and-drop file uploads and +/// provides visual feedback during file operations. The picker can be +/// customized with titles, subtitles, and custom file item presentations. +/// +/// Example: +/// ```dart +/// FilePicker( +/// title: Text('Upload Documents'), +/// subtitle: Text('Drag files here or click to browse'), +/// hotDropEnabled: true, +/// onAdd: () => _selectFiles(), +/// children: selectedFiles.map((file) => +/// FileItem(file: file, onRemove: () => _removeFile(file)) +/// ).toList(), +/// ) +/// ``` +class FilePicker extends StatelessWidget { + /// Title widget displayed above the file picker. + final Widget? title; + + /// Subtitle widget displayed below the title. + final Widget? subtitle; + + /// Whether drag-and-drop functionality is enabled. + final bool hotDropEnabled; + + /// Whether a drag-and-drop operation is currently in progress. + final bool hotDropping; + + /// List of file item widgets to display. + final List children; + + /// Callback when the add file button is pressed. + final VoidCallback? onAdd; + + /// Creates a [FilePicker]. + /// + /// Parameters: + /// - [title] (`Widget?`, optional): Title displayed above picker. + /// - [subtitle] (`Widget?`, optional): Subtitle below title. + /// - [hotDropEnabled] (`bool`, default: `false`): Enable drag-and-drop. + /// - [hotDropping] (`bool`, default: `false`): Currently dropping files. + /// - [onAdd] (`VoidCallback?`, optional): Called when add button pressed. + /// - [children] (`List`, required): File item widgets. + const FilePicker({ + super.key, + this.title, + this.subtitle, + this.hotDropEnabled = false, + this.hotDropping = false, + this.onAdd, + required this.children, + }); + + @override + Widget build(BuildContext context) { + throw UnimplementedError(); + } +} + +/// A widget representing a single file item in a file picker or upload list. +/// +/// [FileItem] displays information about a selected or uploaded file including +/// name, size, type, and optional thumbnail. It provides interactive controls +/// for file management such as remove, retry, download, and preview actions. +/// +/// Supports displaying upload progress for files currently being uploaded and +/// provides visual feedback through thumbnails and status indicators. +/// +/// Example: +/// ```dart +/// FileItem( +/// fileName: Text('document.pdf'), +/// fileSize: Text('1.2 MB'), +/// fileType: Text('PDF'), +/// uploadProgress: 0.75, // 75% uploaded +/// onRemove: () => removeFile(), +/// thumbnail: Icon(Icons.picture_as_pdf), +/// ) +/// ``` +class FileItem extends StatelessWidget { + /// Upload progress from 0.0 to 1.0, or null if not uploading. + final double? uploadProgress; + + /// Called when the remove button is pressed. + final VoidCallback? onRemove; + + /// Called when the retry button is pressed (for failed uploads). + final VoidCallback? onRetry; + + /// Called when the download button is pressed. + final VoidCallback? onDownload; + + /// Optional thumbnail widget for the file. + final Widget? thumbnail; + + /// Called when the preview button is pressed. + final VoidCallback? onPreview; + + /// Widget displaying the file name. + final Widget fileName; + + /// Optional widget displaying the file size. + final Widget? fileSize; + + /// Optional widget displaying the file type/format. + final Widget? fileType; + + /// Creates a [FileItem]. + const FileItem({ + super.key, + this.uploadProgress, + this.onRemove, + this.onRetry, + this.onDownload, + this.thumbnail, + this.onPreview, + required this.fileName, + this.fileSize, + this.fileType, + }); + + @override + Widget build(BuildContext context) { + throw UnimplementedError(); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/form.dart b/third_party/shadcn_flutter/lib/src/components/form/form.dart new file mode 100644 index 00000000..b1028d08 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/form.dart @@ -0,0 +1,3267 @@ +import 'dart:async'; + +import 'package:email_validator/email_validator.dart' as email_validator; +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart' as widgets; + +import '../../../shadcn_flutter.dart'; + +/// Abstract base class for implementing form field validation logic. +/// +/// Validators are responsible for checking the validity of form field values +/// and returning appropriate validation results. They support both synchronous +/// and asynchronous validation through the [FutureOr] return type. +/// +/// Validators can be combined using logical operators: +/// - `&` or `+`: Combines validators (all must pass) +/// - `|`: Creates OR logic (at least one must pass) +/// - `~` or unary `-`: Negates the validator result +/// +/// The generic type [T] represents the type of value being validated. +/// +/// Example: +/// ```dart +/// final validator = RequiredValidator() & +/// MinLengthValidator(3) & +/// EmailValidator(); +/// ``` +abstract class Validator { + /// Creates a [Validator]. + const Validator(); + + /// Validates the given [value] and returns a validation result. + /// + /// This method performs the actual validation logic and should return + /// null if the value is valid, or a [ValidationResult] describing the + /// validation error if invalid. + /// + /// Parameters: + /// - [context] (BuildContext): The build context for localization access + /// - [value] (T?): The value to validate (may be null) + /// - [lifecycle] (FormValidationMode): The current validation trigger mode + /// + /// Returns a `FutureOr` that is null for valid values + /// or contains error information for invalid values. + FutureOr validate( + BuildContext context, T? value, FormValidationMode lifecycle); + + /// Combines this validator with another validator using AND logic. + /// + /// Both validators must pass for the combined validator to be valid. + /// If either validator fails, the combined validator fails. + /// + /// Parameters: + /// - [other] (`Validator`): The validator to combine with this one + /// + /// Returns a new [CompositeValidator] that requires both validators to pass. + /// + /// Example: + /// ```dart + /// final combined = requiredValidator.combine(emailValidator); + /// ``` + Validator combine(Validator other) { + return CompositeValidator([this, other]); + } + + /// Combines this validator with another using AND logic (alias for [combine]). + /// + /// This operator provides a convenient syntax for combining validators + /// where both must pass for validation to succeed. + /// + /// Example: + /// ```dart + /// final validator = RequiredValidator() & EmailValidator(); + /// ``` + Validator operator &(Validator other) { + return combine(other); + } + + /// Combines this validator with another using OR logic. + /// + /// At least one validator must pass for the combined validator to be valid. + /// Only if both validators fail will the combined validator fail. + /// + /// Parameters: + /// - [other] (`Validator`): The validator to combine with this one using OR logic + /// + /// Returns a new [OrValidator] that requires at least one validator to pass. + /// + /// Example: + /// ```dart + /// final validator = emailValidator | phoneValidator; + /// ``` + Validator operator |(Validator other) { + return OrValidator([this, other]); + } + + /// Negates this validator's result. + /// + /// Creates a validator that passes when this validator fails, and + /// fails when this validator passes. Useful for creating inverse + /// validation logic. + /// + /// Returns a [NotValidator] that inverts this validator's result. + /// + /// Example: + /// ```dart + /// final notEmpty = ~EmptyValidator(); + /// ``` + Validator operator ~() { + return NotValidator(this); + } + + /// Negates this validator's result (alias for `~` operator). + /// + /// Provides an alternative syntax for creating negated validators. + /// + /// Example: + /// ```dart + /// final notEmpty = -EmptyValidator(); + /// ``` + Validator operator -() { + return NotValidator(this); + } + + /// Combines this validator with another using AND logic (alias for [combine]). + /// + /// Alternative syntax for combining validators where both must pass. + /// + /// Example: + /// ```dart + /// final validator = requiredValidator + lengthValidator; + /// ``` + Validator operator +(Validator other) { + return combine(other); + } + + /// Determines if this validator should be re-run when the specified form key changes. + /// + /// This method is used for cross-field validation where one field's validity + /// depends on another field's value. Return true if this validator should + /// be re-executed when the specified form field changes. + /// + /// Parameters: + /// - [source] (FormKey): The form key that changed + /// + /// Returns true if validation should be re-run, false otherwise. + /// + /// Example: + /// ```dart + /// @override + /// bool shouldRevalidate(FormKey source) { + /// return source == passwordFieldKey; // Re-validate when password changes + /// } + /// ``` + bool shouldRevalidate(FormKey source) => false; +} + +/// Defines when form field validation should occur during the component lifecycle. +/// +/// This enumeration controls the timing of validation execution, allowing +/// fine-grained control over when validation logic runs. Different validation +/// modes can be used to optimize user experience and performance. +enum FormValidationMode { + /// Validation occurs when the field is first created or initialized. + /// + /// This mode runs validation immediately when a form field is created, + /// which can be useful for fields with default values that need immediate + /// validation feedback. + initial, + + /// Validation occurs when the field value changes. + /// + /// This is the most common validation mode, providing immediate feedback + /// as users interact with form fields. Validation runs after each value + /// change event. + changed, + + /// Validation occurs when the form is submitted. + /// + /// This mode defers validation until form submission, reducing interruptions + /// during user input. Useful for complex validations that should only run + /// when the user attempts to submit the form. + submitted, +} + +/// A validator wrapper that controls when validation occurs based on form lifecycle. +/// +/// [ValidationMode] wraps another validator and only executes it during specific +/// validation modes. This allows fine-grained control over when validation rules +/// are applied during the form lifecycle (initial load, value changes, submission). +/// +/// Example: +/// ```dart +/// ValidationMode( +/// EmailValidator(), +/// mode: {FormValidationMode.changed, FormValidationMode.submitted}, +/// ) +/// ``` +class ValidationMode extends Validator { + /// The underlying validator to execute when mode conditions are met. + final Validator validator; + + /// The set of validation modes during which this validator should run. + final Set mode; + + /// Creates a [ValidationMode] that conditionally validates based on lifecycle mode. + const ValidationMode(this.validator, + {this.mode = const { + FormValidationMode.changed, + FormValidationMode.submitted, + FormValidationMode.initial + }}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode lifecycle) { + if (mode.contains(lifecycle)) { + return validator.validate(context, value, lifecycle); + } + return null; + } + + @override + operator ==(Object other) { + return other is ValidationMode && + other.validator == validator && + other.mode == mode; + } + + @override + int get hashCode => Object.hash(validator, mode); +} + +/// A function type that evaluates a condition on a value and returns a boolean result. +/// +/// This type alias represents a predicate function that can be either synchronous +/// or asynchronous, accepting a nullable value of type [T] and returning either +/// a boolean or a `Future`. Used primarily for conditional validation logic. +/// +/// The generic type [T] represents the type of value being evaluated. +/// +/// Example: +/// ```dart +/// FuturePredicate isValidEmail = (value) async { +/// if (value == null) return false; +/// return await validateEmailOnServer(value); +/// }; +/// ``` +typedef FuturePredicate = FutureOr Function(T? value); + +/// A widget that prevents form components from submitting their values to form controllers. +/// +/// This widget creates a boundary that blocks form-related data propagation, +/// effectively isolating child components from parent form controllers. When +/// [ignoring] is true, any form components within the child widget tree will +/// not participate in form validation or data collection. +/// +/// This is useful for creating UI components that look like form fields but +/// should not be included in form submission or validation, such as search +/// fields, filters, or decorative input elements. +/// +/// Example: +/// ```dart +/// Form( +/// child: Column( +/// children: [ +/// TextInput(label: 'Name'), // Participates in form +/// IgnoreForm( +/// child: TextInput(label: 'Search'), // Ignored by form +/// ), +/// ], +/// ), +/// ); +/// ``` +class IgnoreForm extends StatelessWidget { + /// Whether to ignore form participation for child components. + /// + /// When true, creates a boundary that prevents child form components + /// from registering with parent form controllers. When false, child + /// components behave normally and participate in form operations. + final bool ignoring; + + /// The widget subtree to optionally isolate from form participation. + final Widget child; + + /// Creates an [IgnoreForm] widget. + /// + /// Parameters: + /// - [child] (Widget, required): The widget subtree to wrap + /// - [ignoring] (bool, default: true): Whether to block form participation + /// + /// Example: + /// ```dart + /// IgnoreForm( + /// ignoring: shouldIgnore, + /// child: MyFormField(), + /// ); + /// ``` + const IgnoreForm({super.key, this.ignoring = true, required this.child}); + + @override + widgets.Widget build(widgets.BuildContext context) { + return MultiData( + data: ignoring + ? const [ + Data.boundary(), + Data.boundary(), + ] + : const [], + child: child, + ); + } +} + +/// A validator that applies conditional validation based on form state. +/// +/// [ConditionalValidator] only executes validation when a predicate condition +/// is met. This allows validation rules to depend on other form field values +/// or dynamic conditions. +/// +/// Example: +/// ```dart +/// ConditionalValidator( +/// (context, value, getFieldValue) async { +/// final country = await getFieldValue('country'); +/// return country == 'US'; +/// }, +/// message: 'ZIP code required for US addresses', +/// dependencies: ['country'], +/// ) +/// ``` +class ConditionalValidator extends Validator { + /// The predicate function that determines if validation should be applied. + final FuturePredicate predicate; + + /// The error message to display when validation fails. + final String message; + + /// List of form field keys this validator depends on. + final List dependencies; + + /// Creates a [ConditionalValidator] with the specified predicate and dependencies. + const ConditionalValidator(this.predicate, + {required this.message, this.dependencies = const []}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode lifecycle) { + var result = predicate(value); + if (result is Future) { + return result.then((value) { + if (!value) { + return InvalidResult(message, state: lifecycle); + } + return null; + }); + } else if (!result) { + return InvalidResult(message, state: lifecycle); + } + + return null; + } + + @override + bool shouldRevalidate(FormKey source) { + return dependencies.contains(source); + } + + @override + operator ==(Object other) { + return other is ConditionalValidator && + other.predicate == predicate && + other.message == message; + } + + @override + int get hashCode => Object.hash(predicate, message); +} + +/// A function type for building custom validators. +/// +/// Parameters: +/// - [value] (`T?`): The value to validate. +/// +/// Returns a `FutureOr` that is null for valid values. +typedef ValidatorBuilderFunction = FutureOr Function( + T? value); + +/// A validator that uses a custom builder function for validation logic. +/// +/// [ValidatorBuilder] provides a flexible way to create validators using +/// inline functions or custom validation logic without extending the Validator class. +/// +/// Example: +/// ```dart +/// ValidatorBuilder( +/// (value) { +/// if (value != null && value.contains('@')) { +/// return null; // Valid +/// } +/// return InvalidResult('Must contain @'); +/// }, +/// ) +/// ``` +class ValidatorBuilder extends Validator { + /// The function that performs the validation. + final ValidatorBuilderFunction builder; + + /// List of form field keys this validator depends on. + final List dependencies; + + /// Creates a [ValidatorBuilder] with the specified builder function. + const ValidatorBuilder(this.builder, {this.dependencies = const []}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode lifecycle) { + return builder(value); + } + + @override + bool shouldRevalidate(FormKey source) { + return dependencies.contains(source); + } + + @override + operator ==(Object other) { + return other is ValidatorBuilder && other.builder == builder; + } + + @override + int get hashCode => builder.hashCode; +} + +/// A validator that negates the result of another validator. +/// +/// [NotValidator] inverts the validation logic - it passes when the wrapped +/// validator fails and fails when the wrapped validator passes. Useful for +/// creating exclusion rules. +/// +/// Example: +/// ```dart +/// NotValidator( +/// EmailValidator(), +/// message: 'Must not be an email address', +/// ) +/// ``` +class NotValidator extends Validator { + /// The validator whose result will be negated. + final Validator validator; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [NotValidator] that negates the result of another validator. + const NotValidator(this.validator, {this.message}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + var localizations = Localizations.of(context, ShadcnLocalizations); + var result = validator.validate(context, value, state); + if (result is Future) { + return result.then((value) { + if (value == null) { + return InvalidResult(message ?? localizations.invalidValue, + state: state); + } + return null; + }); + } else if (result == null) { + return InvalidResult(message ?? localizations.invalidValue, state: state); + } + return null; + } + + @override + operator ==(Object other) { + return other is NotValidator && + other.validator == validator && + other.message == message; + } + + @override + int get hashCode => Object.hash(validator, message); +} + +/// A validator that combines multiple validators with OR logic. +/// +/// [OrValidator] passes if at least one of the wrapped validators passes. +/// Only fails if all validators fail. Useful for accepting multiple valid formats. +/// +/// Example: +/// ```dart +/// OrValidator([ +/// EmailValidator(), +/// PhoneValidator(), +/// ]) +/// ``` +class OrValidator extends Validator { + /// The list of validators to combine with OR logic. + final List> validators; + + /// Creates an [OrValidator] from a list of validators. + const OrValidator(this.validators); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + return _chainedValidation(context, value, state, 0); + } + + FutureOr _chainedValidation( + BuildContext context, T? value, FormValidationMode state, int index) { + if (index >= validators.length) { + return null; + } + var validator = validators[index]; + var result = validator.validate(context, value, state); + if (result is Future) { + return result.then((nextValue) { + if (nextValue == null) { + // means one of the validators passed and we don't need to check the rest + return null; + } + if (!context.mounted) { + return null; + } + return _chainedValidation(context, value, state, index + 1); + }); + } else if (result == null) { + // means one of the validators passed and we don't need to check the rest + return null; + } + return _chainedValidation(context, value, state, index + 1); + } + + @override + Validator operator |(Validator other) { + return OrValidator([...validators, other]); + } + + @override + bool shouldRevalidate(FormKey source) { + for (var validator in validators) { + if (validator.shouldRevalidate(source)) { + return true; + } + } + return false; + } + + @override + operator ==(Object other) { + return other is OrValidator && listEquals(other.validators, validators); + } + + @override + int get hashCode => validators.hashCode; +} + +/// A validator that ensures a value is not null. +/// +/// [NonNullValidator] is a simple validator that fails if the value is null. +/// Commonly used to mark fields as required. +/// +/// Example: +/// ```dart +/// NonNullValidator( +/// message: 'This field is required', +/// ) +/// ``` +class NonNullValidator extends Validator { + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [NonNullValidator] with an optional custom message. + const NonNullValidator({this.message}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + if (value == null) { + var localizations = Localizations.of(context, ShadcnLocalizations); + return InvalidResult(message ?? localizations.formNotEmpty, state: state); + } + return null; + } + + @override + bool operator ==(Object other) { + return other is NonNullValidator && other.message == message; + } + + @override + int get hashCode => message.hashCode; +} + +/// A validator that ensures a string is not null or empty. +/// +/// [NotEmptyValidator] extends [NonNullValidator] to also check for empty strings. +/// Commonly used for text field validation. +/// +/// Example: +/// ```dart +/// NotEmptyValidator( +/// message: 'Please enter a value', +/// ) +/// ``` +class NotEmptyValidator extends NonNullValidator { + /// Creates a [NotEmptyValidator] with an optional custom message. + const NotEmptyValidator({super.message}); + + @override + FutureOr validate( + BuildContext context, String? value, FormValidationMode state) { + if (value == null || value.isEmpty) { + var localizations = Localizations.of(context, ShadcnLocalizations); + return InvalidResult(message ?? localizations.formNotEmpty, state: state); + } + return null; + } + + @override + bool operator ==(Object other) { + return other is NotEmptyValidator && other.message == message; + } + + @override + int get hashCode => message.hashCode; +} + +/// A validator that checks if a string's length is within specified bounds. +/// +/// [LengthValidator] validates that a string's length falls within the minimum +/// and/or maximum bounds. Either bound can be null to check only one direction. +/// +/// Example: +/// ```dart +/// LengthValidator( +/// min: 3, +/// max: 20, +/// message: 'Must be between 3 and 20 characters', +/// ) +/// ``` +class LengthValidator extends Validator { + /// Minimum length requirement (inclusive), or null for no minimum. + final int? min; + + /// Maximum length requirement (inclusive), or null for no maximum. + final int? max; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [LengthValidator] with optional min/max bounds. + const LengthValidator({this.min, this.max, this.message}); + + @override + FutureOr validate( + BuildContext context, String? value, FormValidationMode state) { + if (value == null) { + if (min != null) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formLengthLessThan(min!), + state: state); + } + return null; + } + ShadcnLocalizations localizations = + Localizations.of(context, ShadcnLocalizations); + if (min != null && value.length < min!) { + return InvalidResult(message ?? localizations.formLengthLessThan(min!), + state: state); + } + if (max != null && value.length > max!) { + return InvalidResult(message ?? localizations.formLengthGreaterThan(max!), + state: state); + } + return null; + } + + @override + bool operator ==(Object other) { + return other is LengthValidator && + other.min == min && + other.max == max && + other.message == message; + } + + @override + int get hashCode => Object.hash(min, max, message); +} + +/// Defines comparison operators for numeric validation. +/// +/// Used by [CompareValidator] to specify the type of comparison to perform. +enum CompareType { + /// Value must be greater than the compared value. + greater, + + /// Value must be greater than or equal to the compared value. + greaterOrEqual, + + /// Value must be less than the compared value. + less, + + /// Value must be less than or equal to the compared value. + lessOrEqual, + + /// Value must be equal to the compared value. + equal +} + +/// A validator that compares a field's value with another form field's value. +/// +/// [CompareWith] validates by comparing the current field's value against +/// another field identified by a [FormKey]. Supports various comparison types +/// including equality, greater than, less than, etc. +/// +/// Example: +/// ```dart +/// CompareWith.greaterOrEqual( +/// FormKey('minAge'), +/// message: 'Must be at least the minimum age', +/// ) +/// ``` +class CompareWith> extends Validator { + /// The form field key to compare against. + final FormKey key; + + /// The type of comparison to perform. + final CompareType type; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [CompareWith] validator with the specified comparison type. + const CompareWith(this.key, this.type, {this.message}); + + /// Creates a validator that checks for equality with another field. + const CompareWith.equal(this.key, {this.message}) : type = CompareType.equal; + + /// Creates a validator that checks if value is greater than another field. + const CompareWith.greater(this.key, {this.message}) + : type = CompareType.greater; + + /// Creates a validator that checks if value is greater than or equal to another field. + const CompareWith.greaterOrEqual(this.key, {this.message}) + : type = CompareType.greaterOrEqual; + + /// Creates a validator that checks if value is less than another field. + const CompareWith.less(this.key, {this.message}) : type = CompareType.less; + + /// Creates a validator that checks if value is less than or equal to another field. + const CompareWith.lessOrEqual(this.key, {this.message}) + : type = CompareType.lessOrEqual; + + int _compare(T? a, T? b) { + if (a == null && b == null) { + return 0; + } + if (a == null) { + return -1; + } + if (b == null) { + return 1; + } + return a.compareTo(b); + } + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + var localizations = Localizations.of(context, ShadcnLocalizations); + var otherValue = context.getFormValue(key); + if (otherValue == null) { + return InvalidResult(message ?? localizations.invalidValue, state: state); + } + var compare = _compare(value, otherValue); + switch (type) { + case CompareType.greater: + if (compare <= 0) { + return InvalidResult( + message ?? localizations.formGreaterThan(otherValue), + state: state); + } + break; + case CompareType.greaterOrEqual: + if (compare < 0) { + return InvalidResult( + message ?? localizations.formGreaterThanOrEqualTo(otherValue), + state: state); + } + break; + case CompareType.less: + if (compare >= 0) { + return InvalidResult( + message ?? localizations.formLessThan(otherValue), + state: state); + } + break; + case CompareType.lessOrEqual: + if (compare > 0) { + return InvalidResult( + message ?? localizations.formLessThanOrEqualTo(otherValue), + state: state); + } + break; + case CompareType.equal: + if (compare != 0) { + return InvalidResult(message ?? localizations.formEqualTo(otherValue), + state: state); + } + break; + } + return null; + } + + @override + bool shouldRevalidate(FormKey source) { + return source == key; + } + + @override + bool operator ==(Object other) { + return other is CompareWith && + other.key == key && + other.type == type && + other.message == message; + } + + @override + int get hashCode => Object.hash(key, type, message); +} + +/// A validator for ensuring password strength and security requirements. +/// +/// [SafePasswordValidator] checks passwords against common security criteria: +/// digits, lowercase letters, uppercase letters, and special characters. +/// Each requirement can be individually enabled or disabled. +/// +/// Example: +/// ```dart +/// SafePasswordValidator( +/// requireDigit: true, +/// requireLowercase: true, +/// requireUppercase: true, +/// requireSpecialChar: true, +/// message: 'Password must meet security requirements', +/// ) +/// ``` +class SafePasswordValidator extends Validator { + /// Custom error message, or null to use default localized messages. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Whether password must contain at least one digit. + final bool requireDigit; + + /// Whether password must contain at least one lowercase letter. + final bool requireLowercase; + + /// Whether password must contain at least one uppercase letter. + final bool requireUppercase; + + /// Whether password must contain at least one special character. + final bool requireSpecialChar; + + /// Creates a [SafePasswordValidator] with configurable requirements. + const SafePasswordValidator( + {this.requireDigit = true, + this.requireLowercase = true, + this.requireUppercase = true, + this.requireSpecialChar = true, + this.message}); + + @override + FutureOr validate( + BuildContext context, String? value, FormValidationMode state) { + if (value == null) { + return null; + } + if (requireDigit && !RegExp(r'\d').hasMatch(value)) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations).formPasswordDigits, + state: state); + } + if (requireLowercase && !RegExp(r'[a-z]').hasMatch(value)) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formPasswordLowercase, + state: state); + } + if (requireUppercase && !RegExp(r'[A-Z]').hasMatch(value)) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formPasswordUppercase, + state: state); + } + if (requireSpecialChar && !RegExp(r'[\W_]').hasMatch(value)) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formPasswordSpecial, + state: state); + } + return null; + } + + @override + bool operator ==(Object other) { + return other is SafePasswordValidator && + other.requireDigit == requireDigit && + other.requireLowercase == requireLowercase && + other.requireUppercase == requireUppercase && + other.requireSpecialChar == requireSpecialChar && + other.message == message; + } + + @override + int get hashCode => Object.hash(requireDigit, requireLowercase, + requireUppercase, requireSpecialChar, message); +} + +/// A validator that checks if a numeric value meets a minimum threshold. +/// +/// [MinValidator] ensures that numeric values are greater than (or equal to) +/// a specified minimum value. Useful for enforcing minimum quantities, ages, etc. +/// +/// Example: +/// ```dart +/// MinValidator( +/// 18, +/// inclusive: true, +/// message: 'Must be at least 18 years old', +/// ) +/// ``` +class MinValidator extends Validator { + /// The minimum acceptable value. + final T min; + + /// Whether the minimum value itself is acceptable (true) or must be exceeded (false). + final bool inclusive; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [MinValidator] with the specified minimum value. + const MinValidator(this.min, {this.inclusive = true, this.message}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + if (value == null) { + return null; + } + if (inclusive) { + if (value < min) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formGreaterThanOrEqualTo(min), + state: state); + } + } else { + if (value <= min) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formGreaterThan(min), + state: state); + } + } + return null; + } + + @override + bool operator ==(Object other) { + return other is MinValidator && + other.min == min && + other.inclusive == inclusive && + other.message == message; + } + + @override + int get hashCode => Object.hash(min, inclusive, message); +} + +/// A validator that checks if a numeric value does not exceed a maximum threshold. +/// +/// [MaxValidator] ensures that numeric values are less than (or equal to) +/// a specified maximum value. Useful for enforcing maximum quantities, limits, etc. +/// +/// Example: +/// ```dart +/// MaxValidator( +/// 100, +/// inclusive: true, +/// message: 'Must not exceed 100', +/// ) +/// ``` +class MaxValidator extends Validator { + /// The maximum acceptable value. + final T max; + + /// Whether the maximum value itself is acceptable (true) or must not be reached (false). + final bool inclusive; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [MaxValidator] with the specified maximum value. + const MaxValidator(this.max, {this.inclusive = true, this.message}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + if (value == null) { + return null; + } + if (inclusive) { + if (value > max) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formLessThanOrEqualTo(max), + state: state); + } + } else { + if (value >= max) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formLessThan(max), + state: state); + } + } + return null; + } + + @override + bool operator ==(Object other) { + return other is MaxValidator && + other.max == max && + other.inclusive == inclusive && + other.message == message; + } + + @override + int get hashCode => Object.hash(max, inclusive, message); +} + +/// A validator that checks if a numeric value falls within a specified range. +/// +/// [RangeValidator] ensures values are between minimum and maximum bounds. +/// Both bounds can be inclusive or exclusive depending on configuration. +/// +/// Example: +/// ```dart +/// RangeValidator( +/// 0.0, +/// 100.0, +/// inclusive: true, +/// message: 'Must be between 0 and 100', +/// ) +/// ``` +class RangeValidator extends Validator { + /// The minimum acceptable value. + final T min; + + /// The maximum acceptable value. + final T max; + + /// Whether the bounds are inclusive (true) or exclusive (false). + final bool inclusive; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [RangeValidator] with the specified min and max bounds. + const RangeValidator(this.min, this.max, + {this.inclusive = true, this.message}); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + if (value == null) { + return null; + } + if (inclusive) { + if (value < min || value > max) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formBetweenInclusively(min, max), + state: state); + } + } else { + if (value <= min || value >= max) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations) + .formBetweenExclusively(min, max), + state: state); + } + } + return null; + } + + @override + bool operator ==(Object other) { + return other is RangeValidator && + other.min == min && + other.max == max && + other.inclusive == inclusive && + other.message == message; + } + + @override + int get hashCode => Object.hash(min, max, inclusive, message); +} + +/// A validator that checks if a string matches a regular expression pattern. +/// +/// [RegexValidator] provides flexible pattern-based validation using regular +/// expressions. Useful for validating formats like phone numbers, postal codes, etc. +/// +/// Example: +/// ```dart +/// RegexValidator( +/// RegExp(r'^\d{3}-\d{3}-\d{4}$'), +/// message: 'Must be in format: XXX-XXX-XXXX', +/// ) +/// ``` +class RegexValidator extends Validator { + /// The regular expression pattern to match against. + final RegExp pattern; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [RegexValidator] with the specified pattern. + const RegexValidator(this.pattern, {this.message}); + + @override + FutureOr validate( + BuildContext context, String? value, FormValidationMode state) { + if (value == null) { + return null; + } + if (!pattern.hasMatch(value)) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations).invalidValue, + state: state); + } + return null; + } + + @override + bool operator ==(Object other) { + return other is RegexValidator && + other.pattern == pattern && + other.message == message; + } + + @override + int get hashCode => Object.hash(pattern, message); +} + +/// A validator that checks if a string is a valid email address. +/// +/// [EmailValidator] uses the email_validator package to validate email +/// addresses according to standard email format rules. +/// +/// Example: +/// ```dart +/// EmailValidator( +/// message: 'Please enter a valid email address', +/// ) +/// ``` +class EmailValidator extends Validator { + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates an [EmailValidator] with an optional custom message. + const EmailValidator({this.message}); + + @override + FutureOr validate( + BuildContext context, String? value, FormValidationMode state) { + if (value == null) { + return null; + } + if (!email_validator.EmailValidator.validate(value)) { + return InvalidResult( + message ?? + Localizations.of(context, ShadcnLocalizations).invalidEmail, + state: state); + } + return null; + } + + @override + bool operator ==(Object other) { + return other is EmailValidator && other.message == message; + } + + @override + int get hashCode => message.hashCode; +} + +/// A validator that checks if a string is a valid URL. +/// +/// [URLValidator] validates URLs using Dart's Uri parsing capabilities +/// to ensure the string represents a valid web address. +/// +/// Example: +/// ```dart +/// URLValidator( +/// message: 'Please enter a valid URL', +/// ) +/// ``` +class URLValidator extends Validator { + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [URLValidator] with an optional custom message. + const URLValidator({this.message}); + + @override + FutureOr validate( + BuildContext context, String? value, FormValidationMode state) { + if (value == null) { + return null; + } + try { + Uri.parse(value); + } on FormatException { + return InvalidResult( + message ?? Localizations.of(context, ShadcnLocalizations).invalidURL, + state: state); + } + return null; + } + + @override + bool operator ==(Object other) { + return other is URLValidator && other.message == message; + } + + @override + int get hashCode => message.hashCode; +} + +/// A validator that compares a value against a static comparison value. +/// +/// [CompareTo] validates by comparing the field value against a fixed value +/// (unlike [CompareWith] which compares against another field). Supports +/// various comparison types. +/// +/// Example: +/// ```dart +/// CompareTo.greaterOrEqual( +/// 18, +/// message: 'Must be at least 18', +/// ) +/// ``` +class CompareTo> extends Validator { + /// The value to compare against. + final T? value; + + /// The type of comparison to perform. + final CompareType type; + + /// Custom error message, or null to use default localized message. + final String? + message; // if null, use default message from ShadcnLocalizations + + /// Creates a [CompareTo] validator with the specified comparison type. + const CompareTo(this.value, this.type, {this.message}); + + /// Creates a validator that checks for equality with a value. + const CompareTo.equal(this.value, {this.message}) : type = CompareType.equal; + + /// Creates a validator that checks if field value is greater than the specified value. + const CompareTo.greater(this.value, {this.message}) + : type = CompareType.greater; + + /// Creates a validator that checks if field value is greater than or equal to the specified value. + const CompareTo.greaterOrEqual(this.value, {this.message}) + : type = CompareType.greaterOrEqual; + + /// Creates a validator that checks if field value is less than the specified value. + const CompareTo.less(this.value, {this.message}) : type = CompareType.less; + + /// Creates a validator that checks if field value is less than or equal to the specified value. + const CompareTo.lessOrEqual(this.value, {this.message}) + : type = CompareType.lessOrEqual; + + int _compare(T? a, T? b) { + if (a == null && b == null) { + return 0; + } + if (a == null) { + return -1; + } + if (b == null) { + return 1; + } + return a.compareTo(b); + } + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + var localizations = Localizations.of(context, ShadcnLocalizations); + var compare = _compare(value, this.value); + switch (type) { + case CompareType.greater: + if (compare <= 0) { + return InvalidResult( + message ?? localizations.formGreaterThan(this.value), + state: state); + } + break; + case CompareType.greaterOrEqual: + if (compare < 0) { + return InvalidResult( + message ?? localizations.formGreaterThanOrEqualTo(this.value), + state: state); + } + break; + case CompareType.less: + if (compare >= 0) { + return InvalidResult( + message ?? localizations.formLessThan(this.value), + state: state); + } + break; + case CompareType.lessOrEqual: + if (compare > 0) { + return InvalidResult( + message ?? localizations.formLessThanOrEqualTo(this.value), + state: state); + } + break; + case CompareType.equal: + if (compare != 0) { + return InvalidResult(message ?? localizations.formEqualTo(this.value), + state: state); + } + break; + } + return null; + } + + @override + bool operator ==(Object other) { + return other is CompareTo && + other.value == value && + other.type == type && + other.message == message; + } + + @override + int get hashCode => Object.hash(value, type, message); +} + +/// A validator that combines multiple validators with AND logic. +/// +/// [CompositeValidator] runs multiple validators sequentially and only passes +/// if all validators pass. If any validator fails, validation stops and returns +/// that error. Created automatically when using the `&` operator between validators. +/// +/// Example: +/// ```dart +/// CompositeValidator([ +/// NonNullValidator(), +/// MinLengthValidator(3), +/// EmailValidator(), +/// ]) +/// ``` +class CompositeValidator extends Validator { + /// The list of validators to run sequentially. + final List> validators; + + /// Creates a [CompositeValidator] from a list of validators. + const CompositeValidator(this.validators); + + @override + FutureOr validate( + BuildContext context, T? value, FormValidationMode state) { + return _chainValidation(context, value, state, 0); + } + + FutureOr _chainValidation( + BuildContext context, T? value, FormValidationMode state, int index) { + if (index >= validators.length) { + return null; + } + var validator = validators[index]; + var result = validator.validate(context, value, state); + if (result is Future) { + return result.then((nextValue) { + if (nextValue != null) { + return nextValue; + } + if (!context.mounted) { + return null; + } + return _chainValidation(context, value, state, index + 1); + }); + } + if (result != null) { + return result; + } + return _chainValidation(context, value, state, index + 1); + } + + @override + Validator combine(Validator other) { + return CompositeValidator([...validators, other]); + } + + @override + bool shouldRevalidate(FormKey source) { + for (var validator in validators) { + if (validator.shouldRevalidate(source)) { + return true; + } + } + return false; + } + + @override + bool operator ==(Object other) { + return other is CompositeValidator && + listEquals(other.validators, validators); + } + + @override + int get hashCode => validators.hashCode; +} + +/// Abstract base class representing the result of a validation operation. +/// +/// [ValidationResult] encapsulates the outcome of validating a form field value. +/// Subclasses include [InvalidResult] for validation failures and [ValidResult] +/// for successful validation. +abstract class ValidationResult { + /// The form validation mode that triggered this result. + final FormValidationMode state; + + /// Creates a [ValidationResult] with the specified validation state. + const ValidationResult({required this.state}); + + /// The form field key associated with this validation result. + FormKey get key; + + /// Attaches a form field key to this validation result. + ValidationResult attach(FormKey key); +} + +/// A validation result that indicates a value should be replaced. +/// +/// [ReplaceResult] is used when validation determines that the submitted +/// value should be transformed or replaced with a different value. For example, +/// trimming whitespace or formatting input. +class ReplaceResult extends ValidationResult { + /// The replacement value to use. + final T value; + + final FormKey? _key; + + /// Creates a [ReplaceResult] with the specified replacement value. + const ReplaceResult(this.value, {required super.state}) : _key = null; + + /// Creates a [ReplaceResult] already attached to a form field key. + const ReplaceResult.attached(this.value, + {required FormKey key, required super.state}) + : _key = key; + + @override + FormKey get key { + assert(_key != null, 'The result has not been attached to a key'); + return _key!; + } + + @override + ReplaceResult attach(FormKey key) { + return ReplaceResult.attached(value, key: key, state: state); + } +} + +/// A validation result indicating that validation failed. +/// +/// [InvalidResult] contains an error message describing why validation failed. +/// This is the most common validation result type returned by validators when +/// a value doesn't meet the validation criteria. +class InvalidResult extends ValidationResult { + /// The error message describing the validation failure. + final String message; + + final FormKey? _key; + + /// Creates an [InvalidResult] with the specified error message. + const InvalidResult(this.message, {required super.state}) : _key = null; + + /// Creates an [InvalidResult] already attached to a form field key. + const InvalidResult.attached(this.message, + {required FormKey key, required super.state}) + : _key = key; + + @override + FormKey get key { + assert(_key != null, 'The result has not been attached to a key'); + return _key!; + } + + @override + InvalidResult attach(FormKey key) { + return InvalidResult.attached(message, key: key, state: state); + } +} + +/// A notification sent when a form field's validation state changes. +/// +/// [FormValidityNotification] is dispatched through the notification system +/// when a field's validity transitions between valid, invalid, or null states. +/// Useful for updating UI or tracking form validation status. +class FormValidityNotification extends Notification { + /// The previous validation result, or null if there was none. + final ValidationResult? oldValidity; + + /// The new validation result, or null if now valid. + final ValidationResult? newValidity; + + /// Creates a [FormValidityNotification] with old and new validity states. + const FormValidityNotification(this.newValidity, this.oldValidity); +} + +/// A key that uniquely identifies a form field and its type. +/// +/// [FormKey] extends [LocalKey] and is used throughout the form system to +/// reference specific form fields. It includes type information to ensure +/// type-safe access to form values. +/// +/// Example: +/// ```dart +/// const emailKey = FormKey('email'); +/// const ageKey = FormKey('age'); +/// ``` +class FormKey extends LocalKey { + /// The underlying key object. + final Object key; + + /// Creates a [FormKey] with the specified key object. + const FormKey(this.key); + + /// Gets the generic type parameter of this key. + Type get type => T; + + /// Checks if a dynamic value is an instance of this key's type. + bool isInstanceOf(dynamic value) { + return value is T; + } + + /// Gets the value associated with this key from the form values map. + T? getValue(FormMapValues values) { + return values.getValue(this); + } + + /// Operator overload to get the value from form values (same as [getValue]). + T? operator [](FormMapValues values) { + return values.getValue(this); + } + + @override + bool operator ==(Object other) { + return other is FormKey && other.key == key; + } + + @override + int get hashCode => key.hashCode; + + @override + String toString() { + return 'FormKey($key)'; + } +} + +// Type aliases for form field keys + +/// Form key type for autocomplete fields with string values. +typedef AutoCompleteKey = FormKey; + +/// Form key type for checkbox fields with [CheckboxState] values. +typedef CheckboxKey = FormKey; + +/// Form key type for chip input fields with list values. +typedef ChipInputKey = FormKey>; + +/// Form key type for color picker fields with [Color] values. +typedef ColorPickerKey = FormKey; + +/// Form key type for date picker fields with [DateTime] values. +typedef DatePickerKey = FormKey; + +/// Form key type for date input fields with [DateTime] values. +typedef DateInputKey = FormKey; + +/// Form key type for duration picker fields with [Duration] values. +typedef DurationPickerKey = FormKey; + +/// Form key type for duration input fields with [Duration] values. +typedef DurationInputKey = FormKey; + +/// Form key type for text input fields with string values. +typedef InputKey = FormKey; + +/// Form key type for OTP input fields with lists of nullable integers. +typedef InputOTPKey = FormKey>; + +/// Form key type for multi-select fields with iterable values. +typedef MultiSelectKey = FormKey>; + +/// Form key type for multiple answer fields with iterable values. +typedef MultipleAnswerKey = FormKey>; + +/// Form key type for multiple choice fields with single selected values. +typedef MultipleChoiceKey = FormKey; + +/// Form key type for number input fields with numeric values. +typedef NumberInputKey = FormKey; + +/// Form key type for phone input fields with [PhoneNumber] values. +typedef PhoneInputKey = FormKey; + +/// Form key type for radio card fields with integer index values. +typedef RadioCardKey = FormKey; + +/// Form key type for radio group fields with integer index values. +typedef RadioGroupKey = FormKey; + +/// Form key type for select dropdown fields with typed values. +typedef SelectKey = FormKey; + +/// Form key type for slider fields with [SliderValue] values. +typedef SliderKey = FormKey; + +/// Form key type for star rating fields with double values. +typedef StarRatingKey = FormKey; + +/// Form key type for switch fields with boolean values. +typedef SwitchKey = FormKey; + +/// Form key type for text area fields with string values. +typedef TextAreaKey = FormKey; + +/// Form key type for text field inputs with string values. +typedef TextFieldKey = FormKey; + +/// Form key type for time picker fields with [TimeOfDay] values. +typedef TimePickerKey = FormKey; + +/// Form key type for time input fields with [TimeOfDay] values. +typedef TimeInputKey = FormKey; + +/// Form key type for toggle fields with boolean values. +typedef ToggleKey = FormKey; + +/// A form field entry that wraps a form widget with validation. +/// +/// [FormEntry] associates a [FormKey] with a form field widget and optional +/// validator. It integrates with the form state management system to track +/// field values and validation states. +class FormEntry extends StatefulWidget { + /// The form field widget to wrap. + final Widget child; + + /// Optional validator function for this form field. + /// + /// Called when form validation is triggered. Should return `null` for valid + /// values or a validation error message for invalid values. + final Validator? validator; + + /// Creates a form entry with a typed key. + /// + /// The [key] parameter must be a [FormKey] to ensure type safety. + const FormEntry( + {required FormKey super.key, required this.child, this.validator}); + + @override + FormKey get key => super.key as FormKey; + + @override + State createState() => FormEntryState(); +} + +/// Interface for form field state management. +/// +/// Provides methods and properties for managing form field lifecycle, validation, +/// and value reporting. Typically mixed into state classes that participate in +/// form validation and submission workflows. +/// +/// Implementations should: +/// - Track mount state to prevent operations on disposed widgets +/// - Report value changes to parent forms +/// - Support both synchronous and asynchronous validation +mixin FormFieldHandle { + /// Whether the widget is currently mounted in the widget tree. + bool get mounted; + + /// The unique key identifying this field within its form. + FormKey get formKey; + + /// Reports a new value to the form and triggers validation. + /// + /// Parameters: + /// - [value] (`T?`, required): The new field value. + /// + /// Returns: `FutureOr` — validation result if applicable. + FutureOr reportNewFormValue(T? value); + + /// Re-runs validation on the current value. + /// + /// Returns: `FutureOr` — validation result if applicable. + FutureOr revalidate(); + + /// A listenable for the current validation state. + /// + /// Returns `null` if no validation has been performed or if validation passed. + ValueListenable? get validity; +} + +class _FormEntryCachedValue { + Object? value; + + _FormEntryCachedValue(this.value); +} + +/// State class for [FormEntry] widgets. +/// +/// Manages form field lifecycle and integrates with parent [FormController] +/// for validation and value reporting. +class FormEntryState extends State with FormFieldHandle { + FormController? _controller; + _FormEntryCachedValue? _cachedValue; + final ValueNotifier _validity = ValueNotifier(null); + + @override + FormKey get formKey => widget.key; + + @override + ValueListenable? get validity => _validity; + + int _toWaitCounter = 0; + FutureOr? _toWait; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + var oldController = _controller; + var newController = Data.maybeOf(context); + if (oldController != newController) { + oldController?.removeListener(_onControllerChanged); + // oldController?.detach(this); + _controller = newController; + _onControllerChanged(); + newController?.addListener(_onControllerChanged); + if (_cachedValue != null) { + newController?.attach( + context, this, _cachedValue?.value, widget.validator); + } + } + } + + @override + void dispose() { + _controller?.removeListener(_onControllerChanged); + // _controller?.detach(this); + super.dispose(); + } + + void _onControllerChanged() { + var validityFuture = _controller?.getError(widget.key); + if (validityFuture == _toWait) { + return; + } + _toWait = validityFuture; + int counter = ++_toWaitCounter; + if (_toWait is Future) { + (_toWait as Future).then((value) { + if (counter == _toWaitCounter) { + _validity.value = value; + } + }); + } else { + _validity.value = _toWait as ValidationResult?; + } + } + + @override + Widget build(BuildContext context) { + return Data.inherit( + data: this, + child: widget.child, + ); + } + + @override + FutureOr reportNewFormValue(T? value) { + bool isSameType = widget.key.type == T; + if (!isSameType) { + var parentLookup = Data.maybeFind(context); + assert(parentLookup != this, 'FormEntry cannot be its own parent'); + return parentLookup?.reportNewFormValue(value); + } + var cachedValue = _cachedValue; + if (cachedValue != null && cachedValue.value == value) { + return _validity.value; + } + _cachedValue = _FormEntryCachedValue(value); + return _controller?.attach(context, this, value, widget.validator); + } + + @override + FutureOr revalidate() { + return _controller?.attach( + context, this, _cachedValue, widget.validator, true); + } +} + +/// A widget that intercepts form value reports. +/// +/// Wraps a form field to observe value changes before they reach the parent form. +/// Useful for implementing side effects like logging, analytics, or derived state +/// updates when form field values change. +/// +/// Example: +/// ```dart +/// FormEntryInterceptor( +/// onValueReported: (value) => print('Email changed: $value'), +/// child: TextFormField(), +/// ) +/// ``` +class FormEntryInterceptor extends StatefulWidget { + /// The child widget (typically a form field). + final Widget child; + + /// Callback invoked when a value is reported by the child field. + final ValueChanged? onValueReported; + + /// Creates a [FormEntryInterceptor]. + /// + /// Parameters: + /// - [child] (`Widget`, required): The form field to wrap. + /// - [onValueReported] (`ValueChanged?`, optional): Called with new values. + const FormEntryInterceptor( + {super.key, required this.child, this.onValueReported}); + + @override + State> createState() => + _FormEntryInterceptorState(); +} + +class _FormEntryInterceptorState extends State> { + FormFieldHandle? _handle; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + _handle = Data.maybeOf(context); + } + + void _onValueReported(Object? value) { + var callback = widget.onValueReported; + if (callback != null && value is T) { + callback(value); + } + } + + @override + Widget build(BuildContext context) { + return Data.inherit( + data: _FormEntryHandleInterceptor(_handle, _onValueReported), + child: widget.child, + ); + } +} + +class _FormEntryHandleInterceptor with FormFieldHandle { + final FormFieldHandle? handle; + final void Function(Object? value) onValueReported; + + const _FormEntryHandleInterceptor(this.handle, this.onValueReported); + + @override + FormKey get formKey => handle!.formKey; + + @override + bool get mounted => handle!.mounted; + + @override + FutureOr reportNewFormValue(T? value) { + onValueReported(value); + return handle?.reportNewFormValue(value); + } + + @override + FutureOr revalidate() { + return handle?.revalidate(); + } + + @override + ValueListenable? get validity => handle?.validity; + + @override + String toString() { + return '_FormEntryHandleInterceptor($handle, $onValueReported)'; + } + + @override + bool operator ==(Object other) { + return other is _FormEntryHandleInterceptor && + other.handle == handle && + other.onValueReported == onValueReported; + } + + @override + int get hashCode => Object.hash(handle, onValueReported); +} + +/// Holds the current value and validator for a form field. +/// +/// Immutable snapshot of a form field's state used internally by form controllers +/// to track field values and their associated validation rules. +class FormValueState { + /// The current field value. + final T? value; + + /// The validator function for this field. + final Validator? validator; + + /// Creates a [FormValueState]. + /// + /// Parameters: + /// - [value] (`T?`, optional): Current field value. + /// - [validator] (`Validator?`, optional): Validation function. + FormValueState({this.value, this.validator}); + + @override + String toString() { + return 'FormValueState($value, $validator)'; + } + + @override + bool operator ==(Object other) { + return other is FormValueState && + other.value == value && + other.validator == validator; + } + + @override + int get hashCode => Object.hash(value, validator); +} + +/// A map of form field keys to their values. +/// +/// Used to collect and pass around form data, where each key uniquely identifies +/// a form field and maps to its current value. +typedef FormMapValues = Map; + +/// Callback function for form submission. +/// +/// Parameters: +/// - [context] (`BuildContext`): The build context. +/// - [values] (`FormMapValues`): Map of all form field values. +typedef FormSubmitCallback = void Function( + BuildContext context, FormMapValues values); + +/// Extension methods for [FormMapValues]. +extension FormMapValuesExtension on FormMapValues { + /// Retrieves a typed value for a specific form key. + /// + /// Parameters: + /// - [key] (`FormKey`, required): The form key to look up. + /// + /// Returns: `T?` — the value if found and correctly typed, null otherwise. + T? getValue(FormKey key) { + Object? value = this[key]; + if (value == null) { + return null; + } + assert(key.isInstanceOf(value), + 'The value for key $key is not of type ${key.type}'); + return value as T?; + } +} + +/// A widget that provides form management capabilities for collecting and validating user input. +/// +/// The Form widget creates a container that manages multiple form fields, providing +/// centralized validation, data collection, and submission handling. It maintains +/// form state through a [FormController] and coordinates validation across all +/// participating form fields. +/// +/// Form components within the widget tree automatically register themselves with +/// the nearest Form ancestor, allowing centralized management of field values, +/// validation states, and error handling. The Form provides validation lifecycle +/// management and supports both synchronous and asynchronous validation. +/// +/// Example: +/// ```dart +/// final controller = FormController(); +/// +/// Form( +/// controller: controller, +/// onSubmit: (values) async { +/// print('Form submitted with values: $values'); +/// }, +/// child: Column( +/// children: [ +/// TextInput( +/// key: FormKey('name'), +/// label: 'Name', +/// validator: RequiredValidator(), +/// ), +/// Button( +/// onPressed: () => controller.submit(), +/// child: Text('Submit'), +/// ), +/// ], +/// ), +/// ); +/// ``` +class Form extends StatefulWidget { + /// Retrieves the nearest [FormController] from the widget tree, if any. + /// + /// Returns the [FormController] instance from the nearest Form ancestor, + /// or null if no Form is found in the widget tree. This method is safe + /// to call even when no Form is present. + /// + /// Parameters: + /// - [context] (BuildContext): The build context to search from + /// + /// Returns the [FormController] if found, null otherwise. + static FormController? maybeOf(BuildContext context) { + return Data.maybeOf(context); + } + + /// Retrieves the nearest [FormController] from the widget tree. + /// + /// Returns the [FormController] instance from the nearest Form ancestor. + /// Throws an assertion error if no Form is found in the widget tree. + /// Use [maybeOf] if the Form might not be present. + /// + /// Parameters: + /// - [context] (BuildContext): The build context to search from + /// + /// Returns the [FormController] from the nearest Form ancestor. + /// + /// Throws [AssertionError] if no Form is found in the widget tree. + static FormController of(BuildContext context) { + return Data.of(context); + } + + /// Optional controller for programmatic form management. + /// + /// When provided, this controller manages form state externally and allows + /// programmatic access to form values, validation states, and submission. + /// If null, the Form creates and manages its own internal controller. + final FormController? controller; + + /// The widget subtree containing form fields. + /// + /// This child widget should contain the form fields and other UI elements + /// that participate in the form. Form fields within this subtree automatically + /// register with this Form instance. + final Widget child; + + /// Callback invoked when the form is submitted. + /// + /// This callback receives a map of form values keyed by their [FormKey] + /// identifiers. It is called when [FormController.submit] is invoked and + /// all form validations pass successfully. + /// + /// The callback can return a Future for asynchronous submission processing. + final FormSubmitCallback? onSubmit; + + /// Creates a [Form] widget. + /// + /// The [child] parameter is required and should contain the form fields + /// and UI elements that participate in the form. The [controller] and + /// [onSubmit] parameters are optional but commonly used for form management. + /// + /// Parameters: + /// - [child] (Widget, required): The widget subtree containing form fields + /// - [onSubmit] (FormSubmitCallback?, optional): Callback for form submission + /// - [controller] (FormController?, optional): External form state controller + /// + /// Example: + /// ```dart + /// Form( + /// onSubmit: (values) => print('Submitted: $values'), + /// child: Column( + /// children: [ + /// TextInput(key: FormKey('email'), label: 'Email'), + /// Button(child: Text('Submit')), + /// ], + /// ), + /// ); + /// ``` + const Form({super.key, required this.child, this.onSubmit, this.controller}); + + @override + State

    createState() => FormState(); +} + +class _ValidatorResultStash { + final FutureOr result; + final FormValidationMode state; + + const _ValidatorResultStash(this.result, this.state); +} + +/// Controller for managing form state, validation, and submission. +/// +/// The FormController coordinates all form field interactions, maintaining +/// a centralized registry of field values and validation states. It provides +/// programmatic access to form data collection, validation triggering, and +/// submission handling. +/// +/// The controller automatically manages the lifecycle of form fields as they +/// register and unregister, tracking their values and validation results. +/// It supports both synchronous and asynchronous validation, cross-field +/// validation dependencies, and comprehensive error state management. +/// +/// Example: +/// ```dart +/// final controller = FormController(); +/// +/// // Listen to form state changes +/// controller.addListener(() { +/// print('Form validity: ${controller.isValid}'); +/// print('Form values: ${controller.values}'); +/// }); +/// +/// // Submit the form +/// await controller.submit(); +/// +/// // Access specific field values +/// final emailValue = controller.getValue(emailKey); +/// ``` +class FormController extends ChangeNotifier { + final Map _attachedInputs = {}; + final Map _validity = {}; + + bool _disposed = false; + + /// A map of all current form field values keyed by their [FormKey]. + /// + /// This getter provides access to the current state of all registered form + /// fields. The map is rebuilt on each access to reflect the latest values + /// from all active form fields. + /// + /// Returns a `Map` where each key corresponds to a form field + /// and each value is the current value of that field. + Map get values { + return { + for (var entry in _attachedInputs.entries) entry.key: entry.value.value + }; + } + + @override + void dispose() { + _disposed = true; + super.dispose(); + } + + /// A map of all current validation results keyed by their [FormKey]. + /// + /// This getter provides access to the validation state of all registered + /// form fields. Values can be either synchronous ValidationResult objects + /// or `Future` for asynchronous validation. + /// + /// Returns a `Map>` representing the + /// current validation state of all form fields. + Map> get validities { + return {for (var entry in _validity.entries) entry.key: entry.value.result}; + } + + /// A map of all current validation errors keyed by their [FormKey]. + /// + /// This getter filters the validation results to only include fields with + /// validation errors. For asynchronous validations that are still pending, + /// a [WaitingResult] is included to indicate the validation is in progress. + /// + /// Returns a `Map` containing only fields with errors. + Map get errors { + final errors = {}; + for (var entry in _validity.entries) { + var result = entry.value.result; + if (result is Future) { + errors[entry.key] = + WaitingResult.attached(state: entry.value.state, key: entry.key); + } else if (result != null) { + errors[entry.key] = result; + } + } + return errors; + } + + /// Retrieves the validation result for a specific form field. + /// + /// This method returns the current validation state for the specified form key, + /// which can be either a synchronous ValidationResult or a Future for asynchronous + /// validation. Returns null if no validation result exists for the key. + /// + /// Parameters: + /// - [key] (FormKey): The form key to get validation result for + /// + /// Returns the validation result or null if none exists. + FutureOr? getError(FormKey key) { + return _validity[key]?.result; + } + + /// Retrieves the synchronous validation result for a specific form field. + /// + /// This method returns the current validation state for the specified form key, + /// converting asynchronous validations to [WaitingResult] objects. This provides + /// a synchronous interface for accessing validation states. + /// + /// Parameters: + /// - [key] (FormKey): The form key to get validation result for + /// + /// Returns the synchronous validation result or null if valid. + ValidationResult? getSyncError(FormKey key) { + var entry = _validity[key]; + var result = entry?.result; + if (result is Future) { + return WaitingResult.attached(state: entry!.state, key: key); + } + return result; + } + + /// Retrieves the current value for a specific form field. + /// + /// Parameters: + /// - [key] (`FormKey`, required): The form key to look up. + /// + /// Returns: `T?` — the field value if exists, null otherwise. + T? getValue(FormKey key) { + return _attachedInputs[key]?.value as T?; + } + + /// Checks if a form field has a non-null value. + /// + /// Parameters: + /// - [key] (`FormKey`, required): The form key to check. + /// + /// Returns: `bool` — true if field has a value, false otherwise. + bool hasValue(FormKey key) { + return _attachedInputs[key]?.value != null; + } + + /// Revalidates all form fields with validators. + /// + /// Runs validation on all registered fields and updates their validation states. + /// Supports both synchronous and asynchronous validators. + /// + /// Parameters: + /// - [context] (`BuildContext`, required): The build context. + /// - [state] (`FormValidationMode`, required): Validation mode to use. + void revalidate(BuildContext context, FormValidationMode state) { + bool changed = false; + for (var entry in _attachedInputs.entries) { + var key = entry.key; + var value = entry.value; + if (value.validator != null) { + var future = value.validator!.validate(context, value.value, state); + if (_validity[key]?.result != future) { + if (future is Future) { + _validity[key] = _ValidatorResultStash(future, state); + future.then((value) { + if (_validity[key]?.result == future) { + _validity[key] = + _ValidatorResultStash(value?.attach(key), state); + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (_disposed) { + return; + } + notifyListeners(); + }); + } + }); + } else { + _validity[key] = _ValidatorResultStash(future, state); + } + changed = true; + } + } + } + if (changed) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (_disposed) { + return; + } + notifyListeners(); + }); + } + } + + /// Attaches a form field to this controller. + /// + /// Registers the field and runs initial validation if a validator is provided. + /// Manages field lifecycle transitions (initial → changed) and coordinates + /// revalidation of dependent fields. + /// + /// Parameters: + /// - [context] (`BuildContext`, required): The build context. + /// - [handle] (`FormFieldHandle`, required): The field handle to attach. + /// - [value] (`Object?`, required): Current field value. + /// - [validator] (`Validator?`, optional): Validation function. + /// - [forceRevalidate] (`bool`, default: `false`): Force revalidation even if unchanged. + /// + /// Returns: `FutureOr` — validation result if applicable. + FutureOr attach(BuildContext context, + FormFieldHandle handle, Object? value, Validator? validator, + [bool forceRevalidate = false]) { + final key = handle.formKey; + final oldState = _attachedInputs[key]; + var state = FormValueState(value: value, validator: validator); + if (oldState == state && !forceRevalidate) { + return _validity[key]?.result; + } + var lifecycle = oldState == null + ? FormValidationMode.initial + : FormValidationMode.changed; + _attachedInputs[key] = state; + // validate + var future = validator?.validate(context, value, lifecycle); + if (future is Future) { + _validity[key] = _ValidatorResultStash(future, lifecycle); + future.then((value) { + // resolve the future and store synchronous value + if (_validity[key]?.result == future) { + _validity[key] = _ValidatorResultStash(value?.attach(key), lifecycle); + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (_disposed) { + return; + } + notifyListeners(); + }); + } + }); + } else { + _validity[key] = _ValidatorResultStash(future, lifecycle); + } + // check for revalidation + Map> revalidate = {}; + for (var entry in _attachedInputs.entries) { + var k = entry.key; + var value = entry.value; + if (key == k) { + continue; + } + if (value.validator != null && value.validator!.shouldRevalidate(key)) { + var revalidateResult = + value.validator!.validate(context, value.value, lifecycle); + revalidate[k] = revalidateResult; + } + } + for (var entry in revalidate.entries) { + var k = entry.key; + var future = entry.value; + var attachedInput = _attachedInputs[k]!; + attachedInput = FormValueState( + value: attachedInput.value, validator: attachedInput.validator); + _attachedInputs[k] = attachedInput; + if (future is Future) { + _validity[k] = _ValidatorResultStash(future, lifecycle); + future.then((value) { + if (_validity[k]?.result == future) { + _validity[k] = _ValidatorResultStash(value?.attach(k), lifecycle); + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (_disposed) { + return; + } + notifyListeners(); + }); + } + }); + } else { + _validity[k] = _ValidatorResultStash(future, lifecycle); + } + } + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (_disposed) { + return; + } + notifyListeners(); + }); + return _validity[key]?.result; + } + + // void detach(FormFieldHandle key) { + // if (_attachedInputs.containsKey(key)) { + // final oldValue = _attachedInputs.remove(key); + // _validity.remove(key); + // WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + // if (_disposed) { + // return; + // } + // notifyListeners(); + // }); + // } + // } +} + +/// State class for the [Form] widget that manages form controller lifecycle. +/// +/// This state class is responsible for initializing and updating the +/// [FormController] used by the [Form] widget. It ensures proper controller +/// management when the controller property changes and provides the controller +/// to descendant widgets through the data inheritance mechanism. +/// +/// The state handles two scenarios: +/// - Creates a default [FormController] if none is provided +/// - Updates to a new controller when the widget's controller property changes +/// +/// See also: +/// - [Form], the widget that uses this state +/// - [FormController], the controller managed by this state +class FormState extends State { + late FormController _controller; + + @override + void initState() { + super.initState(); + _controller = widget.controller ?? FormController(); + } + + @override + void didUpdateWidget(covariant Form oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.controller != oldWidget.controller) { + _controller = widget.controller ?? FormController(); + } + } + + @override + Widget build(BuildContext context) { + return Data.inherit( + data: this, + child: Data.inherit( + data: _controller, + child: widget.child, + ), + ); + } +} + +/// Widget builder for displaying form entry validation errors. +/// +/// Conditionally renders error messages based on validation state and modes. +class FormEntryErrorBuilder extends StatelessWidget { + /// Builder function that creates the error display widget. + final Widget Function( + BuildContext context, ValidationResult? error, Widget? child) builder; + + /// Optional child widget passed to the builder. + final Widget? child; + + /// Validation modes that trigger error display. + final Set? modes; + + /// Creates a form entry error builder. + const FormEntryErrorBuilder( + {super.key, required this.builder, this.child, this.modes}); + + @override + Widget build(BuildContext context) { + final formController = Data.maybeOf(context); + if (formController != null) { + var validityListenable = formController.validity; + return ListenableBuilder( + listenable: Listenable.merge([ + if (validityListenable != null) validityListenable, + ]), + builder: (context, child) { + var validity = validityListenable?.value; + if (modes != null && !modes!.contains(validity?.state)) { + return builder(context, null, child); + } + return builder(context, validity, child); + }, + child: child); + } + return builder(context, null, child); + } +} + +/// Validation result indicating a validation is in progress. +/// +/// Used when asynchronous validation is being performed and the result +/// is not yet available. +class WaitingResult extends ValidationResult { + final FormKey? _key; + + /// Creates a waiting result attached to a form key. + const WaitingResult.attached({required FormKey key, required super.state}) + : _key = key; + + @override + FormKey get key { + assert(_key != null, 'The result has not been attached to a key'); + return _key!; + } + + @override + WaitingResult attach(FormKey key) { + return WaitingResult.attached(key: key, state: state); + } +} + +/// Widget builder for displaying form-wide validation errors. +/// +/// Provides access to all form validation errors for rendering error summaries. +class FormErrorBuilder extends StatelessWidget { + /// Optional child widget passed to the builder. + final Widget? child; + + /// Builder function that creates the error display from all form errors. + final Widget Function(BuildContext context, + Map errors, Widget? child) builder; + + /// Creates a form error builder. + const FormErrorBuilder({super.key, required this.builder, this.child}); + + @override + Widget build(BuildContext context) { + final formController = Data.of(context); + return ListenableBuilder( + listenable: formController, + child: child, + builder: (context, child) { + return builder(context, formController.errors, child); + }, + ); + } +} + +/// Builder function type for displaying pending form validations. +/// +/// Takes the context, map of pending validation futures, and optional child widget. +typedef FormPendingWidgetBuilder = Widget Function(BuildContext context, + Map> errors, Widget? child); + +/// Widget builder for displaying pending form validations. +/// +/// Shows feedback while asynchronous validations are in progress. +class FormPendingBuilder extends StatelessWidget { + /// Optional child widget passed to the builder. + final Widget? child; + + /// Builder function for creating pending validation display. + final FormPendingWidgetBuilder builder; + + /// Creates a form pending builder. + const FormPendingBuilder({super.key, required this.builder, this.child}); + + @override + Widget build(widgets.BuildContext context) { + final controller = Data.maybeOf(context); + if (controller != null) { + return AnimatedBuilder( + animation: controller, + child: child, + builder: (context, child) { + final errors = controller.validities; + final pending = >{}; + for (var entry in errors.entries) { + var key = entry.key; + var value = entry.value; + if (value is Future) { + pending[key] = value; + } + } + return builder(context, pending, child); + }, + ); + } + return builder(context, {}, child); + } +} + +/// Extension methods on [BuildContext] for form operations. +extension FormExtension on BuildContext { + /// Gets the current value for a form field by key. + /// + /// Returns null if the form or field is not found. + T? getFormValue(FormKey key) { + final formController = Data.maybeFind(this); + if (formController != null) { + final state = formController.getValue(key); + return state; + } + return null; + } + + /// Submits the form and triggers validation. + /// + /// Returns a [SubmissionResult] with form values and any validation errors. + /// May return a Future if asynchronous validation is in progress. + FutureOr submitForm() { + final formState = Data.maybeFind(this); + assert(formState != null, 'Form not found'); + final formController = Data.maybeFind(this); + assert(formController != null, 'Form not found'); + final values = {}; + for (var entry in formController!._attachedInputs.entries) { + var key = entry.key; + var value = entry.value; + values[key] = value.value; + } + formController.revalidate(this, FormValidationMode.submitted); + var errors = {}; + var iterator = formController._validity.entries.iterator; + var result = _chainedSubmitForm(values, errors, iterator); + if (result is Future) { + return result.then((value) { + if (value.errors.isNotEmpty) { + return value; + } + formState?.widget.onSubmit?.call(this, values); + return value; + }); + } + if (result.errors.isNotEmpty) { + return result; + } + formState?.widget.onSubmit?.call(this, values); + return result; + } + + FutureOr _chainedSubmitForm( + Map values, + Map errors, + Iterator> iterator) { + if (!iterator.moveNext()) { + return SubmissionResult(values, errors); + } + var entry = iterator.current; + var value = entry.value.result; + if (value is Future) { + return value.then((value) { + if (value != null) { + errors[entry.key] = value; + } + return _chainedSubmitForm(values, errors, iterator); + }); + } + return _chainedSubmitForm(values, errors, iterator); + } +} + +/// Mixin that provides form value management for stateful widgets. +/// +/// Integrates a widget with the form system, managing value updates, +/// validation, and form state synchronization. +mixin FormValueSupplier on State { + _FormEntryCachedValue? _cachedValue; + int _futureCounter = 0; + FormFieldHandle? _entryState; + + /// Gets the current form value. + T? get formValue => _cachedValue?.value as T?; + + /// Sets a new form value and triggers validation. + set formValue(T? value) { + if (_cachedValue != null && _cachedValue!.value == value) { + return; + } + _cachedValue = _FormEntryCachedValue(value); + _reportNewFormValue(value); + } + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + var newState = Data.maybeOf(context); + if (newState != _entryState) { + _entryState = newState; + _reportNewFormValue(_cachedValue?.value as T?); + } + } + + /// Called when a form value is replaced by validation logic. + /// + /// Subclasses should override this to handle value replacements. + @protected + void didReplaceFormValue(T value); + + void _reportNewFormValue(T? value) { + var state = _entryState; + if (state == null) { + return; + } + final currentCounter = ++_futureCounter; + var validationResult = state.reportNewFormValue(value); + if (validationResult is Future) { + validationResult.then((value) { + if (_futureCounter == currentCounter) { + if (value is ReplaceResult) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (context.mounted) { + didReplaceFormValue(value.value); + } + }); + } + } + }); + } else if (validationResult is ReplaceResult) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + if (context.mounted) { + didReplaceFormValue(validationResult.value); + } + }); + } + } +} + +/// Result of a form submission containing values and validation errors. +/// +/// Returned when a form is submitted, containing all field values +/// and any validation errors that occurred. +class SubmissionResult { + /// Map of form field values keyed by their FormKey. + final Map values; + + /// Map of validation errors keyed by their FormKey. + final Map errors; + + /// Creates a submission result. + const SubmissionResult(this.values, this.errors); + + @override + String toString() { + return 'SubmissionResult($values, $errors)'; + } + + @override + bool operator ==(Object other) { + return other is SubmissionResult && + mapEquals(other.values, values) && + mapEquals(other.errors, errors); + } + + @override + int get hashCode => Object.hash( + Object.hashAll(values.entries), Object.hashAll(errors.entries)); +} + +/// A standard form field widget with label, validation, and error display. +/// +/// Provides a consistent layout for form inputs with labels, hints, +/// validation, and error messaging. +class FormField extends StatelessWidget { + /// The label widget for the form field. + final Widget label; + + /// Optional hint text displayed below the field. + final Widget? hint; + + /// The main input widget. + final Widget child; + + /// Optional widget displayed before the label. + final Widget? leadingLabel; + + /// Optional widget displayed after the label. + final Widget? trailingLabel; + + /// Alignment of the label axis. + final MainAxisAlignment? labelAxisAlignment; + + /// Gap between leading label and main label. + final double? leadingGap; + + /// Gap between main label and trailing label. + final double? trailingGap; + + /// Padding around the form field. + final EdgeInsetsGeometry? padding; + + /// Validator function for this field. + final Validator? validator; + + /// Validation modes that trigger error display. + final Set? showErrors; + + /// Creates a form field. + const FormField({ + required FormKey super.key, + required this.label, + required this.child, + this.leadingLabel, + this.trailingLabel, + this.labelAxisAlignment = MainAxisAlignment.start, + this.leadingGap, + this.trailingGap, + this.padding = EdgeInsets.zero, + this.validator, + this.hint, + this.showErrors, + }); + + @override + FormKey get key => super.key as FormKey; + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + return FormEntry( + key: key, + validator: validator, + child: FormEntryErrorBuilder( + modes: showErrors, + builder: (context, error, child) { + return ComponentTheme( + data: FocusOutlineTheme( + border: error != null + ? Border.all( + color: theme.colorScheme.destructive.scaleAlpha(0.2), + width: 3.0) + : null, + ), + child: ComponentTheme( + data: TextFieldTheme( + border: error != null + ? Border.all(color: theme.colorScheme.destructive) + : null, + ), + child: IntrinsicWidth( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: padding!, + child: Row( + mainAxisAlignment: labelAxisAlignment!, + children: [ + if (leadingLabel != null) + leadingLabel!.textSmall().muted(), + if (leadingLabel != null) + Gap(leadingGap ?? densityGap), + Expanded( + child: DefaultTextStyle.merge( + style: error != null + ? TextStyle( + color: theme.colorScheme.destructive) + : null, + child: label.textSmall(), + ), + ), + if (trailingLabel != null) + Gap(trailingGap ?? densityGap), + if (trailingLabel != null) + trailingLabel!.textSmall().muted(), + ], + ), + ), + Gap(densityGap), + child!, + if (hint != null) ...[ + Gap(densityGap), + hint!.xSmall().muted(), + ], + if (error is InvalidResult) ...[ + Gap(densityGap), + DefaultTextStyle.merge( + style: TextStyle(color: theme.colorScheme.destructive), + child: Text(error.message).xSmall().medium(), + ), + ], + ], + ), + ), + ), + ); + }, + child: child, + ), + ); + } +} + +/// An inline form field widget with label next to the input. +/// +/// Provides a compact horizontal layout for form inputs with labels +/// and validation. +class FormInline extends StatelessWidget { + /// The label widget for the form field. + final Widget label; + + /// Optional hint text displayed below the field. + final Widget? hint; + + /// The main input widget. + final Widget child; + + /// Validator function for this field. + final Validator? validator; + + /// Validation modes that trigger error display. + final Set? showErrors; + + /// Creates an inline form field. + const FormInline({ + required FormKey super.key, + required this.label, + required this.child, + this.validator, + this.hint, + this.showErrors, + }); + + @override + FormKey get key => super.key as FormKey; + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + return FormEntry( + key: key, + validator: validator, + child: FormEntryErrorBuilder( + modes: showErrors, + builder: (context, error, child) { + return IntrinsicWidth( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + IntrinsicHeight( + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + DefaultTextStyle.merge( + style: error != null + ? TextStyle(color: theme.colorScheme.destructive) + : null, + child: label.textSmall(), + ), + Gap(densityGap), + Expanded(child: child!), + ], + ), + ), + if (hint != null) ...[ + Gap(densityGap), + hint!.xSmall().muted(), + ], + if (error is InvalidResult) ...[ + Gap(densityGap), + DefaultTextStyle.merge( + style: TextStyle(color: theme.colorScheme.destructive), + child: Text(error.message).xSmall().medium(), + ), + ], + ], + ), + ); + }, + child: child, + ), + ); + } +} + +/// A table-based layout for multiple form fields. +/// +/// Arranges form fields in a table layout for structured data entry. +class FormTableLayout extends StatelessWidget { + /// List of form field rows to display in the table. + final List rows; + + /// Vertical spacing between rows. + final double? spacing; + + /// Creates a [FormTableLayout]. + /// + /// Parameters: + /// - [rows] (`List`, required): Form fields to arrange in rows. + /// - [spacing] (`double?`, optional): Custom row spacing. + const FormTableLayout({super.key, required this.rows, this.spacing}); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final densityGap = theme.density.baseGap * scaling; + var spacing = this.spacing ?? scaling * 16; + return DefaultTextStyle.merge( + style: TextStyle(color: Theme.of(context).colorScheme.foreground), + child: widgets.Table( + columnWidths: const { + 0: IntrinsicColumnWidth(), + 1: FlexColumnWidth(), + }, + children: [ + for (int i = 0; i < rows.length; i++) + widgets.TableRow( + children: [ + rows[i] + .label + .textSmall() + .withAlign(AlignmentDirectional.centerEnd) + .sized(height: 32 * scaling) + .withPadding( + top: i == 0 ? 0 : spacing, + right: 16 * scaling, + left: 16 * scaling, + ), + FormEntry( + key: rows[i].key, + validator: rows[i].validator, + child: FormEntryErrorBuilder( + modes: rows[i].showErrors, + builder: (context, error, child) { + return ComponentTheme( + data: FocusOutlineTheme( + border: error != null + ? Border.all( + color: theme.colorScheme.destructive + .scaleAlpha(0.2), + width: 3.0) + : null, + ), + child: ComponentTheme( + data: TextFieldTheme( + border: error != null + ? Border.all( + color: theme.colorScheme.destructive) + : null, + ), + child: IntrinsicWidth( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + child!, + if (rows[i].hint != null) ...[ + Gap(densityGap), + rows[i].hint!.xSmall().muted(), + ], + if (error is InvalidResult) ...[ + Gap(densityGap), + DefaultTextStyle.merge( + style: TextStyle( + color: Theme.of(context) + .colorScheme + .destructive), + child: + Text(error.message).xSmall().medium(), + ), + ], + ], + ), + ), + ), + ); + }, + child: rows[i].child, + ), + ).withPadding( + top: i == 0 ? 0 : spacing, + ), + ], + ), + ], + ), + ); + } +} + +/// A button that automatically handles form submission states. +/// +/// Renders different content based on form validation state: +/// - Default: Shows [child] with optional leading/trailing widgets +/// - Loading: Shows [loading] during async validation +/// - Error: Shows [error] when validation fails +/// +/// Automatically disables during validation and enables when form is valid. +/// +/// Example: +/// ```dart +/// SubmitButton( +/// child: Text('Submit'), +/// loading: Text('Validating...'), +/// error: Text('Fix errors'), +/// ) +/// ``` +class SubmitButton extends StatelessWidget { + /// Button style configuration. + final AbstractButtonStyle? style; + + /// Default button content. + final Widget child; + + /// Content shown during async validation (loading state). + final Widget? loading; + + /// Content shown when validation errors exist. + final Widget? error; + + /// Leading widget in default state. + final Widget? leading; + + /// Trailing widget in default state. + final Widget? trailing; + + /// Leading widget in loading state. + final Widget? loadingLeading; + + /// Trailing widget in loading state. + final Widget? loadingTrailing; + + /// Leading widget in error state. + final Widget? errorLeading; + + /// Trailing widget in error state. + final Widget? errorTrailing; + + /// Content alignment within the button. + final AlignmentGeometry? alignment; + + /// Whether to disable hover effects. + final bool disableHoverEffect; + + /// Whether the button is enabled (null uses form state). + final bool? enabled; + + /// Whether to enable haptic feedback on press. + final bool? enableFeedback; + + /// Whether to disable state transition animations. + final bool disableTransition; + + /// Focus node for keyboard navigation. + final FocusNode? focusNode; + + /// Creates a [SubmitButton]. + /// + /// Parameters: + /// - [child] (`Widget`, required): Default button content. + /// - [style] (`AbstractButtonStyle?`, optional): Button styling. + /// - [loading] (`Widget?`, optional): Loading state content. + /// - [error] (`Widget?`, optional): Error state content. + /// - [leading] (`Widget?`, optional): Leading widget (default state). + /// - [trailing] (`Widget?`, optional): Trailing widget (default state). + /// - [loadingLeading] (`Widget?`, optional): Leading widget (loading state). + /// - [loadingTrailing] (`Widget?`, optional): Trailing widget (loading state). + /// - [errorLeading] (`Widget?`, optional): Leading widget (error state). + /// - [errorTrailing] (`Widget?`, optional): Trailing widget (error state). + /// - [alignment] (`AlignmentGeometry?`, optional): Content alignment. + /// - [disableHoverEffect] (`bool`, default: `false`): Disable hover. + /// - [enabled] (`bool?`, optional): Override enabled state. + /// - [enableFeedback] (`bool?`, optional): Enable haptic feedback. + /// - [disableTransition] (`bool`, default: `false`): Disable animations. + /// - [focusNode] (`FocusNode?`, optional): Focus node. + const SubmitButton({ + super.key, + required this.child, + this.style, + this.loading, + this.error, + this.leading, + this.trailing, + this.alignment, + this.loadingLeading, + this.loadingTrailing, + this.errorLeading, + this.errorTrailing, + this.disableHoverEffect = false, + this.enabled, + this.enableFeedback, + this.disableTransition = false, + this.focusNode, + }); + + @override + widgets.Widget build(widgets.BuildContext context) { + return FormErrorBuilder( + builder: (context, errors, child) { + var hasWaitingError = errors.values.any((element) { + return element is WaitingResult; + }); + var hasError = errors.values.any((element) { + return element is InvalidResult; + }); + if (hasWaitingError) { + return Button( + leading: loadingLeading ?? leading, + trailing: loadingTrailing ?? trailing, + alignment: alignment, + disableHoverEffect: disableHoverEffect, + enabled: false, + enableFeedback: false, + disableTransition: disableTransition, + focusNode: focusNode, + style: style ?? const ButtonStyle.primary(), + child: loading ?? child!, + ); + } + if (hasError) { + return Button( + leading: errorLeading ?? leading, + trailing: errorTrailing ?? trailing, + alignment: alignment, + disableHoverEffect: disableHoverEffect, + enabled: false, + enableFeedback: true, + disableTransition: disableTransition, + focusNode: focusNode, + style: style ?? const ButtonStyle.primary(), + child: error ?? child!, + ); + } + return Button( + leading: leading, + trailing: trailing, + alignment: alignment, + disableHoverEffect: disableHoverEffect, + enabled: enabled ?? true, + enableFeedback: enableFeedback ?? true, + onPressed: () { + context.submitForm(); + }, + disableTransition: disableTransition, + focusNode: focusNode, + style: style ?? const ButtonStyle.primary(), + child: child!, + ); + }, + child: child, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/form_field.dart b/third_party/shadcn_flutter/lib/src/components/form/form_field.dart new file mode 100644 index 00000000..3e2ad3ce --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/form_field.dart @@ -0,0 +1,524 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Type definition for the save button in an object input form field. +typedef ObjectInputSaveButton = PrimaryButton; + +/// Type definition for the cancel button in an object input form field. +typedef ObjectInputCancelButton = OutlineButton; + +/// Defines how a form field editor is presented to the user. +/// +/// [PromptMode] determines whether the field editor appears in a modal +/// dialog or a popover overlay. +enum PromptMode { + /// Display the editor in a modal dialog. + dialog, + + /// Display the editor in a popover overlay. + popover, +} + +/// A form field widget for complex object values. +/// +/// [ObjectFormField] provides a button-like trigger that opens an editor +/// (in a dialog or popover) for selecting/editing complex values. The field +/// displays the selected value using a custom builder. +/// +/// Useful for date pickers, color pickers, file selectors, and other +/// complex input scenarios where a simple text field isn't sufficient. +/// +/// Example: +/// ```dart +/// ObjectFormField( +/// value: selectedDate, +/// placeholder: Text('Select date'), +/// builder: (context, date) => Text(formatDate(date)), +/// editorBuilder: (context, handler) => CalendarWidget(), +/// mode: PromptMode.dialog, +/// ) +/// ``` +class ObjectFormField extends StatefulWidget { + /// The current value of the field. + final T? value; + + /// Called when the value changes. + final ValueChanged? onChanged; + + /// Widget displayed when no value is selected. + final Widget placeholder; + + /// Builds the display for the selected value. + final Widget Function(BuildContext context, T value) builder; + + /// Optional leading widget (e.g., icon). + final Widget? leading; + + /// Optional trailing widget (e.g., dropdown arrow). + final Widget? trailing; + + /// How the editor is presented (dialog or popover). + final PromptMode mode; + + /// Builds the editor widget. + final Widget Function(BuildContext context, ObjectFormHandler handler) + editorBuilder; + + /// Popover alignment relative to the trigger. + final AlignmentGeometry? popoverAlignment; + + /// Anchor alignment for popover positioning. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Padding inside the popover. + final EdgeInsetsGeometry? popoverPadding; + + /// Title for the dialog mode. + final Widget? dialogTitle; + + /// Button size for the trigger. + final ButtonSize? size; + + /// Button density for the trigger. + final ButtonDensity? density; + + /// Button shape for the trigger. + final ButtonShape? shape; + + /// Custom dialog action buttons. + final List Function( + BuildContext context, ObjectFormHandler handler)? dialogActions; + + /// Whether the field is enabled. + final bool? enabled; + + /// Whether to show the field decoration. + final bool decorate; + + /// Whether to inform value change callback immediately upon user interaction with the editor. + /// If null, defaults to true for popover mode and false for dialog mode. + final bool? immediateValueChange; + + /// Creates an [ObjectFormField]. + const ObjectFormField({ + super.key, + required this.value, + this.onChanged, + required this.placeholder, + required this.builder, + this.leading, + this.trailing, + this.mode = PromptMode.dialog, + required this.editorBuilder, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.dialogTitle, + this.size, + this.density, + this.shape, + this.dialogActions, + this.enabled, + this.decorate = true, + this.immediateValueChange, + }); + + @override + State> createState() => ObjectFormFieldState(); +} + +/// Abstract interface for controlling an object form field's state. +/// +/// [ObjectFormHandler] provides methods to interact with an object form field, +/// including getting/setting values and controlling the editor visibility. +abstract class ObjectFormHandler { + /// Gets the current value. + T? get value; + + /// Sets the current value. + set value(T? value); + + /// Opens the editor with an optional initial value. + void prompt([T? value]); + + /// Closes the editor. + Future close(); + + /// Finds the [ObjectFormHandler] in the widget tree. + static ObjectFormHandler of(BuildContext context) { + return Data.of>(context); + } + + /// Finds the [ObjectFormHandler] in the widget tree (alternative method). + static ObjectFormHandler find(BuildContext context) { + return Data.find>(context); + } +} + +/// State class for [ObjectFormField] managing form value and user interactions. +/// +/// Handles value updates, popover/dialog display, and integrates with the +/// form validation system. This state also determines whether the field is +/// enabled based on the presence of an `onChanged` callback. +class ObjectFormFieldState extends State> + with FormValueSupplier> { + final PopoverController _popoverController = PopoverController(); + + @override + void initState() { + super.initState(); + formValue = widget.value; + } + + /// Gets the current form value. + /// + /// Returns: The current value of type `T?`. + T? get value => formValue; + + /// Sets a new form value and notifies listeners. + /// + /// Parameters: + /// - [value] (`T?`, required): The new value to set. + set value(T? value) { + widget.onChanged?.call(value); + formValue = value; + } + + @override + void didReplaceFormValue(T value) { + widget.onChanged?.call(value); + } + + @override + void didUpdateWidget(covariant ObjectFormField oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.value != widget.value) { + formValue = widget.value; + } + } + + /// Whether this field is enabled. + /// + /// Returns true if explicitly enabled or if an `onChanged` callback exists. + bool get enabled => widget.enabled ?? widget.onChanged != null; + + @override + void dispose() { + _popoverController.dispose(); + super.dispose(); + } + + void _showDialog([T? value]) { + value ??= formValue; + showDialog( + context: context, + builder: (context) { + return _ObjectFormFieldDialog( + dialogTitle: widget.dialogTitle, + value: value, + editorBuilder: widget.editorBuilder, + dialogActions: widget.dialogActions, + prompt: prompt, + decorate: widget.decorate, + onChanged: (value) { + // by default, dialog will not immediately inform if value is changed + // but if its explicitly set to true, then we should inform + if (widget.immediateValueChange == true) { + this.value = value; + } + }, + ); + }, + ).then((value) { + if (mounted && + value is ObjectFormFieldDialogResult && + // in dialog, by default we do not inform immediate change + // so after dialog close, we should inform the final value + widget.immediateValueChange != true) { + this.value = value.value; + } + }); + } + + void _showPopover([T? value]) { + final theme = Theme.of(context); + final scaling = theme.scaling; + value ??= formValue; + T? delayedResult = value; + _popoverController + .show( + context: context, + alignment: widget.popoverAlignment ?? Alignment.topLeft, + anchorAlignment: widget.popoverAnchorAlignment ?? Alignment.bottomLeft, + overlayBarrier: OverlayBarrier( + borderRadius: BorderRadius.circular(theme.radiusLg), + ), + modal: true, + offset: Offset(0, 8 * scaling), + builder: (context) { + return _ObjectFormFieldPopup( + value: value, + editorBuilder: widget.editorBuilder, + popoverPadding: widget.popoverPadding, + prompt: prompt, + decorate: widget.decorate, + onChanged: (value) { + // by default, popover will immediately inform any changes + // but if its explicitly set to false, then we should not inform + if (mounted && widget.immediateValueChange != false) { + this.value = value; + } else { + delayedResult = value; + } + }, + ); + }, + ) + .then( + (_) { + if (mounted && widget.immediateValueChange == false) { + this.value = delayedResult; + } + }, + ); + } + + /// Prompts the user to select or edit a value via dialog or popover. + /// + /// Displays the appropriate UI based on the configured [PromptMode]. + /// + /// Parameters: + /// - [value] (`T?`, optional): An initial value to display in the prompt. + /// + /// Example: + /// ```dart + /// fieldState.prompt(initialValue); + /// ``` + void prompt([T? value]) { + if (widget.mode == PromptMode.dialog) { + _showDialog(value); + } else { + _showPopover(value); + } + } + + @override + Widget build(BuildContext context) { + final size = widget.size ?? ButtonSize.normal; + final density = widget.density ?? ButtonDensity.normal; + final shape = widget.shape ?? ButtonShape.rectangle; + return OutlineButton( + trailing: widget.trailing?.iconMutedForeground().iconSmall(), + leading: widget.leading?.iconMutedForeground().iconSmall(), + size: size, + density: density, + shape: shape, + onPressed: enabled && widget.onChanged != null ? prompt : null, + enabled: enabled, + child: value == null + ? widget.placeholder.muted() + : widget.builder(context, value as T), + ); + } +} + +class _ObjectFormFieldDialog extends StatefulWidget { + final T? value; + final Widget Function(BuildContext context, ObjectFormHandler handler) + editorBuilder; + final Widget? dialogTitle; + final List Function( + BuildContext context, ObjectFormHandler handler)? dialogActions; + final ValueChanged prompt; + final bool decorate; + final ValueChanged onChanged; + + const _ObjectFormFieldDialog({ + super.key, + required this.value, + required this.editorBuilder, + this.dialogTitle, + this.dialogActions, + required this.prompt, + this.decorate = true, + required this.onChanged, + }); + + @override + State<_ObjectFormFieldDialog> createState() => + _ObjectFormFieldDialogState(); +} + +/// Holds the result value from an object form field dialog. +/// +/// Used to pass the selected or edited value back from a dialog prompt. +/// +/// Example: +/// ```dart +/// final result = ObjectFormFieldDialogResult(DateTime.now()); +/// Navigator.of(context).pop(result); +/// ``` +class ObjectFormFieldDialogResult { + /// The value selected or edited by the user. + final T? value; + + /// Creates an [ObjectFormFieldDialogResult]. + /// + /// Parameters: + /// - [value] (`T?`, required): The result value. + ObjectFormFieldDialogResult(this.value); +} + +class _ObjectFormFieldDialogState extends State<_ObjectFormFieldDialog> + implements ObjectFormHandler { + late T? _value; + + @override + void initState() { + super.initState(); + _value = widget.value; + } + + @override + T? get value => _value; + + @override + set value(T? value) { + if (mounted) { + setState(() { + _value = value; + }); + } else { + _value = value; + } + widget.onChanged(value); + } + + @override + void prompt([T? value]) { + widget.prompt.call(value); + } + + @override + Future close() { + final modalRoute = ModalRoute.of(context); + Navigator.of(context).pop(); + return modalRoute?.completed ?? Future.value(); + } + + @override + Widget build(BuildContext context) { + if (!widget.decorate) { + return widget.editorBuilder(context, this); + } + final localizations = ShadcnLocalizations.of(context); + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + return Data>.inherit( + data: this, + child: AlertDialog( + title: widget.dialogTitle, + content: Padding( + padding: EdgeInsets.only(top: densityGap), + child: widget.editorBuilder( + context, + this, + ), + ), + actions: [ + if (widget.dialogActions != null) + ...widget.dialogActions!(context, this), + ObjectInputCancelButton( + child: Text(localizations.buttonCancel), + onPressed: () { + Navigator.of(context).pop(); + }), + ObjectInputSaveButton( + child: Text(localizations.buttonSave), + onPressed: () { + Navigator.of(context).pop(ObjectFormFieldDialogResult(_value)); + }), + ], + ), + ); + } +} + +class _ObjectFormFieldPopup extends StatefulWidget { + final T? value; + final Widget Function(BuildContext context, ObjectFormHandler handler) + editorBuilder; + final EdgeInsetsGeometry? popoverPadding; + final ValueChanged? onChanged; + final ValueChanged prompt; + final bool decorate; + + const _ObjectFormFieldPopup({ + super.key, + required this.value, + required this.editorBuilder, + required this.prompt, + this.popoverPadding, + this.onChanged, + this.decorate = true, + }); + + @override + State<_ObjectFormFieldPopup> createState() => + _ObjectFormFieldPopupState(); +} + +class _ObjectFormFieldPopupState extends State<_ObjectFormFieldPopup> + implements ObjectFormHandler { + late T? _value; + + @override + void initState() { + super.initState(); + _value = widget.value; + } + + @override + T? get value => _value; + + @override + set value(T? value) { + if (mounted) { + setState(() { + _value = value; + }); + } else { + _value = value; + } + widget.onChanged?.call(value); + } + + @override + void prompt([T? value]) { + widget.prompt.call(value); + } + + @override + Future close() { + return closeOverlay(context); + } + + @override + Widget build(BuildContext context) { + if (!widget.decorate) { + return widget.editorBuilder(context, this); + } + final theme = Theme.of(context); + return Data>.inherit( + data: this, + child: SurfaceCard( + padding: widget.popoverPadding ?? + (const EdgeInsets.symmetric(vertical: 16, horizontal: 16) * + theme.scaling), + child: widget.editorBuilder( + context, + this, + ), + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/formatted_input.dart b/third_party/shadcn_flutter/lib/src/components/form/formatted_input.dart new file mode 100644 index 00000000..6cd171d7 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/formatted_input.dart @@ -0,0 +1,1297 @@ +import 'dart:math'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme configuration for [FormattedInput] widget styling. +/// +/// Defines visual properties for formatted input components including +/// height and padding. Applied globally through [ComponentTheme] or per-instance. +class FormattedInputTheme extends ComponentThemeData { + /// The height of the formatted input. + final double? height; + + /// Internal padding for the formatted input. + final EdgeInsetsGeometry? padding; + + /// Creates a [FormattedInputTheme]. + const FormattedInputTheme({this.height, this.padding}); + + /// Creates a copy of this theme with specified properties overridden. + FormattedInputTheme copyWith({ + ValueGetter? height, + ValueGetter? padding, + }) { + return FormattedInputTheme( + height: height == null ? this.height : height(), + padding: padding == null ? this.padding : padding(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is FormattedInputTheme && + other.height == height && + other.padding == padding; + } + + @override + int get hashCode => Object.hash(height, padding); +} + +/// Abstract base class for parts of a formatted input. +/// +/// [InputPart] defines the interface for components that make up a formatted +/// input field, such as static text, editable sections, or custom widgets. +/// Each part can be rendered and may optionally hold a value. +/// +/// Example parts: +/// - Static text separators (e.g., "/", "-") +/// - Editable numeric fields (e.g., month, day, year) +/// - Custom widget decorations +abstract class InputPart implements FormattedValuePart { + /// Creates a static text part. + const factory InputPart.static(String text) = StaticPart; + + /// Creates an editable input part. + const factory InputPart.editable({ + required int length, + bool obscureText, + List inputFormatters, + Widget? placeholder, + required double width, + }) = EditablePart; + + /// Creates a custom widget part. + const factory InputPart.widget(Widget widget) = WidgetPart; + + /// Creates an [InputPart]. + const InputPart(); + + /// Builds the widget for this part. + Widget build(BuildContext context, FormattedInputData data); + + /// A unique key identifying this part. + Object? get partKey; + + /// Whether this part can hold a value. + bool get canHaveValue => false; + + @override + + /// The current value of this part, or null if it doesn't hold a value. + String? get value => null; + + @override + + /// Returns this part. + InputPart get part => this; + + @override + + /// Creates a copy of this part with the specified value. + FormattedValuePart withValue(String value) { + return FormattedValuePart(this, value); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is InputPart && other.partKey == partKey; + } + + @override + int get hashCode => partKey.hashCode; +} + +/// A part that displays a custom widget. +class WidgetPart extends InputPart { + /// The widget to display. + final Widget widget; + + /// Creates a [WidgetPart] with the specified widget. + const WidgetPart(this.widget); + + @override + Widget build(BuildContext context, FormattedInputData data) { + return widget; + } + + @override + Object? get partKey => widget.key; + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is WidgetPart && other.widget == widget; + } + + @override + int get hashCode => widget.hashCode; +} + +/// A part that displays static, non-editable text. +class StaticPart extends InputPart { + /// The static text to display. + final String text; + + /// Creates a [StaticPart] with the specified static text. + /// + /// Parameters: + /// - [text] (`String`, required): The immutable text content to display. + /// + /// Example: + /// ```dart + /// const StaticPart('/') + /// ``` + const StaticPart(this.text); + + @override + Widget build(BuildContext context, FormattedInputData data) { + return _StaticPartWidget(text: text); + } + + @override + String get partKey => text; + + @override + String toString() { + return 'StaticPart{text: $text}'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is StaticPart && other.text == text; + } + + @override + int get hashCode => text.hashCode; +} + +class _StaticPartWidget extends StatefulWidget { + final String text; + const _StaticPartWidget({required this.text}); + + @override + State<_StaticPartWidget> createState() => _StaticPartWidgetState(); +} + +class _StaticPartWidgetState extends State<_StaticPartWidget> { + @override + Widget build(BuildContext context) { + return Text(widget.text).muted().base().center(); + } +} + +/// A part that represents an editable input field section. +/// +/// [EditablePart] defines a user-editable portion of a formatted input, +/// such as a date component, time segment, or numeric field. Each editable +/// part can have a fixed length, input formatters, and optional obscuring. +/// +/// Example: +/// ```dart +/// EditablePart( +/// length: 2, +/// width: 40.0, +/// inputFormatters: [FilteringTextInputFormatter.digitsOnly], +/// placeholder: Text('MM'), +/// ) +/// ``` +class EditablePart extends InputPart { + /// The maximum length of text this part can hold. + final int length; + + /// Whether to obscure the text (e.g., for passwords). + final bool obscureText; + + /// Input formatters to apply to this part. + final List inputFormatters; + + /// The width of this input part. + final double width; + + /// Optional placeholder widget to display when empty. + final Widget? placeholder; + + /// Creates an [EditablePart] with the specified configuration. + const EditablePart({ + required this.length, + this.obscureText = false, + this.inputFormatters = const [], + this.placeholder, + required this.width, + }); + + @override + Object? get partKey => null; + + @override + bool get canHaveValue => true; + + @override + Widget build(BuildContext context, FormattedInputData data) { + return _EditablePartWidget( + data: data, + length: length, + obscureText: obscureText, + inputFormatters: inputFormatters, + placeholder: placeholder, + width: width, + ); + } + + @override + String toString() { + return 'EditablePart{length: $length, obscureText: $obscureText, inputFormatters: $inputFormatters, width: $width, placeholder: $placeholder}'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is EditablePart && + other.length == length && + other.obscureText == obscureText && + listEquals(other.inputFormatters, inputFormatters) && + other.width == width && + other.placeholder == placeholder; + } + + @override + int get hashCode => Object.hash( + length, obscureText, Object.hashAll(inputFormatters), width, placeholder); +} + +class _EditablePartController extends TextEditingController { + final int maxLength; + final bool hasPlaceholder; + _EditablePartController( + {required this.maxLength, required this.hasPlaceholder, super.text}); + + @override + TextSpan buildTextSpan( + {required BuildContext context, + TextStyle? style, + required bool withComposing}) { + final theme = Theme.of(context); + assert(!value.composing.isValid || + !withComposing || + value.isComposingRangeValid); + final bool composingRegionOutOfRange = + !value.isComposingRangeValid || !withComposing; + + if (composingRegionOutOfRange) { + var text = this.text; + if (text.isEmpty && hasPlaceholder) { + return const TextSpan(); + } + var padding = '_' * max(0, maxLength - text.length); + return TextSpan(children: [ + TextSpan( + style: style, + text: text, + ), + TextSpan( + style: style?.copyWith(color: theme.colorScheme.mutedForeground), + text: padding, + ), + ]); + } + + final TextStyle composingStyle = + style?.merge(const TextStyle(decoration: TextDecoration.underline)) ?? + const TextStyle(decoration: TextDecoration.underline); + var textBefore = value.composing.textBefore(value.text); + var textInside = value.composing.textInside(value.text); + var textAfter = value.composing.textAfter(value.text); + int totalTextLength = + textBefore.length + textInside.length + textAfter.length; + if (totalTextLength == 0 && hasPlaceholder) { + return const TextSpan(); + } + var padding = '_' * max(0, maxLength - totalTextLength); + return TextSpan( + style: style, + children: [ + TextSpan(text: textBefore), + TextSpan( + style: composingStyle, + text: textInside, + ), + TextSpan(text: textAfter), + TextSpan( + style: style?.copyWith(color: theme.colorScheme.mutedForeground), + text: padding, + ), + ], + ); + } +} + +class _EditablePartWidget extends StatefulWidget { + final FormattedInputData data; + final int length; + final bool obscureText; + final List inputFormatters; + final double width; + final Widget? placeholder; + const _EditablePartWidget({ + required this.length, + required this.data, + this.obscureText = false, + this.inputFormatters = const [], + this.placeholder, + required this.width, + }); + + @override + State<_EditablePartWidget> createState() => _EditablePartWidgetState(); +} + +class _EditablePartWidgetState extends State<_EditablePartWidget> { + late TextEditingController _controller; + + @override + void initState() { + super.initState(); + _controller = _EditablePartController( + maxLength: widget.length, + hasPlaceholder: widget.placeholder != null, + text: widget.data.initialValue, + ); + _controller.addListener(_onTextChanged); + if (widget.data.controller != null) { + widget.data.controller!.addListener(_onFormattedInputControllerChange); + } + } + + void _onTextChanged() { + if (_updating) return; + _updating = true; + try { + if (widget.data.controller != null) { + var value = widget.data.controller!.value; + var parts = List.from(value.parts); + int valueIndex = 0; + for (int i = 0; i < parts.length; i++) { + if (parts[i].part.canHaveValue) { + if (valueIndex == widget.data.partIndex) { + parts[i] = parts[i].withValue(_controller.text); + break; + } + valueIndex++; + } + } + widget.data.controller!.value = FormattedValue(parts); + } + } finally { + _updating = false; + } + } + + bool _updating = false; + void _onFormattedInputControllerChange() { + if (_updating) { + return; + } + _updating = true; + try { + if (widget.data.controller != null) { + var value = widget.data.controller!.value; + var part = value.values.elementAt(widget.data.partIndex); + String newText = part.value ?? ''; + if (_controller.text != newText) { + _controller.value = _controller.value.replaceText(newText); + } + } + } finally { + _updating = false; + } + } + + @override + void didUpdateWidget(covariant _EditablePartWidget oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.length != widget.length) { + final oldValue = _controller.value; + _controller = _EditablePartController( + maxLength: widget.length, + hasPlaceholder: widget.placeholder != null, + text: oldValue.text, + ); + } else if (widget.data.initialValue != oldWidget.data.initialValue) { + // Update text if initialValue changes externally + if (_controller.text != widget.data.initialValue) { + _controller.text = widget.data.initialValue ?? ''; + } + } + if (oldWidget.data.controller != widget.data.controller) { + if (oldWidget.data.controller != null) { + oldWidget.data.controller! + .removeListener(_onFormattedInputControllerChange); + } + if (widget.data.controller != null) { + widget.data.controller!.addListener(_onFormattedInputControllerChange); + } + } + } + + @override + void dispose() { + if (widget.data.controller != null) { + widget.data.controller!.removeListener(_onFormattedInputControllerChange); + } + super.dispose(); + } + + FormattedInputData get data => widget.data; + + void _onChanged(String value) { + int length = value.length; + if (length >= widget.length) { + _nextFocus(); + } + } + + KeyEventResult _onKeyEvent(FocusNode node, KeyEvent event) { + if (event is KeyDownEvent) { + if (event.logicalKey == LogicalKeyboardKey.backspace) { + if (_controller.selection.isCollapsed && + _controller.selection.baseOffset == 0) { + _previousFocus(); + return KeyEventResult.handled; + } + } + if (event.logicalKey == LogicalKeyboardKey.arrowLeft) { + if (_controller.selection.isCollapsed && + _controller.selection.baseOffset == 0) { + _previousFocus(); + return KeyEventResult.handled; + } + } + if (event.logicalKey == LogicalKeyboardKey.arrowRight) { + if (_controller.selection.isCollapsed && + _controller.selection.baseOffset == _controller.text.length) { + _nextFocus(); + return KeyEventResult.handled; + } + } + } + return KeyEventResult.ignored; + } + + void _nextFocus() { + int nextIndex = data.partIndex + 1; + if (nextIndex < data.focusNodes.length) { + FocusNode nextNode = data.focusNodes[nextIndex]; + nextNode.requestFocus(); + } + } + + void _previousFocus() { + int nextIndex = data.partIndex - 1; + if (nextIndex >= 0) { + FocusNode nextNode = data.focusNodes[nextIndex]; + nextNode.requestFocus(); + } + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return Focus( + onKeyEvent: _onKeyEvent, + child: FormEntry( + key: TextFieldKey(data.partIndex), + child: SizedBox( + width: widget.width, + child: ComponentTheme( + data: const FocusOutlineTheme( + border: Border.fromBorderSide(BorderSide.none), + ), + child: TextField( + focusNode: data.focusNode, + controller: _controller, + maxLength: widget.length, + onChanged: _onChanged, + decoration: const BoxDecoration(), + style: DefaultTextStyle.of(context) + .style + .merge(theme.typography.mono), + border: const Border.fromBorderSide(BorderSide.none), + textAlign: TextAlign.center, + initialValue: data.initialValue, + maxLines: 1, + obscureText: widget.obscureText, + inputFormatters: widget.inputFormatters, + placeholder: widget.placeholder, + padding: EdgeInsets.symmetric( + horizontal: 6 * theme.scaling, + ), + ), + ), + ), + ), + ); + } +} + +/// Represents a part of a formatted value with its associated input part and value. +/// +/// A [FormattedValuePart] pairs an [InputPart] definition with an optional +/// string value, used to represent user input or parsed data within a +/// formatted input field. +/// +/// Example: +/// ```dart +/// final part = FormattedValuePart(DigitPart(), '5'); +/// final updated = part.withValue('7'); +/// ``` +class FormattedValuePart { + /// The input part definition that this value belongs to. + final InputPart part; + + /// The actual string value for this part, or null if not set. + final String? value; + + /// Creates a [FormattedValuePart]. + /// + /// Parameters: + /// - [part] (`InputPart`, required): The input part definition. + /// - [value] (`String?`, optional): The value for this part. + const FormattedValuePart(this.part, [this.value]); + + /// Creates a copy of this part with a new value. + /// + /// Parameters: + /// - [value] (`String`, required): The new value to associate with this part. + /// + /// Returns: A new [FormattedValuePart] with the updated value. + /// + /// Example: + /// ```dart + /// final original = FormattedValuePart(DigitPart(), '1'); + /// final updated = original.withValue('2'); + /// ``` + FormattedValuePart withValue(String value) { + return FormattedValuePart(part, value); + } + + @override + String toString() { + return 'FormattedValuePart{part: $part, value: $value}'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is FormattedValuePart && + part == other.part && + value == other.value; + } + + @override + int get hashCode => Object.hash(part, value); +} + +/// Represents a complete formatted value composed of multiple parts. +/// +/// A [FormattedValue] holds a list of [FormattedValuePart] instances, where +/// each part represents either static text or editable fields. It provides +/// methods to access value parts (excluding static parts) and retrieve +/// individual parts by index. +/// +/// Example: +/// ```dart +/// final value = FormattedValue([ +/// FormattedValuePart(DigitPart(), '1'), +/// FormattedValuePart(StaticPart('/'), null), +/// FormattedValuePart(DigitPart(), '2'), +/// ]); +/// print(value.values.length); // 2 (only value parts) +/// ``` +class FormattedValue { + /// The list of parts that make up this formatted value. + final List parts; + + /// Creates a [FormattedValue]. + /// + /// Parameters: + /// - [parts] (`List`, default: `const []`): The parts + /// composing this value. + const FormattedValue([this.parts = const []]); + + /// Returns an iterable of only the parts that can hold values. + /// + /// This excludes static parts like separators or fixed text. + Iterable get values => + parts.where((part) => part.part.canHaveValue); + + /// Retrieves the value part at the specified index. + /// + /// This indexes only the parts that can hold values (excluding static parts). + /// + /// Parameters: + /// - [index] (`int`, required): The zero-based index into value parts. + /// + /// Returns: The [FormattedValuePart] at the index, or null if out of bounds. + /// + /// Example: + /// ```dart + /// final value = FormattedValue([ + /// FormattedValuePart(DigitPart(), '1'), + /// FormattedValuePart(StaticPart('/'), null), + /// FormattedValuePart(DigitPart(), '2'), + /// ]); + /// print(value[0]?.value); // '1' + /// print(value[1]?.value); // '2' + /// ``` + FormattedValuePart? operator [](int index) { + int partIndex = 0; + for (var part in parts) { + if (part.part.canHaveValue) { + if (partIndex == index) { + return part; + } + partIndex++; + } + } + return null; + } + + @override + String toString() => parts.join(); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is FormattedValue && listEquals(parts, other.parts); + } + + @override + int get hashCode => parts.hashCode; +} + +/// A controller for managing [FormattedInput] values programmatically. +/// +/// This controller extends `ValueNotifier` to provide reactive +/// state management for formatted input components. It implements [ComponentController] +/// to integrate with the controlled component system, allowing external control +/// and listening to formatted input changes. +/// +/// Example: +/// ```dart +/// final controller = FormattedInputController( +/// FormattedValue([ +/// FormattedValuePart.static('('), +/// FormattedValuePart.editable('', length: 3), +/// FormattedValuePart.static(') '), +/// FormattedValuePart.editable('', length: 3), +/// FormattedValuePart.static('-'), +/// FormattedValuePart.editable('', length: 4), +/// ]) +/// ); +/// ``` +class FormattedInputController extends ValueNotifier + with ComponentController { + /// Creates a [FormattedInputController] with an optional initial value. + /// + /// Parameters: + /// - [value] (FormattedValue, default: empty): Initial formatted value + FormattedInputController([super.value = const FormattedValue()]); +} + +/// A controlled input widget for structured data entry with formatting. +/// +/// This widget provides a sophisticated input system that combines static text +/// elements with editable fields in a single input interface. It's ideal for +/// formatted inputs like phone numbers, credit cards, dates, or any structured +/// data that requires specific formatting patterns. +/// +/// The FormattedInput manages multiple editable segments, each with their own +/// validation, formatting, and input restrictions. It automatically handles +/// focus management between segments and provides a seamless user experience +/// with proper keyboard navigation. +/// +/// Example: +/// ```dart +/// FormattedInput( +/// style: TextStyle(fontFamily: 'monospace'), +/// leading: Icon(Icons.phone), +/// initialValue: FormattedValue([ +/// FormattedValuePart.static('('), +/// FormattedValuePart.editable('555', length: 3), +/// FormattedValuePart.static(') '), +/// FormattedValuePart.editable('123', length: 3), +/// FormattedValuePart.static('-'), +/// FormattedValuePart.editable('4567', length: 4), +/// ]), +/// ); +/// ``` +class FormattedInput extends StatefulWidget + with ControlledComponent { + @override + final FormattedValue? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final FormattedInputController? controller; + + /// Text style applied to all input segments. + /// + /// This style affects both static text and editable input fields within + /// the formatted input. Using a monospace font family is recommended + /// for consistent character spacing across segments. + final TextStyle? style; + + /// Widget displayed at the beginning of the input. + /// + /// Commonly used for icons or labels that provide context for the input + /// content, such as a phone icon for phone number inputs. + final Widget? leading; + + /// Widget displayed at the end of the input. + /// + /// Can be used for action buttons, status indicators, or additional + /// context related to the input content. + final Widget? trailing; + + /// Creates a [FormattedInput]. + /// + /// The input structure is defined by the [initialValue] or [controller] + /// value, which contains the mix of static text and editable segments. + /// Each editable segment can have its own length restrictions and formatting. + /// + /// Parameters: + /// - [initialValue] (FormattedValue?, optional): Initial structure and values + /// - [onChanged] (`ValueChanged?`, optional): Callback for value changes + /// - [style] (TextStyle?, optional): Text styling for all segments + /// - [leading] (Widget?, optional): Widget displayed before the input + /// - [trailing] (Widget?, optional): Widget displayed after the input + /// - [enabled] (bool, default: true): Whether the input accepts user interaction + /// - [controller] (FormattedInputController?, optional): External controller for programmatic control + /// + /// Example: + /// ```dart + /// FormattedInput( + /// initialValue: FormattedValue([ + /// FormattedValuePart.static('$'), + /// FormattedValuePart.editable('0.00', length: 8), + /// ]), + /// leading: Icon(Icons.attach_money), + /// style: TextStyle(fontSize: 16), + /// ); + /// ``` + const FormattedInput({ + super.key, + this.initialValue, + this.onChanged, + this.style, + this.leading, + this.trailing, + this.enabled = true, + this.controller, + }); + + @override + State createState() => _FormattedInputState(); +} + +class _FormattedInputState extends State { + final FormController _controller = FormController(); + bool _hasFocus = false; + FormattedValue? _value; + late List _focusNodes; + + @override + void initState() { + super.initState(); + _value = widget.initialValue ?? widget.controller?.value; + _controller.addListener(_notifyChanged); + int partIndex = 0; + if (_value != null) { + for (var part in _value!.parts) { + if (part.part.canHaveValue) { + partIndex++; + } + } + } + _focusNodes = _allocateFocusNodes(partIndex); + } + + List _allocateFocusNodes(int newLength, + [List? oldNodes]) { + if (oldNodes == null) { + return List.generate(newLength, (index) => FocusNode()); + } + if (newLength == oldNodes.length) { + return oldNodes; + } + if (newLength < oldNodes.length) { + for (var i = newLength; i < oldNodes.length; i++) { + oldNodes[i].dispose(); + } + return oldNodes.sublist(0, newLength); + } + return [ + ...oldNodes, + ...List.generate(newLength - oldNodes.length, (index) => FocusNode()), + ]; + } + + Widget _buildPart(int index, InputPart part) { + var formattedInputData = FormattedInputData( + partIndex: index, + initialValue: index < 0 ? null : (_value?[index]?.value ?? ''), + enabled: widget.enabled, + controller: widget.controller, + focusNode: index < 0 ? null : _focusNodes[index], + focusNodes: _focusNodes, + ); + return part.build(context, formattedInputData); + } + + bool _updating = false; + void _notifyChanged() { + if (_updating) { + return; + } + _updating = true; + try { + List parts = []; + var values = _controller.values; + var value = _value; + if (value != null) { + int partIndex = 0; + for (var i = 0; i < value.parts.length; i++) { + var part = value.parts[i]; + if (part.part.canHaveValue) { + FormKey key = FormKey(partIndex); + var val = values[key]; + parts.add(part.withValue(val as String? ?? '')); + partIndex++; + } else { + parts.add(part); + } + } + _focusNodes = _allocateFocusNodes(partIndex, _focusNodes); + } else { + _focusNodes = _allocateFocusNodes(0, _focusNodes); + } + var newValue = FormattedValue(parts); + if (widget.onChanged != null && newValue != _value) { + widget.onChanged!(newValue); + } + } finally { + _updating = false; + } + } + + @override + void dispose() { + _controller.dispose(); + for (var node in _focusNodes) { + node.dispose(); + } + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + List children = []; + if (_value != null) { + int partIndex = 0; + for (var part in _value!.parts) { + if (part.part.canHaveValue) { + children.add(_buildPart(partIndex, part.part)); + partIndex++; + } else { + children.add(_buildPart(-1, part.part)); + } + } + } + final compTheme = ComponentTheme.maybeOf(context); + return SizedBox( + height: (compTheme?.height ?? kTextFieldHeight) * theme.scaling, // 32 + 2 + child: TextFieldTapRegion( + child: Focus( + onFocusChange: (hasFocus) { + setState(() { + _hasFocus = hasFocus; + }); + }, + child: FocusOutline( + focused: _hasFocus, + borderRadius: theme.borderRadiusMd, + child: OutlinedContainer( + borderRadius: theme.borderRadiusMd, + borderColor: theme.colorScheme.border, + backgroundColor: theme.colorScheme.input.scaleAlpha(0.3), + padding: compTheme?.padding ?? + EdgeInsets.symmetric( + horizontal: 6 * theme.scaling, + ), + child: Form( + controller: _controller, + child: FocusTraversalGroup( + policy: WidgetOrderTraversalPolicy(), + child: IntrinsicHeight( + child: Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (widget.leading != null) widget.leading!, + ...children, + if (widget.trailing != null) widget.trailing!, + ], + ), + ), + ), + ), + ), + ), + ), + ), + ); + } +} + +/// Internal data structure for formatted input parts. +/// +/// [FormattedInputData] holds the state and configuration data needed +/// to render and manage an individual input part within a formatted input. +class FormattedInputData { + /// The index of this part in the formatted input. + final int partIndex; + + /// The initial value for this part. + final String? initialValue; + + /// Whether this part is enabled for editing. + final bool enabled; + + /// The controller managing the overall formatted input. + final FormattedInputController? controller; + + /// The focus node for this specific part. + final FocusNode? focusNode; + + /// All focus nodes in the formatted input. + final List focusNodes; + + /// Creates a [FormattedInputData]. + FormattedInputData({ + required this.partIndex, + required this.initialValue, + required this.enabled, + required this.controller, + required this.focusNode, + required this.focusNodes, + }); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is FormattedInputData && + partIndex == other.partIndex && + initialValue == other.initialValue && + enabled == other.enabled && + controller == other.controller && + focusNode == other.focusNode && + focusNodes == other.focusNodes; + } + + @override + int get hashCode => Object.hash( + partIndex, initialValue, enabled, controller, focusNode, focusNodes); +} + +/// A function type for building custom popup content for formatted object inputs. +/// +/// Parameters: +/// - [context]: The build context. +/// - [controller]: The controller managing the input value. +/// +/// Returns: A widget to display in the popup. +typedef FormattedInputPopupBuilder = Widget Function( + BuildContext context, ComponentController controller); + +/// A formatted input widget that works with complex objects. +/// +/// [FormattedObjectInput] extends formatted input functionality to handle +/// objects of type [T], converting between the object and its formatted +/// string representation. It can optionally display a popup for advanced editing. +/// +/// Example: +/// ```dart +/// FormattedObjectInput( +/// converter: dateConverter, +/// parts: [ +/// InputPart.editable(length: 2, width: 30), // Month +/// InputPart.static('/'), +/// InputPart.editable(length: 2, width: 30), // Day +/// ], +/// popupBuilder: (context, controller) => CalendarWidget(), +/// ) +/// ``` +class FormattedObjectInput extends StatefulWidget + with ControlledComponent { + @override + + /// The initial value of the input. + final T? initialValue; + + @override + + /// Called when the value changes. + final ValueChanged? onChanged; + + /// Called when the individual parts change. + final ValueChanged>? onPartsChanged; + + /// Builder for creating a custom popup widget. + final FormattedInputPopupBuilder? popupBuilder; + + @override + + /// Whether the input is enabled. + final bool enabled; + + @override + + /// Optional controller for external control. + final ComponentController? controller; + + /// Converter between the object type and string parts. + final BiDirectionalConvert> converter; + + /// The input parts that make up the formatted input. + final List parts; + + /// Alignment of the popover relative to the anchor. + final AlignmentGeometry? popoverAlignment; + + /// Anchor alignment for popover positioning. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Offset for the popover position. + final Offset? popoverOffset; + + /// Icon displayed in the popover trigger. + final Widget? popoverIcon; + + /// Creates a [FormattedObjectInput]. + const FormattedObjectInput({ + super.key, + this.initialValue, + this.onChanged, + this.popupBuilder, + this.enabled = true, + this.controller, + required this.converter, + required this.parts, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverOffset, + this.popoverIcon, + this.onPartsChanged, + }); + + @override + State> createState() => + _FormattedObjectInputState(); +} + +class _FormattedObjectController extends ValueNotifier + with ComponentController { + _FormattedObjectController([super.value]); +} + +class _FormattedObjectInputState extends State> { + late FormattedInputController _formattedController; + late ComponentController _controller; + + final _popoverController = PopoverController(); + + bool _updating = false; // to prevent circular updates + + @override + void initState() { + super.initState(); + _controller = widget.controller ?? _FormattedObjectController(); + List values = widget.converter + .convertA(widget.initialValue ?? widget.controller?.value); + List valueParts = []; + int partIndex = 0; + for (var i = 0; i < widget.parts.length; i++) { + var part = widget.parts[i]; + if (part.canHaveValue) { + var value = values[partIndex]; + if (value != null) { + valueParts.add(part.withValue(value)); + } else { + valueParts.add(FormattedValuePart(part)); + } + partIndex++; + } else { + valueParts.add(FormattedValuePart(part)); + } + } + _formattedController = FormattedInputController( + FormattedValue(valueParts), + ); + _formattedController.addListener(_onFormattedControllerUpdate); + _controller.addListener(_onControllerUpdate); + } + + @override + void didUpdateWidget(covariant FormattedObjectInput oldWidget) { + super.didUpdateWidget(oldWidget); + if (!listEquals(widget.parts, oldWidget.parts)) { + List values = widget.converter.convertA(_controller.value); + List valueParts = []; + List oldValues = + _formattedController.value.values.toList(); + int partIndex = 0; + for (var i = 0; i < widget.parts.length; i++) { + var part = widget.parts[i]; + if (part.canHaveValue) { + var value = values[partIndex]; + if (value != null) { + valueParts.add(part.withValue(value)); + } else { + var oldValue = + partIndex < oldValues.length ? oldValues[partIndex] : null; + if (oldValue != null) { + valueParts.add(oldValue); + } else { + valueParts.add(FormattedValuePart(part)); + } + } + partIndex++; + } else { + valueParts.add(FormattedValuePart(part)); + } + } + _updating = true; + try { + _formattedController.value = FormattedValue(valueParts); + } finally { + _updating = false; + } + } + } + + void _onFormattedControllerUpdate() { + if (_updating) return; + _updating = true; + try { + var value = _formattedController.value; + T? newValue = widget.converter.convertB(value.values.map((part) { + return part.value ?? ''; + }).toList()); + _controller.value = newValue; + widget.onChanged?.call(newValue); + } finally { + _updating = false; + } + } + + void _onControllerUpdate() { + if (_updating) return; + _updating = true; + try { + List values = widget.converter.convertA(_controller.value); + List valueParts = []; + int partIndex = 0; + List oldValues = + _formattedController.value.values.toList(); + for (var i = 0; i < widget.parts.length; i++) { + var part = widget.parts[i]; + if (part.canHaveValue) { + var value = values[partIndex]; + if (value != null) { + valueParts.add(part.withValue(value)); + } else { + var oldValue = + partIndex < oldValues.length ? oldValues[partIndex] : null; + if (oldValue != null) { + valueParts.add(oldValue); + } else { + valueParts.add(FormattedValuePart(part)); + } + } + partIndex++; + } else { + valueParts.add(FormattedValuePart(part)); + } + } + _formattedController.value = FormattedValue(valueParts); + widget.onChanged?.call(_controller.value); + } finally { + _updating = false; + } + } + + void _openPopover() { + var popupBuilder = widget.popupBuilder; + if (popupBuilder == null) { + return; + } + final theme = Theme.of(context); + _popoverController.show( + context: context, + alignment: widget.popoverAlignment ?? AlignmentDirectional.topStart, + anchorAlignment: + widget.popoverAnchorAlignment ?? AlignmentDirectional.bottomStart, + offset: widget.popoverOffset ?? (const Offset(0, 4) * theme.scaling), + builder: (context) { + return popupBuilder(context, _controller); + }); + } + + @override + void dispose() { + _formattedController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var popoverIcon = widget.popoverIcon; + return FormattedInput( + controller: _formattedController, + onChanged: (value) { + List values = value.values.map((part) { + return part.value ?? ''; + }).toList(); + widget.onPartsChanged?.call(values); + T? newValue = widget.converter.convertB(values); + _controller.value = newValue; + }, + trailing: popoverIcon == null + ? null + : ListenableBuilder( + listenable: _popoverController, + builder: (context, child) { + return WidgetStatesProvider( + states: { + if (_popoverController.hasOpenPopover) + WidgetState.hovered, + }, + child: child!, + ); + }, + child: IconButton.text( + icon: popoverIcon, + density: ButtonDensity.compact, + onPressed: _openPopover, + ))); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/formatter.dart b/third_party/shadcn_flutter/lib/src/components/form/formatter.dart new file mode 100644 index 00000000..cd51faa3 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/formatter.dart @@ -0,0 +1,344 @@ +import 'dart:math'; + +import 'package:expressions/expressions.dart'; +import 'package:flutter/services.dart'; + +/// Constrains the text selection to fit within the new text length. +/// +/// Helper function that ensures selection offsets don't exceed the bounds +/// of the updated text. +TextSelection contraintToNewText(TextEditingValue newValue, String newText) { + return TextSelection( + baseOffset: newValue.selection.baseOffset.clamp(0, newText.length), + extentOffset: newValue.selection.extentOffset.clamp(0, newText.length), + ); +} + +/// Provides factory methods for common text input formatters. +/// +/// [TextInputFormatters] is a utility class that creates various pre-configured +/// [TextInputFormatter] instances for common formatting needs like uppercase/lowercase +/// conversion, numeric input, time formatting, and more. +/// +/// Example: +/// ```dart +/// TextField( +/// inputFormatters: [ +/// TextInputFormatters.toUpperCase, +/// TextInputFormatters.integerOnly(min: 0, max: 100), +/// ], +/// ) +/// ``` +class TextInputFormatters { + /// Converts all input text to uppercase. + static const TextInputFormatter toUpperCase = _ToUpperCaseTextFormatter(); + + /// Converts all input text to lowercase. + static const TextInputFormatter toLowerCase = _ToLowerCaseTextFormatter(); + + /// Creates a formatter for time input with leading zeros. + /// + /// Parameters: + /// - [length]: The fixed length of the time string. + static TextInputFormatter time({required int length}) { + return _TimeFormatter(length: length); + } + + /// Creates a formatter that only allows integer input with optional min/max bounds. + /// + /// Parameters: + /// - [min]: Optional minimum value. + /// - [max]: Optional maximum value. + static TextInputFormatter integerOnly({int? min, int? max}) { + return _IntegerOnlyFormatter(min: min, max: max); + } + + /// Creates a formatter that only allows decimal numeric input. + /// + /// Parameters: + /// - [min]: Optional minimum value. + /// - [max]: Optional maximum value. + /// - [decimalDigits]: Optional fixed number of decimal places. + static TextInputFormatter digitsOnly( + {double? min, double? max, int? decimalDigits}) { + return _DoubleOnlyFormatter( + min: min, max: max, decimalDigits: decimalDigits); + } + + /// Creates a formatter that evaluates mathematical expressions. + /// + /// Parameters: + /// - [context]: Optional context variables for expression evaluation. + static TextInputFormatter mathExpression({Map? context}) { + return _MathExpressionFormatter(context: context); + } + + /// Creates a formatter for hexadecimal input. + /// + /// Parameters: + /// - [hashPrefix]: Whether to require/add a '#' prefix. + static TextInputFormatter hex({bool hashPrefix = false}) { + return _HexTextFormatter(hashPrefix: hashPrefix); + } + + const TextInputFormatters._(); +} + +class _TimeFormatter extends TextInputFormatter { + final int length; + const _TimeFormatter({required this.length}); + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, TextEditingValue newValue) { + // make sure new value has leading zero + var newText = newValue.text; + int substringCount = 0; + if (newText.length > length) { + substringCount = newText.length - length; + newText = newText.substring(substringCount); + } + int padLength = length - newText.length; + var baseOffset2 = newValue.selection.baseOffset; + var extentOffset2 = newValue.selection.extentOffset; + if (padLength > 0) { + newText = newText.padLeft(length, '0'); + baseOffset2 = baseOffset2 + padLength; + extentOffset2 = extentOffset2 + padLength; + } + return newValue.copyWith( + text: newText, + composing: newValue.composing.isValid + ? TextRange( + start: newValue.composing.start + .clamp(0, min(length, newValue.text.length)), + end: newValue.composing.end + .clamp(0, min(length, newValue.text.length)), + ) + : newValue.composing, + selection: TextSelection( + baseOffset: baseOffset2.clamp(0, min(length, newText.length)), + extentOffset: extentOffset2.clamp(0, min(length, newText.length)), + ), + ); + } +} + +class _IntegerOnlyFormatter extends TextInputFormatter { + final int? min; + final int? max; + + _IntegerOnlyFormatter({this.min, this.max}); + + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { + String newText = newValue.text; + if (newText.isEmpty) { + return newValue; + } + bool negate = newText.startsWith('-'); + if (negate) { + newText = newText.substring(1); + } + int? value = int.tryParse(newText); + if (value == null) { + if (negate) { + return const TextEditingValue( + text: '-', + selection: TextSelection.collapsed(offset: 1), + ); + } + return oldValue; + } + if (min != null && value <= min!) { + value = min!; + } + if (max != null && value >= max!) { + value = max!; + } + newText = value.toString(); + if (negate) { + newText = '-$newText'; + } + return TextEditingValue( + text: newText, + selection: contraintToNewText(newValue, newText), + ); + } +} + +class _DoubleOnlyFormatter extends TextInputFormatter { + final double? min; + final double? max; + final int? decimalDigits; + + _DoubleOnlyFormatter({this.min, this.max, this.decimalDigits}); + + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { + String newText = newValue.text; + if (newText.isEmpty) { + return newValue; + } + bool negate = newText.startsWith('-'); + if (negate) { + newText = newText.substring(1); + } + bool endsWithDot = newText.endsWith('.'); + if (endsWithDot) { + newText = newText.substring(0, newText.length - 1); + } + double? value = double.tryParse(newText); + if (value == null) { + if (negate) { + return const TextEditingValue( + text: '-', + selection: TextSelection.collapsed(offset: 1), + ); + } + return oldValue; + } + if (min != null && value <= min!) { + value = min!; + endsWithDot = false; + } + if (max != null && value >= max!) { + value = max!; + endsWithDot = false; + } + // var newText = value.toString(); + if (decimalDigits != null) { + newText = value.toStringAsFixed(decimalDigits!); + } else { + newText = value.toString(); + } + if (newText.contains('.')) { + while (newText.endsWith('0')) { + newText = newText.substring(0, newText.length - 1); + } + if (newText.endsWith('.')) { + newText = newText.substring(0, newText.length - 1); + } + } + if (endsWithDot) { + newText += '.'; + } + if (negate) { + newText = '-$newText'; + } + return TextEditingValue( + text: newText, + selection: contraintToNewText(newValue, newText), + ); + } +} + +class _MathExpressionFormatter extends TextInputFormatter { + final Map? context; + const _MathExpressionFormatter({this.context}); + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { + String newText = newValue.text; + Object? result; + try { + Expression expression = Expression.parse(newText); + ExpressionEvaluator evaluator = const ExpressionEvaluator(); + result = evaluator.eval(expression, context ?? {}); + if (result is! num) { + result = ''; + } + } catch (e) { + result = ''; + } + String resultText = result.toString(); + if (resultText.contains('.')) { + while (resultText.endsWith('0')) { + resultText = resultText.substring(0, resultText.length - 1); + } + if (resultText.endsWith('.')) { + resultText = resultText.substring(0, resultText.length - 1); + } + } + return TextEditingValue( + text: resultText, + selection: contraintToNewText(newValue, resultText), + ); + } +} + +class _ToUpperCaseTextFormatter extends TextInputFormatter { + const _ToUpperCaseTextFormatter(); + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { + return TextEditingValue( + text: newValue.text.toUpperCase(), + selection: newValue.selection, + ); + } +} + +class _ToLowerCaseTextFormatter extends TextInputFormatter { + const _ToLowerCaseTextFormatter(); + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { + return TextEditingValue( + text: newValue.text.toLowerCase(), + selection: newValue.selection, + ); + } +} + +class _HexTextFormatter extends TextInputFormatter { + final bool hashPrefix; + const _HexTextFormatter({this.hashPrefix = false}); + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { + String newText = newValue.text; + if (hashPrefix) { + if (!newText.startsWith('#')) { + newText = '#$newText'; + } + } else { + if (newText.startsWith('#')) { + newText = newText.substring(1); + } + } + // make sure all characters are valid hex characters + final hexRegExp = + hashPrefix ? RegExp(r'^#?[0-9a-fA-F]*$') : RegExp(r'^[0-9a-fA-F]*$'); + if (!hexRegExp.hasMatch(newText)) { + return oldValue; + } + var selection = contraintToNewText(newValue, newText); + // make sure selection is after the hash if hashPrefix is true + if (hashPrefix) { + if (selection.baseOffset == 0) { + selection = selection.copyWith(baseOffset: 1); + } + if (selection.extentOffset == 0) { + selection = selection.copyWith(extentOffset: 1); + } + } + return TextEditingValue( + text: newText, + selection: selection, + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/image.dart b/third_party/shadcn_flutter/lib/src/components/form/image.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/image.dart @@ -0,0 +1 @@ + diff --git a/third_party/shadcn_flutter/lib/src/components/form/input.dart b/third_party/shadcn_flutter/lib/src/components/form/input.dart new file mode 100644 index 00000000..c44b895b --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/input.dart @@ -0,0 +1,1281 @@ +import 'dart:async'; + +import 'package:flutter/services.dart' show Clipboard, LogicalKeyboardKey; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Position where an input feature is displayed. +/// +/// Determines whether an input feature (icon, button, widget) appears on +/// the leading (left/start) or trailing (right/end) side of the input. +enum InputFeaturePosition { + /// Display the feature on the leading side. + leading, + + /// Display the feature on the trailing side. + trailing, + + /// Display above the editable text. + above, + + /// Display below the editable text. + below, +} + +/// Adds a hint/info button to the input field with a popover. +/// +/// Displays an icon button that shows a popover with additional information +/// when clicked. Optionally supports keyboard shortcuts (F1) to open the hint. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputHintFeature( +/// popupBuilder: (context) => const Text('Enter your email'), +/// icon: Icon(Icons.help), +/// ), +/// ], +/// ) +/// ``` +class InputHintFeature extends InputFeature { + /// Builder for the hint popover content. + final WidgetBuilder popupBuilder; + + /// Custom icon to display (defaults to info icon). + final Widget? icon; + + /// Position of the hint button. + final InputFeaturePosition position; + + /// Whether to enable keyboard shortcut (F1) to show the hint. + final bool enableShortcuts; + + /// Creates an [InputHintFeature]. + /// + /// Parameters: + /// - [popupBuilder] (`WidgetBuilder`, required): Builds the hint content. + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the hint icon. + /// - [icon] (`Widget?`, optional): Custom icon widget. + /// - [enableShortcuts] (`bool`, default: `true`): Enable F1 keyboard shortcut. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputHintFeature({ + super.visibility, + super.skipFocusTraversal, + required this.popupBuilder, + this.position = InputFeaturePosition.trailing, + this.icon, + this.enableShortcuts = true, + }); + + @override + InputFeatureState createState() => _InputHintFeatureState(); +} + +class _InputHintFeatureState extends InputFeatureState { + final _popoverController = PopoverController(); + void _showPopup(BuildContext context) { + _popoverController.show( + context: context, + builder: feature.popupBuilder, + alignment: AlignmentDirectional.topCenter, + anchorAlignment: AlignmentDirectional.bottomCenter, + ); + } + + @override + Iterable buildTrailing() sync* { + if (feature.position == InputFeaturePosition.trailing) { + yield Builder(builder: (context) { + return IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.info), + onPressed: () => _showPopup(context), + density: ButtonDensity.compact, + ); + }); + } + } + + @override + Iterable buildLeading() sync* { + if (feature.position == InputFeaturePosition.leading) { + yield IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.info), + onPressed: () => _showPopup(context), + density: ButtonDensity.compact, + ); + } + } + + @override + Iterable> buildShortcuts() sync* { + if (feature.enableShortcuts) { + yield const MapEntry( + SingleActivator(LogicalKeyboardKey.f1), + InputShowHintIntent(), + ); + } + } + + @override + Iterable>> buildActions() sync* { + if (feature.enableShortcuts) { + yield MapEntry( + InputShowHintIntent, + CallbackContextAction( + onInvoke: (intent, [context]) { + if (context == null) { + throw FlutterError( + 'CallbackContextAction was invoked without a valid BuildContext. ' + 'This likely indicates a problem in the action system. ' + 'Context must not be null when invoking InputShowHintIntent.'); + } + _showPopup(context); + return true; + }, + ), + ); + } + } +} + +/// Intent to show an input hint popover. +/// +/// Used in keyboard shortcut actions to trigger the hint display. +class InputShowHintIntent extends Intent { + /// Creates an [InputShowHintIntent]. + const InputShowHintIntent(); +} + +/// Mode for password visibility toggling. +/// +/// Determines whether the password visibility toggle holds (shows while pressed) +/// or toggles (switches state on each press). +enum PasswordPeekMode { + /// Show password only while button is held down. + hold, + + /// Toggle password visibility on each press. + toggle, +} + +/// Adds a password visibility toggle feature to the input field. +/// +/// Provides a button that allows users to toggle between showing and hiding +/// password text. Supports both hold-to-reveal and toggle modes. +/// +/// Example: +/// ```dart +/// TextField( +/// obscureText: true, +/// features: [ +/// InputPasswordToggleFeature( +/// mode: PasswordPeekMode.toggle, +/// ), +/// ], +/// ) +/// ``` +class InputPasswordToggleFeature extends InputFeature { + /// The mode for password peeking behavior. + final PasswordPeekMode mode; + + /// Position of the toggle button. + final InputFeaturePosition position; + + /// Icon to display when password is hidden. + final Widget? icon; + + /// Icon to display when password is shown. + final Widget? iconShow; + + /// Creates an [InputPasswordToggleFeature]. + /// + /// Parameters: + /// - [mode] (`PasswordPeekMode`, default: `PasswordPeekMode.toggle`): + /// Toggle or hold behavior. + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the toggle. + /// - [icon] (`Widget?`, optional): Custom icon for hidden state. + /// - [iconShow] (`Widget?`, optional): Custom icon for visible state. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputPasswordToggleFeature({ + super.visibility, + this.icon, + this.iconShow, + this.mode = PasswordPeekMode.toggle, + this.position = InputFeaturePosition.trailing, + super.skipFocusTraversal, + }); + + @override + InputFeatureState createState() => _InputPasswordToggleFeatureState(); +} + +class _InputPasswordToggleFeatureState + extends InputFeatureState { + bool? _obscureText = true; + + void _toggleObscureText() { + setState(() { + if (_obscureText == null) { + _obscureText = true; + } else { + _obscureText = null; + } + }); + } + + @override + Iterable buildTrailing() sync* { + if (feature.position == InputFeaturePosition.trailing) { + yield _buildIconButton(); + } + } + + @override + Iterable buildLeading() sync* { + if (feature.position == InputFeaturePosition.leading) { + yield _buildIconButton(); + } + } + + Widget _buildIcon() { + if (_obscureText == true || input.obscureText) { + return feature.icon ?? const Icon(LucideIcons.eye); + } + return feature.iconShow ?? const Icon(LucideIcons.eyeOff); + } + + Widget _buildIconButton() { + if (feature.mode == PasswordPeekMode.hold) { + return IconButton.text( + icon: _buildIcon(), + onTapDown: (_) { + setState(() { + _obscureText = null; + }); + }, + onTapUp: (_) { + setState(() { + _obscureText = true; + }); + }, + enabled: true, + density: ButtonDensity.compact, + ); + } + return IconButton.text( + icon: _buildIcon(), + onPressed: _toggleObscureText, + density: ButtonDensity.compact, + ); + } + + @override + TextField interceptInput(TextField input) { + return input.copyWith( + obscureText: () => _obscureText ?? false, + ); + } +} + +/// Adds a clear button to the input field. +/// +/// Provides a button that clears all text from the input when pressed. +/// Commonly used to improve user experience by offering quick text removal. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputClearFeature( +/// position: InputFeaturePosition.trailing, +/// ), +/// ], +/// ) +/// ``` +class InputClearFeature extends InputFeature { + /// Position of the clear button. + final InputFeaturePosition position; + + /// Custom icon for the clear button. + final Widget? icon; + + /// Creates an [InputClearFeature]. + /// + /// Parameters: + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the clear button. + /// - [icon] (`Widget?`, optional): Custom icon widget. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputClearFeature({ + super.visibility, + super.skipFocusTraversal, + this.position = InputFeaturePosition.trailing, + this.icon, + }); + + @override + InputFeatureState createState() => _InputClearFeatureState(); +} + +class _InputClearFeatureState extends InputFeatureState { + void _clear() { + controller.text = ''; + } + + @override + Iterable buildTrailing() sync* { + if (feature.position == InputFeaturePosition.trailing) { + yield IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.x), + onPressed: _clear, + density: ButtonDensity.compact, + ); + } + } + + @override + Iterable buildLeading() sync* { + if (feature.position == InputFeaturePosition.leading) { + yield IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.x), + onPressed: _clear, + density: ButtonDensity.compact, + ); + } + } +} + +/// Adds a revalidate button to the input field. +/// +/// Provides a button that triggers form validation when pressed. +/// Useful for manually triggering validation after user input. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputRevalidateFeature(), +/// ], +/// ) +/// ``` +class InputRevalidateFeature extends InputFeature { + /// Position of the revalidate button. + final InputFeaturePosition position; + + /// Custom icon for the revalidate button. + final Widget? icon; + + /// Creates an [InputRevalidateFeature]. + /// + /// Parameters: + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the revalidate button. + /// - [icon] (`Widget?`, optional): Custom icon widget. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputRevalidateFeature({ + super.visibility, + super.skipFocusTraversal, + this.position = InputFeaturePosition.trailing, + this.icon, + }); + + @override + InputFeatureState createState() => _InputRevalidateFeatureState(); +} + +class _InputRevalidateFeatureState + extends InputFeatureState { + void _revalidate() { + var formFieldHandle = Data.maybeFind(context); + if (formFieldHandle != null) { + formFieldHandle.revalidate(); + } + } + + Widget _buildIcon() { + return FormPendingBuilder( + builder: (context, futures, _) { + if (futures.isEmpty) { + return IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.refreshCw), + onPressed: _revalidate, + density: ButtonDensity.compact, + ); + } + + var futureAll = Future.wait(futures.values); + return FutureBuilder( + future: futureAll, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return IconButton.text( + icon: RepeatedAnimationBuilder( + start: 0.0, + end: 360.0, + duration: const Duration(seconds: 1), + child: feature.icon ?? const Icon(LucideIcons.refreshCw), + builder: (context, value, child) { + return Transform.rotate( + angle: degToRad(value), + child: child, + ); + }, + ), + onPressed: null, + density: ButtonDensity.compact, + ); + } + return IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.refreshCw), + onPressed: _revalidate, + density: ButtonDensity.compact, + ); + }, + ); + }, + ); + } + + @override + Iterable buildTrailing() sync* { + if (feature.position == InputFeaturePosition.trailing) { + yield _buildIcon(); + } + } + + @override + Iterable buildLeading() sync* { + if (feature.position == InputFeaturePosition.leading) { + yield _buildIcon(); + } + } +} + +/// A callback that provides suggestions based on a query string. +/// +/// Parameters: +/// - [query] (`String`): The current input text to generate suggestions for. +/// +/// Returns: `FutureOr>` — The list of suggestion strings. +typedef SuggestionBuilder = FutureOr> Function(String query); + +/// Adds autocomplete functionality to the input field. +/// +/// Displays a popover with suggestions as the user types. Suggestions are +/// provided by the [querySuggestions] callback and can be selected to fill +/// the input. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputAutoCompleteFeature( +/// querySuggestions: (query) async { +/// return ['apple', 'apricot', 'avocado'] +/// .where((s) => s.startsWith(query)); +/// }, +/// child: const Text('Fruits'), +/// ), +/// ], +/// ) +/// ``` +class InputAutoCompleteFeature extends InputFeature { + /// Callback to provide suggestions for a given query. + final SuggestionBuilder querySuggestions; + + /// Child widget displayed in the suggestion list. + final Widget child; + + /// Constraints for the popover size. + final BoxConstraints? popoverConstraints; + + /// Width constraint for the popover. + final PopoverConstraint? popoverWidthConstraint; + + /// Anchor alignment for the popover. + final AlignmentDirectional? popoverAnchorAlignment; + + /// Popover alignment relative to the anchor. + final AlignmentDirectional? popoverAlignment; + + /// Autocomplete mode (e.g., popover or inline). + final AutoCompleteMode mode; + + /// Creates an [InputAutoCompleteFeature]. + /// + /// Parameters: + /// - [querySuggestions] (`SuggestionBuilder`, required): Provides suggestions. + /// - [child] (`Widget`, required): Content for suggestion items. + /// - [popoverConstraints] (`BoxConstraints?`, optional): Size constraints. + /// - [popoverWidthConstraint] (`PopoverConstraint?`, optional): Width constraint. + /// - [popoverAnchorAlignment] (`AlignmentDirectional?`, optional): Anchor alignment. + /// - [popoverAlignment] (`AlignmentDirectional?`, optional): Popover alignment. + /// - [mode] (`AutoCompleteMode`, required): Autocomplete display mode. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputAutoCompleteFeature({ + super.visibility, + super.skipFocusTraversal, + required this.querySuggestions, + required this.child, + this.popoverConstraints, + this.popoverWidthConstraint, + this.popoverAnchorAlignment, + this.popoverAlignment, + this.mode = AutoCompleteMode.replaceWord, + }); + + @override + InputFeatureState createState() => _AutoCompleteFeatureState(); +} + +class _AutoCompleteFeatureState + extends InputFeatureState { + final GlobalKey _key = GlobalKey(); + final ValueNotifier>?> _suggestions = + ValueNotifier(null); + + @override + void onTextChanged(String text) { + _suggestions.value = feature.querySuggestions(text); + } + + @override + Widget wrap(Widget child) { + return ListenableBuilder( + listenable: _suggestions, + builder: (context, child) { + var suggestions = _suggestions.value; + if (suggestions is Future>) { + return FutureBuilder( + future: suggestions, + builder: (context, snapshot) { + return AutoComplete( + key: _key, + suggestions: + snapshot.hasData ? snapshot.requireData.toList() : const [], + popoverConstraints: feature.popoverConstraints, + popoverWidthConstraint: feature.popoverWidthConstraint, + popoverAnchorAlignment: feature.popoverAnchorAlignment, + popoverAlignment: feature.popoverAlignment, + mode: feature.mode, + child: child!, + ); + }, + ); + } + return AutoComplete( + key: _key, + suggestions: suggestions == null ? const [] : suggestions.toList(), + popoverConstraints: feature.popoverConstraints, + popoverWidthConstraint: feature.popoverWidthConstraint, + popoverAnchorAlignment: feature.popoverAnchorAlignment, + popoverAlignment: feature.popoverAlignment, + mode: feature.mode, + child: child!, + ); + }, + child: child, + ); + } +} + +/// Adds spinner controls (increment/decrement) to numeric input fields. +/// +/// Provides up/down buttons to adjust numeric values in fixed steps. +/// Optionally supports gesture-based adjustments (e.g., drag to change value). +/// +/// Example: +/// ```dart +/// TextField( +/// keyboardType: TextInputType.number, +/// features: [ +/// InputSpinnerFeature( +/// step: 5.0, +/// enableGesture: true, +/// ), +/// ], +/// ) +/// ``` +class InputSpinnerFeature extends InputFeature { + /// The amount to increment or decrement on each step. + final double step; + + /// Whether to enable gesture-based value adjustment. + final bool enableGesture; + + /// Default value when the input is invalid or empty. + final double? invalidValue; + + /// Minimum allowed value. + final double? min; + + /// Maximum allowed value. + final double? max; + + /// Creates an [InputSpinnerFeature]. + /// + /// Parameters: + /// - [step] (`double`, default: `1.0`): Increment/decrement step size. + /// - [enableGesture] (`bool`, default: `true`): Enable drag gestures. + /// - [invalidValue] (`double?`, default: `0.0`): Fallback value for invalid input. + /// - [min] (`double?`, optional): Minimum allowed value. + /// - [max] (`double?`, optional): Maximum allowed value. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputSpinnerFeature({ + super.visibility, + super.skipFocusTraversal, + this.step = 1.0, + this.enableGesture = true, + this.invalidValue = 0.0, + this.min, + this.max, + }); + + @override + InputFeatureState createState() => _InputSpinnerFeatureState(); +} + +class _InputSpinnerFeatureState extends InputFeatureState { + double _clampValue(double value) { + final min = feature.min; + final max = feature.max; + if (min != null && value < min) { + return min; + } + if (max != null && value > max) { + return max; + } + return value; + } + + double? _effectiveValue() { + final value = double.tryParse(controller.text); + return value ?? feature.invalidValue; + } + + bool _canIncrease(double? value) { + if (value == null) return false; + final max = feature.max; + return max == null || value < max; + } + + bool _canDecrease(double? value) { + if (value == null) return false; + final min = feature.min; + return min == null || value > min; + } + + void _replaceText(UnaryOperator replacer) { + var controller = this.controller; + var text = controller.text; + var newText = replacer(text); + if (newText != text) { + controller.text = newText; + input.onChanged?.call(newText); + } + } + + void _increase() { + _replaceText((text) { + var value = double.tryParse(text); + if (value == null) { + if (feature.invalidValue != null) { + return _newText(_clampValue(feature.invalidValue!)); + } + return text; + } + return _newText(_clampValue(value + feature.step)); + }); + } + + String _newText(double value) { + String newText = value.toString(); + if (newText.contains('.')) { + while (newText.endsWith('0')) { + newText = newText.substring(0, newText.length - 1); + } + if (newText.endsWith('.')) { + newText = newText.substring(0, newText.length - 1); + } + } + return newText; + } + + void _decrease() { + _replaceText((text) { + var value = double.tryParse(text); + if (value == null) { + if (feature.invalidValue != null) { + return _newText(_clampValue(feature.invalidValue!)); + } + return text; + } + return _newText(_clampValue(value - feature.step)); + }); + } + + Widget _wrapGesture(Widget child) { + return GestureDetector( + onVerticalDragUpdate: (details) { + if (details.delta.dy < 0) { + _increase(); + } else { + _decrease(); + } + }, + child: child, + ); + } + + Widget _buildButtons() { + return Builder(builder: (context) { + final theme = Theme.of(context); + return ValueListenableBuilder( + valueListenable: controller, + builder: (context, value, child) { + final currentValue = _effectiveValue(); + final clampedValue = + currentValue == null ? null : _clampValue(currentValue); + final canIncrease = _canIncrease(clampedValue); + final canDecrease = _canDecrease(clampedValue); + return Column( + mainAxisSize: MainAxisSize.max, + children: [ + IconButton.text( + icon: Transform.translate( + offset: Offset(0, -1 * theme.scaling), + child: Transform.scale( + alignment: Alignment.center, + scale: 1.5, + child: const Icon(LucideIcons.chevronUp), + ), + ), + onPressed: canIncrease ? _increase : null, + density: ButtonDensity.compact, + size: ButtonSize.xSmall, + ), + IconButton.text( + icon: Transform.translate( + offset: Offset(0, 1 * theme.scaling), + child: Transform.scale( + alignment: Alignment.center, + scale: 1.5, + child: const Icon(LucideIcons.chevronDown), + ), + ), + onPressed: canDecrease ? _decrease : null, + density: ButtonDensity.compact, + size: ButtonSize.xSmall, + ), + ], + ); + }, + ); + }); + } + + @override + Iterable buildTrailing() sync* { + if (feature.enableGesture) { + yield _wrapGesture(_buildButtons()); + } else { + yield _buildButtons(); + } + } +} + +/// Adds a single increment button to numeric input fields. +/// +/// Provides a button that increases the numeric value by a fixed step. +class InputStepperButtonFeature extends InputFeature { + /// The amount to increment on each press. + final double step; + + /// Default value when the input is invalid or empty. + final double? invalidValue; + + /// Minimum allowed value. + final double? min; + + /// Maximum allowed value. + final double? max; + + /// Position of the increment button. + final InputFeaturePosition position; + + /// Custom icon for the increment button. + final Widget? icon; + + /// Creates an [InputStepperButtonFeature]. + /// + /// Parameters: + /// - [step] (`double`, default: `1.0`): Increment step size. + /// - [invalidValue] (`double?`, default: `0.0`): Fallback value for invalid input. + /// - [min] (`double?`, optional): Minimum allowed value. + /// - [max] (`double?`, optional): Maximum allowed value. + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the button. + /// - [icon] (`Widget?`, optional): Custom icon widget. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputStepperButtonFeature({ + super.visibility, + super.skipFocusTraversal, + this.step = 1.0, + this.invalidValue = 0.0, + this.min, + this.max, + this.position = InputFeaturePosition.trailing, + this.icon = const Icon(LucideIcons.plus), + }); + + /// Creates a decrement button feature for numeric inputs. + /// + /// Parameters: + /// - [step] (`double`, default: `-1.0`): Decrement step size. + /// - [invalidValue] (`double?`, default: `0.0`): Fallback value for invalid input. + /// - [min] (`double?`, optional): Minimum allowed value. + /// - [max] (`double?`, optional): Maximum allowed value. + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the button. + /// - [icon] (`Widget?`, optional): Custom icon widget. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputStepperButtonFeature.decrement({ + super.visibility, + super.skipFocusTraversal, + this.step = -1.0, + this.invalidValue = 0.0, + this.min, + this.max, + this.position = InputFeaturePosition.trailing, + this.icon = const Icon(LucideIcons.minus), + }); + + @override + InputFeatureState createState() => _InputStepperButtonFeatureState(); +} + +class _InputStepperButtonFeatureState + extends InputFeatureState { + double _clampValue(double value) { + final min = feature.min; + final max = feature.max; + if (min != null && value < min) { + return min; + } + if (max != null && value > max) { + return max; + } + return value; + } + + double? _effectiveValue() { + final value = double.tryParse(controller.text); + return value ?? feature.invalidValue; + } + + bool _canApplyStep(double? value) { + if (value == null) return false; + final step = feature.step; + final min = feature.min; + final max = feature.max; + if (step >= 0) { + return max == null || value < max; + } + return min == null || value > min; + } + + void _replaceText(UnaryOperator replacer) { + var controller = this.controller; + var text = controller.text; + var newText = replacer(text); + if (newText != text) { + controller.text = newText; + input.onChanged?.call(newText); + } + } + + String _newText(double value) { + String newText = value.toString(); + if (newText.contains('.')) { + while (newText.endsWith('0')) { + newText = newText.substring(0, newText.length - 1); + } + if (newText.endsWith('.')) { + newText = newText.substring(0, newText.length - 1); + } + } + return newText; + } + + void _increase() { + _replaceText((text) { + var value = double.tryParse(text); + if (value == null) { + if (feature.invalidValue != null) { + return _newText(_clampValue(feature.invalidValue!)); + } + return text; + } + return _newText(_clampValue(value + feature.step)); + }); + } + + Widget _buildButton() { + return ValueListenableBuilder( + valueListenable: controller, + builder: (context, value, child) { + final currentValue = _effectiveValue(); + final clampedValue = + currentValue == null ? null : _clampValue(currentValue); + final canApplyStep = _canApplyStep(clampedValue); + return AspectRatio( + aspectRatio: 1, + child: IconButton.outline( + icon: feature.icon ?? const Icon(LucideIcons.plus), + onPressed: canApplyStep ? _increase : null, + density: ButtonDensity.compact, + size: ButtonSize.small, + ), + ); + }, + ); + } + + @override + Iterable buildSuffix() sync* { + if (feature.position == InputFeaturePosition.trailing) { + yield _buildButton(); + } + } + + @override + Iterable buildPrefix() sync* { + if (feature.position == InputFeaturePosition.leading) { + yield _buildButton(); + } + } +} + +/// Adds a copy button to the input field. +/// +/// Provides a button that copies the current input text to the clipboard. +/// Useful for allowing users to easily copy generated or displayed content. +/// +/// Example: +/// ```dart +/// TextField( +/// controller: TextEditingController(text: 'Copy me!'), +/// features: [ +/// InputCopyFeature(), +/// ], +/// ) +/// ``` +class InputCopyFeature extends InputFeature { + /// Position of the copy button. + final InputFeaturePosition position; + + /// Custom icon for the copy button. + final Widget? icon; + + /// Creates an [InputCopyFeature]. + /// + /// Parameters: + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the copy button. + /// - [icon] (`Widget?`, optional): Custom icon widget. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputCopyFeature({ + super.visibility, + super.skipFocusTraversal, + this.position = InputFeaturePosition.trailing, + this.icon, + }); + + @override + InputFeatureState createState() => _InputCopyFeatureState(); +} + +class _InputCopyFeatureState extends InputFeatureState { + void _copy() { + Actions.invoke(context, const TextFieldSelectAllAndCopyIntent()); + } + + @override + Iterable buildTrailing() sync* { + if (feature.position == InputFeaturePosition.trailing) { + yield IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.copy), + onPressed: _copy, + density: ButtonDensity.compact, + ); + } + } + + @override + Iterable buildLeading() sync* { + if (feature.position == InputFeaturePosition.leading) { + yield IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.copy), + onPressed: _copy, + density: ButtonDensity.compact, + ); + } + } +} + +/// Adds a custom widget to the leading (left) side of the input field. +/// +/// Allows you to place any widget before the input text, such as icons, +/// labels, or other decorative elements. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputLeadingFeature( +/// Icon(Icons.search), +/// ), +/// ], +/// ) +/// ``` +class InputLeadingFeature extends InputFeature { + /// The widget to display on the leading side. + final Widget prefix; + + /// Creates an [InputLeadingFeature]. + /// + /// Parameters: + /// - [prefix] (`Widget`, required): The widget to show before the input. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputLeadingFeature( + this.prefix, { + super.visibility, + super.skipFocusTraversal, + }); + + @override + InputFeatureState createState() => _InputLeadingFeatureState(); +} + +class _InputLeadingFeatureState extends InputFeatureState { + @override + Iterable buildLeading() sync* { + yield feature.prefix; + } +} + +/// Adds a custom widget to the trailing (right) side of the input field. +/// +/// Allows you to place any widget after the input text, such as icons, +/// buttons, or other decorative elements. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputTrailingFeature( +/// Icon(Icons.arrow_forward), +/// ), +/// ], +/// ) +/// ``` +class InputTrailingFeature extends InputFeature { + /// The widget to display on the trailing side. + final Widget suffix; + + /// Creates an [InputTrailingFeature]. + /// + /// Parameters: + /// - [suffix] (`Widget`, required): The widget to show after the input. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputTrailingFeature( + this.suffix, { + super.visibility, + super.skipFocusTraversal, + }); + + @override + InputFeatureState createState() => _InputTrailingFeatureState(); +} + +/// Adds a custom widget above or below the text input area. +/// +/// Use this feature to place helper content inside the input decoration, +/// directly above or below the editable text. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputAboveBelowFeature( +/// child: Text('Billing email').small().muted(), +/// position: InputFeaturePosition.above, +/// ), +/// ], +/// ) +/// ``` +class InputAboveBelowFeature extends InputFeature { + /// Widget shown above or below the editable text. + final Widget? child; + + /// Position of the [child] relative to the editable text. + final InputFeaturePosition position; + + /// Creates an [InputAboveBelowFeature]. + /// + /// Parameters: + /// - [child] (`Widget?`, optional): Widget displayed above or below the input text. + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.below`): Placement. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputAboveBelowFeature({ + super.visibility, + super.skipFocusTraversal, + this.child, + this.position = InputFeaturePosition.below, + }); + + /// Creates an [InputAboveBelowFeature] displayed above the input text. + /// + /// Parameters: + /// - [child] (`Widget?`, optional): Widget displayed above the input text. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputAboveBelowFeature.above( + this.child, { + super.visibility, + super.skipFocusTraversal, + }) : position = InputFeaturePosition.above; + + /// Creates an [InputAboveBelowFeature] displayed below the input text. + /// + /// Parameters: + /// - [child] (`Widget?`, optional): Widget displayed below the input text. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputAboveBelowFeature.below( + this.child, { + super.visibility, + super.skipFocusTraversal, + }) : position = InputFeaturePosition.below; + + @override + InputFeatureState createState() => _InputAboveBelowFeatureState(); +} + +class _InputAboveBelowFeatureState + extends InputFeatureState { + @override + Iterable buildAbove() sync* { + if (feature.position == InputFeaturePosition.above && + feature.child != null) { + yield feature.child!; + } + } + + @override + Iterable buildBelow() sync* { + if (feature.position == InputFeaturePosition.below && + feature.child != null) { + yield feature.child!; + } + } +} + +class _InputTrailingFeatureState + extends InputFeatureState { + @override + Iterable buildTrailing() sync* { + yield feature.suffix; + } +} + +/// Adds a paste button to the input field. +/// +/// Provides a button that pastes content from the clipboard into the input. +/// Useful for improving user experience when entering copied data. +/// +/// Example: +/// ```dart +/// TextField( +/// features: [ +/// InputPasteFeature( +/// position: InputFeaturePosition.trailing, +/// ), +/// ], +/// ) +/// ``` +class InputPasteFeature extends InputFeature { + /// Position of the paste button. + final InputFeaturePosition position; + + /// Custom icon for the paste button. + final Widget? icon; + + /// Creates an [InputPasteFeature]. + /// + /// Parameters: + /// - [position] (`InputFeaturePosition`, default: `InputFeaturePosition.trailing`): + /// Where to place the paste button. + /// - [icon] (`Widget?`, optional): Custom icon widget. + /// - [visibility] (`InputFeatureVisibility`, optional): Controls visibility. + /// - [skipFocusTraversal] (`bool`, optional): Whether to skip in focus order. + const InputPasteFeature({ + super.visibility, + super.skipFocusTraversal, + this.position = InputFeaturePosition.trailing, + this.icon, + }); + + @override + InputFeatureState createState() => _InputPasteFeatureState(); +} + +class _InputPasteFeatureState extends InputFeatureState { + void _paste() { + var clipboardData = Clipboard.getData('text/plain'); + clipboardData.then((value) { + if (value != null) { + var text = value.text; + if (text != null && text.isNotEmpty && context.mounted) { + Actions.invoke(context, TextFieldAppendTextIntent(text: text)); + } + } + }); + } + + @override + Iterable buildTrailing() sync* { + if (feature.position == InputFeaturePosition.trailing) { + yield IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.clipboard), + onPressed: _paste, + density: ButtonDensity.compact, + ); + } + } + + @override + Iterable buildLeading() sync* { + if (feature.position == InputFeaturePosition.leading) { + yield IconButton.text( + icon: feature.icon ?? const Icon(LucideIcons.clipboard), + onPressed: _paste, + density: ButtonDensity.compact, + ); + } + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/input_otp.dart b/third_party/shadcn_flutter/lib/src/components/form/input_otp.dart new file mode 100644 index 00000000..80fba921 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/input_otp.dart @@ -0,0 +1,982 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme data for customizing [InputOTP] widget appearance. +/// +/// This class defines the visual properties that can be applied to +/// [InputOTP] widgets, including spacing between OTP input fields +/// and the height of the input containers. These properties can be +/// set at the theme level to provide consistent styling across the application. +class InputOTPTheme extends ComponentThemeData { + /// Horizontal spacing between OTP input fields. + final double? spacing; + + /// Height of each OTP input container. + final double? height; + + /// Creates an [InputOTPTheme]. + /// + /// Parameters: + /// - [spacing] (`double?`, optional): Space between input fields. + /// - [height] (`double?`, optional): Height of input containers. + const InputOTPTheme({this.spacing, this.height}); + + /// Creates a copy of this theme with specified properties overridden. + /// + /// Parameters: + /// - [spacing] (`ValueGetter?`, optional): New spacing value. + /// - [height] (`ValueGetter?`, optional): New height value. + /// + /// Returns: A new [InputOTPTheme] with updated properties. + InputOTPTheme copyWith({ + ValueGetter? spacing, + ValueGetter? height, + }) { + return InputOTPTheme( + spacing: spacing == null ? this.spacing : spacing(), + height: height == null ? this.height : height(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is InputOTPTheme && + other.spacing == spacing && + other.height == height; + } + + @override + int get hashCode => Object.hash(spacing, height); +} + +class _InputOTPSpacing extends StatelessWidget { + const _InputOTPSpacing(); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + return SizedBox(width: compTheme?.spacing ?? theme.scaling * 8); + } +} + +/// Abstract base class for OTP input child elements. +/// +/// Defines the interface for children that can be placed within an [InputOTP] +/// widget, including actual input fields, separators, and spacers. +/// Subclasses implement the [build] method to render their content. +/// +/// Common factories: +/// - [separator]: Creates a visual separator between OTP groups. +/// - [space]: Creates spacing between OTP input fields. +/// - [empty]: Creates an empty placeholder. +/// - [InputOTPChild.input]: Creates a configurable character input. +/// - [InputOTPChild.character]: Creates a character input with preset filters. +/// +/// Example: +/// ```dart +/// InputOTP( +/// children: [ +/// InputOTPChild.input(predicate: (cp) => cp >= 48 && cp <= 57), +/// InputOTPChild.space, +/// InputOTPChild.input(), +/// ], +/// ) +/// ``` +abstract class InputOTPChild { + /// A visual separator between OTP groups (e.g., a dash or line). + static InputOTPChild get separator => + const WidgetInputOTPChild(OTPSeparator()); + + /// Spacing between OTP input fields. + static InputOTPChild get space => + const WidgetInputOTPChild(_InputOTPSpacing()); + + /// An empty placeholder that takes no space. + static InputOTPChild get empty => const WidgetInputOTPChild(SizedBox()); + + /// Creates a customizable character input field. + /// + /// Parameters: + /// - [predicate] (`CodepointPredicate?`, optional): Function to validate codepoints. + /// - [transform] (`CodepointUnaryOperator?`, optional): Function to transform codepoints. + /// - [obscured] (`bool`, default: `false`): Whether to obscure the input. + /// - [readOnly] (`bool`, default: `false`): Whether the input is read-only. + /// - [keyboardType] (`TextInputType?`, optional): Keyboard type for input. + /// + /// Returns: A [CharacterInputOTPChild] configured with the specified options. + factory InputOTPChild.input({ + CodepointPredicate? predicate, + CodepointUnaryOperator? transform, + bool obscured = false, + bool readOnly = false, + TextInputType? keyboardType, + }) => + CharacterInputOTPChild( + predicate: predicate, + transform: transform, + obscured: obscured, + readOnly: readOnly, + keyboardType: keyboardType, + ); + + /// Creates a character input with alphabet and digit filtering. + /// + /// Parameters: + /// - [allowLowercaseAlphabet] (`bool`, default: `false`): Allow lowercase letters. + /// - [allowUppercaseAlphabet] (`bool`, default: `false`): Allow uppercase letters. + /// - [allowDigit] (`bool`, default: `false`): Allow numeric digits. + /// - [obscured] (`bool`, default: `false`): Whether to obscure the input. + /// - [onlyUppercaseAlphabet] (`bool`, default: `false`): Convert to uppercase only. + /// - [onlyLowercaseAlphabet] (`bool`, default: `false`): Convert to lowercase only. + /// - [readOnly] (`bool`, default: `false`): Whether the input is read-only. + /// - [keyboardType] (`TextInputType?`, optional): Keyboard type for input. + /// + /// Returns: A [CharacterInputOTPChild] configured for alphabet/digit input. + /// + /// Example: + /// ```dart + /// InputOTPChild.character( + /// allowDigit: true, + /// allowUppercaseAlphabet: true, + /// ) + /// ``` + factory InputOTPChild.character({ + bool allowLowercaseAlphabet = false, + bool allowUppercaseAlphabet = false, + bool allowDigit = false, + bool obscured = false, + bool onlyUppercaseAlphabet = false, + bool onlyLowercaseAlphabet = false, + bool readOnly = false, + TextInputType? keyboardType, + }) { + assert(!(onlyUppercaseAlphabet && onlyLowercaseAlphabet), + 'onlyUppercaseAlphabet and onlyLowercaseAlphabet cannot be true at the same time'); + keyboardType ??= allowDigit && + !allowLowercaseAlphabet && + !allowUppercaseAlphabet && + !onlyUppercaseAlphabet && + !onlyLowercaseAlphabet + ? TextInputType.number + : TextInputType.text; + return CharacterInputOTPChild( + predicate: (codepoint) { + if (allowLowercaseAlphabet && + CharacterInputOTPChild.isAlphabetLower(codepoint)) { + return true; + } + if (allowUppercaseAlphabet && + CharacterInputOTPChild.isAlphabetUpper(codepoint)) { + return true; + } + if (allowDigit && CharacterInputOTPChild.isDigit(codepoint)) { + return true; + } + return false; + }, + transform: (codepoint) { + if (onlyUppercaseAlphabet) { + return CharacterInputOTPChild.lowerToUpper(codepoint); + } + if (onlyLowercaseAlphabet) { + return CharacterInputOTPChild.upperToLower(codepoint); + } + return codepoint; + }, + keyboardType: keyboardType, + obscured: obscured, + readOnly: readOnly, + ); + } + + /// Creates an [InputOTPChild]. + const InputOTPChild(); + + /// Builds the widget for this OTP child. + /// + /// Parameters: + /// - [context] (`BuildContext`, required): The build context. + /// - [data] (`InputOTPChildData`, required): Data for building the child. + /// + /// Returns: The widget representing this OTP child. + Widget build(BuildContext context, InputOTPChildData data); + + /// Whether this child can hold a value (i.e., is an input field). + bool get hasValue; +} + +/// A predicate that tests whether a Unicode codepoint is valid. +/// +/// Parameters: +/// - [codepoint] (`int`): The Unicode codepoint to test. +/// +/// Returns: `true` if the codepoint passes the predicate, `false` otherwise. +typedef CodepointPredicate = bool Function(int codepoint); + +/// A function that transforms a Unicode codepoint to another. +/// +/// Parameters: +/// - [codepoint] (`int`): The Unicode codepoint to transform. +/// +/// Returns: The transformed codepoint. +typedef CodepointUnaryOperator = int Function(int codepoint); + +/// A character-based OTP input field with validation and transformation. +/// +/// Supports filtering input based on codepoint predicates and transforming +/// input characters (e.g., converting to uppercase). Commonly used for +/// creating numeric or alphanumeric OTP fields. +/// +/// Example: +/// ```dart +/// CharacterInputOTPChild( +/// predicate: CharacterInputOTPChild.isDigit, +/// keyboardType: TextInputType.number, +/// ) +/// ``` +class CharacterInputOTPChild extends InputOTPChild { + static const int _startAlphabetLower = 97; // 'a' + static const int _endAlphabetLower = 122; // 'z' + static const int _startAlphabetUpper = 65; // 'A' + static const int _endAlphabetUpper = 90; // 'Z' + static const int _startDigit = 48; // '0' + static const int _endDigit = 57; // '9' + + /// Tests if the codepoint is a lowercase letter (a-z). + /// + /// Parameters: + /// - [codepoint] (`int`, required): The codepoint to test. + /// + /// Returns: `true` if the codepoint is a lowercase letter. + static bool isAlphabetLower(int codepoint) => + codepoint >= _startAlphabetLower && codepoint <= _endAlphabetLower; + + /// Tests if the codepoint is an uppercase letter (A-Z). + /// + /// Parameters: + /// - [codepoint] (`int`, required): The codepoint to test. + /// + /// Returns: `true` if the codepoint is an uppercase letter. + static bool isAlphabetUpper(int codepoint) => + codepoint >= _startAlphabetUpper && codepoint <= _endAlphabetUpper; + + /// Converts a lowercase letter to uppercase. + /// + /// Parameters: + /// - [codepoint] (`int`, required): The codepoint to convert. + /// + /// Returns: The uppercase codepoint if lowercase, otherwise unchanged. + static int lowerToUpper(int codepoint) => + isAlphabetLower(codepoint) ? codepoint - 32 : codepoint; + + /// Converts an uppercase letter to lowercase. + /// + /// Parameters: + /// - [codepoint] (`int`, required): The codepoint to convert. + /// + /// Returns: The lowercase codepoint if uppercase, otherwise unchanged. + static int upperToLower(int codepoint) => + isAlphabetUpper(codepoint) ? codepoint + 32 : codepoint; + + /// Tests if the codepoint is a digit (0-9). + /// + /// Parameters: + /// - [codepoint] (`int`, required): The codepoint to test. + /// + /// Returns: `true` if the codepoint is a digit. + static bool isDigit(int codepoint) => + codepoint >= _startDigit && codepoint <= _endDigit; + + /// Predicate to validate allowed codepoints. + final CodepointPredicate? predicate; + + /// Function to transform codepoints before storing. + final CodepointUnaryOperator? transform; + + /// Whether to obscure the input character. + final bool obscured; + + /// Whether the input is read-only. + final bool readOnly; + + /// The keyboard type to use for input. + final TextInputType? keyboardType; + + /// Creates a [CharacterInputOTPChild]. + /// + /// Parameters: + /// - [predicate] (`CodepointPredicate?`, optional): Validates input codepoints. + /// - [transform] (`CodepointUnaryOperator?`, optional): Transforms codepoints. + /// - [obscured] (`bool`, default: `false`): Whether to obscure the character. + /// - [readOnly] (`bool`, default: `false`): Whether the field is read-only. + /// - [keyboardType] (`TextInputType?`, optional): Keyboard type for input. + const CharacterInputOTPChild({ + this.predicate, + this.transform, + this.obscured = false, + this.readOnly = false, + this.keyboardType, + }); + + @override + bool get hasValue { + return true; + } + + @override + Widget build(BuildContext context, InputOTPChildData data) { + return _OTPCharacterInput( + key: data._key, + data: data, + predicate: predicate, + transform: transform, + obscured: obscured, + readOnly: readOnly, + keyboardType: keyboardType, + ); + } +} + +class _OTPCharacterInput extends StatefulWidget { + final InputOTPChildData data; + final CodepointPredicate? predicate; + final CodepointUnaryOperator? transform; + final bool obscured; + final bool readOnly; + final TextInputType? keyboardType; + + const _OTPCharacterInput({ + super.key, + required this.data, + this.predicate, + this.transform, + this.obscured = false, + this.readOnly = false, + this.keyboardType, + }); + + @override + State<_OTPCharacterInput> createState() => _OTPCharacterInputState(); +} + +class _OTPCharacterInputState extends State<_OTPCharacterInput> { + final TextEditingController _controller = TextEditingController(); + late int? _value; + + @override + void initState() { + super.initState(); + _value = widget.data.value; + _controller.addListener(_onControllerChanged); + } + + void _onControllerChanged() { + String text = _controller.text; + if (text.isNotEmpty) { + int codepoint = text.codeUnitAt(0); + if (text.length > 1) { + // forward to the next input + var currentIndex = widget.data.index; + var inputs = widget.data._state._children; + if (currentIndex + 1 < inputs.length) { + var nextInput = inputs[currentIndex + 1]; + nextInput.key.currentState?._controller.text = text.substring(1); + if (text.length == 2) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + nextInput.key.currentState?._controller.text = text.substring(1); + }); + } else { + nextInput.key.currentState?._controller.text = text.substring(1); + } + } + } + if (widget.predicate != null && !widget.predicate!(codepoint)) { + _value = null; + _controller.clear(); + setState(() {}); + return; + } + if (widget.transform != null) { + codepoint = widget.transform!(codepoint); + } + _value = codepoint; + widget.data.changeValue(codepoint); + _controller.clear(); + // next focus + if (widget.data.nextFocusNode != null) { + widget.data.nextFocusNode!.requestFocus(); + } + setState(() {}); + } + } + + BorderRadius getBorderRadiusByRelativeIndex( + ThemeData theme, int relativeIndex, int groupLength) { + if (relativeIndex == 0) { + return BorderRadius.only( + topLeft: Radius.circular(theme.radiusMd), + bottomLeft: Radius.circular(theme.radiusMd), + ); + } else if (relativeIndex == groupLength - 1) { + return BorderRadius.only( + topRight: Radius.circular(theme.radiusMd), + bottomRight: Radius.circular(theme.radiusMd), + ); + } else { + return BorderRadius.zero; + } + } + + Widget getValueWidget(ThemeData theme) { + if (_value == null) { + return const SizedBox(); + } + if (widget.obscured) { + return Container( + width: 8 * theme.scaling, + height: 8 * theme.scaling, + decoration: BoxDecoration( + color: theme.colorScheme.foreground, + shape: BoxShape.circle, + ), + ); + } + return Text( + String.fromCharCode(_value!), + ).small().foreground(); + } + + final FocusScopeNode _focusScopeNode = FocusScopeNode(); + final GlobalKey _key = GlobalKey(); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return FocusScope( + node: _focusScopeNode, + onKeyEvent: (node, event) { + if (event is KeyUpEvent) { + if (event.logicalKey == LogicalKeyboardKey.arrowLeft) { + if (widget.data.previousFocusNode != null) { + widget.data.previousFocusNode!.requestFocus(); + } + return KeyEventResult.handled; + } + if (event.logicalKey == LogicalKeyboardKey.arrowRight) { + if (widget.data.nextFocusNode != null) { + widget.data.nextFocusNode!.requestFocus(); + } + return KeyEventResult.handled; + } + // backspace + if (event.logicalKey == LogicalKeyboardKey.backspace) { + if (_value != null) { + widget.data.changeValue(null); + _value = null; + setState(() {}); + } else { + if (widget.data.previousFocusNode != null) { + widget.data.previousFocusNode!.requestFocus(); + } + } + return KeyEventResult.handled; + } + // enter + if (event.logicalKey == LogicalKeyboardKey.enter) { + if (_controller.text.isNotEmpty) { + _onControllerChanged(); + } + return KeyEventResult.handled; + } + } + return KeyEventResult.ignored; + }, + child: SizedBox( + width: 36 * theme.scaling, + height: 36 * theme.scaling, + child: Stack( + children: [ + Positioned.fill( + child: ListenableBuilder( + listenable: widget.data.focusNode!, + builder: (context, child) { + return FocusOutline( + focused: widget.data.focusNode!.hasFocus, + borderRadius: getBorderRadiusByRelativeIndex( + theme, + widget.data.relativeIndex, + widget.data.groupLength, + ), + child: child!, + ); + }, + child: Container( + decoration: BoxDecoration( + color: theme.colorScheme.input.scaleAlpha(0.3), + border: Border.all( + color: theme.colorScheme.border, + ), + borderRadius: getBorderRadiusByRelativeIndex( + theme, + widget.data.relativeIndex, + widget.data.groupLength, + ), + ), + ), + ), + ), + if (_value != null) + Positioned.fill( + child: IgnorePointer( + child: Center( + child: getValueWidget(theme), + ), + ), + ), + Positioned.fill( + key: _key, + child: Opacity( + opacity: _value == null ? 1 : 0, + child: ComponentTheme( + data: const FocusOutlineTheme( + border: Border.fromBorderSide(BorderSide.none), + ), + child: TextField( + border: const Border.fromBorderSide(BorderSide.none), + decoration: const BoxDecoration(), + expands: false, + maxLines: null, + textAlignVertical: TextAlignVertical.center, + keyboardType: widget.keyboardType, + readOnly: widget.readOnly, + textAlign: TextAlign.center, + focusNode: widget.data.focusNode, + controller: _controller, + padding: EdgeInsets.zero, + ), + ), + ), + ), + ], + ), + ), + ); + } +} + +/// A widget-based OTP child that doesn't accept input. +/// +/// Used for displaying static content like separators or spacers within +/// an [InputOTP] widget. This child does not hold any value. +/// +/// Example: +/// ```dart +/// WidgetInputOTPChild( +/// Icon(Icons.arrow_forward), +/// ) +/// ``` +class WidgetInputOTPChild extends InputOTPChild { + /// The widget to display. + final Widget child; + + /// Creates a [WidgetInputOTPChild]. + /// + /// Parameters: + /// - [child] (`Widget`, required): The widget to display. + const WidgetInputOTPChild(this.child); + + @override + Widget build(BuildContext context, InputOTPChildData data) { + final theme = Theme.of(context); + return SizedBox( + width: theme.scaling * 32, + height: theme.scaling * 32, + child: Center( + child: child, + ), + ); + } + + @override + bool get hasValue => false; +} + +/// A visual separator for OTP input groups. +/// +/// Displays a dash "-" character between groups of OTP input fields. +/// Automatically applies theming and spacing based on the current theme. +/// +/// Example: +/// ```dart +/// InputOTP( +/// children: [ +/// InputOTPChild.input(), +/// OTPSeparator(), +/// InputOTPChild.input(), +/// ], +/// ) +/// ``` +class OTPSeparator extends StatelessWidget { + /// Creates an [OTPSeparator]. + const OTPSeparator({super.key}); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return const Text('-') + .bold() + .withPadding(horizontal: theme.scaling * 4) + .base() + .foreground(); + } +} + +/// Data passed to [InputOTPChild.build] for rendering OTP input fields. +/// +/// Contains information about focus nodes, index positions, current value, +/// and callbacks for changing values. Used internally by [InputOTP] to +/// coordinate input fields. +class InputOTPChildData { + /// Focus node for the previous input field. + final FocusNode? previousFocusNode; + + /// Focus node for this input field. + final FocusNode? focusNode; + + /// Focus node for the next input field. + final FocusNode? nextFocusNode; + + /// Overall index within all OTP children. + final int index; + + /// Index of the group this child belongs to. + final int groupIndex; + + /// Total number of children in this group. + final int groupLength; + + /// Relative index within the group. + final int relativeIndex; + + /// Current value (codepoint) of this input field. + final int? value; + + final _InputOTPState _state; + final GlobalKey<_OTPCharacterInputState>? _key; + + InputOTPChildData._( + this._state, + this._key, { + required this.focusNode, + required this.index, + required this.groupIndex, + required this.relativeIndex, + required this.groupLength, + this.previousFocusNode, + this.nextFocusNode, + this.value, + }); + + /// Updates the value for this OTP input field. + /// + /// Parameters: + /// - [value] (`int?`, required): The new codepoint value or null. + void changeValue(int? value) { + _state._changeValue(index, value); + } +} + +class _InputOTPChild { + int? value; + final FocusNode focusNode; + final int groupIndex; + final int relativeIndex; + final InputOTPChild child; + int groupLength = 0; + final GlobalKey<_OTPCharacterInputState> key; + + _InputOTPChild({ + required this.focusNode, + required this.child, + this.value, + required this.groupIndex, + required this.relativeIndex, + }) : key = GlobalKey<_OTPCharacterInputState>(); + + _InputOTPChild.withNewChild(_InputOTPChild old, InputOTPChild newChild) + : focusNode = old.focusNode, + value = old.value, + groupIndex = old.groupIndex, + relativeIndex = old.relativeIndex, + child = newChild, + groupLength = old.groupLength, + key = old.key; +} + +/// A list of nullable codepoints representing OTP input values. +/// +/// Each element represents a character's Unicode codepoint, or null if not set. +typedef OTPCodepointList = List; + +/// Extension methods for [OTPCodepointList]. +extension OTPCodepointListExtension on OTPCodepointList { + /// Converts the codepoint list to a string. + /// + /// Null values are converted to empty strings. + /// + /// Returns: A string representation of the OTP code. + /// + /// Example: + /// ```dart + /// final codes = [49, 50, 51]; // '1', '2', '3' + /// print(codes.otpToString()); // '123' + /// ``` + String otpToString() { + return map((e) => e == null ? '' : String.fromCharCode(e)).join(); + } +} + +/// A specialized input widget for One-Time Password (OTP) and verification code entry. +/// +/// [InputOTP] provides a user-friendly interface for entering OTP codes, verification +/// numbers, and similar sequential input scenarios. The widget displays a series of +/// individual input fields that automatically advance focus as the user types, +/// creating an intuitive experience for multi-digit input. +/// +/// Key features: +/// - Sequential character input with automatic focus advancement +/// - Customizable field layout with separators and spacing +/// - Support for various character types (digits, letters, symbols) +/// - Keyboard navigation and clipboard paste support +/// - Form integration with validation support +/// - Accessibility features for screen readers +/// - Theming and visual customization +/// +/// The widget uses a flexible child system that allows mixing input fields +/// with separators, spaces, and custom widgets: +/// - Character input fields for actual OTP digits/letters +/// - Separators for visual grouping (e.g., dashes, dots) +/// - Spacing elements for layout control +/// - Custom widgets for specialized display needs +/// +/// Common use cases: +/// - SMS verification codes (e.g., 6-digit codes) +/// - Two-factor authentication tokens +/// - Credit card security codes +/// - License key input +/// - PIN code entry +/// +/// Example: +/// ```dart +/// InputOTP( +/// children: [ +/// CharacterInputOTPChild(), +/// CharacterInputOTPChild(), +/// CharacterInputOTPChild(), +/// InputOTPChild.separator, +/// CharacterInputOTPChild(), +/// CharacterInputOTPChild(), +/// CharacterInputOTPChild(), +/// ], +/// onChanged: (code) => _handleOTPChange(code), +/// onSubmitted: (code) => _verifyOTP(code), +/// ); +/// ``` +class InputOTP extends StatefulWidget { + /// The list of children defining input fields, separators, and spaces. + final List children; + + /// Initial OTP codepoint values. + final OTPCodepointList? initialValue; + + /// Called when the OTP value changes. + final ValueChanged? onChanged; + + /// Called when the user submits the OTP (e.g., presses Enter on last field). + final ValueChanged? onSubmitted; + + /// Creates an [InputOTP] widget. + /// + /// Parameters: + /// - [children] (`List`, required): The OTP input fields and decorations. + /// - [initialValue] (`OTPCodepointList?`, optional): Initial codepoints. + /// - [onChanged] (`ValueChanged?`, optional): Value change callback. + /// - [onSubmitted] (`ValueChanged?`, optional): Submit callback. + const InputOTP({ + super.key, + required this.children, + this.initialValue, + this.onChanged, + this.onSubmitted, + }); + + @override + State createState() => _InputOTPState(); +} + +class _InputOTPState extends State + with FormValueSupplier { + final List<_InputOTPChild> _children = []; + + OTPCodepointList get value { + return _children.map((e) => e.value).toList(); + } + + void _changeValue(int index, int? value) { + _children[index].value = value; + var val = this.value; + if (widget.onChanged != null) { + widget.onChanged!(val); + } + if (widget.onSubmitted != null) { + if (val.every((e) => e != null)) { + widget.onSubmitted?.call(val); + } + } + formValue = this.value; + } + + @override + void initState() { + super.initState(); + int index = 0; + int groupIndex = 0; + int relativeIndex = 0; + for (final child in widget.children) { + if (child.hasValue) { + int? value = getInitialValue(index); + _children.add(_InputOTPChild( + focusNode: FocusNode(), + child: child, + value: value, + groupIndex: groupIndex, + relativeIndex: relativeIndex, + )); + index++; + relativeIndex++; + } else { + // update previous group length + for (int i = 0; i < index; i++) { + _children[i].groupLength = relativeIndex; + } + groupIndex++; + relativeIndex = 0; + } + } + for (int i = index - relativeIndex; i < index; i++) { + _children[i].groupLength = relativeIndex; + } + formValue = value; + } + + int? getInitialValue(int index) { + if (widget.initialValue != null && index < widget.initialValue!.length) { + return widget.initialValue![index]; + } + return null; + } + + @override + void didUpdateWidget(covariant InputOTP oldWidget) { + super.didUpdateWidget(oldWidget); + if (!listEquals(oldWidget.initialValue, widget.initialValue) || + !listEquals(oldWidget.children, widget.children)) { + int index = 0; + int groupIndex = 0; + int relativeIndex = 0; + for (final child in widget.children) { + if (child.hasValue) { + if (index < _children.length) { + _children[index] = _InputOTPChild.withNewChild( + _children[index], + child, + ); + } else { + _children.add(_InputOTPChild( + focusNode: FocusNode(), + child: child, + value: getInitialValue(index), + groupIndex: groupIndex, + relativeIndex: relativeIndex, + )); + } + index++; + relativeIndex++; + } else { + // update previous group length + for (int i = index - relativeIndex; i < index; i++) { + _children[i].groupLength = relativeIndex; + } + groupIndex++; + relativeIndex = 0; + } + } + for (int i = index - relativeIndex; i < index; i++) { + _children[i].groupLength = relativeIndex; + } + formValue = value; + } + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + List children = []; + int i = 0; + for (final child in widget.children) { + if (child.hasValue) { + children.add(child.build( + context, + InputOTPChildData._( + this, + _children[i].key, + focusNode: _children[i].focusNode, + index: i, + groupIndex: _children[i].groupIndex, + relativeIndex: _children[i].relativeIndex, + previousFocusNode: i == 0 ? null : _children[i - 1].focusNode, + nextFocusNode: + i == _children.length - 1 ? null : _children[i + 1].focusNode, + value: _children[i].value, + groupLength: _children[i].groupLength, + ), + )); + i++; + } else { + children.add(child.build( + context, + InputOTPChildData._( + this, + null, + focusNode: null, + index: -1, + groupIndex: -1, + relativeIndex: -1, + previousFocusNode: null, + nextFocusNode: null, + value: null, + groupLength: -1, + ))); + } + } + final compTheme = ComponentTheme.maybeOf(context); + return SizedBox( + height: compTheme?.height ?? theme.scaling * 36, + child: IntrinsicWidth( + child: Row( + children: [ + for (final child in children) Expanded(child: child), + ], + ), + ), + ); + } + + @override + void didReplaceFormValue(OTPCodepointList value) { + widget.onChanged?.call(value); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/item_picker.dart b/third_party/shadcn_flutter/lib/src/components/form/item_picker.dart new file mode 100644 index 00000000..b59ec8e7 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/item_picker.dart @@ -0,0 +1,822 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A widget for selecting items from a collection using various presentation modes. +/// +/// This widget provides a flexible item selection interface that can display +/// items in different layouts (grid, list) and presentation modes (dialog, popover). +/// It's suitable for scenarios where users need to pick from a predefined set +/// of items like colors, icons, templates, or any custom objects. +/// +/// The ItemPicker uses a delegate pattern to provide items, allowing for both +/// static lists and dynamic item generation. Items are displayed using a +/// custom builder function that determines how each item appears in the picker. +/// +/// Example: +/// ```dart +/// ItemPicker( +/// items: ItemList([Colors.red, Colors.green, Colors.blue]), +/// value: Colors.red, +/// builder: (context, color, isSelected) { +/// return Container( +/// width: 40, +/// height: 40, +/// decoration: BoxDecoration( +/// color: color, +/// shape: BoxShape.circle, +/// border: isSelected ? Border.all(width: 2) : null, +/// ), +/// ); +/// }, +/// onChanged: (color) => print('Selected color: $color'), +/// ); +/// ``` +class ItemPicker extends StatelessWidget { + /// Delegate providing the collection of items to display for selection. + /// + /// This delegate abstracts the item source, supporting both static lists + /// through [ItemList] and dynamic generation through [ItemBuilder]. + final ItemChildDelegate items; + + /// Builder function that creates the visual representation of each item. + /// + /// Called for each item to create its visual representation in the picker. + /// The builder receives the item value and selection state, allowing + /// customized appearance based on the current selection. + final ItemPickerBuilder builder; + + /// The currently selected item, if any. + /// + /// When null, no item is selected. The picker highlights this item + /// visually to indicate the current selection state. + final T? value; + + /// Callback invoked when the user selects a different item. + /// + /// Called when the user taps on an item in the picker. The callback + /// receives the selected item, or null if the selection is cleared. + final ValueChanged? onChanged; + + /// Layout style for arranging items in the picker interface. + /// + /// Determines how items are arranged within the picker container, + /// such as grid or list layout. Defaults to grid layout. + final ItemPickerLayout? layout; + + /// Widget displayed when no item is currently selected. + /// + /// Shown in the picker trigger button when [value] is null. + /// Provides visual feedback that no selection has been made yet. + final Widget? placeholder; + + /// Optional title widget for the picker interface. + /// + /// Displayed at the top of the picker when shown in dialog mode, + /// providing context about what the user is selecting. + final Widget? title; + + /// Presentation mode for the item picker interface. + /// + /// Controls whether the picker appears as a modal dialog or a popover + /// dropdown. Defaults to dialog mode for better item visibility. + final PromptMode? mode; + + /// Size constraints for the picker interface container. + /// + /// Controls the dimensions of the picker when displayed, allowing + /// customization of the available space for item display. + final BoxConstraints? constraints; + + /// Creates an [ItemPicker]. + /// + /// The [items] delegate provides the selectable items, and the [builder] + /// function determines how each item is visually represented. Various + /// options control the picker's layout and presentation style. + /// + /// Parameters: + /// - [items] (`ItemChildDelegate`, required): Source of items for selection + /// - [builder] (`ItemPickerBuilder`, required): Function to build item representations + /// - [value] (T?, optional): Currently selected item + /// - [onChanged] (`ValueChanged?`, optional): Callback for selection changes + /// - [layout] (ItemPickerLayout?, optional): Arrangement style for items + /// - [placeholder] (Widget?, optional): Content shown when no item is selected + /// - [title] (Widget?, optional): Title for the picker interface + /// - [mode] (PromptMode?, optional): Presentation style (dialog or popover) + /// - [constraints] (BoxConstraints?, optional): Size constraints for the picker + /// + /// Example: + /// ```dart + /// ItemPicker( + /// items: ItemList([Icons.home, Icons.star, Icons.favorite]), + /// layout: ItemPickerLayout.grid, + /// mode: PromptMode.dialog, + /// builder: (context, icon, selected) => Icon(icon), + /// onChanged: (icon) => updateIcon(icon), + /// ); + /// ``` + const ItemPicker({ + super.key, + required this.items, + required this.builder, + this.value, + this.onChanged, + this.layout, + this.placeholder, + this.title, + this.mode, + this.constraints, + }); + + @override + Widget build(BuildContext context) { + final layout = this.layout ?? ItemPickerLayout.grid; + final mode = this.mode ?? PromptMode.dialog; + final constraints = this.constraints; + return ObjectFormField( + value: value, + placeholder: placeholder ?? const SizedBox.shrink(), + builder: builder, + dialogTitle: title, + onChanged: onChanged, + mode: mode, + decorate: false, + editorBuilder: (context, handler) { + if (mode == PromptMode.dialog) { + final theme = Theme.of(context); + return ModalBackdrop( + borderRadius: theme.borderRadiusXl, + child: ModalContainer( + borderRadius: theme.borderRadiusXl, + padding: EdgeInsets.zero, + child: _InternalItemPicker( + items: items, + builder: builder, + initialValue: handler.value, + layout: layout, + title: title, + constraints: constraints, + onChanged: (value) { + handler.value = value; + closeOverlay(context); + }, + ), + ), + ); + } else { + return SurfaceCard( + padding: EdgeInsets.zero, + child: _InternalItemPicker( + items: items, + builder: builder, + initialValue: handler.value, + layout: layout, + title: title, + constraints: constraints, + onChanged: (value) { + handler.value = value; + }, + ), + ); + } + }); + } +} + +/// Abstract delegate for providing items to an item picker. +/// +/// Defines an interface for accessing items by index, used by [ItemPickerLayout] +/// to build the list or grid of items. Concrete implementations include +/// [ItemList] for fixed arrays and [ItemBuilder] for lazy generation. +/// +/// See also: +/// - [ItemList], which wraps a fixed list of items. +/// - [ItemBuilder], which generates items on demand. +abstract class ItemChildDelegate { + /// Creates an [ItemChildDelegate]. + const ItemChildDelegate(); + + /// The total number of items, or null if infinite or unknown. + int? get itemCount; + + /// Retrieves the item at the specified index. + /// + /// Parameters: + /// - [index] (`int`, required): The index of the item. + /// + /// Returns: The item at the index, or null if not available. + T? operator [](int index); +} + +/// A delegate that wraps a fixed list of items. +/// +/// Provides items from a pre-defined `List`. +/// +/// Example: +/// ```dart +/// ItemList(['Apple', 'Banana', 'Cherry']) +/// ``` +class ItemList extends ItemChildDelegate { + /// The list of items. + final List items; + + /// Creates an [ItemList]. + /// + /// Parameters: + /// - [items] (`List`, required): The items to provide. + const ItemList(this.items); + + @override + int get itemCount => items.length; + + @override + T operator [](int index) => items[index]; +} + +/// A delegate that builds items on demand using a builder function. +/// +/// Allows lazy generation of items, useful for large or infinite lists. +/// +/// Example: +/// ```dart +/// ItemBuilder( +/// itemCount: 100, +/// itemBuilder: (index) => index * 2, +/// ) +/// ``` +class ItemBuilder extends ItemChildDelegate { + @override + + /// The total number of items, or null if infinite. + final int? itemCount; + + /// Builder function that returns an item for the given index. + final T? Function(int index) itemBuilder; + + /// Creates an [ItemBuilder]. + /// + /// Parameters: + /// - [itemCount] (`int?`, optional): Number of items, or null if infinite. + /// - [itemBuilder] (`T? Function(int)`, required): Function to build items. + const ItemBuilder({this.itemCount, required this.itemBuilder}); + + @override + T? operator [](int index) => itemBuilder(index); +} + +/// A builder function that creates a widget for an item. +/// +/// Parameters: +/// - [context] (`BuildContext`, required): The build context. +/// - [item] (`T`, required): The item to display. +/// +/// Returns: A widget representing the item. +typedef ItemPickerBuilder = Widget Function(BuildContext context, T item); + +/// Abstract base class for item picker layout strategies. +/// +/// Defines how items are displayed in an item picker, such as in a list +/// or grid. Provides factory constants for common layouts. +/// +/// See also: +/// - [ListItemPickerLayout], which displays items in a vertical list. +/// - [GridItemPickerLayout], which displays items in a grid. +abstract class ItemPickerLayout { + /// A list layout for item pickers. + static const ListItemPickerLayout list = ListItemPickerLayout(); + + /// A grid layout for item pickers (4 columns by default). + static const GridItemPickerLayout grid = GridItemPickerLayout(); + + /// Creates an [ItemPickerLayout]. + const ItemPickerLayout(); + + /// Builds the widget for displaying items. + /// + /// Parameters: + /// - [context] (`BuildContext`, required): The build context. + /// - [items] (`ItemChildDelegate`, required): Delegate providing items. + /// - [builder] (`ItemPickerBuilder`, required): Function to build each item. + /// + /// Returns: A widget displaying the items in this layout. + Widget build( + BuildContext context, ItemChildDelegate items, ItemPickerBuilder builder); +} + +/// A list-based layout for item pickers. +/// +/// Displays items in a vertical scrolling list using [ListView.builder]. +/// +/// Example: +/// ```dart +/// const ListItemPickerLayout() +/// ``` +class ListItemPickerLayout extends ItemPickerLayout { + /// Creates a [ListItemPickerLayout]. + const ListItemPickerLayout(); + @override + Widget build(BuildContext context, ItemChildDelegate items, + ItemPickerBuilder builder) { + final padding = MediaQuery.paddingOf(context); + return MediaQuery.removePadding( + context: context, + removeBottom: true, + removeLeft: true, + removeRight: true, + removeTop: true, + child: ListView.builder( + itemCount: items.itemCount, + padding: padding, + itemBuilder: (context, index) { + var item = items[index]; + if (item == null) { + return null; + } + return builder(context, item); + }, + ), + ); + } +} + +/// A grid-based layout for item pickers. +/// +/// Displays items in a scrollable grid using [GridView.builder]. The number +/// of columns can be configured via [crossAxisCount]. +/// +/// Example: +/// ```dart +/// GridItemPickerLayout(crossAxisCount: 3) +/// ``` +class GridItemPickerLayout extends ItemPickerLayout { + /// Number of columns in the grid. + final int crossAxisCount; + + /// Creates a [GridItemPickerLayout]. + /// + /// Parameters: + /// - [crossAxisCount] (`int`, default: `4`): The number of grid columns. + const GridItemPickerLayout({this.crossAxisCount = 4}); + + /// Creates a copy of this layout with a different column count. + /// + /// Parameters: + /// - [crossAxisCount] (`int`, default: `4`): The new column count. + /// + /// Returns: A new [GridItemPickerLayout] with the specified columns. + ItemPickerLayout call({int crossAxisCount = 4}) { + return GridItemPickerLayout(crossAxisCount: crossAxisCount); + } + + @override + Widget build(BuildContext context, ItemChildDelegate items, + ItemPickerBuilder builder) { + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + final padding = MediaQuery.paddingOf(context); + return MediaQuery.removePadding( + context: context, + removeBottom: true, + removeLeft: true, + removeRight: true, + removeTop: true, + child: GridView.builder( + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: crossAxisCount, + mainAxisSpacing: densityGap * 0.5, + crossAxisSpacing: densityGap * 0.5, + ), + padding: padding, + itemCount: items.itemCount, + itemBuilder: (context, index) { + var item = items[index]; + if (item == null) { + return null; + } + return builder(context, item); + }, + ), + ); + } +} + +/// Shows an item picker in a popover overlay. +/// +/// Displays a popover with items arranged according to the specified layout, +/// allowing the user to select one item. The popover closes when an item +/// is selected. +/// +/// Parameters: +/// - [context] (`BuildContext`, required): The build context. +/// - [items] (`ItemChildDelegate`, required): Delegate providing items. +/// - [builder] (`ItemPickerBuilder`, required): Builds each item widget. +/// - [initialValue] (`T?`, optional): Initially selected item. +/// - [layout] (`ItemPickerLayout`, default: `GridItemPickerLayout()`): Layout strategy. +/// - [alignment] (`AlignmentGeometry?`, optional): Popover alignment. +/// - [anchorAlignment] (`AlignmentGeometry?`, optional): Anchor alignment. +/// - [constraints] (`BoxConstraints?`, optional): Size constraints for the popover. +/// - [offset] (`Offset?`, optional): Offset from anchor. +/// - [title] (`Widget?`, optional): Optional title widget. +/// +/// Returns: A `Future` that completes with the selected item or null. +/// +/// Example: +/// ```dart +/// final color = await showItemPicker( +/// context, +/// items: ItemList([Colors.red, Colors.green, Colors.blue]), +/// builder: (context, color) => ColorTile(color), +/// ); +/// ``` +Future showItemPicker( + BuildContext context, { + required ItemChildDelegate items, + required ItemPickerBuilder builder, + T? initialValue, + ItemPickerLayout layout = const GridItemPickerLayout(), + AlignmentGeometry? alignment, + AlignmentGeometry? anchorAlignment, + BoxConstraints? constraints, + Offset? offset, + Widget? title, +}) { + final theme = Theme.of(context); + return showPopover( + context: context, + alignment: alignment ?? AlignmentDirectional.topStart, + anchorAlignment: anchorAlignment ?? AlignmentDirectional.bottomStart, + offset: offset ?? Offset(0, 8.0 * theme.scaling), + builder: (context) { + return SurfaceCard( + padding: EdgeInsets.zero, + child: _InternalItemPicker( + items: items, + builder: builder, + initialValue: initialValue, + layout: layout, + title: title, + constraints: constraints, + onChanged: (value) { + closeOverlay(context, value); + }, + ), + ); + }, + ).future; +} + +class _InternalItemPicker extends StatelessWidget { + final ItemChildDelegate items; + final ItemPickerBuilder builder; + final T? initialValue; + final ItemPickerLayout layout; + final Widget? title; + final BoxConstraints? constraints; + final ValueChanged onChanged; + const _InternalItemPicker({ + super.key, + required this.items, + required this.builder, + required this.initialValue, + required this.layout, + this.title, + this.constraints, + required this.onChanged, + }); + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final padding = MediaQuery.paddingOf(context); + final densityGap = theme.density.baseGap * theme.scaling; + final densityContainerPadding = + theme.density.baseContainerPadding * theme.scaling; + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (title != null) + Padding( + padding: EdgeInsets.all(densityContainerPadding) + + EdgeInsets.only(top: padding.top), + child: title?.large.semiBold, + ), + ConstrainedBox( + constraints: constraints ?? + BoxConstraints( + maxWidth: 320 * theme.scaling, + maxHeight: 320 * theme.scaling, + ), + child: MediaQuery( + data: MediaQuery.of(context).copyWith( + padding: title != null + ? padding.copyWith(top: 0) + + EdgeInsets.only( + bottom: densityGap, + left: densityGap, + right: densityGap, + ) + : padding + EdgeInsets.all(densityGap), + ), + child: ItemPickerDialog( + items: items, + builder: builder, + layout: layout, + value: initialValue, + onChanged: onChanged, + ), + ), + ), + ], + ); + } +} + +/// Shows an item picker in a modal dialog. +/// +/// Displays a modal dialog with items arranged according to the specified layout, +/// allowing the user to select one item. The dialog closes when an item is selected. +/// +/// Parameters: +/// - [context] (`BuildContext`, required): The build context. +/// - [items] (`ItemChildDelegate`, required): Delegate providing items. +/// - [builder] (`ItemPickerBuilder`, required): Builds each item widget. +/// - [layout] (`ItemPickerLayout`, default: `GridItemPickerLayout()`): Layout strategy. +/// - [initialValue] (`T?`, optional): Initially selected item. +/// - [constraints] (`BoxConstraints?`, optional): Size constraints for the dialog. +/// - [title] (`Widget`, required): Dialog title widget. +/// +/// Returns: A `Future` that completes with the selected item or null. +/// +/// Example: +/// ```dart +/// final icon = await showItemPickerDialog( +/// context, +/// title: Text('Choose Icon'), +/// items: ItemList([Icons.home, Icons.star, Icons.settings]), +/// builder: (context, icon) => Icon(icon), +/// ); +/// ``` +Future showItemPickerDialog( + BuildContext context, { + required ItemChildDelegate items, + required ItemPickerBuilder builder, + ItemPickerLayout layout = const GridItemPickerLayout(), + T? initialValue, + BoxConstraints? constraints, + required Widget title, +}) { + return showDialog( + context: context, + builder: (context) { + final theme = Theme.of(context); + return ModalBackdrop( + borderRadius: theme.borderRadiusXl, + child: ModalContainer( + borderRadius: theme.borderRadiusXl, + padding: EdgeInsets.zero, + child: _InternalItemPicker( + items: items, + builder: builder, + initialValue: initialValue, + layout: layout, + title: title, + constraints: constraints, + onChanged: (value) { + closeOverlay(context, value); + }, + ), + ), + ); + }, + ); +} + +/// A dialog widget for picking an item from a list or grid. +/// +/// Internally used by [showItemPicker] and [showItemPickerDialog] to display +/// items and handle selection. Manages the selected value state and notifies +/// listeners when the selection changes. +/// +/// Example: +/// ```dart +/// ItemPickerDialog( +/// items: ItemList([Colors.red, Colors.green]), +/// builder: (context, color) => ColorTile(color), +/// layout: ItemPickerLayout.grid, +/// onChanged: (color) => print(color), +/// ) +/// ``` +class ItemPickerDialog extends StatefulWidget { + /// Delegate providing the items to display. + final ItemChildDelegate items; + + /// Builder function for rendering each item. + final ItemPickerBuilder builder; + + /// Layout strategy for displaying items. + final ItemPickerLayout layout; + + /// Currently selected value. + final T? value; + + /// Called when the selection changes. + final ValueChanged? onChanged; + + /// Creates an [ItemPickerDialog]. + /// + /// Parameters: + /// - [items] (`ItemChildDelegate`, required): Items to display. + /// - [builder] (`ItemPickerBuilder`, required): Item widget builder. + /// - [layout] (`ItemPickerLayout`, default: `GridItemPickerLayout()`): Layout strategy. + /// - [value] (`T?`, optional): Selected value. + /// - [onChanged] (`ValueChanged?`, optional): Selection callback. + const ItemPickerDialog({ + super.key, + required this.items, + required this.builder, + this.value, + this.onChanged, + this.layout = const GridItemPickerLayout(), + }); + + @override + State> createState() => _ItemPickerDialogState(); +} + +class _ItemPickerDialogState extends State> { + void _onChanged(Object? value) { + widget.onChanged?.call(value as T); + } + + Widget _buildItem(BuildContext context, Object? item) { + assert(item is T, 'Item type must be $T'); + return widget.builder(context, item as T); + } + + @override + Widget build(BuildContext context) { + return Data.inherit( + data: ItemPickerData( + value: widget.value, + onChanged: _onChanged, + layout: widget.layout, + ), + child: widget.layout.build(context, widget.items, _buildItem), + ); + } +} + +/// Data provided by [ItemPickerDialog] to its descendants. +/// +/// Contains the current selection value, change callback, and layout strategy. +/// Used internally for coordinating state across the item picker tree. +class ItemPickerData { + /// The currently selected value. + final Object? value; + + /// Callback invoked when the selection changes. + final ValueChanged? onChanged; + + /// The layout strategy being used. + final ItemPickerLayout layout; + + /// Creates an [ItemPickerData]. + /// + /// Parameters: + /// - [value] (`Object?`, optional): Current selection. + /// - [onChanged] (`ValueChanged?`, optional): Change callback. + /// - [layout] (`ItemPickerLayout`, required): Layout strategy. + const ItemPickerData({this.value, this.onChanged, required this.layout}); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + if (other is! ItemPickerData) return false; + return other.value == value && + other.onChanged == onChanged && + other.layout == layout; + } + + @override + int get hashCode => Object.hash(value, onChanged, layout); +} + +/// A selectable option within an item picker. +/// +/// Wraps an item with selection behavior, applying different styles based on +/// whether it's currently selected. Commonly used inside [ItemPickerDialog] +/// to create selectable items. +/// +/// Example: +/// ```dart +/// ItemPickerOption( +/// value: Colors.red, +/// child: Container(color: Colors.red, width: 50, height: 50), +/// ) +/// ``` +class ItemPickerOption extends StatelessWidget { + /// The value this option represents. + final T value; + + /// Optional label widget displayed with the option. + final Widget? label; + + /// The main child widget representing the option. + final Widget child; + + /// Custom style for the option when not selected. + final AbstractButtonStyle? style; + + /// Custom style for the option when selected. + final AbstractButtonStyle? selectedStyle; + + /// Creates an [ItemPickerOption]. + /// + /// Parameters: + /// - [value] (`T`, required): The value this option represents. + /// - [child] (`Widget`, required): The widget to display. + /// - [style] (`AbstractButtonStyle?`, optional): Style when not selected. + /// - [selectedStyle] (`AbstractButtonStyle?`, optional): Style when selected. + /// - [label] (`Widget?`, optional): Optional label widget. + const ItemPickerOption({ + super.key, + required this.value, + required this.child, + this.style, + this.selectedStyle, + this.label, + }); + + @override + Widget build(BuildContext context) { + final data = Data.maybeOf(context); + if (data == null) { + return LayoutBuilder( + builder: (context, constraints) { + Size size = constraints.biggest; + if (size.width == size.height) { + return Stack( + fit: StackFit.passthrough, + children: [ + child, + if (label != null) + Positioned( + top: 0, + left: 0, + right: 0, + bottom: 0, + child: Center(child: label), + ), + ], + ); + } + if (label == null) { + return child; + } + return BasicLayout( + leading: child, + content: label, + ); + }, + ); + } + if (data.layout is ListItemPickerLayout) { + if (label == null) { + return Button( + onPressed: + data.onChanged == null ? null : () => data.onChanged!(value), + style: data.value == value + ? (selectedStyle ?? ButtonVariance.primary) + : (style ?? ButtonVariance.ghost), + child: child, + ); + } + return Button( + onPressed: data.onChanged == null ? null : () => data.onChanged!(value), + leading: child, + style: data.value == value + ? (selectedStyle ?? ButtonVariance.primary) + : (style ?? ButtonVariance.ghost), + child: label!, + ); + } + return IconButton( + icon: Stack( + fit: StackFit.passthrough, + children: [ + child, + if (label != null) + Positioned( + top: 0, + left: 0, + right: 0, + bottom: 0, + child: Center(child: label), + ), + ], + ), + onPressed: data.onChanged == null ? null : () => data.onChanged!(value), + variance: data.value == value + ? (selectedStyle ?? ButtonVariance.primary) + : (style ?? ButtonVariance.ghost), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/multiple_choice.dart b/third_party/shadcn_flutter/lib/src/components/form/multiple_choice.dart new file mode 100644 index 00000000..eb9e5d8a --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/multiple_choice.dart @@ -0,0 +1,549 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme data for [MultipleChoice] and [MultipleAnswer]. +class MultipleChoiceTheme extends ComponentThemeData { + /// Whether selections can be unselected. + final bool? allowUnselect; + + /// Creates a [MultipleChoiceTheme]. + const MultipleChoiceTheme({this.allowUnselect}); + + /// Returns a copy of this theme with the given fields replaced by the + /// non-null parameters. + MultipleChoiceTheme copyWith({ValueGetter? allowUnselect}) { + return MultipleChoiceTheme( + allowUnselect: + allowUnselect == null ? this.allowUnselect : allowUnselect(), + ); + } + + @override + bool operator ==(Object other) => + other is MultipleChoiceTheme && other.allowUnselect == allowUnselect; + + @override + int get hashCode => allowUnselect.hashCode; + + @override + String toString() => 'MultipleChoiceTheme(allowUnselect: $allowUnselect)'; +} + +/// A mixin that provides choice selection functionality. +/// +/// [Choice] defines the interface for widgets that support item selection, +/// typically used in multiple choice or single choice scenarios. It provides +/// static methods to interact with choice widgets in the widget tree. +mixin Choice { + /// Selects an item in the nearest [Choice] ancestor. + /// + /// Parameters: + /// - [context]: The build context to search for Choice widget. + /// - [item]: The item to select. + static void choose(BuildContext context, T item) { + Data.of>(context).selectItem(item); + } + + /// Gets the current selected value(s) from the nearest [Choice] ancestor. + /// + /// Returns: The currently selected items, or null if none selected. + static Iterable? getValue(BuildContext context) { + return Data.of>(context).value; + } + + /// Selects the specified item. + void selectItem(T item); + + /// Gets the currently selected items. + Iterable? get value; +} + +/// A controller for managing [ControlledMultipleAnswer] selections programmatically. +/// +/// This controller extends `ValueNotifier?>` to provide reactive +/// state management for multiple selection components. It implements [ComponentController] +/// to integrate with the controlled component system, allowing external control +/// and listening to selection changes. +/// +/// Example: +/// ```dart +/// final controller = MultipleAnswerController(['option1', 'option2']); +/// controller.addListener(() { +/// print('Selected items: ${controller.value}'); +/// }); +/// ``` +class MultipleAnswerController extends ValueNotifier?> + with ComponentController?> { + /// Creates a [MultipleAnswerController] with an optional initial selection. + /// + /// Parameters: + /// - [value] (`Iterable?`, optional): Initial selection of items + MultipleAnswerController([super.value]); +} + +/// A controller for managing [ControlledMultipleChoice] selection programmatically. +/// +/// This controller extends `ValueNotifier` to provide reactive state +/// management for single-choice components. It implements [ComponentController] +/// to integrate with the controlled component system, allowing external control +/// and listening to selection changes. +/// +/// Example: +/// ```dart +/// final controller = MultipleChoiceController('option1'); +/// controller.addListener(() { +/// print('Selected item: ${controller.value}'); +/// }); +/// ``` +class MultipleChoiceController extends ValueNotifier + with ComponentController { + /// Creates a [MultipleChoiceController] with an optional initial selection. + /// + /// Parameters: + /// - [value] (T?, optional): Initial selected item + MultipleChoiceController([super.value]); +} + +/// A controlled widget for managing multiple item selections with external state management. +/// +/// This widget provides a container for multiple selection interfaces where users +/// can select multiple items from a set of choices. It integrates with the controlled +/// component system to provide external state management, form integration, and +/// programmatic control of selections. +/// +/// The component maintains a collection of selected items and provides callbacks +/// for selection changes. Child widgets can use the [Choice.choose] method to +/// register item selections and [Choice.getValue] to access current selections. +/// +/// Example: +/// ```dart +/// ControlledMultipleAnswer( +/// initialValue: ['apple', 'banana'], +/// onChanged: (selections) { +/// print('Selected: ${selections?.join(', ')}'); +/// }, +/// child: Column( +/// children: [ +/// ChoiceItem(value: 'apple', child: Text('Apple')), +/// ChoiceItem(value: 'banana', child: Text('Banana')), +/// ChoiceItem(value: 'orange', child: Text('Orange')), +/// ], +/// ), +/// ); +/// ``` +class ControlledMultipleAnswer extends StatelessWidget + with ControlledComponent?> { + @override + final MultipleAnswerController? controller; + @override + final Iterable? initialValue; + @override + final ValueChanged?>? onChanged; + @override + final bool enabled; + + /// Whether selected items can be deselected by selecting them again. + /// + /// When true, users can toggle selections by clicking selected items to + /// deselect them. When false, items remain selected once chosen. + final bool? allowUnselect; + + /// The widget subtree containing selectable choice items. + /// + /// Child widgets should provide choice items that use [Choice.choose] + /// to register selections and [Choice.getValue] to access current state. + final Widget child; + + /// Creates a [ControlledMultipleAnswer]. + /// + /// Either [controller] or [initialValue] should be provided to establish + /// the initial selection state. The [child] should contain choice items + /// that integrate with the multiple selection system. + /// + /// Parameters: + /// - [controller] (`MultipleAnswerController?`, optional): External controller for programmatic control + /// - [initialValue] (`Iterable?`, optional): Initial selection when no controller provided + /// - [onChanged] (`ValueChanged?>?`, optional): Callback for selection changes + /// - [enabled] (bool, default: true): Whether selections can be modified + /// - [allowUnselect] (bool?, optional): Whether items can be deselected by re-selection + /// - [child] (Widget, required): Container with selectable choice items + /// + /// Example: + /// ```dart + /// ControlledMultipleAnswer( + /// initialValue: [1, 3], + /// allowUnselect: true, + /// onChanged: (values) => print('Selected: $values'), + /// child: ChoiceList(items: [1, 2, 3, 4, 5]), + /// ); + /// ``` + const ControlledMultipleAnswer({ + super.key, + this.controller, + this.onChanged, + this.initialValue, + this.enabled = true, + this.allowUnselect, + required this.child, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter?>( + builder: (context, data) { + return MultipleAnswer( + value: data.value, + onChanged: data.onChanged, + enabled: data.enabled, + allowUnselect: allowUnselect, + child: child, + ); + }, + initialValue: initialValue, + controller: controller, + onChanged: onChanged, + enabled: enabled, + ); + } +} + +/// A controlled widget for managing single item selection with external state management. +/// +/// This widget provides a container for single-choice selection interfaces where +/// users can select one item from a set of choices. It integrates with the controlled +/// component system to provide external state management, form integration, and +/// programmatic control of the selection. +/// +/// The component maintains a single selected item and provides callbacks for +/// selection changes. Child widgets can use the [Choice.choose] method to +/// register item selections and [Choice.getValue] to access the current selection. +/// +/// Example: +/// ```dart +/// ControlledMultipleChoice( +/// initialValue: 'medium', +/// onChanged: (selection) { +/// print('Selected size: $selection'); +/// }, +/// child: Column( +/// children: [ +/// ChoiceItem(value: 'small', child: Text('Small')), +/// ChoiceItem(value: 'medium', child: Text('Medium')), +/// ChoiceItem(value: 'large', child: Text('Large')), +/// ], +/// ), +/// ); +/// ``` +class ControlledMultipleChoice extends StatelessWidget + with ControlledComponent { + @override + final MultipleChoiceController? controller; + @override + final T? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + + /// Whether the selected item can be deselected by selecting it again. + /// + /// When true, users can deselect the current selection by clicking it again, + /// setting the value to null. When false, once an item is selected, it + /// remains selected until another item is chosen. + final bool? allowUnselect; + + /// The widget subtree containing selectable choice items. + /// + /// Child widgets should provide choice items that use [Choice.choose] + /// to register selections and [Choice.getValue] to access current state. + final Widget child; + + /// Creates a [ControlledMultipleChoice]. + /// + /// Either [controller] or [initialValue] should be provided to establish + /// the initial selection state. The [child] should contain choice items + /// that integrate with the single selection system. + /// + /// Parameters: + /// - [controller] (`MultipleChoiceController?`, optional): External controller for programmatic control + /// - [initialValue] (T?, optional): Initial selection when no controller provided + /// - [onChanged] (`ValueChanged?`, optional): Callback for selection changes + /// - [enabled] (bool, default: true): Whether selection can be modified + /// - [allowUnselect] (bool?, optional): Whether selection can be cleared by re-selection + /// - [child] (Widget, required): Container with selectable choice items + /// + /// Example: + /// ```dart + /// ControlledMultipleChoice( + /// initialValue: Theme.dark, + /// allowUnselect: false, + /// onChanged: (theme) => setAppTheme(theme), + /// child: ThemeSelector(), + /// ); + /// ``` + const ControlledMultipleChoice({ + super.key, + this.controller, + this.onChanged, + this.initialValue, + this.enabled = true, + this.allowUnselect, + required this.child, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + builder: (context, data) { + return MultipleChoice( + value: data.value, + onChanged: data.onChanged, + enabled: data.enabled, + allowUnselect: allowUnselect, + child: child, + ); + }, + initialValue: initialValue, + controller: controller, + onChanged: onChanged, + enabled: enabled, + ); + } +} + +/// A widget for single-selection choice scenarios. +/// +/// [MultipleChoice] manages a single selected value from multiple options. +/// It prevents multiple selections and optionally allows deselecting the +/// current choice by clicking it again. +/// +/// This widget is typically used with choice items like [ChoiceChip] or +/// [ChoiceButton] which integrate with the inherited [Choice] data. +/// +/// Example: +/// ```dart +/// MultipleChoice( +/// value: selectedOption, +/// onChanged: (value) => setState(() => selectedOption = value), +/// child: Wrap( +/// children: [ +/// ChoiceChip(value: 'A', child: Text('Option A')), +/// ChoiceChip(value: 'B', child: Text('Option B')), +/// ], +/// ), +/// ) +/// ``` +class MultipleChoice extends StatefulWidget { + /// The child widget tree containing choice items. + final Widget child; + + /// The currently selected value. + final T? value; + + /// Callback when the selection changes. + final ValueChanged? onChanged; + + /// Whether choices are enabled. + final bool? enabled; + + /// Whether the current selection can be unselected. + final bool? allowUnselect; + + /// Creates a [MultipleChoice]. + /// + /// Parameters: + /// - [child] (`Widget`, required): Widget tree with choice items. + /// - [value] (`T?`, optional): Currently selected value. + /// - [onChanged] (`ValueChanged?`, optional): Selection callback. + /// - [enabled] (`bool?`, optional): Whether choices are enabled. + /// - [allowUnselect] (`bool?`, optional): Allow deselecting the current choice. + const MultipleChoice({ + super.key, + required this.child, + this.value, + this.onChanged, + this.enabled, + this.allowUnselect, + }); + + @override + State> createState() => _MultipleChoiceState(); +} + +class _MultipleChoiceState extends State> + with Choice, FormValueSupplier> { + @override + void didReplaceFormValue(T? value) { + widget.onChanged?.call(value); + } + + @override + void initState() { + super.initState(); + formValue = widget.value; + } + + @override + void didUpdateWidget(covariant MultipleChoice oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.value != widget.value) { + formValue = widget.value; + } + } + + @override + Widget build(BuildContext context) { + return Data>.inherit( + data: this, + child: widget.child, + ); + } + + @override + void selectItem(T item) { + if (widget.enabled == false) { + return; + } + if (widget.value != null && widget.value != item) { + return; + } + if (widget.onChanged != null) { + if (widget.value == item) { + if (_allowUnselect) { + widget.onChanged?.call(null); + } + } else { + widget.onChanged?.call(item); + } + } + } + + @override + Iterable? get value { + T? value = widget.value; + if (value == null) { + return null; + } + return [value]; + } + + bool get _allowUnselect { + final theme = ComponentTheme.maybeOf(context); + return widget.allowUnselect ?? theme?.allowUnselect ?? false; + } +} + +/// A widget for multiple-selection choice scenarios. +/// +/// [MultipleAnswer] manages multiple selected values from a set of options. +/// It allows users to select and deselect multiple items independently. +/// +/// This widget is typically used with choice items like [ChoiceChip] or +/// [ChoiceButton] which integrate with the inherited [Choice] data. +/// +/// Example: +/// ```dart +/// MultipleAnswer( +/// value: selectedOptions, +/// onChanged: (values) => setState(() => selectedOptions = values), +/// child: Wrap( +/// children: [ +/// ChoiceChip(value: 'A', child: Text('Option A')), +/// ChoiceChip(value: 'B', child: Text('Option B')), +/// ChoiceChip(value: 'C', child: Text('Option C')), +/// ], +/// ), +/// ) +/// ``` +class MultipleAnswer extends StatefulWidget { + /// The child widget tree containing choice items. + final Widget child; + + /// The currently selected values. + final Iterable? value; + + /// Callback when the selection changes. + final ValueChanged?>? onChanged; + + /// Whether choices are enabled. + final bool? enabled; + + /// Whether all selections can be unselected. + final bool? allowUnselect; + + /// Creates a [MultipleAnswer]. + /// + /// Parameters: + /// - [child] (`Widget`, required): Widget tree with choice items. + /// - [value] (`Iterable?`, optional): Currently selected values. + /// - [onChanged] (`ValueChanged?>?`, optional): Selection callback. + /// - [enabled] (`bool?`, optional): Whether choices are enabled. + /// - [allowUnselect] (`bool?`, optional): Allow deselecting all choices. + const MultipleAnswer({ + super.key, + required this.child, + this.value, + this.onChanged, + this.enabled, + this.allowUnselect, + }); + + @override + State> createState() => _MultipleAnswerState(); +} + +class _MultipleAnswerState extends State> + with Choice, FormValueSupplier, MultipleAnswer> { + @override + void initState() { + super.initState(); + formValue = widget.value; + } + + @override + void didUpdateWidget(covariant MultipleAnswer oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.value != widget.value) { + formValue = widget.value; + } + } + + @override + Widget build(BuildContext context) { + return Data>.inherit( + data: this, + child: widget.child, + ); + } + + @override + void selectItem(T item) { + if (widget.enabled == false) { + return; + } + var value = widget.value; + if (value == null) { + widget.onChanged?.call([item]); + } else if (value.contains(item)) { + if (_allowUnselect) { + widget.onChanged?.call(value.where((e) => e != item)); + } + } else { + widget.onChanged?.call(value.followedBy([item])); + } + } + + @override + Iterable? get value { + return widget.value; + } + + @override + void didReplaceFormValue(Iterable? value) { + widget.onChanged?.call(value); + } + + bool get _allowUnselect { + final theme = ComponentTheme.maybeOf(context); + return widget.allowUnselect ?? theme?.allowUnselect ?? true; + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/object_input.dart b/third_party/shadcn_flutter/lib/src/components/form/object_input.dart new file mode 100644 index 00000000..07231896 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/object_input.dart @@ -0,0 +1,1051 @@ +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Reactive date input field with integrated date picker and text editing. +/// +/// A high-level date input widget that combines text field functionality with +/// date picker integration. Provides automatic state management through the +/// controlled component pattern with support for both dialog and popover modes. +/// +/// ## Features +/// +/// - **Dual input modes**: Text field editing with date picker integration +/// - **Multiple presentation modes**: Dialog or popover-based date selection +/// - **Flexible date formatting**: Customizable date part ordering and separators +/// - **Calendar integration**: Rich calendar interface with multiple view types +/// - **Form integration**: Automatic validation and form field registration +/// - **Accessibility**: Full screen reader and keyboard navigation support +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = DatePickerController(DateTime.now()); +/// +/// DateInput( +/// controller: controller, +/// mode: PromptMode.popover, +/// placeholder: Text('Select date'), +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// DateTime? selectedDate; +/// +/// DateInput( +/// initialValue: selectedDate, +/// onChanged: (date) => setState(() => selectedDate = date), +/// mode: PromptMode.dialog, +/// dialogTitle: Text('Choose Date'), +/// ) +/// ``` +class DateInput extends StatefulWidget with ControlledComponent { + @override + final DateTime? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final DatePickerController? controller; + + /// Placeholder widget shown when no date is selected. + final Widget? placeholder; + + /// Presentation mode for date picker (dialog or popover). + final PromptMode mode; + + /// Initial calendar view to display. + final CalendarView? initialView; + + /// Alignment of popover relative to anchor. + final AlignmentGeometry? popoverAlignment; + + /// Alignment of anchor for popover positioning. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Padding inside the popover. + final EdgeInsetsGeometry? popoverPadding; + + /// Title widget for dialog mode. + final Widget? dialogTitle; + + /// Initial view type (date, month, or year). + final CalendarViewType? initialViewType; + + /// Callback to determine date state (enabled/disabled). + final DateStateBuilder? stateBuilder; + + /// Order of date components in the input display. + final List? datePartsOrder; + + /// Separator widget between date parts. + final InputPart? separator; + + /// Custom placeholders for individual date parts. + final Map? placeholders; + + /// Creates a [DateInput]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns with flexible date picker integration options. + /// + /// Parameters: + /// - [controller] (DatePickerController?, optional): external state controller + /// - [initialValue] (DateTime?, optional): starting date when no controller + /// - [onChanged] (`ValueChanged?`, optional): date change callback + /// - [enabled] (bool, default: true): whether input is interactive + /// - [placeholder] (Widget?, optional): widget shown when no date selected + /// - [mode] (PromptMode, default: dialog): date picker presentation mode + /// - [initialView] (CalendarView?, optional): starting calendar view + /// - [popoverAlignment] (AlignmentGeometry?, optional): popover alignment + /// - [popoverAnchorAlignment] (AlignmentGeometry?, optional): anchor alignment + /// - [popoverPadding] (EdgeInsetsGeometry?, optional): popover padding + /// - [dialogTitle] (Widget?, optional): title for dialog mode + /// - [initialViewType] (CalendarViewType?, optional): calendar view type + /// - [stateBuilder] (DateStateBuilder?, optional): custom date state builder + /// - [datePartsOrder] (`List?`, optional): order of date components + /// - [separator] (InputPart?, optional): separator between date parts + /// - [placeholders] (`Map?`, optional): placeholders for date parts + /// + /// Example: + /// ```dart + /// DateInput( + /// controller: controller, + /// mode: PromptMode.popover, + /// placeholder: Text('Select date'), + /// datePartsOrder: [DatePart.month, DatePart.day, DatePart.year], + /// ) + /// ``` + const DateInput({ + super.key, + this.controller, + this.initialValue, + this.onChanged, + this.enabled = true, + this.placeholder, + this.mode = PromptMode.dialog, + this.initialView, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.popoverPadding, + this.dialogTitle, + this.initialViewType, + this.stateBuilder, + this.datePartsOrder, + this.separator, + this.placeholders, + }); + + @override + State createState() => _DateInputState(); +} + +/// Represents a date with nullable components (year, month, day). +/// +/// Useful for date input scenarios where individual date parts may be +/// missing or incomplete. Can convert to [DateTime] when all parts are present. +/// +/// Example: +/// ```dart +/// final date = NullableDate(year: 2024, month: 1, day: 15); +/// print(date.nullableDate); // DateTime(2024, 1, 15) +/// ``` +class NullableDate { + /// The year component (nullable). + final int? year; + + /// The month component (nullable). + final int? month; + + /// The day component (nullable). + final int? day; + + /// Creates a [NullableDate]. + /// + /// Parameters: + /// - [year] (`int?`, optional): Year value. + /// - [month] (`int?`, optional): Month value (1-12). + /// - [day] (`int?`, optional): Day value (1-31). + NullableDate({this.year, this.month, this.day}); + + @override + String toString() { + return 'NullableDate{year: $year, month: $month, day: $day}'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is NullableDate && + other.year == year && + other.month == month && + other.day == day; + } + + @override + int get hashCode => Object.hash(year, month, day); + + /// Creates a copy with specified parts replaced. + /// + /// Parameters: + /// - [year] (`ValueGetter?`, optional): New year value. + /// - [month] (`ValueGetter?`, optional): New month value. + /// - [day] (`ValueGetter?`, optional): New day value. + /// + /// Returns: A new [NullableDate] with updated parts. + NullableDate copyWith({ + ValueGetter? year, + ValueGetter? month, + ValueGetter? day, + }) { + return NullableDate( + year: year == null ? this.year : year(), + month: month == null ? this.month : month(), + day: day == null ? this.day : day(), + ); + } + + /// Converts to [DateTime], using 1 for missing parts (month/day) to avoid year shift. + /// + /// Returns: A [DateTime] instance (may be invalid if parts are null/0). + DateTime get date { + return DateTime(year ?? 0, month ?? 1, day ?? 1); + } + + /// Converts to [DateTime] only if all parts are present. + /// + /// Returns: A [DateTime] if complete, otherwise null. + DateTime? get nullableDate { + if (year == null || month == null || day == null) { + return null; + } + return date; + } + + /// Converts to [DateTime] with default values if any part is null. + /// + /// Parameters: + /// - [defaultYear] (`int`, optional): Default year value (0-9999). + /// - [defaultMonth] (`int`, optional): Default month value (1-12). + /// - [defaultDay] (`int`, optional): Default day value (1-31). + /// + /// Returns: A [DateTime] instance with non-null parts. + DateTime? getDateTime( + {int? defaultYear = 0, int? defaultMonth = 1, int? defaultDay = 1}) { + int? year = this.year ?? defaultYear; + int? month = this.month ?? defaultMonth; + int? day = this.day ?? defaultDay; + if (year == null || month == null || day == null) { + return null; + } + return DateTime(year, month, day); + } + + /// Retrieves the value of a specific date part. + /// + /// Parameters: + /// - [part] (`DatePart`, required): The date part to retrieve. + /// + /// Returns: The value of the specified part, or null if not set. + int? operator [](DatePart part) { + switch (part) { + case DatePart.year: + return year; + case DatePart.month: + return month; + case DatePart.day: + return day; + } + } + + /// Converts to a map of date parts. + /// + /// Returns: A `Map` with non-null parts. + Map toMap() { + return { + if (year != null) DatePart.year: year!, + if (month != null) DatePart.month: month!, + if (day != null) DatePart.day: day!, + }; + } +} + +class _DateInputState extends State { + late ComponentController _controller; + + NullableDate _convertToDateTime(List values) { + Map parts = {}; + var datePartsOrder = + widget.datePartsOrder ?? ShadcnLocalizations.of(context).datePartsOrder; + for (int i = 0; i < values.length; i++) { + parts[datePartsOrder[i]] = values[i]; + } + String? yearString = parts[DatePart.year]; + String? monthString = parts[DatePart.month]; + String? dayString = parts[DatePart.day]; + int? year = yearString == null || yearString.isEmpty + ? null + : int.tryParse(yearString); + int? month = monthString == null || monthString.isEmpty + ? null + : int.tryParse(monthString); + int? day = + dayString == null || dayString.isEmpty ? null : int.tryParse(dayString); + return NullableDate(year: year, month: month, day: day); + } + + List _convertFromDateTime(NullableDate? value) { + var datePartsOrder = + widget.datePartsOrder ?? ShadcnLocalizations.of(context).datePartsOrder; + if (value == null) { + return datePartsOrder.map((part) => null).toList(); + } + var validDateTime = value.getDateTime( + defaultYear: datePartsOrder.contains(DatePart.year) ? null : 0, + defaultMonth: datePartsOrder.contains(DatePart.month) ? null : 1, + defaultDay: datePartsOrder.contains(DatePart.day) ? null : 1, + ); + if (validDateTime == null) { + return datePartsOrder.map((part) => null).toList(); + } + return datePartsOrder.map((part) { + switch (part) { + case DatePart.year: + return validDateTime.year.toString(); + case DatePart.month: + return validDateTime.month.toString(); + case DatePart.day: + return validDateTime.day.toString(); + } + }).toList(); + } + + double _getWidth(DatePart part) { + switch (part) { + case DatePart.year: + return 60; + case DatePart.month: + return 40; + case DatePart.day: + return 40; + } + } + + Widget _getPlaceholder(DatePart part) { + var localizations = ShadcnLocalizations.of(context); + return Text(localizations.getDatePartAbbreviation(part)); + } + + int _getLength(DatePart part) { + switch (part) { + case DatePart.year: + return 4; + case DatePart.month: + return 2; + case DatePart.day: + return 2; + } + } + + NullableDate _convertToNullableDate(DateTime? value) { + if (value == null) { + return NullableDate(); + } + return NullableDate(year: value.year, month: value.month, day: value.day); + } + + DateTime? _convertFromNullableDate(NullableDate value) { + return value.getDateTime(); + } + + @override + void initState() { + super.initState(); + _controller = widget.controller == null + ? ComponentValueController( + _convertToNullableDate(widget.initialValue)) + : ConvertedController( + widget.controller!, + BiDirectionalConvert( + _convertToNullableDate, _convertFromNullableDate), + ); + } + + @override + void dispose() { + if (widget.controller == null) { + _controller.dispose(); + } + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var datePartsOrder = + widget.datePartsOrder ?? ShadcnLocalizations.of(context).datePartsOrder; + return FormattedObjectInput( + popupBuilder: (context, controller) { + return SurfaceCard( + child: DatePickerDialog( + initialViewType: widget.initialViewType ?? CalendarViewType.date, + selectionMode: CalendarSelectionMode.single, + initialValue: controller.value == null + ? null + : CalendarValue.single(controller.value!.date), + initialView: widget.initialView ?? CalendarView.now(), + stateBuilder: widget.stateBuilder, + onChanged: (value) { + var date = value?.toSingle().date; + controller.value = NullableDate( + year: date?.year, + month: date?.month, + day: date?.day, + ); + }, + ), + ); + }, + popoverIcon: const Icon(LucideIcons.calendarDays), + converter: BiDirectionalConvert(_convertFromDateTime, _convertToDateTime), + controller: _controller, + initialValue: _convertToNullableDate(widget.initialValue), + onChanged: (value) { + widget.onChanged + ?.call(value == null ? null : _convertFromNullableDate(value)); + }, + parts: datePartsOrder + .map( + (part) { + return InputPart.editable( + length: _getLength(part), + width: _getWidth(part), + placeholder: + widget.placeholders?[part] ?? _getPlaceholder(part), + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly, + ]); + }, + ) + .joinSeparator(const InputPart.static('/')) + .toList(), + ); + } +} + +/// Represents a time with nullable components (hour, minute, second). +/// +/// Useful for time input scenarios where individual time parts may be +/// missing or incomplete. Can convert to [TimeOfDay] when hour and minute are present. +/// +/// Example: +/// ```dart +/// final time = NullableTimeOfDay(hour: 14, minute: 30, second: 0); +/// print(time.toTimeOfDay); // TimeOfDay(hour: 14, minute: 30) +/// ``` +class NullableTimeOfDay { + /// The hour component (nullable, 0-23). + final int? hour; + + /// The minute component (nullable, 0-59). + final int? minute; + + /// The second component (nullable, 0-59). + final int? second; + + /// Creates a [NullableTimeOfDay]. + /// + /// Parameters: + /// - [hour] (`int?`, optional): Hour value (0-23). + /// - [minute] (`int?`, optional): Minute value (0-59). + /// - [second] (`int?`, optional): Second value (0-59). + NullableTimeOfDay({this.hour, this.minute, this.second}); + + @override + String toString() { + return 'NullableTimeOfDay{hour: $hour, minute: $minute, second: $second}'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is NullableTimeOfDay && + other.hour == hour && + other.minute == minute && + other.second == second; + } + + @override + int get hashCode => Object.hash(hour, minute, second); + + /// Creates a copy with specified parts replaced. + /// + /// Parameters: + /// - [hour] (`ValueGetter?`, optional): New hour value. + /// - [minute] (`ValueGetter?`, optional): New minute value. + /// - [second] (`ValueGetter?`, optional): New second value. + /// + /// Returns: A new [NullableTimeOfDay] with updated parts. + NullableTimeOfDay copyWith({ + ValueGetter? hour, + ValueGetter? minute, + ValueGetter? second, + }) { + return NullableTimeOfDay( + hour: hour == null ? this.hour : hour(), + minute: minute == null ? this.minute : minute(), + second: second == null ? this.second : second(), + ); + } + + /// Converts to [TimeOfDay] if hour and minute are present. + /// + /// Returns: A [TimeOfDay] instance, or null if hour, minute or second is null. + TimeOfDay? get toTimeOfDay { + if (hour == null || minute == null || second == null) { + return null; + } + return TimeOfDay(hour: hour!, minute: minute!, second: second!); + } + + /// Converts to [TimeOfDay] with default values if any part is null. + /// + /// Parameters: + /// - [defaultHour] (`int`, optional): Default hour value (0-23). + /// - [defaultMinute] (`int`, optional): Default minute value (0-59). + /// - [defaultSecond] (`int`, optional): Default second value (0-59). + /// + /// Returns: A [TimeOfDay] instance with non-null parts. + TimeOfDay? getTimeOfDay( + {int? defaultHour = 0, int? defaultMinute = 0, int? defaultSecond = 0}) { + int? hour = this.hour ?? defaultHour; + int? minute = this.minute ?? defaultMinute; + int? second = this.second ?? defaultSecond; + if (hour == null || minute == null || second == null) { + return null; + } + return TimeOfDay(hour: hour, minute: minute, second: second); + } + + /// Creates a [NullableTimeOfDay] from a [TimeOfDay]. + /// + /// Parameters: + /// - [timeOfDay] (`TimeOfDay?`, optional): The time to convert. + /// + /// Returns: A [NullableTimeOfDay] instance, or null if input is null. + static NullableTimeOfDay? fromTimeOfDay(TimeOfDay? timeOfDay) { + if (timeOfDay == null) { + return null; + } + return NullableTimeOfDay( + hour: timeOfDay.hour, + minute: timeOfDay.minute, + second: timeOfDay.second, + ); + } + + /// Retrieves the value of a specific time part. + /// + /// Parameters: + /// - [part] (`TimePart`, required): The time part to retrieve. + /// + /// Returns: The value of the specified part, or null if not set. + int? operator [](TimePart part) { + switch (part) { + case TimePart.hour: + return hour; + case TimePart.minute: + return minute; + case TimePart.second: + return second; + } + } + + /// Converts to a map of time parts. + /// + /// Returns: A `Map` with non-null parts. + Map toMap() { + return { + if (hour != null) TimePart.hour: hour!, + if (minute != null) TimePart.minute: minute!, + if (second != null) TimePart.second: second!, + }; + } +} + +/// Reactive time input field with formatted text editing and validation. +/// +/// A high-level time input widget that provides structured time entry through +/// formatted text fields. Supports hours, minutes, and optional seconds with +/// automatic state management through the controlled component pattern. +/// +/// ## Features +/// +/// - **Structured time entry**: Separate fields for hours, minutes, and seconds +/// - **Format validation**: Automatic validation and formatting of time components +/// - **Flexible display**: Optional seconds display and customizable separators +/// - **Form integration**: Automatic validation and form field registration +/// - **Keyboard navigation**: Tab navigation between time components +/// - **Accessibility**: Full screen reader support and keyboard input +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = ComponentController(TimeOfDay.now()); +/// +/// TimeInput( +/// controller: controller, +/// showSeconds: true, +/// placeholder: Text('Enter time'), +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// TimeOfDay? selectedTime; +/// +/// TimeInput( +/// initialValue: selectedTime, +/// onChanged: (time) => setState(() => selectedTime = time), +/// showSeconds: false, +/// separator: InputPart.text(':'), +/// ) +/// ``` +class TimeInput extends StatefulWidget with ControlledComponent { + @override + final TimeOfDay? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final ComponentController? controller; + + /// Placeholder widget shown when no time is selected. + final Widget? placeholder; + + /// Whether to show seconds input field. + final bool showSeconds; + + /// Separator widget between time parts. + final InputPart? separator; + + /// Custom placeholders for individual time parts. + final Map? placeholders; + + /// Creates a [TimeInput]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns with structured time component entry. + /// + /// Parameters: + /// - [controller] (`ComponentController?`, optional): external state controller + /// - [initialValue] (TimeOfDay?, optional): starting time when no controller + /// - [onChanged] (`ValueChanged?`, optional): time change callback + /// - [enabled] (bool, default: true): whether input is interactive + /// - [placeholder] (Widget?, optional): widget shown when no time selected + /// - [showSeconds] (bool, default: false): whether to include seconds input + /// - [separator] (InputPart?, optional): separator between time components + /// - [placeholders] (`Map?`, optional): placeholders for time parts + /// + /// Example: + /// ```dart + /// TimeInput( + /// controller: controller, + /// showSeconds: true, + /// separator: InputPart.text(':'), + /// placeholders: { + /// TimePart.hour: Text('HH'), + /// TimePart.minute: Text('MM'), + /// TimePart.second: Text('SS'), + /// }, + /// ) + /// ``` + const TimeInput({ + super.key, + this.controller, + this.initialValue, + this.onChanged, + this.enabled = true, + this.placeholder, + this.showSeconds = false, + this.separator, + this.placeholders, + }); + + @override + State createState() => _TimeInputState(); +} + +class _TimeInputState extends State { + late ComponentController _controller; + + NullableTimeOfDay _convertToTimeOfDay(List values) { + int? hour = values[0] == null || values[0]!.isEmpty + ? null + : int.tryParse(values[0]!); + int? minute = values[1] == null || values[1]!.isEmpty + ? null + : int.tryParse(values[1]!); + int? second = widget.showSeconds && values.length > 2 + ? (values[2] == null || values[2]!.isEmpty + ? null + : int.tryParse(values[2]!)) + : null; + return NullableTimeOfDay(hour: hour, minute: minute, second: second); + } + + List _convertFromTimeOfDay(NullableTimeOfDay? value) { + if (value == null) { + return [null, null, if (widget.showSeconds) null]; + } + final nullableTimeOfDay = value.getTimeOfDay( + defaultHour: null, + defaultMinute: null, + defaultSecond: widget.showSeconds ? null : 0, + ); + if (nullableTimeOfDay == null) { + return [null, null, if (widget.showSeconds) null]; + } + return [ + nullableTimeOfDay.hour.toString(), + nullableTimeOfDay.minute.toString(), + if (widget.showSeconds) nullableTimeOfDay.second.toString(), + ]; + } + + double _getWidth(TimePart part) { + return 40; + } + + Widget _getPlaceholder(TimePart part) { + var localizations = ShadcnLocalizations.of(context); + return Text(localizations.getTimePartAbbreviation(part)); + } + + int _getLength(TimePart part) { + return 2; + } + + NullableTimeOfDay _convertToNullableTimeOfDay(TimeOfDay? value) { + if (value == null) { + return NullableTimeOfDay(); + } + return NullableTimeOfDay( + hour: value.hour, + minute: value.minute, + second: widget.showSeconds ? value.second : null, + ); + } + + TimeOfDay? _convertFromNullableTimeOfDay(NullableTimeOfDay value) { + return value.getTimeOfDay( + defaultSecond: widget.showSeconds ? null : 0, + ); + } + + @override + void initState() { + super.initState(); + _controller = widget.controller == null + ? ComponentValueController( + _convertToNullableTimeOfDay(widget.initialValue)) + : ConvertedController( + widget.controller!, + BiDirectionalConvert( + _convertToNullableTimeOfDay, _convertFromNullableTimeOfDay), + ); + } + + @override + void dispose() { + if (widget.controller == null) { + _controller.dispose(); + } + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return FormattedObjectInput( + converter: + BiDirectionalConvert(_convertFromTimeOfDay, _convertToTimeOfDay), + controller: _controller, + initialValue: _convertToNullableTimeOfDay(widget.initialValue), + onChanged: (value) { + widget.onChanged + ?.call(value == null ? null : _convertFromNullableTimeOfDay(value)); + }, + parts: [ + InputPart.editable( + length: _getLength(TimePart.hour), + width: _getWidth(TimePart.hour), + placeholder: widget.placeholders?[TimePart.hour] ?? + _getPlaceholder(TimePart.hour), + ), + widget.separator ?? const InputPart.static(':'), + InputPart.editable( + length: _getLength(TimePart.minute), + width: _getWidth(TimePart.minute), + placeholder: widget.placeholders?[TimePart.minute] ?? + _getPlaceholder(TimePart.minute), + ), + if (widget.showSeconds) ...[ + widget.separator ?? const InputPart.static(':'), + InputPart.editable( + length: _getLength(TimePart.second), + width: _getWidth(TimePart.second), + placeholder: widget.placeholders?[TimePart.second] ?? + _getPlaceholder(TimePart.second), + ), + ], + ], + ); + } +} + +/// Reactive duration input field with formatted text editing and validation. +/// +/// A high-level duration input widget that provides structured duration entry through +/// formatted text fields. Supports hours, minutes, and optional seconds with +/// automatic state management through the controlled component pattern. +/// +/// ## Features +/// +/// - **Structured duration entry**: Separate fields for hours, minutes, and seconds +/// - **Format validation**: Automatic validation and formatting of duration components +/// - **Flexible display**: Optional seconds display and customizable separators +/// - **Large value support**: Handle durations spanning multiple hours or days +/// - **Form integration**: Automatic validation and form field registration +/// - **Keyboard navigation**: Tab navigation between duration components +/// - **Accessibility**: Full screen reader support and keyboard input +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = ComponentController(Duration(hours: 1, minutes: 30)); +/// +/// DurationInput( +/// controller: controller, +/// showSeconds: true, +/// placeholder: Text('Enter duration'), +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// Duration? selectedDuration; +/// +/// DurationInput( +/// initialValue: selectedDuration, +/// onChanged: (duration) => setState(() => selectedDuration = duration), +/// showSeconds: false, +/// separator: InputPart.text(':'), +/// ) +/// ``` +class DurationInput extends StatefulWidget with ControlledComponent { + @override + final Duration? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final ComponentController? controller; + + /// Placeholder widget shown when no duration is selected. + final Widget? placeholder; + + /// Whether to show seconds input field. + final bool showSeconds; + + /// Separator widget between duration parts. + final InputPart? separator; + + /// Custom placeholders for individual time parts. + final Map? placeholders; + + /// Creates a [DurationInput]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns with structured duration component entry. + /// + /// Parameters: + /// - [controller] (`ComponentController?`, optional): external state controller + /// - [initialValue] (Duration?, optional): starting duration when no controller + /// - [onChanged] (`ValueChanged?`, optional): duration change callback + /// - [enabled] (bool, default: true): whether input is interactive + /// - [placeholder] (Widget?, optional): widget shown when no duration selected + /// - [showSeconds] (bool, default: false): whether to include seconds input + /// - [separator] (InputPart?, optional): separator between duration components + /// - [placeholders] (`Map?`, optional): placeholders for time parts + /// + /// Example: + /// ```dart + /// DurationInput( + /// controller: controller, + /// showSeconds: true, + /// separator: InputPart.text(':'), + /// placeholders: { + /// TimePart.hour: Text('HH'), + /// TimePart.minute: Text('MM'), + /// TimePart.second: Text('SS'), + /// }, + /// ) + /// ``` + const DurationInput({ + super.key, + this.controller, + this.initialValue, + this.onChanged, + this.enabled = true, + this.placeholder, + this.showSeconds = false, + this.separator, + this.placeholders, + }); + + @override + State createState() => _DurationInputState(); +} + +class _DurationInputState extends State { + late ComponentController _controller; + + NullableTimeOfDay _convertToDuration(List values) { + int? hours = values[0] == null || values[0]!.isEmpty + ? null + : int.tryParse(values[0]!); + int? minutes = values[1] == null || values[1]!.isEmpty + ? null + : int.tryParse(values[1]!); + int? seconds = widget.showSeconds && values.length > 2 + ? (values[2] == null || values[2]!.isEmpty + ? null + : int.tryParse(values[2]!)) + : null; + return NullableTimeOfDay(hour: hours, minute: minutes, second: seconds); + } + + List _convertFromDuration(NullableTimeOfDay? value) { + if (value == null) { + return [null, null, if (widget.showSeconds) null]; + } + final nullableTimeOfDay = value.getTimeOfDay( + defaultHour: null, + defaultMinute: null, + defaultSecond: widget.showSeconds ? null : 0, + ); + if (nullableTimeOfDay == null) { + return [null, null, if (widget.showSeconds) null]; + } + return [ + nullableTimeOfDay.hour.toString(), + nullableTimeOfDay.minute.toString(), + if (widget.showSeconds) nullableTimeOfDay.second.toString(), + ]; + } + + double _getWidth(TimePart part) { + return 40; + } + + Widget _getPlaceholder(TimePart part) { + var localizations = ShadcnLocalizations.of(context); + return Text(localizations.getTimePartAbbreviation(part)); + } + + int _getLength(TimePart part) { + return 2; + } + + NullableTimeOfDay _convertToNullableTimeOfDay(Duration? value) { + if (value == null) { + return NullableTimeOfDay(); + } + return NullableTimeOfDay( + hour: value.inHours, + minute: value.inMinutes % 60, + second: widget.showSeconds ? value.inSeconds % 60 : null, + ); + } + + Duration? _convertFromNullableTimeOfDay(NullableTimeOfDay value) { + if (value.hour == null || + value.minute == null || + (widget.showSeconds && value.second == null)) { + return null; + } + return Duration( + hours: value.hour!, + minutes: value.minute!, + seconds: widget.showSeconds ? (value.second ?? 0) : 0, + ); + } + + @override + void initState() { + super.initState(); + _controller = widget.controller == null + ? ComponentValueController( + _convertToNullableTimeOfDay(widget.initialValue)) + : ConvertedController( + widget.controller!, + BiDirectionalConvert( + _convertToNullableTimeOfDay, _convertFromNullableTimeOfDay), + ); + } + + @override + void dispose() { + if (widget.controller == null) { + _controller.dispose(); + } + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return FormattedObjectInput( + converter: BiDirectionalConvert(_convertFromDuration, _convertToDuration), + controller: _controller, + initialValue: _convertToNullableTimeOfDay(widget.initialValue), + onChanged: (value) { + widget.onChanged + ?.call(value == null ? null : _convertFromNullableTimeOfDay(value)); + }, + parts: [ + InputPart.editable( + length: _getLength(TimePart.hour), + width: _getWidth(TimePart.hour), + placeholder: widget.placeholders?[TimePart.hour] ?? + _getPlaceholder(TimePart.hour), + ), + widget.separator ?? const InputPart.static(':'), + InputPart.editable( + length: _getLength(TimePart.minute), + width: _getWidth(TimePart.minute), + placeholder: widget.placeholders?[TimePart.minute] ?? + _getPlaceholder(TimePart.minute), + ), + if (widget.showSeconds) ...[ + widget.separator ?? const InputPart.static(':'), + InputPart.editable( + length: _getLength(TimePart.second), + width: _getWidth(TimePart.second), + placeholder: widget.placeholders?[TimePart.second] ?? + _getPlaceholder(TimePart.second), + ), + ], + ], + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/phone_input.dart b/third_party/shadcn_flutter/lib/src/components/form/phone_input.dart new file mode 100644 index 00000000..2eb50ef3 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/phone_input.dart @@ -0,0 +1,520 @@ +import 'package:country_flags/country_flags.dart'; +import 'package:flutter/services.dart'; + +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Represents a phone number with country code information. +/// +/// [PhoneNumber] combines a country (with dial code) and a phone number +/// string to create a complete international phone number. +/// +/// Example: +/// ```dart +/// final phone = PhoneNumber( +/// Country(dialCode: '+1', code: 'US'), +/// '5551234567', +/// ); +/// print(phone.fullNumber); // +15551234567 +/// ``` +class PhoneNumber { + /// The country associated with this phone number. + final Country country; + + /// The phone number without the country code. + final String number; // without country code + + /// Creates a [PhoneNumber] with the specified country and number. + const PhoneNumber(this.country, this.number); + + /// Gets the complete phone number including country code. + String get fullNumber => '${country.dialCode}$number'; + + /// Gets the full number or null if the number is empty. + String? get value => number.isEmpty ? null : fullNumber; + + @override + String toString() { + return number.isEmpty ? '' : fullNumber; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is PhoneNumber && + other.country == country && + other.number == number; + } + + @override + int get hashCode { + return country.hashCode ^ number.hashCode; + } +} + +/// Theme data for [PhoneInput]. +class PhoneInputTheme extends ComponentThemeData { + /// The padding of the [PhoneInput]. + final EdgeInsetsGeometry? padding; + + /// The border radius of the [PhoneInput]. + final BorderRadiusGeometry? borderRadius; + + /// The constraints of the country selector popup. + final BoxConstraints? popupConstraints; + + /// The maximum width of the [PhoneInput]. + final double? maxWidth; + + /// The height of the flag. + final double? flagHeight; + + /// The width of the flag. + final double? flagWidth; + + /// The gap between the flag and the country code. + final double? flagGap; + + /// The gap between the country code and the text field. + final double? countryGap; + + /// The shape of the flag. + final Shape? flagShape; + + /// Theme data for [PhoneInput]. + const PhoneInputTheme({ + this.padding, + this.borderRadius, + this.popupConstraints, + this.maxWidth, + this.flagHeight, + this.flagWidth, + this.flagGap, + this.countryGap, + this.flagShape, + }); + + /// Creates a copy of this [PhoneInputTheme] with the given values overridden. + PhoneInputTheme copyWith({ + ValueGetter? padding, + ValueGetter? borderRadius, + ValueGetter? popupConstraints, + ValueGetter? maxWidth, + ValueGetter? flagHeight, + ValueGetter? flagWidth, + ValueGetter? flagGap, + ValueGetter? countryGap, + ValueGetter? flagShape, + }) { + return PhoneInputTheme( + padding: padding != null ? padding() : this.padding, + borderRadius: borderRadius != null ? borderRadius() : this.borderRadius, + popupConstraints: + popupConstraints != null ? popupConstraints() : this.popupConstraints, + maxWidth: maxWidth != null ? maxWidth() : this.maxWidth, + flagHeight: flagHeight != null ? flagHeight() : this.flagHeight, + flagWidth: flagWidth != null ? flagWidth() : this.flagWidth, + flagGap: flagGap != null ? flagGap() : this.flagGap, + countryGap: countryGap != null ? countryGap() : this.countryGap, + flagShape: flagShape != null ? flagShape() : this.flagShape, + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is PhoneInputTheme && + other.padding == padding && + other.borderRadius == borderRadius && + other.popupConstraints == popupConstraints && + other.maxWidth == maxWidth && + other.flagHeight == flagHeight && + other.flagWidth == flagWidth && + other.flagGap == flagGap && + other.countryGap == countryGap && + other.flagShape == flagShape; + } + + @override + int get hashCode => Object.hash( + padding, + borderRadius, + popupConstraints, + maxWidth, + flagHeight, + flagWidth, + flagGap, + countryGap, + flagShape, + ); + + @override + String toString() { + return 'PhoneInputTheme(padding: $padding, borderRadius: $borderRadius, popupConstraints: $popupConstraints, maxWidth: $maxWidth, flagHeight: $flagHeight, flagWidth: $flagWidth, flagGap: $flagGap, countryGap: $countryGap, flagShape: $flagShape)'; + } +} + +/// A specialized input widget for entering international phone numbers. +/// +/// This widget provides a comprehensive phone number input interface with +/// country selection, automatic formatting, and validation. It displays a +/// country flag, country code, and a text field for the phone number, +/// handling the complexities of international phone number formats. +/// +/// The component automatically filters input to ensure only valid phone +/// number characters are entered, and provides a searchable country +/// selector popup for easy country selection. It integrates with the form +/// system to provide phone number validation and data collection. +/// +/// Example: +/// ```dart +/// PhoneInput( +/// initialCountry: Country.unitedStates, +/// onChanged: (phoneNumber) { +/// print('Phone: ${phoneNumber.fullNumber}'); +/// print('Country: ${phoneNumber.country.name}'); +/// }, +/// searchPlaceholder: Text('Search countries...'), +/// ); +/// ``` +class PhoneInput extends StatefulWidget { + /// The default country to display when no initial value is provided. + /// + /// If both [initialCountry] and [initialValue] are null, defaults to + /// United States. When [initialValue] is provided, its country takes + /// precedence over this setting. + final Country? initialCountry; + + /// The initial phone number value including country and number. + /// + /// When provided, both the country selector and number field are + /// initialized with the values from this phone number. Takes precedence + /// over [initialCountry] for country selection. + final PhoneNumber? initialValue; + + /// Callback invoked when the phone number changes. + /// + /// Called whenever the user changes either the country selection or + /// the phone number text. The callback receives a [PhoneNumber] object + /// containing both the selected country and entered number. + final ValueChanged? onChanged; + + /// Optional text editing controller for the number input field. + /// + /// When provided, this controller manages the text content of the phone + /// number input field. If null, an internal controller is created and managed. + final TextEditingController? controller; + + /// Whether to filter out plus (+) symbols from input. + /// + /// When true, plus symbols are automatically removed from user input + /// since the country code already provides the international prefix. + final bool filterPlusCode; + + /// Whether to filter out leading zeros from input. + /// + /// When true, leading zeros are automatically removed from the phone number + /// to normalize the input format according to international standards. + final bool filterZeroCode; + + /// Whether to filter out country codes from input. + /// + /// When true, prevents users from entering the country code digits manually + /// since the country selector provides this information automatically. + final bool filterCountryCode; + + /// Whether to allow only numeric characters in the input. + /// + /// When true, restricts input to numeric characters only, removing + /// any letters, symbols, or formatting characters that users might enter. + final bool onlyNumber; + + /// Optional list of countries to display in the country selector. + /// + /// When provided, only these countries will be available for selection + /// in the country picker popup. If null, all supported countries are available. + final List? countries; + + /// Widget displayed as placeholder in the country search field. + /// + /// Appears in the search input at the top of the country selector popup + /// to guide users on how to search for countries. + final Widget? searchPlaceholder; + + /// Creates a [PhoneInput] widget. + /// + /// The widget can be initialized with a specific country or complete phone + /// number. Various filtering options control how user input is processed + /// to ensure valid phone number format. + /// + /// Parameters: + /// - [initialCountry] (Country?, optional): Default country when no initial value provided + /// - [initialValue] (PhoneNumber?, optional): Complete initial phone number with country + /// - [onChanged] (`ValueChanged?`, optional): Callback for phone number changes + /// - [controller] (TextEditingController?, optional): Controller for the number input field + /// - [filterPlusCode] (bool, default: true): Whether to filter out plus symbols + /// - [filterZeroCode] (bool, default: true): Whether to filter out leading zeros + /// - [filterCountryCode] (bool, default: true): Whether to filter out country codes + /// - [onlyNumber] (bool, default: true): Whether to allow only numeric input + /// - [countries] (`List?`, optional): Specific countries to show in selector + /// - [searchPlaceholder] (Widget?, optional): Placeholder for country search field + /// + /// Example: + /// ```dart + /// PhoneInput( + /// initialCountry: Country.canada, + /// filterPlusCode: true, + /// onChanged: (phone) => _validatePhoneNumber(phone), + /// ); + /// ``` + const PhoneInput({ + super.key, + this.initialCountry, + this.initialValue, + this.onChanged, + this.controller, + this.filterPlusCode = true, + this.filterZeroCode = true, + this.filterCountryCode = true, + this.onlyNumber = true, + this.countries, + this.searchPlaceholder, + }); + + @override + State createState() => _PhoneInputState(); +} + +class _PhoneInputState extends State + with FormValueSupplier { + late Country _country; + late TextEditingController _controller; + + @override + void initState() { + super.initState(); + _country = widget.initialCountry ?? + widget.initialValue?.country ?? + Country.unitedStates; + _controller = widget.controller ?? + TextEditingController(text: widget.initialValue?.number); + formValue = value; + _controller.addListener(_dispatchChanged); + } + + @override + void didUpdateWidget(covariant PhoneInput oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.controller != oldWidget.controller) { + _controller.removeListener(_dispatchChanged); + _controller = widget.controller ?? TextEditingController(); + _controller.addListener(_dispatchChanged); + } + } + + void _dispatchChanged() { + widget.onChanged?.call(value); + formValue = value; + } + + PhoneNumber get value { + var text = _controller.text; + if (widget.filterPlusCode && text.startsWith(_country.dialCode)) { + text = text.substring(_country.dialCode.length); + } else if (widget.filterPlusCode && text.startsWith('+')) { + text = text.substring(1); + } else if (widget.filterZeroCode && text.startsWith('0')) { + text = text.substring(1); + } else if (widget.filterCountryCode && + text.startsWith(_country.dialCode.substring(1))) { + // e.g. 628123456788 (indonesia) would be 8123456788 + text = text.substring(_country.dialCode.length - 1); + } + return PhoneNumber(_country, text); + } + + bool _filterCountryCode(Country country, String text) { + return country.name.toLowerCase().contains(text) || + country.dialCode.contains(text) || + country.code.toLowerCase().contains(text); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final componentTheme = ComponentTheme.maybeOf(context); + return IntrinsicHeight( + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + mainAxisSize: MainAxisSize.min, + children: [ + Select( + padding: styleValue( + defaultValue: EdgeInsets.only( + top: theme.scaling * 8, + left: theme.scaling * 8, + bottom: theme.scaling * 8, + right: theme.scaling * 4), + themeValue: componentTheme?.padding, + ), + // searchPlaceholder: widget.searchPlaceholder ?? + // Text(localization.searchPlaceholderCountry), + // searchFilter: (item, query) { + // query = query.toLowerCase(); + // var searchScore = item.name.toLowerCase().contains(query) || + // item.dialCode.contains(query) || + // item.code.toLowerCase().contains(query) + // ? 1 + // : 0; + // return searchScore; + // }, + // emptyBuilder: (context) { + // return Container( + // padding: EdgeInsets.all(theme.scaling * 16), + // child: Text( + // localization.emptyCountryList, + // textAlign: TextAlign.center, + // ).small().muted(), + // ); + // }, + value: _country, + borderRadius: styleValue( + defaultValue: BorderRadius.only( + topLeft: theme.radiusMdRadius, + bottomLeft: theme.radiusMdRadius, + ), + themeValue: componentTheme?.borderRadius, + ), + popoverAlignment: Alignment.topLeft, + popoverAnchorAlignment: Alignment.bottomLeft, + popupWidthConstraint: PopoverConstraint.flexible, + onChanged: (value) { + if (value != null) { + setState(() { + _country = value; + _dispatchChanged(); + }); + } + }, + itemBuilder: (context, item) { + return Row( + children: [ + CountryFlag.fromCountryCode( + item.code, + theme: ImageTheme( + shape: styleValue( + defaultValue: RoundedRectangle( + theme.radiusSm, + ), + themeValue: componentTheme?.flagShape, + ), + height: styleValue( + defaultValue: theme.scaling * 18, + themeValue: componentTheme?.flagHeight, + ), + width: styleValue( + defaultValue: theme.scaling * 24, + themeValue: componentTheme?.flagWidth, + ), + ), + ), + Gap( + styleValue( + defaultValue: theme.scaling * 8, + themeValue: componentTheme?.flagGap, + ), + ), + Text(item.dialCode), + ], + ); + }, + popupConstraints: styleValue( + defaultValue: BoxConstraints( + maxWidth: 250 * theme.scaling, + maxHeight: 300 * theme.scaling, + ), + themeValue: componentTheme?.popupConstraints, + ), + popup: SelectPopup.builder( + builder: (context, searchQuery) { + return SelectItemList(children: [ + for (final country in widget.countries ?? Country.values) + if (searchQuery == null || + _filterCountryCode(country, searchQuery)) + SelectItemButton( + value: country, + child: Row( + children: [ + CountryFlag.fromCountryCode( + country.code, + theme: ImageTheme( + shape: styleValue( + defaultValue: RoundedRectangle( + theme.radiusSm, + ), + themeValue: componentTheme?.flagShape, + ), + height: styleValue( + defaultValue: theme.scaling * 18, + themeValue: componentTheme?.flagHeight, + ), + width: styleValue( + defaultValue: theme.scaling * 24, + themeValue: componentTheme?.flagWidth, + ), + ), + ), + Gap( + styleValue( + defaultValue: theme.scaling * 8, + themeValue: componentTheme?.flagGap, + ), + ), + Expanded(child: Text(country.name)), + Gap( + styleValue( + defaultValue: 16 * theme.scaling, + themeValue: componentTheme?.countryGap, + ), + ), + Text(country.dialCode).muted(), + ], + ), + ), + ]); + }, + ).asBuilder, + ), + LimitedBox( + maxWidth: styleValue( + defaultValue: 200 * theme.scaling, + themeValue: componentTheme?.maxWidth, + ), + child: TextField( + controller: _controller, + autofillHints: const [AutofillHints.telephoneNumber], + keyboardType: widget.onlyNumber ? TextInputType.phone : null, + inputFormatters: [ + if (widget.onlyNumber) FilteringTextInputFormatter.digitsOnly, + ], + borderRadius: styleValue( + defaultValue: BorderRadius.only( + topRight: theme.radiusMdRadius, + bottomRight: theme.radiusMdRadius, + ), + themeValue: componentTheme?.borderRadius, + ), + initialValue: widget.initialValue?.number, + ), + ) + ], + ), + ); + } + + @override + void didReplaceFormValue(PhoneNumber value) { + _controller.text = value.toString(); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/radio_group.dart b/third_party/shadcn_flutter/lib/src/components/form/radio_group.dart new file mode 100644 index 00000000..7a415405 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/radio_group.dart @@ -0,0 +1,917 @@ +import '../../../shadcn_flutter.dart'; + +/// Theme data for customizing [Radio] widget appearance. +/// +/// This class defines the visual properties that can be applied to +/// [Radio] widgets, including colors for different states and sizing. +/// These properties can be set at the theme level to provide consistent +/// styling across the application. +/// +/// The theme affects the radio button's visual appearance in both +/// selected and unselected states, including border, background, +/// and active indicator colors. +class RadioTheme extends ComponentThemeData { + /// Color of the radio indicator when selected. + final Color? activeColor; + + /// Border color of the radio button. + final Color? borderColor; + + /// Background color of the radio button. + final Color? backgroundColor; + + /// Size of the radio button. + final double? size; + + /// Creates a [RadioTheme]. + /// + /// Parameters: + /// - [activeColor] (`Color?`, optional): Selected indicator color. + /// - [borderColor] (`Color?`, optional): Border color. + /// - [backgroundColor] (`Color?`, optional): Background color. + /// - [size] (`double?`, optional): Radio button size. + const RadioTheme( + {this.activeColor, this.borderColor, this.size, this.backgroundColor}); + + /// Creates a copy of this theme with the given fields replaced. + /// + /// Parameters: + /// - [activeColor] (`ValueGetter?`, optional): New active color. + /// - [borderColor] (`ValueGetter?`, optional): New border color. + /// - [backgroundColor] (`ValueGetter?`, optional): New background color. + /// - [size] (`ValueGetter?`, optional): New size. + /// + /// Returns: A new [RadioTheme] with updated properties. + RadioTheme copyWith({ + ValueGetter? activeColor, + ValueGetter? borderColor, + ValueGetter? size, + ValueGetter? backgroundColor, + }) { + return RadioTheme( + activeColor: activeColor == null ? this.activeColor : activeColor(), + borderColor: borderColor == null ? this.borderColor : borderColor(), + size: size == null ? this.size : size(), + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is RadioTheme && + other.activeColor == activeColor && + other.borderColor == borderColor && + other.size == size && + other.backgroundColor == backgroundColor; + } + + @override + int get hashCode => + Object.hash(activeColor, borderColor, size, backgroundColor); +} + +/// A radio button widget that displays a circular selection indicator. +/// +/// [Radio] provides a visual representation of a selectable option within +/// a radio group. It displays as a circular button with an inner dot when +/// selected and an empty circle when unselected. The widget supports focus +/// indication and customizable colors and sizing. +/// +/// The radio button animates smoothly between selected and unselected states, +/// providing visual feedback to user interactions. It integrates with the +/// focus system to provide accessibility support and keyboard navigation. +/// +/// Typically used within [RadioItem] or [RadioGroup] components rather than +/// standalone, as it only provides the visual representation without the +/// interaction logic. +/// +/// Example: +/// ```dart +/// Radio( +/// value: isSelected, +/// focusing: hasFocus, +/// size: 20, +/// activeColor: Colors.blue, +/// ); +/// ``` +class Radio extends StatelessWidget { + /// Whether this radio button is selected. + /// + /// When true, displays the inner selection indicator. + /// When false, shows only the outer circle border. + final bool value; + + /// Whether this radio button currently has focus. + /// + /// When true, displays a focus outline around the radio button + /// for accessibility and keyboard navigation indication. + final bool focusing; + + /// Size of the radio button in logical pixels. + /// + /// Controls both the width and height of the circular radio button. + /// If null, uses the size from the current [RadioTheme]. + final double? size; + + /// Color of the inner selection indicator when selected. + /// + /// Applied to the inner dot that appears when [value] is true. + /// If null, uses the activeColor from the current [RadioTheme]. + final Color? activeColor; + + /// Color of the outer border circle. + /// + /// Applied to the border of the radio button in both selected and + /// unselected states. If null, uses the borderColor from the current [RadioTheme]. + final Color? borderColor; + + /// Background color of the radio button circle. + /// + /// Applied as the fill color behind the border. If null, uses the + /// backgroundColor from the current [RadioTheme]. + final Color? backgroundColor; + + /// Creates a [Radio] with the specified selection state and styling. + /// + /// The [value] parameter is required and determines whether the radio + /// appears selected. All other parameters are optional and will fall + /// back to theme values when not specified. + /// + /// Parameters: + /// - [value] (bool, required): Whether the radio button is selected + /// - [focusing] (bool, default: false): Whether the radio has focus + /// - [size] (double?, optional): Size of the radio button in pixels + /// - [activeColor] (Color?, optional): Color of the selection indicator + /// - [borderColor] (Color?, optional): Color of the outer border + /// - [backgroundColor] (Color?, optional): Color of the background fill + /// + /// Example: + /// ```dart + /// Radio( + /// value: selectedValue == itemValue, + /// focusing: focusNode.hasFocus, + /// size: 18, + /// ); + /// ``` + const Radio({ + super.key, + required this.value, + this.focusing = false, + this.size, + this.activeColor, + this.borderColor, + this.backgroundColor, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final compTheme = ComponentTheme.maybeOf(context); + final size = styleValue( + widgetValue: this.size, + themeValue: compTheme?.size, + defaultValue: 16 * theme.scaling); + final activeColor = styleValue( + widgetValue: this.activeColor, + themeValue: compTheme?.activeColor, + defaultValue: theme.colorScheme.primary); + final borderColor = styleValue( + widgetValue: this.borderColor, + themeValue: compTheme?.borderColor, + defaultValue: theme.colorScheme.input); + final backgroundColor = styleValue( + widgetValue: this.backgroundColor, + themeValue: compTheme?.backgroundColor, + defaultValue: theme.colorScheme.input.scaleAlpha(0.3)); + final innerSize = value ? (size - (6 + 2) * theme.scaling) : 0.0; + return FocusOutline( + focused: focusing, + shape: BoxShape.circle, + child: AnimatedContainer( + duration: kDefaultDuration, + width: size, + height: size, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: backgroundColor, + border: Border.all( + color: borderColor, + ), + ), + child: Center( + child: AnimatedContainer( + duration: kDefaultDuration, + width: innerSize, + height: innerSize, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: activeColor, + ), + ), + ), + ), + ); + } +} + +/// Intent for navigating to the next item in a radio group. +class NextItemIntent extends Intent { + /// Creates a next item intent. + const NextItemIntent(); +} + +/// Intent for navigating to the previous item in a radio group. +class PreviousItemIntent extends Intent { + /// Creates a previous item intent. + const PreviousItemIntent(); +} + +/// A radio button item with optional leading and trailing widgets. +/// +/// Used within a [RadioGroup] to create selectable radio button options. +class RadioItem extends StatefulWidget { + /// Optional widget displayed before the radio button. + final Widget? leading; + + /// Optional widget displayed after the radio button. + final Widget? trailing; + + /// The value represented by this radio item. + final T value; + + /// Whether this radio item is enabled. + final bool enabled; + + /// Focus node for keyboard navigation. + final FocusNode? focusNode; + + /// Creates a radio item. + const RadioItem({ + super.key, + this.leading, + this.trailing, + required this.value, + this.enabled = true, + this.focusNode, + }); + + @override + State> createState() => _RadioItemState(); +} + +class _RadioItemState extends State> { + late FocusNode _focusNode; + + bool _focusing = false; + + @override + void initState() { + super.initState(); + _focusNode = widget.focusNode ?? FocusNode(); + } + + @override + void didUpdateWidget(covariant RadioItem oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.focusNode != widget.focusNode) { + _focusNode.dispose(); + _focusNode = widget.focusNode ?? FocusNode(); + } + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final groupData = Data.maybeOf>(context); + final group = Data.maybeOf>(context); + assert(groupData != null, + 'RadioItem<$T> must be a descendant of RadioGroup<$T>'); + return GestureDetector( + onTap: widget.enabled && groupData?.enabled == true + ? () { + group?._setSelected(widget.value); + } + : null, + child: FocusableActionDetector( + focusNode: _focusNode, + mouseCursor: widget.enabled && groupData?.enabled == true + ? SystemMouseCursors.click + : SystemMouseCursors.forbidden, + onShowFocusHighlight: (value) { + if (value && widget.enabled && groupData?.enabled == true) { + group?._setSelected(widget.value); + } + if (value != _focusing) { + setState(() { + _focusing = value; + }); + } + }, + actions: { + NextItemIntent: CallbackAction( + onInvoke: (intent) { + if (group != null) { + group._setSelected(widget.value); + } + return null; + }, + ), + PreviousItemIntent: CallbackAction( + onInvoke: (intent) { + if (group != null) { + group._setSelected(widget.value); + } + return null; + }, + ), + }, + child: Data>.boundary( + child: Data<_RadioItemState>.boundary( + child: IntrinsicHeight( + child: Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (widget.leading != null) widget.leading!, + if (widget.leading != null) + SizedBox(width: 8 * theme.scaling), + Radio( + value: groupData?.selectedItem == widget.value, + focusing: + _focusing && groupData?.selectedItem == widget.value), + if (widget.trailing != null) + SizedBox(width: 8 * theme.scaling), + if (widget.trailing != null) widget.trailing!, + ], + ), + ), + ), + ), + ), + ); + } +} + +/// A card-style radio button with custom content. +/// +/// Provides a larger, card-like selection area within a [RadioGroup]. +class RadioCard extends StatefulWidget { + /// The child widget displayed in the card. + final Widget child; + + /// The value represented by this radio card. + final T value; + + /// Whether this radio card is enabled. + final bool enabled; + + /// Whether the selected card uses a filled background. + /// + /// When true, the selected card fills with 50% opacity of the primary color. + final bool filled; + + /// Focus node for keyboard navigation. + final FocusNode? focusNode; + + /// Creates a radio card. + const RadioCard({ + super.key, + required this.child, + required this.value, + this.enabled = true, + this.filled = false, + this.focusNode, + }); + + @override + State> createState() => _RadioCardState(); +} + +/// Theme data for the [RadioCard] widget. +class RadioCardTheme extends ComponentThemeData { + /// The cursor to use when the radio card is enabled. + final MouseCursor? enabledCursor; + + /// The cursor to use when the radio card is disabled. + final MouseCursor? disabledCursor; + + /// The color to use when the radio card is hovered over. + final Color? hoverColor; + + /// The default color to use. + final Color? color; + + /// The width of the border of the radio card. + final double? borderWidth; + + /// The width of the border of the radio card when selected. + final double? selectedBorderWidth; + + /// The radius of the border of the radio card. + final BorderRadiusGeometry? borderRadius; + + /// The padding of the radio card. + final EdgeInsetsGeometry? padding; + + /// The color of the border. + final Color? borderColor; + + /// The color of the border when selected. + final Color? selectedBorderColor; + + /// Theme data for the [RadioCard] widget. + const RadioCardTheme({ + this.enabledCursor, + this.disabledCursor, + this.hoverColor, + this.color, + this.borderWidth, + this.selectedBorderWidth, + this.borderRadius, + this.padding, + this.borderColor, + this.selectedBorderColor, + }); + + @override + String toString() { + return 'RadioCardTheme(enabledCursor: $enabledCursor, disabledCursor: $disabledCursor, hoverColor: $hoverColor, color: $color, borderWidth: $borderWidth, selectedBorderWidth: $selectedBorderWidth, borderRadius: $borderRadius, padding: $padding, borderColor: $borderColor, selectedBorderColor: $selectedBorderColor)'; + } + + /// Creates a copy of this [RadioCardTheme] but with the given fields replaced with the new values. + RadioCardTheme copyWith({ + ValueGetter? enabledCursor, + ValueGetter? disabledCursor, + ValueGetter? hoverColor, + ValueGetter? color, + ValueGetter? borderWidth, + ValueGetter? selectedBorderWidth, + ValueGetter? borderRadius, + ValueGetter? padding, + ValueGetter? borderColor, + ValueGetter? selectedBorderColor, + }) { + return RadioCardTheme( + enabledCursor: + enabledCursor != null ? enabledCursor() : this.enabledCursor, + disabledCursor: + disabledCursor != null ? disabledCursor() : this.disabledCursor, + hoverColor: hoverColor != null ? hoverColor() : this.hoverColor, + color: color != null ? color() : this.color, + borderWidth: borderWidth != null ? borderWidth() : this.borderWidth, + selectedBorderWidth: selectedBorderWidth != null + ? selectedBorderWidth() + : this.selectedBorderWidth, + borderRadius: borderRadius != null ? borderRadius() : this.borderRadius, + padding: padding != null ? padding() : this.padding, + borderColor: borderColor != null ? borderColor() : this.borderColor, + selectedBorderColor: selectedBorderColor != null + ? selectedBorderColor() + : this.selectedBorderColor, + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is RadioCardTheme && + other.enabledCursor == enabledCursor && + other.disabledCursor == disabledCursor && + other.hoverColor == hoverColor && + other.color == color && + other.borderWidth == borderWidth && + other.selectedBorderWidth == selectedBorderWidth && + other.borderRadius == borderRadius && + other.padding == padding && + other.borderColor == borderColor && + other.selectedBorderColor == selectedBorderColor; + } + + @override + int get hashCode => Object.hash( + enabledCursor, + disabledCursor, + hoverColor, + color, + borderWidth, + selectedBorderWidth, + borderRadius, + padding, + borderColor, + selectedBorderColor, + ); +} + +class _RadioCardState extends State> { + late FocusNode _focusNode; + bool _focusing = false; + bool _hovering = false; + + @override + void initState() { + super.initState(); + _focusNode = widget.focusNode ?? FocusNode(); + } + + @override + void didUpdateWidget(covariant RadioCard oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.focusNode != widget.focusNode) { + _focusNode.dispose(); + _focusNode = widget.focusNode ?? FocusNode(); + } + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final densityGap = theme.density.baseGap * theme.scaling; + final densityContainerPadding = + theme.density.baseContainerPadding * theme.scaling; + final componentTheme = ComponentTheme.maybeOf(context); + final groupData = Data.maybeOf>(context); + final group = Data.maybeOf>(context); + assert(groupData != null, + 'RadioCard<$T> must be a descendant of RadioGroup<$T>'); + return GestureDetector( + onTap: widget.enabled && groupData?.enabled == true + ? () { + group?._setSelected(widget.value); + } + : null, + child: FocusableActionDetector( + focusNode: _focusNode, + actions: { + NextItemIntent: CallbackAction( + onInvoke: (intent) { + if (group != null) { + group._setSelected(widget.value); + } + return null; + }, + ), + PreviousItemIntent: CallbackAction( + onInvoke: (intent) { + if (group != null) { + group._setSelected(widget.value); + } + return null; + }, + ), + }, + mouseCursor: widget.enabled && groupData?.enabled == true + ? styleValue( + defaultValue: SystemMouseCursors.click, + themeValue: componentTheme?.enabledCursor) + : styleValue( + defaultValue: SystemMouseCursors.forbidden, + themeValue: componentTheme?.disabledCursor), + onShowFocusHighlight: (value) { + if (value && widget.enabled && groupData?.enabled == true) { + group?._setSelected(widget.value); + } + if (value != _focusing) { + setState(() { + _focusing = value; + }); + } + }, + onShowHoverHighlight: (value) { + if (value != _hovering) { + setState(() { + _hovering = value; + }); + } + }, + child: Data>.boundary( + child: Data<_RadioCardState>.boundary( + child: Card( + borderColor: groupData?.selectedItem == widget.value + ? styleValue( + defaultValue: theme.colorScheme.primary, + themeValue: componentTheme?.selectedBorderColor, + ) + : styleValue( + defaultValue: theme.colorScheme.muted, + themeValue: componentTheme?.borderColor, + ), + borderWidth: groupData?.selectedItem == widget.value + ? styleValue( + defaultValue: 2 * theme.scaling, + themeValue: componentTheme?.selectedBorderWidth, + ) + : styleValue( + defaultValue: 1 * theme.scaling, + themeValue: componentTheme?.borderWidth, + ), + filled: true, + fillColor: _hovering + ? styleValue( + defaultValue: widget.filled && + groupData?.selectedItem == widget.value + ? theme.colorScheme.primary.scaleAlpha(0.1) + : Colors.transparent, + themeValue: componentTheme?.hoverColor, + ) + : styleValue( + defaultValue: widget.filled && + groupData?.selectedItem == widget.value + ? theme.colorScheme.primary.scaleAlpha(0.1) + : Colors.transparent, + themeValue: componentTheme?.color, + ), + borderRadius: styleValue( + defaultValue: theme.borderRadiusLg, + themeValue: componentTheme?.borderRadius), + padding: EdgeInsets.zero, + clipBehavior: Clip.antiAlias, + duration: kDefaultDuration, + child: Container( + padding: styleValue( + defaultValue: EdgeInsets.all(densityContainerPadding), + themeValue: componentTheme?.padding, + ), + child: AnimatedPadding( + duration: kDefaultDuration, + padding: groupData?.selectedItem == widget.value + ? styleValue( + defaultValue: EdgeInsets.zero, + themeValue: componentTheme?.borderWidth != null + ? EdgeInsets.all(componentTheme!.borderWidth!) + : null, + ) + // to compensate for the border width + : styleValue( + defaultValue: EdgeInsets.all(densityGap * 0.125), + themeValue: componentTheme?.borderWidth != null && + componentTheme?.selectedBorderWidth != null + ? EdgeInsets.all( + componentTheme!.borderWidth! - + componentTheme.selectedBorderWidth!, + ) + : null, + ), + child: widget.child, + ), + ), + ), + ), + ), + ), + ); + } +} + +/// Controller for managing [ControlledRadioGroup] state programmatically. +/// +/// Extends [ValueNotifier] to provide reactive state management for radio group +/// components. Can be used to programmatically change selection, listen to +/// state changes, and integrate with forms and other reactive systems. +/// +/// Example: +/// ```dart +/// final controller = RadioGroupController('option1'); +/// +/// // Listen to changes +/// controller.addListener(() { +/// print('Selection changed to: ${controller.value}'); +/// }); +/// +/// // Update selection +/// controller.value = 'option2'; +/// ``` +class RadioGroupController extends ValueNotifier + with ComponentController { + /// Creates a [RadioGroupController] with an optional initial value. + /// + /// The [value] parameter sets the initial selected option. Can be null + /// to start with no selection. + /// + /// Parameters: + /// - [value] (T?, optional): Initial selected value + RadioGroupController([super.value]); +} + +/// Reactive radio button group with automatic state management and exclusivity. +/// +/// A high-level radio group widget that provides automatic state management through +/// the controlled component pattern. Manages mutual exclusion between radio options +/// and supports both controller-based and callback-based state management. +/// +/// ## Features +/// +/// - **Mutual exclusion**: Automatically ensures only one radio button is selected +/// - **Flexible layout**: Works with any child layout (Column, Row, Wrap, etc.) +/// - **Keyboard navigation**: Full keyboard support with arrow keys and Space +/// - **Form integration**: Automatic validation and form field registration +/// - **State synchronization**: Keeps all radio buttons in sync automatically +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = RadioGroupController('small'); +/// +/// ControlledRadioGroup( +/// controller: controller, +/// child: Column( +/// children: [ +/// Radio(value: 'small', label: Text('Small')), +/// Radio(value: 'medium', label: Text('Medium')), +/// Radio(value: 'large', label: Text('Large')), +/// ], +/// ), +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// String? selectedSize; +/// +/// ControlledRadioGroup( +/// initialValue: selectedSize, +/// onChanged: (size) => setState(() => selectedSize = size), +/// child: Column( +/// children: [ +/// Radio(value: 'small', label: Text('Small')), +/// Radio(value: 'medium', label: Text('Medium')), +/// Radio(value: 'large', label: Text('Large')), +/// ], +/// ), +/// ) +/// ``` +class ControlledRadioGroup extends StatelessWidget + with ControlledComponent { + @override + final T? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final RadioGroupController? controller; + + /// Child widget containing the radio buttons. + /// + /// Usually a layout widget like Column, Row, or Wrap containing multiple + /// [Radio] widgets. The radio group will manage the selection state + /// of all descendant radio buttons automatically. + final Widget child; + + /// Creates a [ControlledRadioGroup]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns with automatic mutual exclusion between radio options. + /// + /// Parameters: + /// - [controller] (`RadioGroupController?`, optional): external state controller + /// - [initialValue] (T?, optional): starting selection when no controller + /// - [onChanged] (`ValueChanged?`, optional): selection change callback + /// - [enabled] (bool, default: true): whether radio group is interactive + /// - [child] (Widget, required): layout containing radio buttons + /// + /// Example: + /// ```dart + /// ControlledRadioGroup( + /// controller: controller, + /// child: Column( + /// children: [ + /// Radio(value: 'option1', label: Text('Option 1')), + /// Radio(value: 'option2', label: Text('Option 2')), + /// ], + /// ), + /// ) + /// ``` + const ControlledRadioGroup({ + super.key, + this.controller, + this.initialValue, + this.onChanged, + this.enabled = true, + required this.child, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + controller: controller, + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + builder: (context, data) { + return RadioGroup( + value: data.value, + onChanged: data.onChanged, + child: child, + ); + }, + ); + } +} + +/// A group of radio buttons for single-selection input. +/// +/// Manages the selection state and provides context for child radio items. +class RadioGroup extends StatefulWidget { + /// The child widget containing radio items. + final Widget child; + + /// The currently selected value. + final T? value; + + /// Callback invoked when the selection changes. + final ValueChanged? onChanged; + + /// Whether the radio group is enabled. + final bool? enabled; + + /// Creates a radio group. + const RadioGroup({ + super.key, + required this.child, + this.value, + this.onChanged, + this.enabled, + }); + + @override + RadioGroupState createState() => RadioGroupState(); +} + +/// Data class holding radio group state information. +/// +/// Contains the selected item and enabled state for a radio group. +class RadioGroupData { + /// The currently selected item value. + final T? selectedItem; + + /// Whether the radio group is enabled. + final bool enabled; + + /// Creates radio group data. + RadioGroupData(this.selectedItem, this.enabled); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is RadioGroupData && + other.selectedItem == selectedItem && + other.enabled == enabled; + } + + @override + int get hashCode => Object.hash(selectedItem, enabled); +} + +/// State class for [RadioGroup] with form integration. +/// +/// Manages selection state and integrates with the form validation system. +class RadioGroupState extends State> + with FormValueSupplier> { + /// Whether the radio group is currently enabled. + bool get enabled => widget.enabled ?? widget.onChanged != null; + void _setSelected(T value) { + if (!enabled) return; + if (widget.value != value) { + widget.onChanged?.call(value); + } + } + + @override + void initState() { + super.initState(); + formValue = widget.value; + } + + @override + void didUpdateWidget(covariant RadioGroup oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.value != widget.value) { + formValue = widget.value; + } + } + + @override + void didReplaceFormValue(T value) { + widget.onChanged?.call(value); + } + + @override + Widget build(BuildContext context) { + return FocusableActionDetector( + child: Data.inherit( + data: this, + child: Data.inherit( + data: RadioGroupData(widget.value, enabled), + child: FocusTraversalGroup( + child: widget.child, + ), + ), + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/select.dart b/third_party/shadcn_flutter/lib/src/components/form/select.dart new file mode 100644 index 00000000..a6c12d8b --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/select.dart @@ -0,0 +1,2279 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; +import 'package:shadcn_flutter/src/components/control/hover.dart'; + +/// Theme data for customizing [Select] widget appearance and behavior. +/// +/// This class defines the visual and behavioral properties that can be applied to +/// [Select] widgets, including popup constraints, positioning, styling, and +/// interaction behaviors. These properties can be set at the theme level +/// to provide consistent behavior across the application. +class SelectTheme extends ComponentThemeData { + /// Constraints for the popup menu size. + final BoxConstraints? popupConstraints; + + /// Alignment of the popover relative to the anchor. + final AlignmentGeometry? popoverAlignment; + + /// Anchor alignment for the popover. + final AlignmentGeometry? popoverAnchorAlignment; + + /// Border radius for select items. + final BorderRadiusGeometry? borderRadius; + + /// Padding inside select items. + final EdgeInsetsGeometry? padding; + + /// Whether to disable hover effects on items. + final bool? disableHoverEffect; + + /// Whether the selected item can be unselected. + final bool? canUnselect; + + /// Whether to automatically close the popover after selection. + final bool? autoClosePopover; + + /// Creates a select theme. + const SelectTheme({ + this.popupConstraints, + this.popoverAlignment, + this.popoverAnchorAlignment, + this.borderRadius, + this.padding, + this.disableHoverEffect, + this.canUnselect, + this.autoClosePopover, + }); + + /// Creates a copy of this theme with the given fields replaced. + SelectTheme copyWith({ + ValueGetter? popupConstraints, + ValueGetter? popoverAlignment, + ValueGetter? popoverAnchorAlignment, + ValueGetter? borderRadius, + ValueGetter? padding, + ValueGetter? disableHoverEffect, + ValueGetter? canUnselect, + ValueGetter? autoClosePopover, + }) { + return SelectTheme( + popupConstraints: + popupConstraints == null ? this.popupConstraints : popupConstraints(), + popoverAlignment: + popoverAlignment == null ? this.popoverAlignment : popoverAlignment(), + popoverAnchorAlignment: popoverAnchorAlignment == null + ? this.popoverAnchorAlignment + : popoverAnchorAlignment(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + padding: padding == null ? this.padding : padding(), + disableHoverEffect: disableHoverEffect == null + ? this.disableHoverEffect + : disableHoverEffect(), + canUnselect: canUnselect == null ? this.canUnselect : canUnselect(), + autoClosePopover: + autoClosePopover == null ? this.autoClosePopover : autoClosePopover(), + ); + } + + @override + bool operator ==(Object other) { + return other is SelectTheme && + other.popupConstraints == popupConstraints && + other.popoverAlignment == popoverAlignment && + other.popoverAnchorAlignment == popoverAnchorAlignment && + other.borderRadius == borderRadius && + other.padding == padding && + other.disableHoverEffect == disableHoverEffect && + other.canUnselect == canUnselect && + other.autoClosePopover == autoClosePopover; + } + + @override + int get hashCode => Object.hash( + popupConstraints, + popoverAlignment, + popoverAnchorAlignment, + borderRadius, + padding, + disableHoverEffect, + canUnselect, + autoClosePopover, + ); +} + +/// Controller for managing [ControlledSelect] state programmatically. +/// +/// Extends [ValueNotifier] to provide reactive state management for select +/// components. Can be used to programmatically change selection, listen to +/// state changes, and integrate with forms and other reactive systems. +/// +/// Example: +/// ```dart +/// final controller = SelectController('initial'); +/// +/// // Listen to changes +/// controller.addListener(() { +/// print('Selection changed to: ${controller.value}'); +/// }); +/// +/// // Update selection +/// controller.value = 'new_value'; +/// ``` +class SelectController extends ValueNotifier + with ComponentController { + /// Creates a [SelectController] with an optional initial value. + /// + /// The [value] parameter sets the initial selected item. Can be null + /// to start with no selection. + /// + /// Parameters: + /// - [value] (T?, optional): Initial selected value + SelectController([super.value]); +} + +/// Reactive single-selection dropdown with automatic state management. +/// +/// A high-level select widget that provides automatic state management through +/// the controlled component pattern. Supports both controller-based and callback-based +/// state management with comprehensive customization options for item presentation, +/// popup behavior, and interaction handling. +/// +/// ## Features +/// +/// - **Flexible item rendering**: Custom builders for complete visual control over items +/// - **Popup positioning**: Configurable alignment and constraints for the dropdown +/// - **Keyboard navigation**: Full keyboard support with arrow keys and Enter/Escape +/// - **Form integration**: Automatic validation and form field registration +/// - **Unselection support**: Optional ability to deselect the current selection +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = SelectController('apple'); +/// +/// ControlledSelect( +/// controller: controller, +/// items: ['apple', 'banana', 'cherry'], +/// itemBuilder: (context, item) => Text(item), +/// placeholder: Text('Choose fruit'), +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// String? selectedFruit; +/// +/// ControlledSelect( +/// initialValue: selectedFruit, +/// onChanged: (fruit) => setState(() => selectedFruit = fruit), +/// items: ['apple', 'banana', 'cherry'], +/// itemBuilder: (context, item) => Text(item), +/// ) +/// ``` +class ControlledSelect extends StatelessWidget + with ControlledComponent, SelectBase { + @override + final T? initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final SelectController? controller; + + @override + final Widget? placeholder; + @override + final bool filled; + @override + final FocusNode? focusNode; + @override + final BoxConstraints? constraints; + @override + final BoxConstraints? popupConstraints; + @override + final PopoverConstraint popupWidthConstraint; + @override + final BorderRadiusGeometry? borderRadius; + @override + final EdgeInsetsGeometry? padding; + @override + final AlignmentGeometry popoverAlignment; + @override + final AlignmentGeometry? popoverAnchorAlignment; + @override + final bool disableHoverEffect; + @override + final bool canUnselect; + @override + final bool autoClosePopover; + @override + final SelectPopupBuilder popup; + @override + final SelectValueBuilder itemBuilder; + @override + final SelectValueSelectionHandler? valueSelectionHandler; + @override + final SelectValueSelectionPredicate? valueSelectionPredicate; + @override + final Predicate? showValuePredicate; + + /// Creates a [ControlledSelect]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns depending on application architecture needs. + /// + /// Parameters: + /// - [controller] (`SelectController?`, optional): external state controller + /// - [initialValue] (T?, optional): starting selection when no controller + /// - [onChanged] (`ValueChanged?`, optional): selection change callback + /// - [enabled] (bool, default: true): whether select is interactive + /// - [placeholder] (Widget?, optional): widget shown when no item selected + /// - [filled] (bool, default: false): whether to use filled appearance + /// - [focusNode] (FocusNode?, optional): custom focus node for keyboard handling + /// - [constraints] (BoxConstraints?, optional): size constraints for select widget + /// - [popupConstraints] (BoxConstraints?, optional): size constraints for popup + /// - [popupWidthConstraint] (PopoverConstraint, default: anchorFixedSize): popup width behavior + /// - [borderRadius] (BorderRadiusGeometry?, optional): override select border radius + /// - [padding] (EdgeInsetsGeometry?, optional): override internal padding + /// - [popoverAlignment] (AlignmentGeometry, default: topCenter): popup alignment + /// - [popoverAnchorAlignment] (AlignmentGeometry?, optional): anchor alignment + /// - [disableHoverEffect] (bool, default: false): disable item hover effects + /// - [canUnselect] (bool, default: false): allow deselecting current item + /// - [autoClosePopover] (bool, default: true): close popup after selection + /// - [popup] (SelectPopupBuilder, required): builder for popup content + /// - [itemBuilder] (`SelectItemBuilder`, required): builder for individual items + /// - [valueSelectionHandler] (`SelectValueSelectionHandler?`, optional): custom selection logic + /// - [valueSelectionPredicate] (`SelectValueSelectionPredicate?`, optional): selection validation + /// - [showValuePredicate] (`Predicate?`, optional): visibility filter for values + /// + /// Example: + /// ```dart + /// ControlledSelect( + /// controller: controller, + /// popup: (context, items) => ListView(children: items), + /// itemBuilder: (context, item, selected) => Text(item), + /// placeholder: Text('Select option'), + /// ) + /// ``` + const ControlledSelect({ + super.key, + this.controller, + this.onChanged, + this.enabled = true, + this.initialValue, + this.placeholder, + this.filled = false, + this.focusNode, + this.constraints, + this.popupConstraints, + this.popupWidthConstraint = PopoverConstraint.anchorFixedSize, + this.borderRadius, + this.padding, + this.popoverAlignment = Alignment.topCenter, + this.popoverAnchorAlignment, + this.disableHoverEffect = false, + this.canUnselect = false, + this.autoClosePopover = true, + required this.popup, + required this.itemBuilder, + this.valueSelectionHandler, + this.valueSelectionPredicate, + this.showValuePredicate, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + builder: (context, data) { + return Select( + onChanged: data.onChanged, + placeholder: placeholder, + filled: filled, + focusNode: focusNode, + constraints: constraints, + popupConstraints: popupConstraints, + popupWidthConstraint: popupWidthConstraint, + value: data.value, + borderRadius: borderRadius, + padding: padding, + popoverAlignment: popoverAlignment, + popoverAnchorAlignment: popoverAnchorAlignment, + disableHoverEffect: disableHoverEffect, + canUnselect: canUnselect, + autoClosePopover: autoClosePopover, + enabled: data.enabled, + itemBuilder: itemBuilder, + valueSelectionHandler: valueSelectionHandler, + valueSelectionPredicate: valueSelectionPredicate, + showValuePredicate: showValuePredicate, + popup: popup, + ); + }, + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + controller: controller, + ); + } +} + +/// Controller for managing [ControlledMultiSelect] state programmatically. +/// +/// Extends [SelectController] to provide reactive state management for multi-selection +/// components. Manages a collection of selected items with methods for adding, +/// removing, and bulk operations. +/// +/// Example: +/// ```dart +/// final controller = MultiSelectController(['apple', 'banana']); +/// +/// // Listen to changes +/// controller.addListener(() { +/// print('Selection changed to: ${controller.value}'); +/// }); +/// +/// // Update selection +/// controller.value = ['apple', 'cherry']; +/// ``` +class MultiSelectController extends SelectController> { + /// Creates a [MultiSelectController] with an optional initial selection. + /// + /// The [value] parameter sets the initial selected items collection. + /// Can be null or empty to start with no selections. + /// + /// Parameters: + /// - [value] (`Iterable?`, optional): Initial selected items + MultiSelectController([super.value]); +} + +/// Reactive multi-selection dropdown with automatic state management. +/// +/// A high-level multi-select widget that provides automatic state management through +/// the controlled component pattern. Supports both controller-based and callback-based +/// state management with comprehensive customization options for item presentation, +/// selection behavior, and popup management. +/// +/// ## Features +/// +/// - **Multiple selection**: Select and deselect multiple items simultaneously +/// - **Flexible item rendering**: Custom builders for complete visual control over items +/// - **Selection indicators**: Built-in checkboxes or custom selection indicators +/// - **Popup positioning**: Configurable alignment and constraints for the dropdown +/// - **Keyboard navigation**: Full keyboard support with Space for selection toggle +/// - **Form integration**: Automatic validation and form field registration +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = MultiSelectController(['apple']); +/// +/// ControlledMultiSelect( +/// controller: controller, +/// items: ['apple', 'banana', 'cherry', 'date'], +/// itemBuilder: (context, item, selected) => ListTile( +/// leading: Checkbox(value: selected), +/// title: Text(item), +/// ), +/// placeholder: Text('Choose fruits'), +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// List selectedFruits = []; +/// +/// ControlledMultiSelect( +/// initialValue: selectedFruits, +/// onChanged: (fruits) => setState(() => selectedFruits = fruits?.toList() ?? []), +/// items: ['apple', 'banana', 'cherry'], +/// itemBuilder: (context, item, selected) => Text(item), +/// ) +/// ``` +class ControlledMultiSelect extends StatelessWidget + with ControlledComponent?>, SelectBase> { + @override + final Iterable? initialValue; + @override + final ValueChanged?>? onChanged; + @override + final bool enabled; + @override + final MultiSelectController? controller; + + @override + final Widget? placeholder; + @override + final bool filled; + @override + final FocusNode? focusNode; + @override + final BoxConstraints? constraints; + @override + final BoxConstraints? popupConstraints; + @override + final PopoverConstraint popupWidthConstraint; + @override + final BorderRadiusGeometry? borderRadius; + @override + final EdgeInsetsGeometry? padding; + @override + final AlignmentGeometry popoverAlignment; + @override + final AlignmentGeometry? popoverAnchorAlignment; + @override + final bool disableHoverEffect; + @override + final bool canUnselect; + @override + final bool autoClosePopover; + @override + final SelectPopupBuilder popup; + @override + SelectValueBuilder> get itemBuilder => (context, value) { + return MultiSelect._buildItem(multiItemBuilder, context, value); + }; + @override + final SelectValueSelectionHandler>? valueSelectionHandler; + @override + final SelectValueSelectionPredicate>? valueSelectionPredicate; + @override + final Predicate>? showValuePredicate; + + /// Builder for rendering individual items in multi-select mode. + final SelectValueBuilder multiItemBuilder; + + /// Creates a [ControlledMultiSelect]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns with multiple item selection capabilities. + /// + /// Parameters: + /// - [controller] (`MultiSelectController?`, optional): external state controller + /// - [initialValue] (`Iterable?`, optional): starting selection when no controller + /// - [onChanged] (`ValueChanged?>?`, optional): selection change callback + /// - [enabled] (bool, default: true): whether select is interactive + /// - [placeholder] (Widget?, optional): widget shown when no items selected + /// - [filled] (bool, default: false): whether to use filled appearance + /// - [focusNode] (FocusNode?, optional): custom focus node for keyboard handling + /// - [constraints] (BoxConstraints?, optional): size constraints for select widget + /// - [popupConstraints] (BoxConstraints?, optional): size constraints for popup + /// - [popupWidthConstraint] (PopoverConstraint, default: anchorFixedSize): popup width behavior + /// - [borderRadius] (BorderRadiusGeometry?, optional): override select border radius + /// - [padding] (EdgeInsetsGeometry?, optional): override internal padding + /// - [popoverAlignment] (AlignmentGeometry, default: topCenter): popup alignment + /// - [popoverAnchorAlignment] (AlignmentGeometry?, optional): anchor alignment + /// - [disableHoverEffect] (bool, default: false): disable item hover effects + /// - [canUnselect] (bool, default: false): allow deselecting all items + /// - [autoClosePopover] (bool, default: false): close popup after each selection + /// - [popup] (SelectPopupBuilder, required): builder for popup content + /// - [itemBuilder] (`SelectItemBuilder`, required): builder for individual items + /// - [multiItemBuilder] (`SelectValueBuilder`, required): builder for selected items display + /// - [valueSelectionHandler] (`SelectValueSelectionHandler>?`, optional): custom selection logic + /// - [valueSelectionPredicate] (`SelectValueSelectionPredicate>?`, optional): selection validation + /// - [showValuePredicate] (`Predicate>?`, optional): visibility filter for values + /// + /// Example: + /// ```dart + /// ControlledMultiSelect( + /// controller: controller, + /// popup: (context, items) => ListView(children: items), + /// itemBuilder: (context, item, selected) => CheckboxListTile( + /// value: selected, + /// title: Text(item), + /// ), + /// multiItemBuilder: (context, items) => Wrap( + /// children: items.map((item) => Chip(label: Text(item))).toList(), + /// ), + /// ) + /// ``` + const ControlledMultiSelect({ + super.key, + this.controller, + this.onChanged, + this.enabled = true, + this.initialValue, + this.placeholder, + this.filled = false, + this.focusNode, + this.constraints, + this.popupConstraints, + this.popupWidthConstraint = PopoverConstraint.anchorFixedSize, + this.borderRadius, + this.padding, + this.popoverAlignment = Alignment.topCenter, + this.popoverAnchorAlignment, + this.disableHoverEffect = false, + this.canUnselect = true, + this.autoClosePopover = false, + this.showValuePredicate, + required this.popup, + required SelectValueBuilder itemBuilder, + this.valueSelectionHandler, + this.valueSelectionPredicate, + }) : multiItemBuilder = itemBuilder; + + @override + Widget build(BuildContext context) { + return ControlledSelect>( + controller: controller, + onChanged: onChanged, + enabled: enabled, + initialValue: initialValue, + placeholder: placeholder, + filled: filled, + focusNode: focusNode, + constraints: constraints, + popupConstraints: popupConstraints, + popupWidthConstraint: popupWidthConstraint, + borderRadius: borderRadius, + padding: padding, + popoverAlignment: popoverAlignment, + popoverAnchorAlignment: popoverAnchorAlignment, + disableHoverEffect: disableHoverEffect, + canUnselect: canUnselect, + autoClosePopover: autoClosePopover, + popup: popup, + itemBuilder: itemBuilder, + showValuePredicate: (test) { + return test.isNotEmpty && (showValuePredicate?.call(test) ?? true); + }, + valueSelectionHandler: + valueSelectionHandler ?? _defaultMultiSelectValueSelectionHandler, + valueSelectionPredicate: + valueSelectionPredicate ?? _defaultMultiSelectValueSelectionPredicate, + ); + } +} + +/// A button widget representing a selectable item in a dropdown menu. +/// +/// Used within select dropdowns to create clickable option items. +class SelectItemButton extends StatelessWidget { + /// The value this item represents. + final T value; + + /// The child widget to display as the item content. + final Widget child; + + /// The button style for this item. + final AbstractButtonStyle style; + + /// Whether this item is enabled. + final bool? enabled; + + /// Creates a select item button. + const SelectItemButton({ + super.key, + required this.value, + required this.child, + this.enabled, + this.style = const ButtonStyle.ghost(), + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final data = Data.maybeOf(context); + bool isSelected = data?.isSelected(value) ?? false; + bool hasSelection = data?.hasSelection ?? false; + return Actions( + actions: { + ActivateIntent: CallbackAction( + onInvoke: (intent) { + data?.selectItem(value, !isSelected); + return null; + }, + ), + }, + child: SubFocus(builder: (context, subFocusState) { + return WidgetStatesProvider( + states: { + if (subFocusState.isFocused) WidgetState.hovered, + }, + child: Button( + enabled: enabled, + disableTransition: true, + alignment: AlignmentDirectional.centerStart, + onPressed: () { + data?.selectItem(value, !isSelected); + }, + style: style.copyWith( + padding: (context, states, value) => EdgeInsets.symmetric( + vertical: 8 * scaling, + horizontal: 8 * scaling, + ), + mouseCursor: (context, states, value) { + return SystemMouseCursors.basic; + }, + ), + trailing: isSelected + ? const Icon(LucideIcons.check).iconSmall() + : hasSelection + ? SizedBox(width: 16 * scaling) + : null, + child: child.normal(), + ), + ); + }), + ); + } +} + +/// A container for grouping related select items with optional headers and footers. +/// +/// Organizes select menu items into logical sections with optional header +/// and footer widgets. +class SelectGroup extends StatelessWidget { + /// Optional header widgets displayed above the group. + final List? headers; + + /// The list of select items in this group. + final List children; + + /// Optional footer widgets displayed below the group. + final List? footers; + + /// Creates a select group. + const SelectGroup({ + super.key, + this.headers, + this.footers, + required this.children, + }); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (headers != null) ...headers!, + ...children, + if (footers != null) ...footers!, + ], + ); + } +} + +/// Represents a selectable item in a dropdown menu. +/// +/// Used within select popups to define individual selectable options. +/// Automatically applies selected state styling when the item matches +/// the current selection. +/// +/// Example: +/// ```dart +/// SelectItem( +/// value: 'option1', +/// builder: (context) => Text('Option 1'), +/// ) +/// ``` +class SelectItem extends StatelessWidget { + /// Builder for the item's content. + final WidgetBuilder builder; + + /// The value associated with this item. + final Object? value; + + /// Creates a [SelectItem]. + /// + /// Parameters: + /// - [value] (`Object?`, required): Item value. + /// - [builder] (`WidgetBuilder`, required): Content builder. + const SelectItem({super.key, required this.value, required this.builder}); + + @override + Widget build(BuildContext context) { + final data = Data.maybeOf(context); + final selected = data?.isSelected(value) ?? false; + return WidgetStatesProvider( + states: {if (selected) WidgetState.selected}, + child: Builder(builder: builder), + ); + } +} + +/// A label widget for grouping items in a select popup. +/// +/// Displays a non-selectable label to organize dropdown items into categories. +/// +/// Example: +/// ```dart +/// SelectLabel( +/// child: Text('Category Name'), +/// ) +/// ``` +class SelectLabel extends StatelessWidget { + /// The label content. + final Widget child; + + /// Creates a [SelectLabel]. + /// + /// Parameters: + /// - [child] (`Widget`, required): Label content. + const SelectLabel({super.key, required this.child}); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final densityGap = theme.density.baseGap * scaling; + return Padding( + padding: EdgeInsets.all(densityGap), + child: child.semiBold().small(), + ); + } +} + +/// Builder function for select popup content. +/// +/// Returns the widget tree for the dropdown/popup menu. +typedef SelectPopupBuilder = Widget Function(BuildContext context); + +/// Builder function for rendering selected values. +/// +/// Parameters: +/// - [context] (`BuildContext`): Build context. +/// - [value] (`T`): The selected value. +/// +/// Returns: Widget representation of the value. +typedef SelectValueBuilder = Widget Function(BuildContext context, T value); + +/// Handler for custom selection logic. +/// +/// Parameters: +/// - [oldValue] (`T?`): Previous selection. +/// - [value] (`Object?`): Newly selected item. +/// - [selected] (`bool`): Whether item is being selected (true) or deselected (false). +/// +/// Returns: `T?` — the new selection state. +typedef SelectValueSelectionHandler = T? Function( + T? oldValue, Object? value, bool selected); + +/// Predicate for testing value selection state. +/// +/// Parameters: +/// - [value] (`T?`): Current selection. +/// - [test] (`Object?`): Value to test against. +/// +/// Returns: `bool` — true if test matches selection. +typedef SelectValueSelectionPredicate = bool Function( + T? value, Object? test); + +T? _defaultSingleSelectValueSelectionHandler( + T? oldValue, + Object? value, + bool selected, +) { + if (value is! T?) { + return null; + } + return selected ? value : null; +} + +bool _defaultSingleSelectValueSelectionPredicate(T? value, Object? test) { + return value == test; +} + +Iterable? _defaultMultiSelectValueSelectionHandler( + Iterable? oldValue, + Object? newValue, + bool selected, +) { + if (newValue == null) { + return null; + } + Iterable wrappedNewValue = [newValue as T]; + if (oldValue == null) { + return selected ? wrappedNewValue : null; + } + if (selected) { + return oldValue.followedBy(wrappedNewValue); + } else { + var newIterable = oldValue.where((element) => element != newValue); + return newIterable.isEmpty ? null : newIterable; + } +} + +bool _defaultMultiSelectValueSelectionPredicate( + Iterable? value, + Object? test, +) { + if (value == null) { + return test == null; + } + if (test == null) { + return false; + } + return value.contains(test); +} + +/// Common interface for select components. +/// +/// Defines the contract for both single and multi-select widgets, providing +/// properties for popup behavior, styling, and value handling. +mixin SelectBase { + /// Callback when selection changes. + ValueChanged? get onChanged; + + /// Placeholder widget shown when nothing is selected. + Widget? get placeholder; + + /// Whether to use filled appearance style. + bool get filled; + + /// Focus node for keyboard navigation. + FocusNode? get focusNode; + + /// Size constraints for the select trigger. + BoxConstraints? get constraints; + + /// Size constraints for the popup menu. + BoxConstraints? get popupConstraints; + + /// How popup width should relate to trigger width. + PopoverConstraint get popupWidthConstraint; + + /// Border radius of the select trigger. + BorderRadiusGeometry? get borderRadius; + + /// Internal padding of the select trigger. + EdgeInsetsGeometry? get padding; + + /// Alignment of popup relative to trigger. + AlignmentGeometry get popoverAlignment; + + /// Alignment of anchor point for popup positioning. + AlignmentGeometry? get popoverAnchorAlignment; + + /// Whether to disable hover effects. + bool get disableHoverEffect; + + /// Whether clicking selected item deselects it. + bool get canUnselect; + + /// Whether popup auto-closes after selection. + bool? get autoClosePopover; + + /// Builder for popup content. + SelectPopupBuilder get popup; + + /// Builder for rendering selected values. + SelectValueBuilder get itemBuilder; + + /// Custom selection handler logic. + SelectValueSelectionHandler? get valueSelectionHandler; + + /// Predicate for testing selection state. + SelectValueSelectionPredicate? get valueSelectionPredicate; + + /// Predicate for showing value in trigger. + Predicate? get showValuePredicate; +} + +/// A customizable dropdown selection widget for single-value selection. +/// +/// [Select] provides a comprehensive dropdown selection experience with support for +/// custom item rendering, keyboard navigation, search functionality, and extensive +/// customization options. It displays a trigger button that opens a popup containing +/// selectable options when activated. +/// +/// Key features: +/// - Single-value selection with optional null/unselect capability +/// - Customizable item rendering through builder functions +/// - Keyboard navigation and accessibility support +/// - Configurable popup positioning and constraints +/// - Search and filtering capabilities +/// - Focus management and interaction handling +/// - Theming and visual customization +/// - Form integration and validation support +/// +/// The widget supports various configuration modes: +/// - Filled or outlined appearance styles +/// - Custom popup positioning and alignment +/// - Conditional item visibility and selection +/// - Hover effects and interaction feedback +/// - Auto-closing popup behavior +/// +/// Selection behavior can be customized through: +/// - [valueSelectionHandler]: Custom logic for handling selection +/// - [valueSelectionPredicate]: Conditions for allowing selection +/// - [showValuePredicate]: Conditions for displaying items +/// - [canUnselect]: Whether to allow deselecting the current value +/// +/// Example: +/// ```dart +/// Select( +/// value: selectedItem, +/// placeholder: Text('Choose an option'), +/// onChanged: (value) => setState(() => selectedItem = value), +/// popup: SelectPopup.menu( +/// children: [ +/// SelectItem(value: 'option1', child: Text('Option 1')), +/// SelectItem(value: 'option2', child: Text('Option 2')), +/// SelectItem(value: 'option3', child: Text('Option 3')), +/// ], +/// ), +/// ); +/// ``` +class Select extends StatefulWidget with SelectBase { + /// Default maximum height for select popups in logical pixels. + static const kDefaultSelectMaxHeight = 240.0; + @override + final ValueChanged? onChanged; // if null, then it's a disabled combobox + @override + final Widget? placeholder; // placeholder when value is null + @override + final bool filled; + @override + final FocusNode? focusNode; + @override + final BoxConstraints? constraints; + @override + final BoxConstraints? popupConstraints; + @override + final PopoverConstraint popupWidthConstraint; + + /// The currently selected value. + final T? value; + + @override + final BorderRadiusGeometry? borderRadius; + @override + final EdgeInsetsGeometry? padding; + @override + final AlignmentGeometry popoverAlignment; + @override + final AlignmentGeometry? popoverAnchorAlignment; + @override + final bool disableHoverEffect; + @override + final bool canUnselect; + @override + final bool? autoClosePopover; + + /// Whether the select is enabled for user interaction. + final bool? enabled; + @override + final SelectPopupBuilder popup; + @override + final SelectValueBuilder itemBuilder; + @override + final SelectValueSelectionHandler? valueSelectionHandler; + @override + final SelectValueSelectionPredicate? valueSelectionPredicate; + @override + final Predicate? showValuePredicate; + + /// Creates a single-selection dropdown widget. + /// + /// The [popup] and [itemBuilder] parameters are required to define the + /// dropdown content and how selected values are displayed. + /// + /// Parameters: + /// - [key] (Key?): Widget key for controlling widget identity + /// - [onChanged] (`ValueChanged?`): Callback when selection changes; if null, select is disabled + /// - [placeholder] (Widget?): Widget shown when no value is selected + /// - [filled] (bool): Whether to use filled background style, defaults to false + /// - [focusNode] (FocusNode?): Focus node for keyboard interaction + /// - [constraints] (BoxConstraints?): Size constraints for the select button + /// - [popupConstraints] (BoxConstraints?): Size constraints for the popup menu + /// - [popupWidthConstraint] (PopoverConstraint): Width constraint mode for popup, defaults to `PopoverConstraint.anchorFixedSize` + /// - [value] (T?): Currently selected value + /// - [disableHoverEffect] (bool): Whether to disable hover visual feedback, defaults to false + /// - [borderRadius] (BorderRadiusGeometry?): Custom border radius + /// - [padding] (EdgeInsetsGeometry?): Custom padding + /// - [popoverAlignment] (AlignmentGeometry): Popup alignment, defaults to `Alignment.topCenter` + /// - [popoverAnchorAlignment] (AlignmentGeometry?): Anchor alignment for popup positioning + /// - [canUnselect] (bool): Whether user can deselect current value, defaults to false + /// - [autoClosePopover] (bool?): Whether popup closes after selection, defaults to true + /// - [enabled] (bool?): Whether select is enabled for interaction + /// - [valueSelectionHandler] (`SelectValueSelectionHandler?`): Custom selection logic + /// - [valueSelectionPredicate] (`SelectValueSelectionPredicate?`): Predicate for allowing selection + /// - [showValuePredicate] (`Predicate?`): Predicate for showing items + /// - [popup] (SelectPopupBuilder): Required builder for popup content + /// - [itemBuilder] (`SelectValueBuilder`): Required builder for selected value display + const Select({ + super.key, + this.onChanged, + this.placeholder, + this.filled = false, + this.focusNode, + this.constraints, + this.popupConstraints, + this.popupWidthConstraint = PopoverConstraint.anchorFixedSize, + this.value, + this.disableHoverEffect = false, + this.borderRadius, + this.padding, + this.popoverAlignment = Alignment.topCenter, + this.popoverAnchorAlignment, + this.canUnselect = false, + this.autoClosePopover = true, + this.enabled, + this.valueSelectionHandler, + this.valueSelectionPredicate, + this.showValuePredicate, + required this.popup, + required this.itemBuilder, + }); + + @override + SelectState createState() => SelectState(); +} + +/// State class for the [Select] widget managing selection and popup interactions. +/// +/// This state class handles the select dropdown's internal state including: +/// - Focus management for keyboard navigation +/// - Popup controller for opening/closing the dropdown menu +/// - Value change notifications +/// - Theme integration +/// +/// The state implements [FormValueSupplier] to integrate with form validation +/// and value management systems. +/// +/// See also: +/// - [Select], the widget that uses this state +/// - [PopoverController], used to control the dropdown popup +/// - [FormValueSupplier], the mixin providing form integration +class SelectState extends State> + with FormValueSupplier> { + late FocusNode _focusNode; + final PopoverController _popoverController = PopoverController(); + late ValueNotifier _valueNotifier; + + SelectTheme? _theme; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + _theme = ComponentTheme.maybeOf(context); + } + + BoxConstraints? get _popupConstraints => styleValue( + widgetValue: widget.popupConstraints, + themeValue: _theme?.popupConstraints, + defaultValue: null, + ); + + AlignmentGeometry get _popoverAlignment => styleValue( + widgetValue: widget.popoverAlignment, + themeValue: _theme?.popoverAlignment, + defaultValue: Alignment.topCenter, + ); + + AlignmentGeometry? get _popoverAnchorAlignment => styleValue( + widgetValue: widget.popoverAnchorAlignment, + themeValue: _theme?.popoverAnchorAlignment, + defaultValue: null, + ); + + BorderRadiusGeometry? get _borderRadius => styleValue( + widgetValue: widget.borderRadius, + themeValue: _theme?.borderRadius, + defaultValue: null, + ); + + EdgeInsetsGeometry? get _padding => styleValue( + widgetValue: widget.padding, + themeValue: _theme?.padding, + defaultValue: null, + ); + + bool get _disableHoverEffect => styleValue( + widgetValue: widget.disableHoverEffect, + themeValue: _theme?.disableHoverEffect, + defaultValue: false, + ); + + bool get _canUnselect => styleValue( + widgetValue: widget.canUnselect, + themeValue: _theme?.canUnselect, + defaultValue: false, + ); + + bool get _autoClosePopover => styleValue( + widgetValue: widget.autoClosePopover, + themeValue: _theme?.autoClosePopover, + defaultValue: true, + ); + + @override + void initState() { + super.initState(); + _focusNode = widget.focusNode ?? FocusNode(); + _valueNotifier = ValueNotifier(widget.value); + formValue = widget.value; + } + + @override + void didUpdateWidget(Select oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.focusNode != oldWidget.focusNode) { + _focusNode = widget.focusNode ?? FocusNode(); + } + if (widget.value != oldWidget.value) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + _valueNotifier.value = widget.value; + }); + formValue = widget.value; + } else if (widget.valueSelectionPredicate != + oldWidget.valueSelectionPredicate) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + _valueNotifier.value = widget.value; + }); + } + if (widget.enabled != oldWidget.enabled || + widget.onChanged != oldWidget.onChanged) { + bool enabled = widget.enabled ?? widget.onChanged != null; + if (!enabled) { + _focusNode.unfocus(); + _popoverController.close(); + } + } + } + + Widget get _placeholder { + if (widget.placeholder != null) { + return widget.placeholder!.muted; + } + return const SizedBox(); + } + + @override + void didReplaceFormValue(T value) { + widget.onChanged?.call(value); + } + + @override + void dispose() { + _popoverController.dispose(); + super.dispose(); + } + + BoxDecoration _overrideBorderRadius( + BuildContext context, + Set states, + Decoration value, + ) { + return (value as BoxDecoration).copyWith(borderRadius: _borderRadius); + } + + EdgeInsetsGeometry _overridePadding( + BuildContext context, + Set states, + EdgeInsetsGeometry value, + ) { + return _padding!; + } + + bool _onChanged(Object? value, bool selected) { + if (!selected && !_canUnselect) { + return false; + } + var selectionHandler = widget.valueSelectionHandler ?? + _defaultSingleSelectValueSelectionHandler; + var newValue = selectionHandler(widget.value, value, selected); + widget.onChanged?.call(newValue); + return true; + } + + bool _isSelected(Object? value) { + final selectionPredicate = widget.valueSelectionPredicate ?? + _defaultSingleSelectValueSelectionPredicate; + return selectionPredicate(widget.value, value); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final densityGap = theme.density.baseGap * scaling; + var enabled = widget.enabled ?? widget.onChanged != null; + return IntrinsicWidth( + child: ConstrainedBox( + constraints: widget.constraints ?? const BoxConstraints(), + child: TapRegion( + onTapOutside: (event) { + _focusNode.unfocus(); + }, + child: Button( + enabled: enabled, + disableHoverEffect: _disableHoverEffect, + focusNode: _focusNode, + style: (widget.filled + ? ButtonVariance.secondary + : ButtonVariance.outline) + .copyWith( + decoration: _borderRadius != null ? _overrideBorderRadius : null, + padding: _padding != null ? _overridePadding : null, + ), + onPressed: widget.onChanged == null + ? null + : () { + // to prevent entire ListView from rebuilding + // while the Data is being updated + GlobalKey popupKey = GlobalKey(); + _popoverController + .show( + context: context, + offset: Offset(0, densityGap), + alignment: _popoverAlignment, + anchorAlignment: _popoverAnchorAlignment, + widthConstraint: widget.popupWidthConstraint, + overlayBarrier: OverlayBarrier( + padding: EdgeInsets.symmetric(vertical: densityGap), + borderRadius: BorderRadius.circular(theme.radiusLg), + ), + builder: (context) { + return ConstrainedBox( + constraints: _popupConstraints ?? + BoxConstraints( + maxHeight: + Select.kDefaultSelectMaxHeight * scaling, + ), + child: ListenableBuilder( + listenable: _valueNotifier, + builder: (context, _) { + return Data.inherit( + key: ValueKey(widget.value), + data: SelectData( + enabled: enabled, + autoClose: _autoClosePopover, + isSelected: _isSelected, + onChanged: _onChanged, + hasSelection: widget.value != null, + ), + child: Builder( + key: popupKey, + builder: (context) { + return widget.popup(context); + }, + ), + ); + }, + ), + ); + }, + ) + .then((value) { + _focusNode.requestFocus(); + }); + }, + child: WidgetStatesProvider.boundary( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Data.inherit( + data: SelectData( + enabled: enabled, + autoClose: _autoClosePopover, + isSelected: _isSelected, + onChanged: _onChanged, + hasSelection: widget.value != null, + ), + child: Expanded( + child: widget.value != null && + (widget.showValuePredicate?.call( + widget.value as T, + ) ?? + true) + ? Builder( + builder: (context) { + return widget.itemBuilder( + context, + widget.value as T, + ); + }, + ) + : _placeholder, + ), + ), + SizedBox(width: 8 * scaling), + IconTheme.merge( + data: IconThemeData( + color: theme.colorScheme.foreground, + opacity: 0.5, + ), + child: const Icon(LucideIcons.chevronsUpDown).iconSmall(), + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +/// Chip widget designed for multi-select contexts with automatic removal functionality. +/// +/// A specialized chip widget that integrates with multi-select components to display +/// selected items with built-in removal capabilities. Automatically detects its +/// multi-select context and provides appropriate removal behavior. +/// +/// ## Features +/// +/// - **Context-aware removal**: Automatically integrates with parent multi-select state +/// - **Visual feedback**: Clear visual indication of selected state +/// - **Interactive deletion**: Built-in X button for removing selections +/// - **Consistent styling**: Matches multi-select component design patterns +/// - **Accessibility**: Full screen reader support for selection management +/// +/// This widget is typically used within multi-select components to represent +/// individual selected items with the ability to remove them from the selection. +/// +/// Example: +/// ```dart +/// MultiSelectChip( +/// value: 'apple', +/// child: Text('Apple'), +/// style: ButtonStyle.secondary(), +/// ); +/// ``` +class MultiSelectChip extends StatelessWidget { + /// The value this chip represents in the selection. + final Object? value; + + /// The content displayed inside the chip. + final Widget child; + + /// The chip styling. + final AbstractButtonStyle style; + + /// Creates a [MultiSelectChip]. + /// + /// Designed to be used within multi-select components where it automatically + /// integrates with the parent selection state for removal functionality. + /// + /// Parameters: + /// - [value] (Object?, required): the value this chip represents in the selection + /// - [child] (Widget, required): content displayed inside the chip + /// - [style] (AbstractButtonStyle, default: primary): chip styling + /// + /// Example: + /// ```dart + /// MultiSelectChip( + /// value: user.id, + /// child: Row( + /// children: [ + /// Avatar(user: user), + /// Text(user.name), + /// ], + /// ), + /// style: ButtonStyle.secondary(), + /// ) + /// ``` + const MultiSelectChip({ + super.key, + this.style = const ButtonStyle.primary(), + required this.value, + required this.child, + }); + + @override + Widget build(BuildContext context) { + final data = Data.maybeOf(context); + return Chip( + style: style, + trailing: data?.enabled == false + ? null + : ChipButton( + onPressed: () { + data?.onChanged(value, false); + }, + child: const Icon(LucideIcons.x).iconSmall(), + ), + child: child, + ); + } +} + +/// A customizable dropdown selection widget for multi-value selection. +/// +/// Extends the base select functionality to support selecting multiple items +/// simultaneously. Displays selected items as removable chips within the trigger. +/// +/// Example: +/// ```dart +/// MultiSelect( +/// value: selectedItems, +/// onChanged: (items) => setState(() => selectedItems = items), +/// popup: SelectPopup.menu(children: [...]), +/// multiItemBuilder: (context, item) => Text(item), +/// ) +/// ``` +class MultiSelect extends StatelessWidget with SelectBase> { + @override + final ValueChanged?>? + onChanged; // if null, then it's a disabled combobox + @override + final Widget? placeholder; // placeholder when value is null + @override + final bool filled; + @override + final FocusNode? focusNode; + @override + final BoxConstraints? constraints; + @override + final BoxConstraints? popupConstraints; + @override + final PopoverConstraint popupWidthConstraint; + + /// The currently selected values. + final Iterable? value; + + @override + final BorderRadiusGeometry? borderRadius; + @override + final EdgeInsetsGeometry? padding; + @override + final AlignmentGeometry popoverAlignment; + @override + final AlignmentGeometry? popoverAnchorAlignment; + @override + final bool disableHoverEffect; + @override + final bool canUnselect; + @override + final bool? autoClosePopover; + + /// Whether the multi-select is enabled for user interaction. + final bool? enabled; + + @override + final SelectPopupBuilder popup; + @override + SelectValueBuilder> get itemBuilder => (context, value) { + return _buildItem(multiItemBuilder, context, value); + }; + @override + final SelectValueSelectionHandler>? valueSelectionHandler; + @override + final SelectValueSelectionPredicate>? valueSelectionPredicate; + + /// Builder for rendering individual items in the chip display. + final SelectValueBuilder multiItemBuilder; + + @override + final Predicate>? showValuePredicate; + + /// Creates a multi-selection dropdown widget. + /// + /// Allows selecting multiple items from a dropdown list, displaying them as chips. + /// The [value], [popup], and [itemBuilder] parameters are required. + /// + /// Parameters: + /// - [key] (Key?): Widget key for controlling widget identity + /// - [onChanged] (`ValueChanged?>?`): Callback when selection changes; if null, widget is disabled + /// - [placeholder] (Widget?): Widget shown when no values are selected + /// - [filled] (bool): Whether to use filled background style, defaults to false + /// - [focusNode] (FocusNode?): Focus node for keyboard interaction + /// - [constraints] (BoxConstraints?): Size constraints for the select button + /// - [popupConstraints] (BoxConstraints?): Size constraints for the popup menu + /// - [popupWidthConstraint] (PopoverConstraint): Width constraint mode for popup, defaults to `PopoverConstraint.anchorFixedSize` + /// - [value] (`Iterable`): Required currently selected values + /// - [disableHoverEffect] (bool): Whether to disable hover visual feedback, defaults to false + /// - [borderRadius] (BorderRadiusGeometry?): Custom border radius + /// - [padding] (EdgeInsetsGeometry?): Custom padding + /// - [popoverAlignment] (AlignmentGeometry): Popup alignment, defaults to `Alignment.topCenter` + /// - [popoverAnchorAlignment] (AlignmentGeometry?): Anchor alignment for popup positioning + /// - [canUnselect] (bool): Whether user can deselect items, defaults to true + /// - [autoClosePopover] (bool?): Whether popup closes after selection, defaults to false + /// - [enabled] (bool?): Whether multi-select is enabled for interaction + /// - [valueSelectionHandler] (`SelectValueSelectionHandler>?`): Custom selection logic + /// - [valueSelectionPredicate] (`SelectValueSelectionPredicate>?`): Predicate for allowing selection + /// - [showValuePredicate] (`Predicate>?`): Predicate for showing items + /// - [popup] (SelectPopupBuilder): Required builder for popup content + /// - [itemBuilder] (`SelectValueBuilder`): Required builder for individual chip items + const MultiSelect({ + super.key, + this.onChanged, + this.placeholder, + this.filled = false, + this.focusNode, + this.constraints, + this.popupConstraints, + this.popupWidthConstraint = PopoverConstraint.anchorFixedSize, + required this.value, + this.disableHoverEffect = false, + this.borderRadius, + this.padding, + this.popoverAlignment = Alignment.topCenter, + this.popoverAnchorAlignment, + this.canUnselect = true, + this.autoClosePopover = false, + this.enabled, + this.valueSelectionHandler, + this.valueSelectionPredicate, + this.showValuePredicate, + required this.popup, + required SelectValueBuilder itemBuilder, + }) : multiItemBuilder = itemBuilder; + + static Widget _buildItem( + SelectValueBuilder multiItemBuilder, + BuildContext context, + Iterable value, + ) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final densityGap = theme.density.baseGap * scaling; + return Wrap( + spacing: densityGap * 0.5, + runSpacing: densityGap * 0.5, + crossAxisAlignment: WrapCrossAlignment.center, + children: [for (var value in value) multiItemBuilder(context, value)], + ); + } + + @override + Widget build(BuildContext context) { + return Select>( + popup: popup, + itemBuilder: itemBuilder, + onChanged: onChanged, + placeholder: placeholder, + filled: filled, + focusNode: focusNode, + constraints: constraints, + popupConstraints: popupConstraints, + popupWidthConstraint: popupWidthConstraint, + value: value, + borderRadius: borderRadius, + padding: padding, + popoverAlignment: popoverAlignment, + popoverAnchorAlignment: popoverAnchorAlignment, + disableHoverEffect: disableHoverEffect, + canUnselect: canUnselect, + autoClosePopover: autoClosePopover ?? true, + enabled: enabled, + showValuePredicate: (test) { + return test.isNotEmpty && (showValuePredicate?.call(test) ?? true); + }, + valueSelectionHandler: + valueSelectionHandler ?? _defaultMultiSelectValueSelectionHandler, + valueSelectionPredicate: + valueSelectionPredicate ?? _defaultMultiSelectValueSelectionPredicate, + ); + } +} + +/// Callback type for handling selection changes in select components. +/// +/// Returns true if the change was successful, false otherwise. +typedef SelectValueChanged = bool Function(T value, bool selected); + +/// Data class holding select dropdown state and configuration. +/// +/// Contains selection state, callbacks, and display options for select popups. +class SelectData { + /// Whether to automatically close the popup after selection. + final bool? autoClose; + + /// Predicate to check if a value is currently selected. + final Predicate isSelected; + + /// Callback invoked when selection changes. + final SelectValueChanged onChanged; + + /// Whether any items are currently selected. + final bool hasSelection; + + /// Whether the select is enabled for interaction. + final bool enabled; + + /// Creates select data. + const SelectData({ + required this.autoClose, + required this.isSelected, + required this.onChanged, + required this.hasSelection, + required this.enabled, + }); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + if (other is! SelectData) return false; + return other.isSelected == isSelected && + other.onChanged == onChanged && + other.hasSelection == hasSelection && + other.autoClose == autoClose && + other.enabled == enabled; + } + + @override + int get hashCode => + Object.hash(isSelected, onChanged, autoClose, hasSelection, enabled); +} + +/// Builder function type for creating select item delegates. +/// +/// Takes the build context and optional search query, returns a delegate +/// for rendering select items. +typedef SelectItemsBuilder = FutureOr Function( + BuildContext context, + String? searchQuery, +); + +/// A popup widget for displaying selectable items in a dropdown. +/// +/// Provides a searchable, scrollable list of items with various display modes. +class SelectPopup extends StatefulWidget { + /// Builder function for dynamically generating select items. + final SelectItemsBuilder? builder; + + /// Static list of select items to display. + final FutureOr? items; + + /// Controller for the search input field. + final TextEditingController? searchController; + + /// Placeholder widget for the search field. + final Widget? searchPlaceholder; + + /// Builder for empty state display. + final WidgetBuilder? emptyBuilder; + + /// Builder for loading state display. + final WidgetBuilder? loadingBuilder; + + /// Builder for error state display. + final ErrorWidgetBuilder? errorBuilder; + + /// Blur amount for the popup surface. + final double? surfaceBlur; + + /// Opacity for the popup surface. + final double? surfaceOpacity; + + /// Whether to auto-close the popup after selection. + final bool? autoClose; + + /// Whether selected items can be unselected. + final bool? canUnselect; + + /// Whether search functionality is enabled. + final bool enableSearch; + + /// Controller for the items scroll view. + final ScrollController? scrollController; + + /// Whether the list should shrink-wrap its contents. + final bool shrinkWrap; + + /// Whether to disable item virtualization. + final bool disableVirtualization; + + /// Creates a select popup with a dynamic builder. + const SelectPopup.builder({ + super.key, + required this.builder, + this.searchController, + this.searchPlaceholder, + this.emptyBuilder, + this.loadingBuilder, + this.surfaceBlur, + this.surfaceOpacity, + this.autoClose, + this.canUnselect, + this.enableSearch = true, + this.errorBuilder, + this.scrollController, + }) : items = null, + shrinkWrap = false, + disableVirtualization = false; + + /// Creates a select popup with static items. + const SelectPopup({ + super.key, + this.items, + this.searchController, + this.searchPlaceholder, + this.emptyBuilder, + this.loadingBuilder, + this.errorBuilder, + this.surfaceBlur, + this.surfaceOpacity, + this.autoClose, + this.canUnselect, + this.scrollController, + this.shrinkWrap = true, + }) : builder = null, + enableSearch = false, + disableVirtualization = false; + + /// Creates a select popup without virtualization optimization. + const SelectPopup.noVirtualization({ + super.key, + FutureOr? this.items, + this.searchController, + this.searchPlaceholder, + this.emptyBuilder, + this.loadingBuilder, + this.errorBuilder, + this.surfaceBlur, + this.surfaceOpacity, + this.autoClose, + this.canUnselect, + this.scrollController, + }) : builder = null, + enableSearch = false, + disableVirtualization = true, + shrinkWrap = false; + + /// A method used to implement SelectPopupBuilder + SelectPopup call(BuildContext context) { + return this; + } + + @override + State> createState() => _SelectPopupState(); +} + +/// Mixin providing select popup interaction methods. +/// +/// Allows widgets to check selection state and update selections. +mixin SelectPopupHandle { + /// Checks if the given value is currently selected. + bool isSelected(Object? value); + + /// Updates the selection state for the given value. + void selectItem(Object? value, bool selected); + + /// Whether any items are currently selected. + bool get hasSelection; + + /// Retrieves the nearest SelectPopupHandle from the widget tree. + static SelectPopupHandle of(BuildContext context) { + return Data.of(context); + } +} + +class _SelectPopupState extends State> + with SelectPopupHandle { + late TextEditingController _searchController; + late ScrollController _scrollController; + SelectData? _selectData; + + @override + void initState() { + super.initState(); + _searchController = widget.searchController ?? TextEditingController(); + _scrollController = widget.scrollController ?? ScrollController(); + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + // because the controller did not get notified when a scroll position is attached + if (!mounted) return; + setState(() {}); + }); + } + + @override + void didUpdateWidget(covariant SelectPopup oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.searchController != oldWidget.searchController) { + _searchController = widget.searchController ?? TextEditingController(); + } + if (widget.scrollController != oldWidget.scrollController) { + _scrollController = widget.scrollController ?? ScrollController(); + } + } + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + _selectData = Data.maybeOf(context); + } + + @override + bool get hasSelection => _selectData?.hasSelection ?? false; + + @override + bool isSelected(Object? value) { + return _selectData?.isSelected(value) ?? false; + } + + @override + void selectItem(Object? value, bool selected) { + _selectData?.onChanged(value, selected); + if (widget.autoClose ?? _selectData?.autoClose == true) { + closeOverlay(context, value); + } + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + return SubFocusScope(builder: (context, subFocusScope) { + return Actions( + actions: { + NextItemIntent: CallbackAction( + onInvoke: (intent) { + subFocusScope.nextFocus(); + return null; + }, + ), + PreviousItemIntent: CallbackAction( + onInvoke: (intent) { + subFocusScope.nextFocus(TraversalDirection.up); + return null; + }, + ), + CloseMenuIntent: CallbackAction( + onInvoke: (intent) { + closeOverlay(context); + return null; + }, + ), + ActivateIntent: CallbackAction( + onInvoke: (intent) { + subFocusScope.invokeActionOnFocused(intent); + return null; + }, + ), + }, + child: Shortcuts( + shortcuts: { + LogicalKeySet(LogicalKeyboardKey.tab): const NextItemIntent(), + LogicalKeySet(LogicalKeyboardKey.shift, LogicalKeyboardKey.tab): + const PreviousItemIntent(), + LogicalKeySet(LogicalKeyboardKey.escape): const CloseMenuIntent(), + LogicalKeySet(LogicalKeyboardKey.enter): const ActivateIntent(), + LogicalKeySet(LogicalKeyboardKey.numpadEnter): + const ActivateIntent(), + LogicalKeySet(LogicalKeyboardKey.arrowDown): const NextItemIntent(), + LogicalKeySet(LogicalKeyboardKey.arrowUp): + const PreviousItemIntent(), + }, + child: Focus( + autofocus: !widget + .enableSearch, // autofocus on TextField when search enabled instead + child: Data.inherit( + data: this, + child: ModalContainer( + clipBehavior: Clip.hardEdge, + surfaceBlur: widget.surfaceBlur, + surfaceOpacity: widget.surfaceOpacity, + padding: EdgeInsets.zero, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + mainAxisSize: MainAxisSize.min, + children: [ + if (widget.enableSearch) + ComponentTheme( + data: const FocusOutlineTheme( + border: Border.fromBorderSide(BorderSide.none), + ), + child: TextField( + controller: _searchController, + border: const Border.fromBorderSide(BorderSide.none), + borderRadius: BorderRadius.zero, + features: [ + InputFeature.leading( + const Icon( + LucideIcons.search, + ).iconSmall().iconMutedForeground(), + ), + ], + autofocus: true, + placeholder: widget.searchPlaceholder, + padding: const EdgeInsets.symmetric( + vertical: 12, horizontal: 12) * + scaling, + ), + ), + Flexible( + child: ListenableBuilder( + listenable: _searchController, + builder: (context, _) { + return CachedValueWidget( + value: _searchController.text.isEmpty + ? null + : _searchController.text, + builder: (context, searchQuery) { + return FutureOrBuilder( + future: widget.builder != null + ? widget.builder!.call(context, searchQuery) + : widget.items != null + ? widget.items! + : SelectItemDelegate.empty, + builder: (context, snapshot) { + if (snapshot.connectionState == + ConnectionState.waiting) { + Widget? loadingBuilder = + widget.loadingBuilder?.call(context); + if (loadingBuilder != null) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: + CrossAxisAlignment.stretch, + children: [ + if (widget.enableSearch) + const Divider(), + Flexible(child: loadingBuilder), + ], + ); + } + return const SizedBox(); + } + if (snapshot.hasError) { + Widget? errorBuilder = + widget.errorBuilder?.call( + context, + snapshot.error!, + snapshot.stackTrace, + ); + if (errorBuilder != null) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: + CrossAxisAlignment.stretch, + children: [ + if (widget.enableSearch) + const Divider(), + Flexible(child: errorBuilder), + ], + ); + } + return const SizedBox(); + } + if (snapshot.hasData && + snapshot.data?.estimatedChildCount != 0) { + var data = snapshot.data!; + return CachedValueWidget( + value: data, + builder: (context, data) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: + CrossAxisAlignment.stretch, + children: [ + if (widget.enableSearch) + const Divider(), + Flexible( + child: Stack( + fit: StackFit.passthrough, + children: [ + if (widget + .disableVirtualization) + SingleChildScrollView( + controller: + _scrollController, + padding: + const EdgeInsets.all( + 4) * + scaling, + child: Column( + mainAxisSize: + MainAxisSize.min, + crossAxisAlignment: + CrossAxisAlignment + .stretch, + children: [ + for (var i = 0; + i < + (data as SelectItemList) + .children + .length; + i++) + data.build( + context, i), + ], + ), + ) + else + ListView.builder( + controller: + _scrollController, + padding: + const EdgeInsets.all( + 4) * + scaling, + itemBuilder: data.build, + shrinkWrap: + widget.shrinkWrap, + itemCount: data + .estimatedChildCount, + ), + ListenableBuilder( + listenable: + _scrollController, + builder: (context, child) { + return Visibility( + visible: + _scrollController + .offset > + 0, + child: Positioned( + top: 0, + left: 0, + right: 0, + child: HoverActivity( + hitTestBehavior: + HitTestBehavior + .translucent, + debounceDuration: + const Duration( + milliseconds: 16, + ), + onHover: () { + // decrease scroll offset + var value = + _scrollController + .offset - + 8; + value = + value.clamp( + 0.0, + _scrollController + .position + .maxScrollExtent, + ); + _scrollController + .jumpTo( + value, + ); + }, + child: Container( + padding: + const EdgeInsets + .symmetric( + vertical: + 4, + ) * + scaling, + child: const Icon( + RadixIcons + .chevronUp, + ).iconX3Small(), + ), + ), + ), + ); + }, + ), + ListenableBuilder( + listenable: + _scrollController, + builder: (context, child) { + return Visibility( + visible: _scrollController + .hasClients && + _scrollController + .position + .hasContentDimensions && + _scrollController + .offset < + _scrollController + .position + .maxScrollExtent, + child: Positioned( + bottom: 0, + left: 0, + right: 0, + child: HoverActivity( + hitTestBehavior: + HitTestBehavior + .translucent, + debounceDuration: + const Duration( + milliseconds: 16, + ), + onHover: () { + // increase scroll offset + var value = + _scrollController + .offset + + 8; + value = + value.clamp( + 0.0, + _scrollController + .position + .maxScrollExtent, + ); + _scrollController + .jumpTo( + value, + ); + }, + child: Container( + padding: + const EdgeInsets + .symmetric( + vertical: + 4, + ) * + scaling, + child: const Icon( + RadixIcons + .chevronDown, + ).iconX3Small(), + ), + ), + ), + ); + }, + ), + ], + ), + ), + ], + ); + }, + ); + } + Widget? emptyBuilder = + widget.emptyBuilder?.call( + context, + ); + if (emptyBuilder != null) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: + CrossAxisAlignment.stretch, + children: [ + if (widget.enableSearch) + const Divider(), + Flexible(child: emptyBuilder), + ], + ); + } + return const SizedBox(); + }, + ); + }, + ); + }, + ), + ), + ], + ), + ), + ), + ), + ), + ); + }); + } +} + +/// Abstract base class for building select item lists. +/// +/// Provides interface for rendering select items with optional caching +/// and change detection. +abstract class SelectItemDelegate with CachedValue { + /// An empty select item delegate constant. + static const empty = EmptySelectItem(); + + /// Creates a select item delegate. + const SelectItemDelegate(); + + /// Builds a widget for the item at the given index. + Widget? build(BuildContext context, int index); + + /// Estimated number of children in this delegate. + int? get estimatedChildCount => null; + + @override + bool shouldRebuild(covariant SelectItemDelegate oldDelegate); +} + +/// An empty select item delegate that renders no items. +class EmptySelectItem extends SelectItemDelegate { + /// Creates an empty select item. + const EmptySelectItem(); + + @override + Widget? build(BuildContext context, int index) => null; + + @override + int get estimatedChildCount => 0; + + @override + bool shouldRebuild(covariant EmptySelectItem oldDelegate) { + return false; + } +} + +/// Builder function type for creating select item widgets. +/// +/// Takes the build context and item index, returns the widget for that item. +typedef SelectItemWidgetBuilder = Widget Function( + BuildContext context, int index); + +/// A select item delegate that uses a builder function. +/// +/// Provides items through a builder function with optional child count. +class SelectItemBuilder extends SelectItemDelegate { + /// The builder function for creating item widgets. + final SelectItemWidgetBuilder builder; + + /// The number of children this delegate can build. + final int? childCount; + + /// Creates a select item builder. + const SelectItemBuilder({required this.builder, this.childCount}); + + @override + Widget build(BuildContext context, int index) { + return builder(context, index); + } + + @override + int? get estimatedChildCount => childCount; + + @override + bool shouldRebuild(covariant SelectItemBuilder oldDelegate) { + return oldDelegate.builder != builder && + oldDelegate.childCount != childCount; + } +} + +/// A select item delegate that uses a static list of children. +/// +/// [SelectItemList] provides select items from a pre-defined list of widgets. +/// This is the simplest way to create a select dropdown with a fixed set of options. +/// +/// Example: +/// ```dart +/// SelectItemList( +/// children: [ +/// SelectItem(value: 1, child: Text('Option 1')), +/// SelectItem(value: 2, child: Text('Option 2')), +/// SelectItem(value: 3, child: Text('Option 3')), +/// ], +/// ) +/// ``` +class SelectItemList extends SelectItemDelegate { + /// The list of widgets to display as select items. + final List children; + + /// Creates a [SelectItemList] with the specified children. + const SelectItemList({required this.children}); + + @override + Widget build(BuildContext context, int index) { + return children[index]; + } + + @override + int get estimatedChildCount => children.length; + + @override + bool shouldRebuild(covariant SelectItemList oldDelegate) { + return !listEquals(oldDelegate.children, children); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/slider.dart b/third_party/shadcn_flutter/lib/src/components/form/slider.dart new file mode 100644 index 00000000..a3ffab0c --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/slider.dart @@ -0,0 +1,1418 @@ +import 'dart:math'; +import 'dart:ui'; + +import 'package:flutter/services.dart'; + +import '../../../shadcn_flutter.dart'; + +/// Reactive controller for managing slider state with value operations. +/// +/// Extends [ValueNotifier] to provide state management for slider widgets +/// using [SliderValue] objects that support both single and range slider +/// configurations. Enables programmatic slider value changes and provides +/// convenient methods for common slider operations. +/// +/// The controller manages [SliderValue] objects which can represent either +/// single values or dual-thumb range values, providing unified state management +/// for different slider types. +/// +/// Example: +/// ```dart +/// final controller = SliderController(SliderValue.single(0.5)); +/// +/// // React to changes +/// controller.addListener(() { +/// print('Slider value: ${controller.value}'); +/// }); +/// +/// // Programmatic control +/// controller.setValue(0.75); +/// controller.setRange(0.2, 0.8); +/// ``` +class SliderController extends ValueNotifier + with ComponentController { + /// Creates a [SliderController] with the specified initial value. + /// + /// The [value] parameter provides the initial slider configuration as a + /// [SliderValue]. The controller notifies listeners when the value changes + /// through any method calls or direct value assignment. + /// + /// Example: + /// ```dart + /// final controller = SliderController(SliderValue.single(0.3)); + /// ``` + SliderController(super.value); + + /// Sets the slider to a single value configuration. + /// + /// Converts the slider to single-thumb mode with the specified [value]. + /// The value should be within the slider's min/max bounds. + void setValue(double value) { + this.value = SliderValue.single(value); + } + + /// Sets the slider to a range value configuration. + /// + /// Converts the slider to dual-thumb mode with the specified [start] and [end] values. + /// The values should be within the slider's min/max bounds with start <= end. + void setRange(double start, double end) { + value = SliderValue.ranged(start, end); + } + + /// Returns true if the slider is in single-value mode. + bool get isSingle => !value.isRanged; + + /// Returns true if the slider is in range mode. + bool get isRanged => value.isRanged; + + /// Gets the current single value (valid only in single mode). + /// + /// Throws an exception if called when the slider is in range mode. + double get singleValue => value.value; + + /// Gets the current range start value (valid only in range mode). + /// + /// Throws an exception if called when the slider is in single mode. + double get rangeStart => value.start; + + /// Gets the current range end value (valid only in range mode). + /// + /// Throws an exception if called when the slider is in single mode. + double get rangeEnd => value.end; +} + +/// Reactive slider with automatic state management and controller support. +/// +/// A high-level slider widget that provides automatic state management through +/// the controlled component pattern. Supports both single-value and range sliders +/// with comprehensive customization options for styling, behavior, and interaction. +/// +/// ## Features +/// +/// - **Single and range modes**: Unified interface for different slider types +/// - **Discrete divisions**: Optional snap-to-value behavior with tick marks +/// - **Keyboard navigation**: Full arrow key support with custom step sizes +/// - **Hint values**: Visual preview of suggested or default values +/// - **Accessibility support**: Screen reader compatibility and semantic labels +/// - **Form integration**: Automatic validation and form field registration +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = SliderController(SliderValue.single(0.5)); +/// +/// ControlledSlider( +/// controller: controller, +/// min: 0.0, +/// max: 100.0, +/// divisions: 100, +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// double currentValue = 50.0; +/// +/// ControlledSlider( +/// initialValue: SliderValue.single(currentValue), +/// onChanged: (value) => setState(() => currentValue = value.single), +/// min: 0.0, +/// max: 100.0, +/// ) +/// ``` +class ControlledSlider extends StatelessWidget + with ControlledComponent { + @override + final SliderValue initialValue; + @override + final ValueChanged? onChanged; + @override + final SliderController? controller; + @override + final bool enabled; + + /// Callback invoked when the user starts changing the slider value. + /// + /// Called once when the user begins dragging the slider thumb or interacting + /// with the slider track. Receives the initial [SliderValue] at the start of + /// the interaction. + final ValueChanged? onChangeStart; + + /// Callback invoked when the user finishes changing the slider value. + /// + /// Called once when the user releases the slider thumb or completes the + /// interaction. Receives the final [SliderValue] at the end of the interaction. + final ValueChanged? onChangeEnd; + + /// The minimum value the slider can represent. + /// + /// Defaults to `0`. Must be less than [max]. + final double min; + + /// The maximum value the slider can represent. + /// + /// Defaults to `1`. Must be greater than [min]. + final double max; + + /// The number of discrete divisions the slider range is divided into. + /// + /// If `null`, the slider is continuous. If non-null, the slider will snap to + /// discrete values in the range `[min, max]`. + final int? divisions; + + /// An optional hint value displayed on the slider track. + /// + /// Provides visual feedback showing a target or reference value. The hint is + /// typically rendered as a subtle marker on the track. + final SliderValue? hintValue; + + /// The step size for keyboard increment actions. + /// + /// When the user presses the increase key, the slider value will increase by + /// this amount. If `null`, a default increment is used. + final double? increaseStep; + + /// The step size for keyboard decrement actions. + /// + /// When the user presses the decrease key, the slider value will decrease by + /// this amount. If `null`, a default decrement is used. + final double? decreaseStep; + + /// Creates a [ControlledSlider]. + /// + /// A controlled slider that manages its state either through an external + /// [controller] or internal state with [initialValue]. Use this when you need + /// programmatic control over the slider value. + /// + /// Parameters: + /// - [controller] (`SliderController?`, optional): External controller for + /// managing slider state. If provided, it becomes the source of truth. + /// - [initialValue] (`SliderValue`, default: `SliderValue.single(0)`): Initial + /// value when no controller is provided. + /// - [onChanged] (`ValueChanged?`, optional): Called when the + /// slider value changes during interaction. + /// - [onChangeStart] (`ValueChanged?`, optional): Called when the + /// user begins interaction. + /// - [onChangeEnd] (`ValueChanged?`, optional): Called when the + /// user completes interaction. + /// - [min] (`double`, default: `0`): Minimum slider value. + /// - [max] (`double`, default: `1`): Maximum slider value. + /// - [divisions] (`int?`, optional): Number of discrete divisions. If `null`, + /// the slider is continuous. + /// - [hintValue] (`SliderValue?`, optional): Visual hint marker on the track. + /// - [increaseStep] (`double?`, optional): Keyboard increment step size. + /// - [decreaseStep] (`double?`, optional): Keyboard decrement step size. + /// - [enabled] (`bool`, default: `true`): Whether the slider is interactive. + /// + /// Example: + /// ```dart + /// final controller = SliderController(SliderValue.single(0.5)); + /// + /// ControlledSlider( + /// controller: controller, + /// min: 0.0, + /// max: 100.0, + /// divisions: 100, + /// onChanged: (value) => print('Value: $value'), + /// ) + /// ``` + const ControlledSlider({ + super.key, + this.controller, + this.initialValue = const SliderValue.single(0), + this.onChanged, + this.onChangeStart, + this.onChangeEnd, + this.min = 0, + this.max = 1, + this.divisions, + this.hintValue, + this.increaseStep, + this.decreaseStep, + this.enabled = true, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + controller: controller, + initialValue: initialValue, + onChanged: onChanged, + builder: (context, data) { + return Slider( + value: data.value, + onChanged: data.onChanged, + onChangeStart: onChangeStart, + onChangeEnd: onChangeEnd, + min: min, + max: max, + divisions: divisions, + hintValue: hintValue, + increaseStep: increaseStep, + decreaseStep: decreaseStep, + enabled: data.enabled, + ); + }, + ); + } +} + +/// Represents a slider value, supporting both single and range configurations. +/// +/// A [SliderValue] can represent either a single point value or a dual-thumb +/// range with start and end values. Use [SliderValue.single] for single-thumb +/// sliders and [SliderValue.ranged] for range sliders. +/// +/// This class provides value interpolation, division rounding, and comparison +/// operations needed for slider animations and discrete value snapping. +/// +/// Example: +/// ```dart +/// // Single value slider +/// final single = SliderValue.single(0.5); +/// print(single.value); // 0.5 +/// +/// // Range slider +/// final range = SliderValue.ranged(0.2, 0.8); +/// print(range.start); // 0.2 +/// print(range.end); // 0.8 +/// ``` +class SliderValue { + /// Linearly interpolates between two [SliderValue] objects. + /// + /// Returns `null` if either [a] or [b] is `null`, or if the values have + /// mismatched types (one single, one ranged). Otherwise, interpolates between + /// the values using the interpolation factor [t] (typically 0.0 to 1.0). + /// + /// Parameters: + /// - [a] (`SliderValue?`, optional): Start value for interpolation. + /// - [b] (`SliderValue?`, optional): End value for interpolation. + /// - [t] (`double`, required): Interpolation factor, where 0.0 returns [a] + /// and 1.0 returns [b]. + /// + /// Returns: `SliderValue?` — interpolated value, or `null` if incompatible. + static SliderValue? lerp(SliderValue? a, SliderValue? b, double t) { + if (a == null || b == null) return null; + if (a.isRanged && b.isRanged) { + return SliderValue.ranged( + lerpDouble(a.start, b.start, t)!, + lerpDouble(a.end, b.end, t)!, + ); + } else if (!a.isRanged && !b.isRanged) { + return SliderValue.single(lerpDouble(a.value, b.value, t)!); + } + return null; + } + + final double? + _start; // if start is null, it means its not ranged slider, its a single value slider + // if its a single value slider, then the trackbar is clickable and the thumb can be dragged + // if its a ranged slider, then the trackbar is not clickable and the thumb can be dragged + final double _end; + + /// Creates a single-value [SliderValue] with the specified [value]. + /// + /// Use this constructor for standard single-thumb sliders. The slider will + /// have one draggable thumb and a clickable track. + /// + /// Parameters: + /// - [value] (`double`, required): The slider value position. + /// + /// Example: + /// ```dart + /// final slider = SliderValue.single(0.75); + /// ``` + const SliderValue.single(double value) + : _start = null, + _end = value; + + /// Creates a range [SliderValue] with start and end positions. + /// + /// Use this constructor for dual-thumb range sliders. The slider will have + /// two draggable thumbs but a non-clickable track. + /// + /// Parameters: + /// - [_start] (`double`, required): The start position of the range. + /// - [_end] (`double`, required): The end position of the range. + /// + /// Example: + /// ```dart + /// final range = SliderValue.ranged(0.2, 0.8); + /// ``` + const SliderValue.ranged(double this._start, this._end); + + /// Whether this is a range slider value (dual-thumb). + /// + /// Returns `true` if created with [SliderValue.ranged], `false` if created + /// with [SliderValue.single]. + bool get isRanged => _start != null; + + /// The start position of the slider value. + /// + /// For ranged sliders, returns the actual start position. For single-value + /// sliders, returns the same as [value]. + double get start => _start ?? _end; + + /// The end position of the slider value. + /// + /// For ranged sliders, returns the end position. For single-value sliders, + /// returns the same as [value]. + double get end => _end; + + /// The value position for single-value sliders. + /// + /// Always returns the end position. For single-value sliders, this is the + /// primary value. For ranged sliders, this returns the end of the range. + double get value => _end; + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is SliderValue && other._start == _start && other._end == _end; + } + + @override + int get hashCode => _start.hashCode ^ _end.hashCode; + + /// Rounds the slider value to discrete divisions. + /// + /// Snaps the value(s) to the nearest division point based on the specified + /// number of [divisions]. Useful for creating discrete stepped sliders. + /// + /// Parameters: + /// - [divisions] (`int`, required): Number of discrete steps. + /// + /// Returns: `SliderValue` — rounded value. + /// + /// Example: + /// ```dart + /// final value = SliderValue.single(0.333); + /// final rounded = value.roundToDivisions(10); + /// // Results in SliderValue.single(0.3) + /// ``` + SliderValue roundToDivisions(int divisions) { + if (!isRanged) { + return SliderValue.single((_end * divisions).round() / divisions); + } + return SliderValue.ranged((_start! * divisions).round() / divisions, + (_end * divisions).round() / divisions); + } +} + +/// Theme for [Slider]. +class SliderTheme extends ComponentThemeData { + /// Height of the track. + final double? trackHeight; + + /// Color of the inactive track. + final Color? trackColor; + + /// Color of the active portion of the track. + final Color? valueColor; + + /// Color of the inactive track when disabled. + final Color? disabledTrackColor; + + /// Color of the active track when disabled. + final Color? disabledValueColor; + + /// Background color of the thumb. + final Color? thumbColor; + + /// Border color of the thumb. + final Color? thumbBorderColor; + + /// Border color of the thumb when focused. + final Color? thumbFocusedBorderColor; + + /// Size of the thumb. + final double? thumbSize; + + /// Creates a [SliderTheme]. + const SliderTheme({ + this.trackHeight, + this.trackColor, + this.valueColor, + this.disabledTrackColor, + this.disabledValueColor, + this.thumbColor, + this.thumbBorderColor, + this.thumbFocusedBorderColor, + this.thumbSize, + }); + + /// Returns a copy of this theme with the given fields replaced. + SliderTheme copyWith({ + ValueGetter? trackHeight, + ValueGetter? trackColor, + ValueGetter? valueColor, + ValueGetter? disabledTrackColor, + ValueGetter? disabledValueColor, + ValueGetter? thumbColor, + ValueGetter? thumbBorderColor, + ValueGetter? thumbFocusedBorderColor, + ValueGetter? thumbSize, + }) { + return SliderTheme( + trackHeight: trackHeight == null ? this.trackHeight : trackHeight(), + trackColor: trackColor == null ? this.trackColor : trackColor(), + valueColor: valueColor == null ? this.valueColor : valueColor(), + disabledTrackColor: disabledTrackColor == null + ? this.disabledTrackColor + : disabledTrackColor(), + disabledValueColor: disabledValueColor == null + ? this.disabledValueColor + : disabledValueColor(), + thumbColor: thumbColor == null ? this.thumbColor : thumbColor(), + thumbBorderColor: + thumbBorderColor == null ? this.thumbBorderColor : thumbBorderColor(), + thumbFocusedBorderColor: thumbFocusedBorderColor == null + ? this.thumbFocusedBorderColor + : thumbFocusedBorderColor(), + thumbSize: thumbSize == null ? this.thumbSize : thumbSize(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is SliderTheme && + other.trackHeight == trackHeight && + other.trackColor == trackColor && + other.valueColor == valueColor && + other.disabledTrackColor == disabledTrackColor && + other.disabledValueColor == disabledValueColor && + other.thumbColor == thumbColor && + other.thumbBorderColor == thumbBorderColor && + other.thumbFocusedBorderColor == thumbFocusedBorderColor && + other.thumbSize == thumbSize; + } + + @override + int get hashCode => Object.hash( + trackHeight, + trackColor, + valueColor, + disabledTrackColor, + disabledValueColor, + thumbColor, + thumbBorderColor, + thumbFocusedBorderColor, + thumbSize); +} + +/// Intent for increasing the slider value via keyboard shortcuts. +/// +/// Used with Flutter's shortcuts and actions system to handle keyboard +/// input for incrementing slider values. Typically bound to arrow keys. +class IncreaseSliderValue extends Intent { + /// Creates an [IncreaseSliderValue] intent. + const IncreaseSliderValue(); +} + +/// Intent for decreasing the slider value via keyboard shortcuts. +/// +/// Used with Flutter's shortcuts and actions system to handle keyboard +/// input for decrementing slider values. Typically bound to arrow keys. +class DecreaseSliderValue extends Intent { + /// Creates a [DecreaseSliderValue] intent. + const DecreaseSliderValue(); +} + +/// A Material Design slider widget for selecting values or ranges. +/// +/// A highly customizable slider supporting both single-value and range +/// selection modes. Provides keyboard navigation, discrete divisions, +/// hint values, and comprehensive theming options. +/// +/// Unlike [ControlledSlider], this widget is uncontrolled and requires +/// explicit value management through [onChanged]. For a controlled +/// alternative with automatic state management, use [ControlledSlider]. +/// +/// Example: +/// ```dart +/// Slider( +/// value: SliderValue.single(0.5), +/// min: 0.0, +/// max: 1.0, +/// divisions: 10, +/// onChanged: (newValue) { +/// setState(() => value = newValue); +/// }, +/// ) +/// ``` +class Slider extends StatefulWidget { + /// The current value of the slider. + /// + /// Can be either a single value or a range. The slider's visual state + /// reflects this value. + final SliderValue value; + + /// Callback invoked when the slider value changes. + /// + /// Called repeatedly during slider interaction as the user drags the thumb + /// or clicks the track. Receives the new [SliderValue]. + final ValueChanged? onChanged; + + /// Callback invoked when the user starts changing the slider value. + /// + /// Called once when interaction begins. Receives the initial [SliderValue]. + final ValueChanged? onChangeStart; + + /// Callback invoked when the user finishes changing the slider value. + /// + /// Called once when interaction ends. Receives the final [SliderValue]. + final ValueChanged? onChangeEnd; + + /// The minimum value the slider can represent. + /// + /// Defaults to `0`. Must be less than [max]. + final double min; + + /// The maximum value the slider can represent. + /// + /// Defaults to `1`. Must be greater than [min]. + final double max; + + /// The number of discrete divisions the slider range is divided into. + /// + /// If `null`, the slider is continuous. If specified, the slider snaps to + /// discrete values. + final int? divisions; + + /// An optional hint value displayed on the slider track. + /// + /// Renders as a visual marker showing a target or reference position. + final SliderValue? hintValue; + + /// The step size for keyboard increment actions. + /// + /// Used when the user triggers increase actions via keyboard. If `null`, + /// a default step is calculated based on the slider range. + final double? increaseStep; + + /// The step size for keyboard decrement actions. + /// + /// Used when the user triggers decrease actions via keyboard. If `null`, + /// a default step is calculated based on the slider range. + final double? decreaseStep; + + /// Whether the slider is interactive. + /// + /// When `false` or `null` with no [onChanged] callback, the slider is + /// displayed in a disabled state and does not respond to user input. + final bool? enabled; + + /// Creates a [Slider]. + /// + /// Parameters: + /// - [value] (`SliderValue`, required): Current slider value. + /// - [onChanged] (`ValueChanged?`, optional): Value change callback. + /// - [onChangeStart] (`ValueChanged?`, optional): Interaction start callback. + /// - [onChangeEnd] (`ValueChanged?`, optional): Interaction end callback. + /// - [min] (`double`, default: `0`): Minimum value. + /// - [max] (`double`, default: `1`): Maximum value. + /// - [divisions] (`int?`, optional): Number of discrete divisions. + /// - [hintValue] (`SliderValue?`, optional): Visual hint marker. + /// - [increaseStep] (`double?`, optional): Keyboard increment step. + /// - [decreaseStep] (`double?`, optional): Keyboard decrement step. + /// - [enabled] (`bool?`, optional): Whether interactive. + /// + /// Example: + /// ```dart + /// Slider( + /// value: SliderValue.ranged(0.2, 0.8), + /// min: 0.0, + /// max: 1.0, + /// onChanged: (value) => print('Range: ${value.start}-${value.end}'), + /// ) + /// ``` + const Slider({ + super.key, + required this.value, + this.onChanged, + this.onChangeStart, + this.onChangeEnd, + this.min = 0, + this.max = 1, + this.divisions, + this.hintValue, + this.increaseStep, + this.decreaseStep, + this.enabled = true, + }) : assert(min <= max); + + @override + State createState() => _SliderState(); +} + +class _SliderState extends State + with FormValueSupplier { + late SliderValue + _currentValue; // used for the thumb position (not the trackbar) + late SliderValue _externalValue; + // trackbar position uses the widget.value + bool _dragging = false; + bool _moveStart = false; + + bool _focusing = false; + bool _focusingEnd = false; + + bool get enabled => widget.enabled ?? widget.onChanged != null; + + @override + void initState() { + super.initState(); + _externalValue = widget.value; + _setCurrentValueFromExternal(); + formValue = _currentValue; + } + + void _dispatchValueChangeStart(SliderValue value) { + if (!enabled) return; + if (widget.divisions != null) { + value = value.roundToDivisions(widget.divisions!); + } + widget.onChangeStart?.call(value); + } + + void _dispatchValueChange(SliderValue value) { + if (!enabled) return; + if (widget.divisions != null) { + value = value.roundToDivisions(widget.divisions!); + } + if (value != widget.value) { + widget.onChanged?.call(value); + } + } + + void _dispatchValueChangeEnd(SliderValue value) { + if (!enabled) return; + if (widget.divisions != null) { + value = value.roundToDivisions(widget.divisions!); + } + if (value != widget.value) { + widget.onChangeEnd?.call(value); + } + } + + @override + void didUpdateWidget(covariant Slider oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.value != oldWidget.value) { + _externalValue = widget.value; + if (!_dragging) { + _setCurrentValueFromExternal(); + formValue = _currentValue; + } + } + } + + void _setCurrentValueFromExternal() { + if (_externalValue.isRanged) { + var start = + (_externalValue.start - widget.min) / (widget.max - widget.min); + var end = (_externalValue.end - widget.min) / (widget.max - widget.min); + var newStart = min(start, end); + var newEnd = max(start, end); + _currentValue = SliderValue.ranged(newStart, newEnd); + } else { + var value = + (_externalValue.value - widget.min) / (widget.max - widget.min); + _currentValue = SliderValue.single(value); + } + } + + void _scheduleExternalSync() { + WidgetsBinding.instance.addPostFrameCallback((_) { + if (!mounted) return; + if (_currentValue == _externalValue) return; + setState(() { + _setCurrentValueFromExternal(); + }); + }); + } + + @override + void didReplaceFormValue(SliderValue value) { + widget.onChanged?.call(value); + widget.onChangeEnd?.call(value); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final densityGap = theme.density.baseGap * scaling; + return Container( + constraints: BoxConstraints( + minWidth: 20 * scaling, + minHeight: 16 * scaling, + maxHeight: 16 * scaling, + ), + child: Padding( + padding: EdgeInsets.symmetric(horizontal: densityGap * 0.5), + child: LayoutBuilder( + builder: (context, constraints) { + return GestureDetector( + onTapDown: !enabled + ? null + : widget.value.isRanged + ? (details) { + // _moveStart to true if the tap is closer to the start thumb + double offset = details.localPosition.dx; + double newValue = offset / constraints.maxWidth; + double start = _currentValue.start; + double end = _currentValue.end; + if (widget.divisions != null) { + start = (start * widget.divisions!).round() / + widget.divisions!; + end = (end * widget.divisions!).round() / + widget.divisions!; + } + _moveStart = + (start - newValue).abs() < (end - newValue).abs(); + // find the closest thumb and move it to the tap position + if (_moveStart) { + if (widget.divisions != null) { + double deltaValue = newValue - start; + if (deltaValue >= 0 && + deltaValue < 0.5 / widget.divisions!) { + newValue += 0.5 / widget.divisions!; + } else if (deltaValue < 0 && + deltaValue > -0.5 / widget.divisions!) { + newValue -= 0.5 / widget.divisions!; + } + } + SliderValue newSliderValue = + SliderValue.ranged(newValue, widget.value.end); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.ranged(newValue, end); + }); + _scheduleExternalSync(); + } else { + if (widget.divisions != null) { + double deltaValue = newValue - end; + if (deltaValue >= 0 && + deltaValue < 0.5 / widget.divisions!) { + newValue += 0.5 / widget.divisions!; + } else if (deltaValue < 0 && + deltaValue > -0.5 / widget.divisions!) { + newValue -= 0.5 / widget.divisions!; + } + } + SliderValue newSliderValue = SliderValue.ranged( + widget.value.start, newValue); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = + SliderValue.ranged(start, newValue); + }); + _scheduleExternalSync(); + } + } + : (details) { + double offset = details.localPosition.dx; + double newValue = offset / constraints.maxWidth; + newValue = newValue.clamp(0, 1); + if (widget.divisions != null) { + double deltaValue = newValue - _currentValue.value; + if (deltaValue >= 0 && + deltaValue < 0.5 / widget.divisions!) { + newValue += 0.5 / widget.divisions!; + } else if (deltaValue < 0 && + deltaValue > -0.5 / widget.divisions!) { + newValue -= 0.5 / widget.divisions!; + } + newValue = (newValue * widget.divisions!).round() / + widget.divisions!; + } + SliderValue newSliderValue = SliderValue.single( + newValue * (widget.max - widget.min) + + widget.min); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.single(newValue); + }); + _scheduleExternalSync(); + }, + onHorizontalDragStart: !enabled + ? null + : (details) { + _dragging = true; + if (_currentValue.isRanged) { + // change _moveStart to true if the tap is closer to the start thumb + double offset = details.localPosition.dx; + double newValue = offset / constraints.maxWidth; + double start = _currentValue.start; + double end = _currentValue.end; + if (widget.divisions != null) { + start = (start * widget.divisions!).round() / + widget.divisions!; + end = (end * widget.divisions!).round() / + widget.divisions!; + } + _moveStart = + (start - newValue).abs() < (end - newValue).abs(); + var startValue = + start * (widget.max - widget.min) + widget.min; + var endValue = + end * (widget.max - widget.min) + widget.min; + var newStartValue = min(startValue, endValue); + var newEndValue = max(startValue, endValue); + SliderValue newSliderValue = + SliderValue.ranged(newStartValue, newEndValue); + _dispatchValueChangeStart(newSliderValue); + } else { + double value = _currentValue.value; + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / + widget.divisions!; + } + SliderValue newSliderValue = SliderValue.single( + value * (widget.max - widget.min) + widget.min); + _dispatchValueChangeStart(newSliderValue); + } + }, + onHorizontalDragUpdate: !enabled + ? null + : widget.value.isRanged + ? (details) { + // drag the closest thumb to the drag position + // but use delta to calculate the new value + double delta = + details.primaryDelta! / constraints.maxWidth; + if (_moveStart) { + var newStart = _currentValue.start + delta; + var newEnd = _currentValue.end; + newStart = newStart.clamp(0, 1); + newEnd = newEnd.clamp(0, 1); + var newInternalSliderValue = + SliderValue.ranged(newStart, newEnd); + if (newInternalSliderValue == _currentValue) { + return; + } + var sliderStart = newStart; + var sliderEnd = newEnd; + if (widget.divisions != null) { + sliderStart = + (sliderStart * widget.divisions!).round() / + widget.divisions!; + sliderEnd = + (sliderEnd * widget.divisions!).round() / + widget.divisions!; + } + var startSliderValue = + sliderStart * (widget.max - widget.min) + + widget.min; + var endSliderValue = + sliderEnd * (widget.max - widget.min) + + widget.min; + var newSliderValue = SliderValue.ranged( + min(startSliderValue, endSliderValue), + max(startSliderValue, endSliderValue)); + _dispatchValueChange(newSliderValue); + setState(() { + _currentValue = + SliderValue.ranged(newStart, newEnd); + }); + } else { + var newStart = _currentValue.start; + var newEnd = _currentValue.end + delta; + newStart = newStart.clamp(0, 1); + newEnd = newEnd.clamp(0, 1); + var newInternalSliderValue = + SliderValue.ranged(newStart, newEnd); + if (newInternalSliderValue == _currentValue) { + return; + } + var sliderStart = newStart; + var sliderEnd = newEnd; + if (widget.divisions != null) { + sliderStart = + (sliderStart * widget.divisions!).round() / + widget.divisions!; + sliderEnd = + (sliderEnd * widget.divisions!).round() / + widget.divisions!; + } + var startSliderValue = + sliderStart * (widget.max - widget.min) + + widget.min; + var endSliderValue = + sliderEnd * (widget.max - widget.min) + + widget.min; + var newSliderValue = SliderValue.ranged( + min(startSliderValue, endSliderValue), + max(startSliderValue, endSliderValue)); + _dispatchValueChange(newSliderValue); + setState(() { + _currentValue = + SliderValue.ranged(newStart, newEnd); + }); + } + } + : (details) { + double delta = + details.primaryDelta! / constraints.maxWidth; + double newValue = _currentValue.value + delta; + newValue = newValue.clamp(0, 1); + var sliderValue = newValue; + if (widget.divisions != null) { + sliderValue = + (sliderValue * widget.divisions!).round() / + widget.divisions!; + } + var newSliderValue = SliderValue.single( + sliderValue * (widget.max - widget.min) + + widget.min); + _dispatchValueChange(newSliderValue); + setState(() { + _currentValue = SliderValue.single(newValue); + }); + }, + onHorizontalDragEnd: !enabled + ? null + : (details) { + _dragging = false; + if (_currentValue.isRanged) { + var start = _currentValue.start; + var end = _currentValue.end; + var newStart = min(start, end); + var newEnd = max(start, end); + _dispatchValueChangeEnd(SliderValue.ranged( + (newStart * (widget.max - widget.min) + widget.min), + (newEnd * (widget.max - widget.min) + widget.min))); + } else { + _dispatchValueChangeEnd(SliderValue.single( + (_currentValue.value * (widget.max - widget.min) + + widget.min))); + } + setState(() { + _setCurrentValueFromExternal(); + }); + }, + child: MouseRegion( + cursor: !enabled + ? SystemMouseCursors.forbidden + : (widget.onChanged != null || + widget.onChangeStart != null || + widget.onChangeEnd != null) + ? SystemMouseCursors.click + : SystemMouseCursors.basic, + child: widget.value.isRanged + ? buildRangedSlider(context, constraints, theme) + : buildSingleSlider(context, constraints, theme)), + ); + }, + ), + ), + ); + } + + Widget buildSingleSlider( + BuildContext context, BoxConstraints constraints, ThemeData theme) { + return Stack( + clipBehavior: Clip.none, + children: [ + buildTrackBar(context, constraints, theme), + if (widget.hintValue != null) buildHint(context, constraints, theme), + buildTrackValue(context, constraints, theme), + buildThumb( + context, + constraints, + theme, + _currentValue.value, + _focusing, + (focusing) { + setState(() { + _focusing = focusing; + }); + }, + // on increase uses increaseStep or divisions or 1 + // and so decrease + () { + var value = _currentValue.value; + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / widget.divisions!; + } + var step = widget.increaseStep ?? 1 / (widget.divisions ?? 100); + value = (value + step).clamp(0, 1); + var sliderValue = value; + if (widget.divisions != null) { + sliderValue = + (sliderValue * widget.divisions!).round() / widget.divisions!; + } + var newSliderValue = SliderValue.single( + sliderValue * (widget.max - widget.min) + widget.min); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.single(value); + }); + }, + () { + var value = _currentValue.value; + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / widget.divisions!; + } + var step = widget.decreaseStep ?? 1 / (widget.divisions ?? 100); + value = (value - step).clamp(0, 1); + var sliderValue = value; + if (widget.divisions != null) { + sliderValue = + (sliderValue * widget.divisions!).round() / widget.divisions!; + } + var newSliderValue = SliderValue.single( + sliderValue * (widget.max - widget.min) + widget.min); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.single(value); + }); + }, + ), + ], + ); + } + + Widget buildHint( + BuildContext context, BoxConstraints constraints, ThemeData theme) { + final theme = Theme.of(context); + final scaling = theme.scaling; + + return AnimatedValueBuilder( + value: widget.hintValue, + duration: _dragging ? Duration.zero : kDefaultDuration, + curve: Curves.easeInOut, + lerp: SliderValue.lerp, + builder: (context, hintValue, _) { + var start = hintValue!.start; + var end = hintValue.end; + var newStart = min(start, end); + var newEnd = max(start, end); + var left = (newStart - widget.min) / + (widget.max - widget.min) * + constraints.maxWidth; + var right = (1 - (newEnd - widget.min) / (widget.max - widget.min)) * + constraints.maxWidth; + return Positioned( + left: !_isRanged ? 0 : left, + right: right, + top: 0, + bottom: 0, + child: Center( + child: Container( + height: 6 * scaling, + decoration: BoxDecoration( + color: theme.colorScheme.primary.scaleAlpha(0.2), + borderRadius: BorderRadius.circular(theme.radiusSm), + ), + ), + ), + ); + }); + } + + bool get _isRanged => widget.value.isRanged; + + Widget buildTrackValue( + BuildContext context, BoxConstraints constraints, ThemeData theme) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + var value = widget.value; + var start = value.start; + var end = value.end; + if (widget.divisions != null) { + var normalizedStart = (start - widget.min) / (widget.max - widget.min); + var normalizedEnd = (end - widget.min) / (widget.max - widget.min); + normalizedStart = + (normalizedStart * widget.divisions!).round() / widget.divisions!; + normalizedEnd = + (normalizedEnd * widget.divisions!).round() / widget.divisions!; + start = normalizedStart * (widget.max - widget.min) + widget.min; + end = normalizedEnd * (widget.max - widget.min) + widget.min; + } + var newStart = min(start, end); + var newEnd = max(start, end); + + return AnimatedValueBuilder( + value: Offset(newStart, newEnd), + duration: _dragging && widget.divisions == null + ? Duration.zero + : kDefaultDuration, + curve: Curves.easeInOut, + lerp: Offset.lerp, + builder: (context, value, _) { + var newStart = value!.dx; + var newEnd = value.dy; + var left = (newStart - widget.min) / + (widget.max - widget.min) * + constraints.maxWidth; + var right = (1 - (newEnd - widget.min) / (widget.max - widget.min)) * + constraints.maxWidth; + return Positioned( + left: !_isRanged ? 0 : left, + right: right, + top: 0, + bottom: 0, + child: Center( + child: Container( + height: (compTheme?.trackHeight ?? 6) * scaling, + decoration: BoxDecoration( + color: enabled + ? (compTheme?.valueColor ?? theme.colorScheme.primary) + : (compTheme?.disabledValueColor ?? + theme.colorScheme.mutedForeground), + borderRadius: BorderRadius.circular(theme.radiusSm), + ), + ), + ), + ); + }); + } + + Widget buildTrackBar( + BuildContext context, BoxConstraints constraints, ThemeData theme) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + return Positioned( + left: 0, + right: 0, + top: 0, + bottom: 0, + child: Center( + child: Container( + height: (compTheme?.trackHeight ?? 6) * scaling, + decoration: BoxDecoration( + color: enabled + ? (compTheme?.trackColor ?? + theme.colorScheme.primary.scaleAlpha(0.2)) + : (compTheme?.disabledTrackColor ?? theme.colorScheme.muted), + borderRadius: BorderRadius.circular(theme.radiusSm), + ), + ), + ), + ); + } + + Widget buildThumb( + BuildContext context, + BoxConstraints constraints, + ThemeData theme, + double value, + bool focusing, + ValueChanged onFocusing, + VoidCallback onIncrease, + VoidCallback onDecrease) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / widget.divisions!; + } + return AnimatedValueBuilder( + duration: _dragging && widget.divisions == null + ? Duration.zero + : kDefaultDuration, + curve: Curves.easeInOut, + lerp: lerpDouble, + value: value, + builder: (context, value, _) { + return Positioned( + left: value! * constraints.maxWidth - 8 * scaling, + child: FocusableActionDetector( + enabled: enabled, + onShowFocusHighlight: (showHighlight) { + onFocusing(showHighlight); + }, + shortcuts: { + LogicalKeySet(LogicalKeyboardKey.arrowLeft): + const DecreaseSliderValue(), + LogicalKeySet(LogicalKeyboardKey.arrowRight): + const IncreaseSliderValue(), + LogicalKeySet(LogicalKeyboardKey.arrowUp): + const IncreaseSliderValue(), + LogicalKeySet(LogicalKeyboardKey.arrowDown): + const DecreaseSliderValue(), + }, + actions: { + IncreaseSliderValue: CallbackAction( + onInvoke: (e) { + onIncrease(); + return true; + }, + ), + DecreaseSliderValue: CallbackAction( + onInvoke: (e) { + onDecrease(); + return true; + }, + ), + }, + child: Container( + width: (compTheme?.thumbSize ?? 16) * scaling, + height: (compTheme?.thumbSize ?? 16) * scaling, + decoration: BoxDecoration( + color: compTheme?.thumbColor ?? theme.colorScheme.primary, + shape: BoxShape.circle, + border: Border.all( + color: focusing + ? (enabled + ? (compTheme?.thumbFocusedBorderColor ?? + theme.colorScheme.primary) + : (compTheme?.disabledValueColor ?? + theme.colorScheme.mutedForeground)) + : (enabled + ? (compTheme?.thumbBorderColor ?? + theme.colorScheme.primary.scaleAlpha(0.5)) + : (compTheme?.disabledValueColor ?? + theme.colorScheme.mutedForeground)), + width: focusing ? 2 * scaling : 1 * scaling, + strokeAlign: focusing + ? BorderSide.strokeAlignOutside + : BorderSide.strokeAlignInside, + ), + ), + ), + ), + ); + }); + } + + Widget buildRangedSlider( + BuildContext context, BoxConstraints constraints, ThemeData theme) { + return Stack( + clipBehavior: Clip.none, + children: [ + buildTrackBar(context, constraints, theme), + if (widget.hintValue != null) buildHint(context, constraints, theme), + buildTrackValue(context, constraints, theme), + buildThumb( + context, + constraints, + theme, + min(_currentValue.start, _currentValue.end), + _focusing, + (focusing) { + setState(() { + _focusing = focusing; + }); + }, + () { + var value = _currentValue.start; + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / widget.divisions!; + } + var step = widget.increaseStep ?? 1 / (widget.divisions ?? 100); + value = (value + step).clamp(0, 1); + var sliderValue = value; + if (widget.divisions != null) { + sliderValue = + (sliderValue * widget.divisions!).round() / widget.divisions!; + } + var newSliderValue = SliderValue.ranged( + sliderValue * (widget.max - widget.min) + widget.min, + _currentValue.end * (widget.max - widget.min) + widget.min); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.ranged(value, _currentValue.end); + }); + }, + () { + var value = _currentValue.start; + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / widget.divisions!; + } + var step = widget.decreaseStep ?? 1 / (widget.divisions ?? 100); + value = (value - step).clamp(0, 1); + var sliderValue = value; + if (widget.divisions != null) { + sliderValue = + (sliderValue * widget.divisions!).round() / widget.divisions!; + } + var newSliderValue = SliderValue.ranged( + sliderValue * (widget.max - widget.min) + widget.min, + _currentValue.end * (widget.max - widget.min) + widget.min); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.ranged(value, _currentValue.end); + }); + }, + ), + buildThumb( + context, + constraints, + theme, + max(_currentValue.start, _currentValue.end), + _focusingEnd, + (focusing) { + setState(() { + _focusingEnd = focusing; + }); + }, + () { + var value = _currentValue.end; + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / widget.divisions!; + } + var step = widget.increaseStep ?? 1 / (widget.divisions ?? 100); + value = (value + step).clamp(0, 1); + var sliderValue = value; + if (widget.divisions != null) { + sliderValue = + (sliderValue * widget.divisions!).round() / widget.divisions!; + } + var newSliderValue = SliderValue.ranged( + _currentValue.start * (widget.max - widget.min) + widget.min, + sliderValue * (widget.max - widget.min) + widget.min); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.ranged(_currentValue.start, value); + }); + }, + () { + var value = _currentValue.end; + if (widget.divisions != null) { + value = (value * widget.divisions!).round() / widget.divisions!; + } + var step = widget.decreaseStep ?? 1 / (widget.divisions ?? 100); + value = (value - step).clamp(0, 1); + var sliderValue = value; + if (widget.divisions != null) { + sliderValue = + (sliderValue * widget.divisions!).round() / widget.divisions!; + } + var newSliderValue = SliderValue.ranged( + _currentValue.start * (widget.max - widget.min) + widget.min, + sliderValue * (widget.max - widget.min) + widget.min); + _dispatchValueChangeStart(newSliderValue); + _dispatchValueChange(newSliderValue); + _dispatchValueChangeEnd(newSliderValue); + setState(() { + _currentValue = SliderValue.ranged(_currentValue.start, value); + }); + }, + ), + ], + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/sortable.dart b/third_party/shadcn_flutter/lib/src/components/form/sortable.dart new file mode 100644 index 00000000..d85d3e78 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/sortable.dart @@ -0,0 +1,364 @@ +import 'package:flutter/rendering.dart'; + +import '../../../shadcn_flutter.dart'; + +/// Builder function that creates sortable list items. +/// +/// Called to construct items for a sortable list at the specified [index]. +/// +/// Parameters: +/// - [context] (`BuildContext`): Build context. +/// - [index] (`int`): Item index in the list. +/// +/// Returns: `T` — the item data. +typedef SortableItemBuilder = T Function(BuildContext context, int index); + +/// Builder function that creates widgets for sortable list items. +/// +/// Called to build the visual representation of a sortable item. +/// +/// Parameters: +/// - [context] (`BuildContext`): Build context. +/// - [index] (`int`): Item index in the list. +/// - [item] (`T`): The item data to display. +/// +/// Returns: `Widget` — the visual representation. +typedef SortableWidgetBuilder = Widget Function( + BuildContext context, int index, T item); + +/// Represents a collection of list modifications. +/// +/// Encapsulates multiple [ListChange] objects that can be applied to a list +/// in sequence. Useful for batch operations or undo/redo functionality. +class ListChanges { + /// The list of individual changes to apply. + final List> changes; + + /// Creates a [ListChanges] with the specified [changes]. + const ListChanges(this.changes); + + /// Applies all changes to the given [list] in order. + /// + /// Parameters: + /// - [list] (`List`, required): The list to modify. + void apply(List list) { + for (var change in changes) { + change.apply(list); + } + } +} + +/// Base class for list modification operations. +/// +/// Extend this class to create custom list change types. Each change +/// implements [apply] to modify a list in a specific way. +abstract class ListChange { + /// Creates a [ListChange]. + const ListChange(); + + /// Applies this change to the given [list]. + /// + /// Parameters: + /// - [list] (`List`, required): The list to modify. + void apply(List list); +} + +/// A list change that swaps two items. +/// +/// Exchanges the items at positions [from] and [to] in the list. +class ListSwapChange extends ListChange { + /// The source index. + final int from; + + /// The destination index. + final int to; + + /// Creates a [ListSwapChange] that swaps items at [from] and [to]. + const ListSwapChange(this.from, this.to); + + @override + void apply(List list) { + var temp = list[from]; + list[from] = list[to]; + list[to] = temp; + } +} + +/// A list change that removes an item. +/// +/// Removes the item at the specified [index] from the list. +class ListRemoveChange extends ListChange { + /// The index of the item to remove. + final int index; + + /// Creates a [ListRemoveChange] that removes the item at [index]. + const ListRemoveChange(this.index); + + @override + void apply(List list) { + list.removeAt(index); + } +} + +/// A list change that inserts an item. +/// +/// Inserts [item] at the specified [index] in the list. +class ListInsertChange extends ListChange { + /// The index where the item will be inserted. + final int index; + + /// The item to insert. + final T item; + + /// Creates a [ListInsertChange] that inserts [item] at [index]. + const ListInsertChange(this.index, this.item); + + @override + void apply(List list) { + list.insert(index, item); + } +} + +/// A low-level sortable list widget with customizable rendering. +/// +/// Provides the foundation for building sortable lists with custom item +/// rendering and change tracking. Use this when you need fine-grained control +/// over the sortable list behavior. +class RawSortableList extends StatelessWidget { + /// The delegate that provides item data. + final SortableListDelegate delegate; + + /// Builder for creating item widgets. + final SortableWidgetBuilder builder; + + /// Callback invoked when the list order changes. + /// + /// Receives a [ListChanges] object containing all modifications. + final ValueChanged>? onChanged; + + /// Whether the list accepts reordering interactions. + final bool enabled; + + /// Creates a [RawSortableList]. + /// + /// Parameters: + /// - [delegate] (`SortableListDelegate`, required): Provides item data. + /// - [builder] (`SortableWidgetBuilder`, required): Builds item widgets. + /// - [onChanged] (`ValueChanged>?`, optional): Change callback. + /// - [enabled] (`bool`, default: `true`): Whether reordering is enabled. + const RawSortableList({ + super.key, + required this.delegate, + required this.builder, + this.onChanged, + this.enabled = true, + }); + + @override + Widget build(BuildContext context) { + throw UnimplementedError(); + } +} + +/// Parent data for sortable items within a [RawSortableStack]. +/// +/// Extends [ContainerBoxParentData] to include positioning information +/// for items in a sortable layout. +class RawSortableParentData extends ContainerBoxParentData { + /// The current position offset of this sortable item. + Offset? position; +} + +/// Widget that positions a sortable item at a specific offset. +/// +/// Used internally by sortable lists to position items during drag +/// operations. Wraps a child widget and updates its parent data with +/// the specified [offset]. +class RawSortableItemPositioned + extends ParentDataWidget { + /// The offset where the item should be positioned. + final Offset offset; + + /// Creates a [RawSortableItemPositioned]. + /// + /// Parameters: + /// - [offset] (`Offset`, required): Position offset for the child. + /// - [child] (`Widget`, required): The child widget to position. + const RawSortableItemPositioned({ + super.key, + required this.offset, + required super.child, + }); + + @override + void applyParentData(RenderObject renderObject) { + final parentData = renderObject.parentData as RawSortableParentData; + if (parentData.position != offset) { + parentData.position = offset; + final targetParent = renderObject.parent; + if (targetParent is RenderObject) { + targetParent.markNeedsLayout(); + } + } + } + + @override + Type get debugTypicalAncestorWidgetClass => RawSortableStack; +} + +/// RawSortableStack prevents the stacking children from going outside the bounds of this widget. +/// A raw sortable stack widget for managing layered sortable items. +/// +/// Provides basic stacking functionality for sortable components without +/// additional layout or styling. Clamps child positions to widget bounds. +class RawSortableStack extends MultiChildRenderObjectWidget { + /// Creates a raw sortable stack. + const RawSortableStack({ + super.key, + required super.children, + }); + + @override + RenderObject createRenderObject(BuildContext context) { + return RenderRawSortableStack(); + } + + @override + void updateRenderObject( + BuildContext context, RenderRawSortableStack renderObject) { + renderObject.enabled = true; + } +} + +/// Render object for managing sortable item stacking and positioning. +/// +/// Handles layout, painting, and hit testing for sortable items arranged +/// in a stack. Clamps child positions to widget bounds to prevent items +/// from escaping during drag operations. +class RenderRawSortableStack extends RenderBox + with + ContainerRenderObjectMixin, + RenderBoxContainerDefaultsMixin { + /// Whether drag-and-drop interactions are enabled. + bool enabled = true; + + @override + void setupParentData(RenderBox child) { + if (child.parentData is! RawSortableParentData) { + child.parentData = RawSortableParentData(); + } + } + + @override + void performLayout() { + var constraints = this.constraints; + var child = firstChild; + while (child != null) { + var childParentData = child.parentData as RawSortableParentData; + child.layout(constraints, parentUsesSize: true); + child = childParentData.nextSibling; + } + size = constraints.biggest; + } + + @override + void paint(PaintingContext context, Offset offset) { + var child = firstChild; + while (child != null) { + var childParentData = child.parentData as RawSortableParentData; + context.paintChild(child, childParentData.position! + offset); + child = childParentData.nextSibling; + } + } + + @override + bool hitTestChildren(BoxHitTestResult result, {required Offset position}) { + var child = lastChild; + while (child != null) { + var childParentData = child.parentData as RawSortableParentData; + if ((childParentData.position! & child.size).contains(position)) { + return result.addWithPaintOffset( + offset: childParentData.position!, + position: position, + hitTest: (BoxHitTestResult result, Offset position) { + return child!.hitTest(result, + position: position - childParentData.position!); + }, + ); + } + child = childParentData.previousSibling; + } + return false; + } +} + +/// Abstract base for providing items to a sortable list. +/// +/// Implement this class to create custom item sources for sortable lists. +/// Provides item count and item retrieval methods. +abstract class SortableListDelegate { + /// Creates a [SortableListDelegate]. + const SortableListDelegate(); + + /// The number of items in the list. + /// + /// Returns `null` for infinite or unknown-length lists. + int? get itemCount; + + /// Retrieves the item at the specified [index]. + /// + /// Parameters: + /// - [context] (`BuildContext`, required): Build context. + /// - [index] (`int`, required): Item index. + /// + /// Returns: `T` — the item data. + T getItem(BuildContext context, int index); +} + +/// A delegate that provides items from an explicit list. +/// +/// Wraps a fixed [List] of items for use in a sortable list. +class SortableChildListDelegate extends SortableListDelegate { + /// The list of items. + final List items; + + /// Builder for creating item widgets. + final SortableWidgetBuilder builder; + + /// Creates a [SortableChildListDelegate]. + /// + /// Parameters: + /// - [items] (`List`, required): The list of items. + /// - [builder] (`SortableWidgetBuilder`, required): Item widget builder. + const SortableChildListDelegate(this.items, this.builder); + + @override + int get itemCount => items.length; + + @override + T getItem(BuildContext context, int index) => items[index]; +} + +/// A delegate that builds items on demand. +/// +/// Creates items using a builder function rather than from a fixed list. +/// Useful for large or lazily-generated item sets. +class SortableChildBuilderDelegate extends SortableListDelegate { + @override + + /// The number of items, or `null` for infinite lists. + final int? itemCount; + + /// Builder function for creating items. + final SortableItemBuilder builder; + + /// Creates a [SortableChildBuilderDelegate]. + /// + /// Parameters: + /// - [itemCount] (`int?`, optional): Number of items, or `null` for infinite. + /// - [builder] (`SortableItemBuilder`, required): Item builder function. + const SortableChildBuilderDelegate({this.itemCount, required this.builder}); + + @override + T getItem(BuildContext context, int index) => builder(context, index); +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/star_rating.dart b/third_party/shadcn_flutter/lib/src/components/form/star_rating.dart new file mode 100644 index 00000000..d16c141b --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/star_rating.dart @@ -0,0 +1,724 @@ +import 'package:flutter/services.dart'; +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// Theme data for customizing [StarRating] widget appearance. +/// +/// This class defines the visual properties that can be applied to +/// [StarRating] widgets, including colors for filled and unfilled stars, +/// star sizing, and spacing between stars. These properties can be set +/// at the theme level to provide consistent styling across the application. +class StarRatingTheme extends ComponentThemeData { + /// The color of the filled portion of the stars. + final Color? activeColor; + + /// The color of the unfilled portion of the stars. + final Color? backgroundColor; + + /// The size of each star. + final double? starSize; + + /// The spacing between stars. + final double? starSpacing; + + /// Creates a [StarRatingTheme]. + const StarRatingTheme({ + this.activeColor, + this.backgroundColor, + this.starSize, + this.starSpacing, + }); + + /// Returns a copy of this theme with the given fields replaced. + StarRatingTheme copyWith({ + ValueGetter? activeColor, + ValueGetter? backgroundColor, + ValueGetter? starSize, + ValueGetter? starSpacing, + }) { + return StarRatingTheme( + activeColor: activeColor == null ? this.activeColor : activeColor(), + backgroundColor: + backgroundColor == null ? this.backgroundColor : backgroundColor(), + starSize: starSize == null ? this.starSize : starSize(), + starSpacing: starSpacing == null ? this.starSpacing : starSpacing(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is StarRatingTheme && + other.activeColor == activeColor && + other.backgroundColor == backgroundColor && + other.starSize == starSize && + other.starSpacing == starSpacing; + } + + @override + int get hashCode => Object.hash( + activeColor, + backgroundColor, + starSize, + starSpacing, + ); +} + +/// A controller for managing [StarRating] widget values programmatically. +/// +/// This controller extends [ValueNotifier] and implements [ComponentController] +/// to provide a standardized way to control star rating values externally. +/// It allows programmatic manipulation of the rating value and provides +/// change notification capabilities. +/// +/// The controller maintains a double value representing the current rating, +/// which is typically in the range of 0.0 to the maximum rating value. +/// +/// Example: +/// ```dart +/// final controller = StarRatingController(3.5); +/// +/// // Listen to changes +/// controller.addListener(() { +/// print('Rating changed to: ${controller.value}'); +/// }); +/// +/// // Update the rating +/// controller.value = 4.0; +/// ``` +class StarRatingController extends ValueNotifier + with ComponentController { + /// Creates a [StarRatingController] with the given initial [value]. + /// + /// The [value] parameter sets the initial rating value. Defaults to 0.0 + /// if not specified. The value should typically be within the range + /// supported by the star rating widget (0.0 to max value). + /// + /// Parameters: + /// - [value] (double, default: 0.0): Initial rating value + StarRatingController([super.value = 0.0]); +} + +/// Reactive star rating widget with automatic state management and controller support. +/// +/// A high-level star rating widget that provides automatic state management through +/// the controlled component pattern. Supports both controller-based and callback-based +/// state management with comprehensive customization options for star appearance, +/// interaction behavior, and rating precision. +/// +/// ## Features +/// +/// - **Fractional ratings**: Support for decimal values (e.g., 3.5 stars) +/// - **Step control**: Configurable rating increments for precision +/// - **Visual customization**: Comprehensive star shape and appearance options +/// - **Interactive feedback**: Touch and drag support for rating selection +/// - **Form integration**: Automatic validation and form field registration +/// - **Accessibility**: Full screen reader and keyboard navigation support +/// +/// ## Usage Patterns +/// +/// **Controller-based (recommended for complex state):** +/// ```dart +/// final controller = StarRatingController(3.5); +/// +/// ControlledStarRating( +/// controller: controller, +/// max: 5.0, +/// step: 0.5, +/// activeColor: Colors.amber, +/// ) +/// ``` +/// +/// **Callback-based (simple state management):** +/// ```dart +/// double currentRating = 0.0; +/// +/// ControlledStarRating( +/// initialValue: currentRating, +/// onChanged: (rating) => setState(() => currentRating = rating), +/// max: 5.0, +/// step: 1.0, +/// ) +/// ``` +class ControlledStarRating extends StatelessWidget + with ControlledComponent { + @override + final double initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final StarRatingController? controller; + + /// The minimum increment for rating changes. + /// + /// When a user interacts with the star rating, the value will snap to + /// multiples of this step. For example, a step of `0.5` allows half-star + /// ratings, while `1.0` allows only whole-star ratings. + final double step; + + /// The layout direction of the stars. + /// + /// Stars can be arranged horizontally ([Axis.horizontal]) or vertically + /// ([Axis.vertical]). Defaults to horizontal. + final Axis direction; + + /// The maximum rating value. + /// + /// Determines how many stars are displayed. For example, `max: 5.0` shows + /// 5 stars. Defaults to `5.0`. + final double max; + + /// The color of filled star portions. + /// + /// If `null`, uses the theme's primary color. + final Color? activeColor; + + /// The color of unfilled star portions. + /// + /// If `null`, uses a default background color from the theme. + final Color? backgroundColor; + + /// The number of points per star. + /// + /// Controls the star shape. Defaults to `5` for traditional five-pointed + /// stars. Higher values create stars with more points. + final double starPoints; + + /// Override size of each star. + /// + /// If `null`, uses the default size from the theme. + final double? starSize; + + /// Override spacing between stars. + /// + /// If `null`, uses the default spacing from the theme. + final double? starSpacing; + + /// Rounding radius for star points. + /// + /// Controls how rounded the tips of the star points appear. If `null`, + /// uses sharp points. + final double? starPointRounding; + + /// Rounding radius for star valleys. + /// + /// Controls how rounded the inner valleys between star points appear. + /// If `null`, uses sharp valleys. + final double? starValleyRounding; + + /// Vertical compression factor for stars. + /// + /// Values less than `1.0` make stars appear squashed. If `null`, stars + /// maintain their natural proportions. + final double? starSquash; + + /// Inner to outer radius ratio for stars. + /// + /// Controls the depth of star valleys. Lower values create deeper valleys. + /// If `null`, uses a default ratio. + final double? starInnerRadiusRatio; + + /// Rotation angle for stars in radians. + /// + /// Rotates each star by this angle. If `null`, stars are not rotated. + final double? starRotation; + + /// Creates a [ControlledStarRating]. + /// + /// Either [controller] or [onChanged] should be provided for interactivity. + /// The widget supports both controller-based and callback-based state management + /// patterns with extensive star appearance customization options. + /// + /// Parameters: + /// - [controller] (StarRatingController?, optional): external state controller + /// - [initialValue] (double, default: 0.0): starting rating when no controller + /// - [onChanged] (`ValueChanged?`, optional): rating change callback + /// - [enabled] (bool, default: true): whether star rating is interactive + /// - [step] (double, default: 0.5): minimum increment for rating changes + /// - [direction] (Axis, default: horizontal): layout direction of stars + /// - [max] (double, default: 5.0): maximum rating value + /// - [activeColor] (Color?, optional): color of filled star portions + /// - [backgroundColor] (Color?, optional): color of unfilled star portions + /// - [starPoints] (double, default: 5): number of points per star + /// - [starSize] (double?, optional): override size of each star + /// - [starSpacing] (double?, optional): override spacing between stars + /// - [starPointRounding] (double?, optional): rounding radius for star points + /// - [starValleyRounding] (double?, optional): rounding radius for star valleys + /// - [starSquash] (double?, optional): vertical compression factor + /// - [starInnerRadiusRatio] (double?, optional): inner to outer radius ratio + /// - [starRotation] (double?, optional): rotation angle in radians + /// + /// Example: + /// ```dart + /// ControlledStarRating( + /// controller: controller, + /// max: 5.0, + /// step: 0.1, + /// activeColor: Colors.amber, + /// backgroundColor: Colors.grey[300], + /// ) + /// ``` + const ControlledStarRating({ + super.key, + this.controller, + this.initialValue = 0.0, + this.onChanged, + this.enabled = true, + this.step = 0.5, + this.direction = Axis.horizontal, + this.max = 5.0, + this.activeColor, + this.backgroundColor, + this.starPoints = 5, + this.starSize, + this.starSpacing, + this.starPointRounding, + this.starValleyRounding, + this.starSquash, + this.starInnerRadiusRatio, + this.starRotation, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + controller: controller, + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + builder: (context, data) { + return StarRating( + value: data.value, + onChanged: data.onChanged, + enabled: data.enabled, + step: step, + direction: direction, + max: max, + activeColor: activeColor, + backgroundColor: backgroundColor, + starPoints: starPoints, + starSize: starSize, + starSpacing: starSpacing, + starPointRounding: starPointRounding, + starValleyRounding: starValleyRounding, + starSquash: starSquash, + starInnerRadiusRatio: starInnerRadiusRatio, + starRotation: starRotation, + ); + }, + ); + } +} + +/// An interactive star rating widget for collecting user feedback and ratings. +/// +/// [StarRating] provides a customizable rating interface using star-shaped +/// indicators that users can tap or drag to select a rating value. The widget +/// supports fractional ratings, customizable star appearance, and both horizontal +/// and vertical orientations. +/// +/// Key features: +/// - Interactive star-based rating selection +/// - Support for fractional ratings (e.g., 3.5 stars) +/// - Customizable star shape with points, rounding, and squashing +/// - Horizontal and vertical layout orientations +/// - Configurable step increments for rating precision +/// - Visual feedback with filled/unfilled star indicators +/// - Touch and drag interaction support +/// - Accessibility integration +/// +/// The widget displays a series of star shapes that fill based on the current +/// rating value. Users can interact with the stars to select new rating values, +/// with support for fine-grained control through the step parameter. +/// +/// Star appearance can be extensively customized: +/// - Number of points per star +/// - Star size and spacing +/// - Point and valley rounding +/// - Star squashing and inner radius ratio +/// - Rotation angle +/// - Fill and background colors +/// +/// Example: +/// ```dart +/// StarRating( +/// value: currentRating, +/// max: 5.0, +/// step: 0.5, // Allow half-star ratings +/// onChanged: (rating) => setState(() => currentRating = rating), +/// activeColor: Colors.amber, +/// backgroundColor: Colors.grey[300], +/// ); +/// ``` +class StarRating extends StatefulWidget { + /// The current rating value. + /// + /// Should be between `0` and [max]. Fractional values are supported. + final double value; + + /// Callback invoked when the rating changes. + /// + /// If `null`, the widget is in read-only mode. + final ValueChanged? onChanged; + + /// The minimum increment for rating changes. + /// + /// When a user interacts with the stars, the value will snap to multiples + /// of this step. Defaults to `0.5` for half-star precision. + final double step; + + /// The layout direction of the stars. + /// + /// Can be [Axis.horizontal] or [Axis.vertical]. Defaults to horizontal. + final Axis direction; + + /// The maximum rating value. + /// + /// Determines how many stars are displayed. Defaults to `5.0`. + final double max; + + /// The color of filled star portions. + /// + /// If `null`, uses the theme's primary color. + final Color? activeColor; + + /// The color of unfilled star portions. + /// + /// If `null`, uses a default background color from the theme. + final Color? backgroundColor; + + /// The number of points per star. + /// + /// Defaults to `5` for traditional five-pointed stars. + final double starPoints; + + /// Override size of each star. + /// + /// If `null`, uses the default size from the theme. + final double? starSize; + + /// Override spacing between stars. + /// + /// If `null`, uses the default spacing from the theme. + final double? starSpacing; + + /// Rounding radius for star points. + /// + /// Controls how rounded the tips of the star points appear. If `null`, + /// uses sharp points. + final double? starPointRounding; + + /// Rounding radius for star valleys. + /// + /// Controls how rounded the inner valleys between star points appear. + /// If `null`, uses sharp valleys. + final double? starValleyRounding; + + /// Vertical compression factor for stars. + /// + /// Values less than `1.0` make stars appear squashed. If `null`, stars + /// maintain their natural proportions. + final double? starSquash; + + /// Inner to outer radius ratio for stars. + /// + /// Controls the depth of star valleys. Lower values create deeper valleys. + /// If `null`, uses a default ratio. + final double? starInnerRadiusRatio; + + /// Rotation angle for stars in radians. + /// + /// Rotates each star by this angle. If `null`, stars are not rotated. + final double? starRotation; + + /// Whether the star rating is interactive. + /// + /// When `false`, the widget is in read-only mode. Defaults to `true` if + /// [onChanged] is provided. + final bool? enabled; + + /// Creates a [StarRating]. + const StarRating({ + super.key, + required this.value, + this.onChanged, + this.step = 0.5, + this.direction = Axis.horizontal, + this.max = 5.0, + this.activeColor, + this.backgroundColor, + this.starPoints = 5, + this.starSize, + this.starSpacing, + this.starPointRounding, + this.starValleyRounding, + this.starSquash, + this.starInnerRadiusRatio, + this.starRotation, + this.enabled, + }); + + @override + State createState() => _StarRatingState(); +} + +class _StarRatingState extends State + with FormValueSupplier { + double? _changingValue; + bool _focused = false; + + @override + void initState() { + super.initState(); + formValue = widget.value; + } + + @override + void didUpdateWidget(covariant StarRating oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.value != oldWidget.value) { + formValue = widget.value; + } + } + + @override + void didReplaceFormValue(double value) { + widget.onChanged?.call(value); + } + + Widget _buildStar(BuildContext context, [bool focusBorder = false]) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + var starValleyRounding = widget.starValleyRounding ?? 0.0; + var starSquash = widget.starSquash ?? 0.0; + var starInnerRadiusRatio = widget.starInnerRadiusRatio ?? 0.4; + var starRotation = widget.starRotation ?? 0.0; + var starSize = styleValue( + widgetValue: widget.starSize, + themeValue: compTheme?.starSize, + defaultValue: 24.0) * + scaling; + return Container( + width: starSize, + height: starSize, + decoration: ShapeDecoration( + color: !focusBorder ? Colors.white : null, + shape: StarBorder( + points: widget.starPoints, + pointRounding: widget.starPointRounding ?? (theme.radius / 2), + valleyRounding: starValleyRounding * theme.radius, + squash: starSquash, + innerRadiusRatio: starInnerRadiusRatio, + rotation: starRotation, + side: focusBorder && _focused + ? BorderSide( + color: theme.colorScheme.ring, + width: 2.0 * scaling, + strokeAlign: BorderSide.strokeAlignOutside) + : BorderSide.none, + ), + ), + ); + } + + bool get _enabled => widget.enabled ?? widget.onChanged != null; + + @override + Widget build(BuildContext context) { + double roundedValue = + ((_changingValue ?? widget.value) / widget.step).round() * widget.step; + return AnimatedValueBuilder( + value: roundedValue, + duration: kDefaultDuration, + builder: (context, roundedValue, child) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final compTheme = ComponentTheme.maybeOf(context); + var starSize = styleValue( + widgetValue: widget.starSize, + themeValue: compTheme?.starSize, + defaultValue: 24.0 * scaling); + var starSpacing = styleValue( + widgetValue: widget.starSpacing, + themeValue: compTheme?.starSpacing, + defaultValue: 5.0 * scaling); + var activeColor = styleValue( + widgetValue: widget.activeColor, + themeValue: compTheme?.activeColor, + defaultValue: _enabled + ? theme.colorScheme.primary + : theme.colorScheme.mutedForeground); + var backgroundColor = styleValue( + widgetValue: widget.backgroundColor, + themeValue: compTheme?.backgroundColor, + defaultValue: theme.colorScheme.muted); + return FocusableActionDetector( + enabled: _enabled, + mouseCursor: _enabled + ? SystemMouseCursors.click + : SystemMouseCursors.forbidden, + onShowFocusHighlight: (showFocus) { + setState(() { + _focused = showFocus; + }); + }, + onShowHoverHighlight: (showHover) { + if (!showHover) { + setState(() { + _changingValue = null; + }); + } + }, + shortcuts: { + LogicalKeySet(LogicalKeyboardKey.arrowRight): + IncreaseStarIntent(widget.step), + LogicalKeySet(LogicalKeyboardKey.arrowLeft): + DecreaseStarIntent(widget.step), + }, + actions: { + IncreaseStarIntent: CallbackAction( + onInvoke: (intent) { + if (widget.onChanged != null) { + widget.onChanged!( + (roundedValue + intent.step).clamp(0.0, widget.max)); + } + return; + }, + ), + DecreaseStarIntent: CallbackAction( + onInvoke: (intent) { + if (widget.onChanged != null) { + widget.onChanged!( + (roundedValue - intent.step).clamp(0.0, widget.max)); + } + return; + }, + ), + }, + child: MouseRegion( + onHover: (event) { + if (!_enabled) return; + if (widget.onChanged == null) return; + double size = context.size!.width; + double progress = (event.localPosition.dx / size).clamp(0.0, 1.0); + double newValue = (progress * widget.max).clamp(0.0, widget.max); + setState(() { + _changingValue = newValue; + }); + }, + child: GestureDetector( + behavior: HitTestBehavior.translucent, + onTap: () { + if (widget.onChanged != null && roundedValue != widget.value) { + widget.onChanged!(roundedValue); + } + }, + onTapDown: (details) { + if (!_enabled) return; + if (widget.onChanged == null) return; + double totalStarSize = + starSize + (starSpacing * (widget.max.ceil() - 1)); + double progress = + (details.localPosition.dx / totalStarSize).clamp(0.0, 1.0); + double newValue = + (progress * widget.max).clamp(0.0, widget.max); + widget.onChanged!(newValue); + }, + onPanUpdate: (details) { + if (!_enabled) return; + if (widget.onChanged == null) return; + int totalStars = widget.max.ceil(); + double totalStarSize = + starSize * totalStars + (starSpacing * (totalStars - 1)); + double progress = + (details.localPosition.dx / totalStarSize).clamp(0.0, 1.0); + double newValue = + (progress * widget.max).clamp(0.0, widget.max); + setState(() { + _changingValue = newValue; + }); + }, + onPanEnd: (details) { + if (!_enabled) return; + if (widget.onChanged == null) return; + widget.onChanged!(_changingValue ?? roundedValue); + setState(() { + _changingValue = null; + }); + }, + onPanCancel: () { + if (!_enabled) return; + if (widget.onChanged == null) return; + widget.onChanged!(_changingValue ?? roundedValue); + setState(() { + _changingValue = null; + }); + }, + child: Flex( + direction: widget.direction, + mainAxisSize: MainAxisSize.min, + children: [ + for (var i = 0; i < widget.max.ceil(); i++) + Stack( + fit: StackFit.passthrough, + children: [ + ShaderMask( + shaderCallback: (bounds) { + return LinearGradient( + colors: [ + activeColor, + backgroundColor, + ], + stops: [ + (roundedValue - i).clamp(0.0, 1.0), + (roundedValue - i).clamp(0.0, 1.0), + ], + begin: widget.direction == Axis.horizontal + ? Alignment.centerLeft + : Alignment.bottomCenter, + end: widget.direction == Axis.horizontal + ? Alignment.centerRight + : Alignment.topCenter, + ).createShader(bounds); + }, + blendMode: BlendMode.srcIn, + child: _buildStar(context), + ), + _buildStar(context, true), + ], + ), + ], + ).gap(starSpacing), + ), + ), + ); + }, + ); + } +} + +/// Intent for increasing the star rating value via keyboard shortcuts. +/// +/// Used with Flutter's shortcuts and actions system to handle keyboard +/// input for incrementing the rating. Typically bound to right arrow key. +class IncreaseStarIntent extends Intent { + /// The step size to increase the rating by. + final double step; + + /// Creates an [IncreaseStarIntent]. + const IncreaseStarIntent(this.step); +} + +/// Intent for decreasing the star rating value via keyboard shortcuts. +/// +/// Used with Flutter's shortcuts and actions system to handle keyboard +/// input for decrementing the rating. Typically bound to left arrow key. +class DecreaseStarIntent extends Intent { + /// The step size to decrease the rating by. + final double step; + + /// Creates a [DecreaseStarIntent]. + const DecreaseStarIntent(this.step); +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/switch.dart b/third_party/shadcn_flutter/lib/src/components/form/switch.dart new file mode 100644 index 00000000..38e66b59 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/switch.dart @@ -0,0 +1,476 @@ +import 'package:flutter/services.dart'; + +import '../../../shadcn_flutter.dart'; + +/// Standard duration for switch state transitions and animations. +const kSwitchDuration = Duration(milliseconds: 100); + +/// Theme configuration for [Switch] widget styling and visual appearance. +/// +/// Defines the visual properties used by switch components including colors, +/// spacing, and border styling for different switch states. All properties are +/// optional and fall back to framework defaults when not specified. +/// +/// Supports comprehensive customization of switch appearance including track +/// colors, thumb colors, and layout properties to match application design. +class SwitchTheme extends ComponentThemeData { + /// Color of the switch track when in the active/on state. + /// + /// Applied as the background color of the switch track when toggled on. + /// When null, uses the theme's primary color for visual consistency. + final Color? activeColor; + + /// Color of the switch track when in the inactive/off state. + /// + /// Applied as the background color of the switch track when toggled off. + /// When null, uses the theme's muted color for visual hierarchy. + final Color? inactiveColor; + + /// Color of the switch thumb when in the active/on state. + /// + /// Applied to the circular thumb element when the switch is toggled on. + /// When null, uses the theme's primary foreground color for contrast. + final Color? activeThumbColor; + + /// Color of the switch thumb when in the inactive/off state. + /// + /// Applied to the circular thumb element when the switch is toggled off. + /// When null, uses a contrasting color against the inactive track. + final Color? inactiveThumbColor; + + /// Spacing between the switch and its leading/trailing widgets. + /// + /// Applied on both sides of the switch when leading or trailing widgets + /// are provided. When null, defaults to framework spacing standards. + final double? gap; + + /// Border radius applied to the switch track corners. + /// + /// Creates rounded corners on the switch track container. When null, + /// uses a fully rounded appearance typical of toggle switches. + final BorderRadiusGeometry? borderRadius; + + /// Creates a [SwitchTheme]. + /// + /// All parameters are optional and will use framework defaults when null. + /// The theme can be applied to individual switches or globally through + /// the component theme system. + const SwitchTheme({ + this.activeColor, + this.inactiveColor, + this.activeThumbColor, + this.inactiveThumbColor, + this.gap, + this.borderRadius, + }); + + /// Returns a copy of this theme with the given fields replaced. + SwitchTheme copyWith({ + ValueGetter? activeColor, + ValueGetter? inactiveColor, + ValueGetter? activeThumbColor, + ValueGetter? inactiveThumbColor, + ValueGetter? gap, + ValueGetter? borderRadius, + }) { + return SwitchTheme( + activeColor: activeColor == null ? this.activeColor : activeColor(), + inactiveColor: + inactiveColor == null ? this.inactiveColor : inactiveColor(), + activeThumbColor: + activeThumbColor == null ? this.activeThumbColor : activeThumbColor(), + inactiveThumbColor: inactiveThumbColor == null + ? this.inactiveThumbColor + : inactiveThumbColor(), + gap: gap == null ? this.gap : gap(), + borderRadius: borderRadius == null ? this.borderRadius : borderRadius(), + ); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is SwitchTheme && + other.activeColor == activeColor && + other.inactiveColor == inactiveColor && + other.activeThumbColor == activeThumbColor && + other.inactiveThumbColor == inactiveThumbColor && + other.gap == gap && + other.borderRadius == borderRadius; + } + + @override + int get hashCode => Object.hash( + activeColor, + inactiveColor, + activeThumbColor, + inactiveThumbColor, + gap, + borderRadius, + ); +} + +/// Controller for managing switch state. +/// +/// Extends [ValueNotifier] with [bool] values to provide state management +/// for switch widgets. Includes a convenience [toggle] method for flipping +/// the switch state. +/// +/// Example: +/// ```dart +/// final controller = SwitchController(true); +/// controller.toggle(); // Now false +/// ``` +class SwitchController extends ValueNotifier + with ComponentController { + /// Creates a [SwitchController]. + /// + /// Parameters: + /// - [value] (`bool`, default: `false`): Initial switch state. + SwitchController([super.value = false]); + + /// Toggles the switch state between `true` and `false`. + void toggle() { + value = !value; + } +} + +/// A controlled switch widget with automatic state management. +/// +/// Manages its state either through an external [controller] or internal +/// state with [initialValue]. Provides a toggle interface for boolean values +/// with customizable appearance including colors, icons, and layout options. +/// +/// Example: +/// ```dart +/// ControlledSwitch( +/// initialValue: true, +/// onChanged: (value) => print('Switched to: $value'), +/// leading: Icon(Icons.wifi), +/// activeColor: Colors.green, +/// ) +/// ``` +class ControlledSwitch extends StatelessWidget with ControlledComponent { + @override + final bool initialValue; + @override + final ValueChanged? onChanged; + @override + final bool enabled; + @override + final SwitchController? controller; + + /// Optional leading widget displayed before the switch. + /// + /// Typically an icon or text label. + final Widget? leading; + + /// Optional trailing widget displayed after the switch. + /// + /// Typically an icon or text label. + final Widget? trailing; + + /// Spacing between the switch and [leading]/[trailing] widgets. + /// + /// If `null`, uses the default gap from the theme. + final double? gap; + + /// Color of the switch when in the active (on) state. + /// + /// If `null`, uses the theme's primary color. + final Color? activeColor; + + /// Color of the switch when in the inactive (off) state. + /// + /// If `null`, uses a default inactive color from the theme. + final Color? inactiveColor; + + /// Color of the thumb (knob) when the switch is active. + /// + /// If `null`, uses a default thumb color. + final Color? activeThumbColor; + + /// Color of the thumb (knob) when the switch is inactive. + /// + /// If `null`, uses a default thumb color. + final Color? inactiveThumbColor; + + /// Border radius for the switch track. + /// + /// If `null`, uses the default border radius from the theme. + final BorderRadiusGeometry? borderRadius; + + /// Creates a [ControlledSwitch]. + const ControlledSwitch({ + super.key, + this.controller, + this.initialValue = false, + this.onChanged, + this.enabled = true, + this.leading, + this.trailing, + this.gap, + this.activeColor, + this.inactiveColor, + this.activeThumbColor, + this.inactiveThumbColor, + this.borderRadius, + }); + + @override + Widget build(BuildContext context) { + return ControlledComponentAdapter( + controller: controller, + initialValue: initialValue, + onChanged: onChanged, + enabled: enabled, + builder: (context, data) { + return Switch( + value: data.value, + onChanged: data.onChanged, + enabled: data.enabled, + leading: leading, + trailing: trailing, + gap: gap, + activeColor: activeColor, + inactiveColor: inactiveColor, + activeThumbColor: activeThumbColor, + inactiveThumbColor: inactiveThumbColor, + borderRadius: borderRadius, + ); + }, + ); + } +} + +/// A Material Design switch for toggling boolean values. +/// +/// Provides a sliding toggle control for selecting between two states (on/off). +/// Supports customization of colors, leading/trailing widgets, and appearance +/// options. Unlike [ControlledSwitch], this widget requires explicit state +/// management. +/// +/// Example: +/// ```dart +/// Switch( +/// value: isEnabled, +/// onChanged: (value) => setState(() => isEnabled = value), +/// activeColor: Colors.blue, +/// leading: Text('Enable feature'), +/// ) +/// ``` +class Switch extends StatefulWidget { + /// The current state of the switch. + final bool value; + + /// Callback invoked when the switch state changes. + /// + /// If `null`, the switch is disabled. + final ValueChanged? onChanged; + + /// Optional leading widget displayed before the switch. + /// + /// Typically an icon or text label. + final Widget? leading; + + /// Optional trailing widget displayed after the switch. + /// + /// Typically an icon or text label. + final Widget? trailing; + + /// Whether the switch is interactive. + /// + /// When `false`, the switch is disabled. Defaults to `true`. + final bool? enabled; + + /// Spacing between the switch and [leading]/[trailing] widgets. + /// + /// If `null`, uses the default gap from the theme. + final double? gap; + + /// Color of the switch when in the active (on) state. + /// + /// If `null`, uses the theme's primary color. + final Color? activeColor; + + /// Color of the switch when in the inactive (off) state. + /// + /// If `null`, uses a default inactive color from the theme. + final Color? inactiveColor; + + /// Color of the thumb (knob) when the switch is active. + /// + /// If `null`, uses a default thumb color. + final Color? activeThumbColor; + + /// Color of the thumb (knob) when the switch is inactive. + /// + /// If `null`, uses a default thumb color. + final Color? inactiveThumbColor; + + /// Border radius for the switch track. + /// + /// If `null`, uses the default border radius from the theme. + final BorderRadiusGeometry? borderRadius; + + /// Creates a [Switch]. + const Switch({ + super.key, + required this.value, + required this.onChanged, + this.leading, + this.trailing, + this.enabled = true, + this.gap, + this.activeColor, + this.inactiveColor, + this.activeThumbColor, + this.inactiveThumbColor, + this.borderRadius, + }); + + @override + State createState() => _SwitchState(); +} + +class _SwitchState extends State with FormValueSupplier { + bool _focusing = false; + + @override + void initState() { + super.initState(); + formValue = widget.value; + } + + bool get _enabled => widget.enabled ?? widget.onChanged != null; + + @override + void didUpdateWidget(covariant Switch oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.value != oldWidget.value) { + formValue = widget.value; + } + } + + @override + void didReplaceFormValue(bool value) { + widget.onChanged?.call(value); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final scaling = theme.scaling; + final densityGap = theme.density.baseGap * scaling; + final compTheme = ComponentTheme.maybeOf(context); + final gap = styleValue( + widgetValue: widget.gap, + themeValue: compTheme?.gap, + defaultValue: 8 * scaling); + final activeColor = styleValue( + widgetValue: widget.activeColor, + themeValue: compTheme?.activeColor, + defaultValue: theme.colorScheme.primary); + final inactiveColor = styleValue( + widgetValue: widget.inactiveColor, + themeValue: compTheme?.inactiveColor, + defaultValue: theme.colorScheme.input); + final activeThumbColor = styleValue( + widgetValue: widget.activeThumbColor, + themeValue: compTheme?.activeThumbColor, + defaultValue: theme.colorScheme.background); + final inactiveThumbColor = styleValue( + widgetValue: widget.inactiveThumbColor, + themeValue: compTheme?.inactiveThumbColor, + defaultValue: theme.colorScheme.foreground); + final borderRadius = styleValue( + widgetValue: widget.borderRadius, + themeValue: compTheme?.borderRadius, + defaultValue: BorderRadius.circular(theme.radiusXl)); + return FocusOutline( + focused: _focusing && _enabled, + borderRadius: optionallyResolveBorderRadius(context, borderRadius) ?? + BorderRadius.circular(theme.radiusXl), + child: GestureDetector( + onTap: _enabled + ? () { + widget.onChanged?.call(!widget.value); + } + : null, + child: FocusableActionDetector( + enabled: _enabled, + onShowFocusHighlight: (value) { + setState(() { + _focusing = value; + }); + }, + actions: { + ActivateIntent: CallbackAction( + onInvoke: (Intent intent) { + widget.onChanged?.call(!widget.value); + return true; + }, + ), + }, + shortcuts: const { + SingleActivator(LogicalKeyboardKey.enter): ActivateIntent(), + SingleActivator(LogicalKeyboardKey.space): ActivateIntent(), + }, + mouseCursor: _enabled + ? SystemMouseCursors.click + : SystemMouseCursors.forbidden, + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + if (widget.leading != null) widget.leading!, + if (widget.leading != null) SizedBox(width: gap), + AnimatedContainer( + duration: kSwitchDuration, + width: (32 + 4) * scaling, + height: (16 + 4) * scaling, + padding: EdgeInsets.all(densityGap * 0.25), + decoration: BoxDecoration( + borderRadius: + optionallyResolveBorderRadius(context, borderRadius) ?? + BorderRadius.circular(theme.radiusXl), + color: !_enabled + ? theme.colorScheme.muted + : widget.value + ? activeColor + : inactiveColor, + ), + child: Stack( + children: [ + AnimatedPositioned( + duration: kSwitchDuration, + curve: Curves.easeInOut, + left: widget.value ? 16 * scaling : 0, + top: 0, + bottom: 0, + child: AspectRatio( + aspectRatio: 1, + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(theme.radiusLg), + color: !_enabled + ? theme.colorScheme.mutedForeground + : widget.value + ? activeThumbColor + : inactiveThumbColor, + ), + ), + ), + ), + ], + ), + ), + if (widget.trailing != null) SizedBox(width: gap), + if (widget.trailing != null) widget.trailing!, + ], + ), + ), + ), + ); + } +} diff --git a/third_party/shadcn_flutter/lib/src/components/form/text_area.dart b/third_party/shadcn_flutter/lib/src/components/form/text_area.dart new file mode 100644 index 00000000..fd17c072 --- /dev/null +++ b/third_party/shadcn_flutter/lib/src/components/form/text_area.dart @@ -0,0 +1,333 @@ +import 'package:shadcn_flutter/shadcn_flutter.dart'; + +/// A multi-line text input widget with resizable dimensions and comprehensive styling. +/// +/// [TextArea] provides an enhanced text editing experience with support for +/// multi-line input, dynamic resizing capabilities, and extensive customization +/// options. It supports both expandable height and width modes, allowing users +/// to adjust the text area size by dragging resize handles. +/// +/// Key features: +/// - Multi-line text editing with optional height/width expansion +/// - Configurable minimum and maximum dimensions +/// - Support for leading and trailing widgets +/// - Comprehensive text formatting and input validation +/// - Integration with Flutter's text editing ecosystem +/// - Customizable appearance through theming +/// +/// The widget can operate in several resize modes: +/// - Fixed size: When both [expandableHeight] and [expandableWidth] are false +/// - Expandable height: When [expandableHeight] is true, allows vertical resizing +/// - Expandable width: When [expandableWidth] is true, allows horizontal resizing +/// - Fully expandable: When both expansion modes are enabled +/// +/// Example: +/// ```dart +/// TextArea( +/// placeholder: Text('Enter your message...'), +/// expandableHeight: true, +/// minHeight: 100, +/// maxHeight: 300, +/// onChanged: (text) => print('Text: $text'), +/// ); +/// ``` +class TextArea extends TextInputStatefulWidget { + /// Whether the text area can be resized vertically by the user. + /// + /// When true, displays a resize handle that allows users to adjust + /// the height of the text area within the specified min/max constraints. + final bool expandableHeight; + + /// Whether the text area can be resized horizontally by the user. + /// + /// When true, displays a resize handle that allows users to adjust + /// the width of the text area within the specified min/max constraints. + final bool expandableWidth; + + /// Initial height of the text area in logical pixels. + /// + /// Sets the starting height when the text area is first displayed. + /// If [expandableHeight] is true, users can resize from this initial value. + final double initialHeight; + + /// Initial width of the text area in logical pixels. + /// + /// Sets the starting width when the text area is first displayed. + /// If [expandableWidth] is true, users can resize from this initial value. + final double initialWidth; + + /// Callback invoked when the text area height changes. + /// + /// Called when the user resizes the text area vertically. The callback + /// receives the new height value in logical pixels. + final ValueChanged? onHeightChanged; + + /// Callback invoked when the text area width changes. + /// + /// Called when the user resizes the text area horizontally. The callback + /// receives the new width value in logical pixels. + final ValueChanged? onWidthChanged; + + /// Minimum allowed width in logical pixels. + /// + /// Prevents the text area from being resized below this width value. + /// Only applies when [expandableWidth] is true. + final double minWidth; + + /// Minimum allowed height in logical pixels. + /// + /// Prevents the text area from being resized below this height value. + /// Only applies when [expandableHeight] is true. + final double minHeight; + + /// Maximum allowed width in logical pixels. + /// + /// Prevents the text area from being resized above this width value. + /// Only applies when [expandableWidth] is true. + final double maxWidth; + + /// Maximum allowed height in logical pixels. + /// + /// Prevents the text area from being resized above this height value. + /// Only applies when [expandableHeight] is true. + final double maxHeight; + + /// Creates a [TextArea] with comprehensive configuration options. + /// + /// The text area supports both controlled and uncontrolled modes. Use + /// [controller] for controlled mode or [initialValue] for uncontrolled mode. + /// The text area can be configured for resizing, styling, and various + /// text input behaviors. + /// + /// Parameters: + /// - [expandableHeight] (bool, default: false): Enable vertical resizing + /// - [expandableWidth] (bool, default: false): Enable horizontal resizing + /// - [initialHeight] (double, default: 100): Starting height in pixels + /// - [initialWidth] (double, default: double.infinity): Starting width in pixels + /// - [enabled] (bool, default: true): Whether the text area accepts input + /// - [readOnly] (bool, default: false): Whether the text is read-only + /// - [obscureText] (bool, default: false): Whether to hide the text + /// - [obscuringCharacter] (String, default: '•'): Character for hiding text + /// - [textAlign] (TextAlign, default: TextAlign.start): Horizontal text alignment + /// - [minWidth] (double, default: 100): Minimum width constraint + /// - [minHeight] (double, default: 100): Minimum height constraint + /// - [maxWidth] (double, default: double.infinity): Maximum width constraint + /// - [maxHeight] (double, default: double.infinity): Maximum height constraint + /// - [textAlignVertical] (TextAlignVertical, default: top): Vertical text alignment + /// - [clipBehavior] (Clip, default: Clip.hardEdge): Content clipping behavior + /// - [autofocus] (bool, default: false): Whether to auto-focus on creation + /// + /// Example: + /// ```dart + /// TextArea( + /// placeholder: Text('Enter your message'), + /// expandableHeight: true, + /// minHeight: 100, + /// maxHeight: 300, + /// onChanged: (text) => _handleTextChange(text), + /// ); + /// ``` + const TextArea({ + super.key, + super.groupId, + super.controller, + super.focusNode, + super.decoration, + super.padding, + super.placeholder, + super.crossAxisAlignment, + super.clearButtonSemanticLabel, + super.keyboardType, + super.textInputAction, + super.textCapitalization, + super.style, + super.strutStyle, + super.textAlign, + super.textAlignVertical, + super.textDirection, + super.readOnly, + super.showCursor, + super.autofocus, + super.obscuringCharacter, + super.obscureText, + super.autocorrect, + super.smartDashesType, + super.smartQuotesType, + super.enableSuggestions, + super.maxLines, + super.minLines, + super.expands, + super.maxLength, + super.maxLengthEnforcement, + super.onChanged, + super.onEditingComplete, + super.onSubmitted, + super.onTapOutside, + super.onTapUpOutside, + super.inputFormatters, + super.enabled, + super.cursorWidth, + super.cursorHeight, + super.cursorRadius, + super.cursorOpacityAnimates, + super.cursorColor, + super.selectionHeightStyle, + super.selectionWidthStyle, + super.keyboardAppearance, + super.scrollPadding, + super.enableInteractiveSelection, + super.selectionControls, + super.dragStartBehavior, + super.scrollController, + super.scrollPhysics, + super.onTap, + super.autofillHints, + super.clipBehavior, + super.restorationId, + super.stylusHandwritingEnabled, + super.enableIMEPersonalizedLearning, + super.contentInsertionConfiguration, + super.contextMenuBuilder, + super.initialValue, + super.hintText, + super.border, + super.borderRadius, + super.filled, + super.statesController, + super.magnifierConfiguration, + super.spellCheckConfiguration, + super.undoController, + super.features, + super.submitFormatters, + super.skipInputFeatureFocusTraversal, + this.expandableHeight = false, + this.expandableWidth = false, + this.initialHeight = 100, + this.initialWidth = double.infinity, + this.onHeightChanged, + this.onWidthChanged, + this.minWidth = 100, + this.minHeight = 100, + this.maxWidth = double.infinity, + this.maxHeight = double.infinity, + }); + + @override + State

    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䆛!)I5Jmo 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 mdp5oJie)^{Vm^Ph4YK+F-dyNfy?;VZZ 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-Medium.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..184fe3a6920b4a93ff04d8f00e6fc74b7d924590 GIT binary patch literal 143104 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%0At^wav`HCmG7nd5D}JXhgBsN;!4gq1INvx2T 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 MD}mnq#rkaRH=75BYXATM literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-SemiBold.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-SemiBold.otf new file mode 100644 index 0000000000000000000000000000000000000000..c6ba024a67e15176fecde95624f729604fb4e06c GIT binary patch literal 145708 zcmc${2Ygh;_Bej#-o3kWLm&^L07y>j&YimMNWcFHke@aHc(iQYwR>#0`0THM zNKXM84DQsmk;S{q%jwv6AOH+Z%1Fqble2s>faVhb2fvhr+-$6O1FlX#Otq=Dgyia8 zFBW6I6#qq}V#Vtn>h(B29Lv>HGxCO?O>n$}{gVM)KgmcKp3Oh*j7_8${!wSx@)AZy}}i>{7k4G{cG z-kY{F`0}s;u1$Xjo_~NfaHsE4AC_Lv`uIh}t6|*7Dt9cafsZ z%RSu3$~dJ_{>%RW&>8s0m{oDTxLzP&-w!bbXs@KCKUhc$ESLYc6u8%J|aLcmdFr=M_`ceK~@n77kLRG1I6*9+jOs%_7!!AsTD zp4UK-%1$%ULX;{8;vfsMVFctr8l*rfuA%QgE!?BOel>A&$y|46Gf75OT0&gLKxX3_}AL zggr8GL__dHLR*~MAn1fTC-`a|s-IL(T;2){ z4xALYDDXhwZ-Fm@JcIm#0)wgr)eJHRg#|SZY8jLrG$Lq9(7K=vL0f}%1brTKAXpRZ z9b7HAdvO2YxxovA*9C74-Why1_V=%G z?o>UbdTRBDHD=aWTw{BU-8Bx>_@c(?8s}<_HS^|x)l*AezkZGU2ceB?3`<}W@gfaL zIEf}Pq#fzZ_&!7Ka6aXHALB0Zz^i#j~q z-(7?I27iKluMOT3ygm3%Ip6M8_)ZR~$@tbG-vg^Ztp2*jXEnCf*i~bHjiMSSk?&!Q zZ&Bf!Y((Dw^xvx)fIgS}->b#1Y{X3JD<$^#bNoC1RkK%SZ1o3t*%tq$S8A`6E&ci> zZn?^T&sxgq%_BFj`<#)?)<2&p>58%dr zOb6cVd9%yScW(OK47yQ#4ZziD z3I_S_)ubPCE_Axk8vVqb=wCfYC(DD(Bip#q+$wGZw+*%VB=@!46E(RmFZ+k=KiN<<$q)G-x~fJe}lipKj0tpPx)W@XZ$OLVL4TCDlDi}DqLSG7nPgJ z15*!`m&(r${%;Z)0{d6y5mxG_s#3?7@PEjSe2LP9M^9A<5CVlDp_)*=Y?u%v=eR~( zdu}Y(l{?El=5}%8xMa@8y~ADPT5|)qR$Mo(4cC^t#{I}$iIE$`6>%xtZO+Vf;7)Vjac8*ixi7dq z{AKQQ(wQ5{-Qo7~x48q{O|BMKo4>+6;&yYL_&Z!p@(wqO^W@w)1NSz1-W+2jnE_iB_W*nNKE@Q)CJ`O+F-Nh=}{*RC11d zM7|~;lk>P^Tp-iQx42(^M`n=k$xLz)>cTN7AO^@I9xx0~LcwqV#t?rPO9Hsz+z2j@ z8^#rI`P^ad2-lfA%I)JkI6a=jUU0v0zjKt6xKi#9?iu%-E8!k;m$)0;b?yZB6?cj| zM(*<;@Cp1(K9m25PvJl2Q~3}1WM1TL{QG=&z7s!?pTu|NJMshg8T=-+SQ-4M{04p% zKZKvn@8wtXo%!8-4}K#*l%K_a&adR(=6CVk`1O1?KatPn=ki_n4*UXs7~h|t&gb#- z_;vgWej#7L59UAP^Ktjv!!PIG;dk;Q_{Dq?T6v|j>9$F3D@gD zw62-x9gc$WFcoH?O-={pB^=rxS7IRkq#CI~Ea<(wMdC>Z zTswV;jij?RG6uC-M9o};>tO?~h~233$5CG|l3U~fc|v|CuQ@eZ(CS=W&dRkw8{CC^ zm&-uyoXpMSmT_CTL%4Tb<%+pK(ChQ!tK;q%gBsSC%||wB$Y|8W>8Mo;Q6o0uyzax5 ze}X^9e~0$qKK~2uRgHRT2Kj&f}7wkR2S+BR-uUyE3^^12)%_= zp+FcTOcrJci-pa?0pYmtt#CtlDEux+YPH&3ZB#cb++Bh(Ys)710T ztJFKxN7U!lH`GtmziW7nyT+&q(S&N=(sb1H)eP2*(R`wrty!d5so9{}uGy>kLUUYm zPV>Fys^*TSSo5pqg%-3Lt&7&64bX;Y>uN)_QQEh(t+XAr-L!qRiP|)6wzfb!Ry#>M zRXamFPrFpRM!Q+NOM5_jRC`K$L3>$yLwjHQSo^!S)PZ+!bZ~d@aWFa5bZFoZ?$E>` z)}gIKXNR5+{T*x$=?=LLBOS&&Om>*&Fw0?~!wQG>4%-|)cPMiB%HgcTcMew^ZaX}5 z_{E{b;kBdM(b>_{(ciI}V;x7cW29qq$9TsMj$Ix5I3_rzI%YWza~$J1(NT2#)N!uk z635k!n;dsK?sq)mc+&B_<0Z%Ij`tjYc6{b2={TK(&Q0g73)I!n)z^jT8tYo3 z=UuP6K6ZWO=I&O*t+88Yw*EdaJ&zzK=djKS4iRzg>Sp z|C9c;r@LoO&t{%IJx6$c5Yoym?ubE!Uyta7l_B!bGrPpb% zZ@hl+y6JV#>u0ZLUXnNG?cnX^?d=`tUBkP+cbIo$?-=hk-krRAc)#nN>^;Og$9sf# zq4y;3sopcZ=Xx*kUhTcfd#Cq)?<3wPz0Z4J^1kkU&--WZXWo(z=i}hx=Hu-X=u^X| zzE7A>W1kqGHa?wvdicESlk79ZC&y=mPod8TJ|Fvh=CiO*~A`3k;HzItCj-(cU`zKwh%e4F{U^lk6k#kaTbK;IPKOy7Lp(Y_OW zKlGjMJI8mi?<(JozB_#P`5yK?;rq4kMc-?_cYPoE{^t9KAMw-rx%zqe8U3pJ)$_CX zMf8Uw6NLeo20V{f7Dt_Z#Q;zTZcFGyUfKE%RIJx5aO_-$B1G{Z9LR-;_Zef@*{Yxy_yxB55rkMnQm|Binz{{jAK{@MNo{)PTi{6F!Z z@4w7{t^XGP-Tp=XU-_T)|IYu8f3g3s{x1R`Koj5+;1^Icz!K0rpj|-E09!zMKyJXu zfH4760_F!S3HaFvMn|JQCNal0%$A>-W)6*O8IzHal#`Vila-Q{X&Vxkkd&Wii%Uwt zs<@=IoTU7WLFu;PamiVE2}wz|%)FMYsU;3c$ctzB`0}=R1ysBO3gL&w$Hp-w=M71RzcNPLDe=dEj^hrWDbuphnYj$ zRg6&}MX@9-q66cv10zGJihY|^y6DtEnUau`pOK!BpVvvj)`j)#Qqj{I z(UnzoO|m7YrKcx!t%}wXDx(dJkB;w#d~~ZA7h#ccTS8;HGpTg1jH|nXtGmKk_nfrM zl6zHtMsi<7}nUSN@MpbrE+Pqp1rHIRS54d zP%=S8B~)5d@d?TtCMa{5#3mq#2{5TbJW1u!NM=pRY)#o%-d5gbQ$X1&uc?-@P%YNz z6oxZ}jYz2gtcW};r5pxUprAupeY`albuqP~cN&}WZe7}^DVWj}Oljpy$`TeSk2FWH zl{L6xqyjIRC1H{2jLURJj8YYs$*M9ds=^~|nJHP7wLMEgn!|eLRP?k)=CZ0>`^w6# ziq;Yuori4XRSbv-laX3NWAl}XsEj0EL6UEmp}eH>8G8i`M?nSbg0g8ZU@K@uMazgv zODcLK8#l7DfN@DFrYf ztiqO(S9nwMGJ{Hvaj9hGzm^K@7DZuMZ6)lMgsRvr36-&163Ve#>^iQ1t-x+cD8p_^ zD93I|m%D{2DxzfB%&{!Pj#6Via?=xXQ(3kO;;4$nA~!~%xm8S`y;Qb4v0{bdvtpX^ zx5|ierB~W2$d4M#YO<>I&aYA`*AdopM3uG*m0*okcnJM-6*G%$YYGo#TV8l5TczQl zY=a07Wl9}xR+4C?OSHW$Tozn-sFfvVrOj*~9-*|cg&WRxA?(RkYPgwMkMPhKWgJu5 za9lPFn7w5060cOYVu`XRhbv|z+@cU+u@k8Dv?wH56p}0o5f+6Ai^8VGPJ|t%g3qF0 zx7bOtcd?i3{MkV(l$jOKW(Bla0d2NJvD2bpFe`K_8*X@n0y9#nj8tGoE5M?awiu-? zMu8Hmh&5KJj8%HZDm~+rww4O^c%@6cy`&5eQ@VsHvl6Cs2~%WdwNI+j7Oj-R6q3Re zrmf0wt9`hFU9raDVG5!!MOaovE@28~Rz<8~ia^5bC3_b;Wr}#h6%64DhH!$DwVNH&se2roYJMGLT8y~QhDA##Q$MU1M?{UZ>AO<-z zKLgJRwuW*lLuM(1Eaw3r^$FfN^D@)tVl)++VCIJ%# ziZYF6Wg5-OG@98on$0oh)DhXKw#)%a(l9+OC80{q|J5)cCC8SKXUqAEk$=(h_f>xd zC*78tTN$og9`I&m0{T>nm&dv$q7P(*mS?LvzM`%Ylq!|wu$0=Ad_4QwGP251mRFQ_M25`qVXaWJ?8~Bx*2>kDXpol@ ztCFknUuE4dtFKU(vYI!0Rqau^^-ayHRIa22m23Yz`fqEhP^-YGy84v5H+9Yqud>mo zT2%#ZSrdcBbht{*U-m8QQORDFRh6X`;26o3dR8h|Cb4q09SEbQa=o0dsI;&4DweXM z73Z=_q1+TPfMqlNr(Sz_KY+Baoa0kwj`Hw-ZA zQc?G3qAImjWGlcaDpi@Bie8l`tx|159vfb%rb0-SD*py%MUOY3RJ2s#0xg|v=Hwkk zPT45546ULRw<$C35{W{PiPEtEJN9;2Cqt(9~G*&KB2MUcqGqBOGv?8C@()p0T!>2m7gtd zOU#)HjgDk_hE%cd6-`kUO=a7geNc2o3)`3~#<1%%1&z#1ML(G%R+9O(Do&qOar&%L zVab_^cyl>KX=6-UqnILCqau}-?1~Q2Oc>TE=AB!kn5I~xTBZ-G=)x{U5e<`&H7YtM zuc9qlfzJ+#ctY$ktWoDGqm({GysG`zV{ha#>k37Cp)`atYP*NJEU0I!5oJxvStTt<@gwiv@&L2DDSlMY7 zSy6^Z+NGpSPPj5oIhI&0N+r8LvRD-hX=T?zI9!pZa>%r@dlKxT5TP7ytY)PPyHUXb zid>ZAsFmGDpg}`r9*hL3QR{_SZtq`9AQ`sG?>>2_^u1poXM#3%%6n0UCC518NgluKE3W!KS z%PtU*2!%1LG7s!71koy8*yR^uP}WGfIQ3QrI3RZwX3PCPc1L5}9!<#jxAdied6>n8TEdLS+v$V^Vh6%o^FE z#9D;{SY)MqR7Kv*ta}+ZvSp5{a`#z&8_t?! zP!{FupG7%pTjHX+c8*KLOW+}K%-khc&Uekr$r@q{ZDXvE? zVozj(I_G2!wk72S#pLIuX657trRL>j=Qd7B%S+8qY>1K>Ci@lXDe`lg27|KD!N4YE zr2M)jsO)u3MU`CBAW?pBb4`9WqsOOwb@1`tT6|Qu3n*!T&$GsmjqKspVSLtgf?UFf zEl=@bODR4Ltj;yy8gp^@tYt7h`y9`GfDf3j<3ko5@6Ol32SPFU@TogKTza4iRrSIL zDfy}~s`pfrRCDkl%36Geau6S(e5bmqx~qCF2!e~?jn6D=3N}F$Rte9A*Z907P#vs} zP``tZO5Rh8>RIYV>P_lH>Qm~=>O1O3>Jp7gKPkX>Y<sIJC=q~GibK;y_ zokE;C;M0juoIZ1!>$KPDkkdV9opY#jN9V52y`1|y7dlUO-s*hZ`IPfr7nO^jOQ1`L z%Udq}Tyk6{xlD0c;c~#`qRSIk4SN=0b&YfF<2uB(&~++%60yzM*ZG0Bd!R=kQOt&#^Q{5K0t#{k*R)kL@uDIQBd*t@QUG1)S_i?Y`ZgIEbBZ;=| z-Q5%1hq&kBQ;8|~SYomJI`^IKMee8Ezjwds{>Ys!o(QEmq*Ch))bZ-+-#3~h=b1wP(aD)z{9E+he{Z6xM7vH+V{1H@ zs!MfhODd^})clD=Xx%_bPj475&)T!|od226lN*0(axq*!v88B*sr#I5S*QFLF8O%s z4AcFgnu75&SDI*FO}g=iE{_A3+&A>eUcPl-9F)gE(W^sp0rV| z6C_`?juwqF(6$t)k&dNfB}}EZ_&<=0(pYIM#gw)+T~JB>(a&g4+Vkq~)SvoY3zm9H zJ)^2gekR>-Mye`VCu!AFnhA$9`fh6MFPWN2g49@wx+H06uxZ2Z26M{AM^83?fA99r z=5^{PGz&upE*{x(X0>UmS)d$_)=6j75&iqMe>-FA-9UO?a+IEGB>kzDzXZB40^=x8 zL+EfiT*6d}lUhog6e10mhT|*35ZcnDGyJIjVejg5%T3f)azl{Z)sk0fkW{TCNY2x) zrJo4f)FTH7L&uLApW@#dXXOi{p=9E_M$G-9zDt7z$)MJiKEh&>k%}+ol+}9TbX`=R zqOk%s;JgH%(CBDy>1P8?)V)t<8FbY2Vo8)ymut)%k>sD0xp43MrWmz#+LzsK`s=** zY~H+QPs-;0{Zmr<_urhd$E53Tr0+_6f1}QDPW|;SLb2o+vQ6U>W-QrH`y)sLtwn>S zTC$2XRa51PNi<5as)4!lH*Z|Na@VfqL(@`nM-9Xoqao@eC8i^#CINHb zzvv@KPU?3{*LE!FEi_VhEbaYn$y&L}#jxBs$SC#m($U&~)HW1LH3h0t7o+Z5)E&Y) z+!l1rSnHB`xLQWfA2w_>u9kVDmf&icih}(OMKK*kkv^pVfOSK3hDIHGSwoKuxVCf6 z{Ka!k?cdK#>EoYPFn9SRQcrR<|HIZ$$)AV?7(->pMy`MX^7l6AFDvGk3a zo}@Q~-%DH9qeU9&q;x}Y`PN7WNrMF4A+N2dRELa)tt*!9*p{=*X3NP-PF#_{6~$^Q zd5S7(Zy9dX)ig@8q`7pCG*`D}CH5Y=Y>-Vichw|Q#0Nr~>3frOv=3F6E|Ao;kB+T_ zAVEhHX}*+*=E9MlQQs{3{M4y+3D!XAyslV^Eomp6u19-F52b;qea@7ZoYlI`XAWd+ zZTktTW?jnBLfuMQU!Z`R{e0i9uMebe?zYIZYtG6Q`}|H0+)}^(z(F1QuFTmrHn8i6 zj6uEqTJ0P7JdjRS4Jnwne$}FR8#XK&ojs&r^blmG!M%sHiK!$RMV78HC-iF8EaBk2 zz>;(Ydj3*yTx`RJhX&BFbkonn7mi8wOGz8iCT`IB zgN1>Te`fLdK!n~?5~t(AM2)<><`g>p`p4n zjU}rT-nNOPGr0(opIY*fc1k{Ur<~UrZhm?A<}|ck{odCVdzEyfYUxtR1IbOT=*t|` zm)W|_+XrfGq*NZ-q>SZ5|T=Sb;kt!UWJu){} zH^^909R*!0)mSoFQnfS&8EH|Np&4rS+U3jFuFYMZk&&C5k+D2?tqEu3Pjxu>Pj$7T zTN+!-;2i%s7=Hzq7Db~D=w3xlG8$;ZM?X?ms_t@Hir#IKbnDWVAN4!Dd&}AHclK`f z8JgYc0hWyRrRT)85(3SMKvWK5$pVsCNgp znGks6ePPwd3m2^SU%y~PW@f>t4AandE7iM~4jVE!Z+LR@@P(_Vm?9<%ai45TeCDsC z`$~2hB**A>!D%My{GPC9-nKPI{lDMW$NZ_ORGY4rVt)yu)oGo_R7IQ6=Cvr1>LNeV z4MVfS{t2!9+rGQ)%0x72KYp>}*gDh4k;2^)PMTShR#R91pijFd{`I@xr_r?W!3X!w z?&@V-V4|M51Jz3pyC)g_rDnBoGan(nhd_O3s7aS@{JzV>z%_s8ztAse6BIRdqwcg3 zZ75+XHI&SfneUe$=PY6{&upl&?m3R}FN?&zeg+ZLL}*BsVwd zE_!`sl#aHqaY{{Hr7i~Ah1U5+szbXBHPZKI7Gro}n=vj_XXlbmRtVmhhb^U?gdOZ^voHVHS* z;mej3uJLy<{K?&r`bFZJiA39EGt9)ly!zbSwO?)uyn1lU?i+qo7k)#kA=PWxK=K|J zNZlq1S7&bDan1j`O$pt4j>&JCXo^qD?N-xIhXfr*f~F}1?J_Pztcy*Jf5`}x@~*V{sIOTh9Y4R!8%MdDj_&FYvHNL^^%D^lHql4Gx~jgO#RJ1Pw~d|foa zxOSJ&RGr#opAo&c3%l2xUTUJ5C8e?xAqAG!lB$=~5^yV_UC?{ms?L8~$Q(cNy-fd( zY8U#}aidi9azF#)b}#CuMm<=Fv$Rm4Mzz$6me4r*T#)?LIN@_8XF6AqjA|Mu{Vurd zF;erZuF*#IfuZkgjq#U!BV=zf?nVgpHLd>L&~(5lN+`GciEReRwGRle-osfdejH^cOP^B^y)pdsXzy-_ehxN)lz@i6>O-!Bn25R zOS=WxK}8h^QeVGA8%ZPBoD8PNXaXHBNHx?_jxZl#^_Bzf$>psEhX>K<^QoY&|k(x`*ALAjZ9rpH zmW1aRX+mkZ;8HTNSc)s@uBN2h5s3s!#(Gqz-mxq%(Nx+;8lcfVF?Jc4(6#HXfk#b8 zRk@=UE?+)>!Sdz0-Dp;SLDcoAuMEAO(qU2r z&aoRULXW+Ox*-K_(tc?w-H+Y^I#_t%s!3ynFEo;z$mg%-Qa^Mdi%N>S8eM4r-_Tuo zA|;mYm-_4a7;#5?A_cKjN8{DB2i2jUE+6%D)KltVlH$<-Dd#2wbwcOT36-$sVFUG< zO6SnI(kwc+rtw*@pi@8ly@!$dd>H&((8-L98-a|BkQw<@W@N)I9a@QthSA0g#*;c+ z(Oa4Ci~g_y$*m^URF}?DVJ;YRF5ekluAg|z*zs6oq|WeAKEep>2!jiZ9bro9AOXH= zX*QBDi_R9<%BcB;ov7JJ)Et})`X1Vck_WwwNHIqrtLbXgZynNr-cw6;w{-NLve66D zJyp|MPj1lwYOHlzs%4V$@o4TK+rS_RL#gFF(#Y7IEn{TZgqIdd4KKpzM<15HFQC+i z-qzgRX^V|Zu!Wjj_F2Mv^=mvK@X80m?&*sc>d;L3sHuT=N0D|%5}wgl6p-_C>htm` zR2Q;cgXfwf2d`gBEQ-z;`rfFr!`PF9FM6V9Im7VO81Tm<11)+HC>5z)-ls_h`r;s+ z{+l#i_rho>{Yctf@{zPh&|y&DZ_>Py-z4s3AKlA?&y70C?NcH8y`;n_|Cm%At$}B} zUrV0+R{G>u-E*T$bvivnnqEEFh}Qt^>8gjNp0Wl_FL_eEbh1=etti#owF7O0+55OS=uCvKV{2@IyvC3p1693vD&N~sr;<sA47%&(ZBkJ&na>!N=gM-Nqz(8fPlgEHt@;Q$ow-}F0 z4gehH$UzlE5^{uxXo3N{F}mb2!MI`!(#0rZ@)Y1}LVf{^<0HTF(3+6vYK;3MFA2t112X;%NAQOU zzQ<^04x^Php2LV`PEGK4DL5?$D3iAdr{mxva4z!i0l_7nb0ruhh(Xpc6ELh9BbcEJ z!K+UU*XBGi3LY@J4?Y8oa^`$^jNr!LVJ-mU<~h!&f}Vt{#zSv{@!1>-|2A;72u65w zb?_&PfUDaGM1X0)_4yFo9k{!-@h3%KKJYFCqopxqns)=zg6G}!crVM>Fks*_#*c$P z!MJewCnp91hB{*$BL<7(uT@}hHs6HBxVr&{JMvAn7yyaCSpic3S^yu9Vfq9^l`%>g zLyIxyoNwiTQONj%7Wj)981{@2))=mhG3PJ@kpTv8^PLI)^abA~6a#B9ni2!j@z+5x z{2U{&`H28?0Ry`ENd!ZlF=`ouoB0nk_>&kIU5SC>{4@c>*ztEaFj!pvg`+iqvD+9l z&ZD4AfKl4~ECLIFp92^<4YL7bulczej4sD;aenCom;mq|z-R*R1O9LZ;O|k52SB9b z2uuR_08}4pkjlqMCjpG1mxb^RkQgA#fl~pO104QvQ7z!tf+`$Tmq2I!1KK~pVF)-}0mqKuI1L={fvz>^R)do-IOT!UNpP+K&P&0iEw~&7mzUr= z8r-UbTM@YT1@{-=F&*^vKz|ZEF{*zGcou`9E*Qpw;YaXl2VSed>jijs0q-;5lL2$Ciu+&zf<6^2LHC;{~`FFg#axC^n`#dVAOzd6$J7SI0yo-fT=H- ziXkWwg6>0bA_TvHYKI`i1|gqAb#JJ?0%~|ejm1zi6lxYhtr)2F9n{W+I!&O?C8(PZ zbss}LBh*WSdOM+hZKyvM>Ys)N4WPjaXy^hBr$EDEXw(-P9RYJ&FyDmGnGjk87ByHB z!15)8ML^gm5cUm(J3x3B2wwqKEm+?H>jQ`gf`|-=I0}(^h>V2Dkq~(vqCz2R6-3v7 z=%vtD4~;iLlcvz*BsA>;O|L++G-&n&nioRzVt8u?v=yxap>L}x*vre@zCQA^xOiy{Gitm=*>azqtIt0 z^lb!v??As9@NP?Z_XYHC2mOm+Km!;s1_o?_0VOc7EezZM14|*HB_wR|FH1V8Seza1AD!Vd6-bxCkckFli)A zdJXT-h7aQ5gZnUfGE8|3rd)&%b3io1R34@l!$+y`(M$Mv4NPkd)9%72Ghuoin0^F4 zErb~zU}k-oIT&W{gU__^St@*X5N0ic*+DS-JD8IUb3&t`Z27Dg*8iI&DXHj8`e&Sbp+P6gmu$l z-ECMO4C{x(`Xbn%hYcfO!?&=pD{TA%HpRlGO|aP?Hur(eCt!;kY#9n$C~WNkTMxoE zD{NZ}+rwac4s5>xJ0fAnXRzZG?DU77Lt*Dt*ky)YS+MIN>~03TH^UxR*s~HouMMB$ z-;=PHhrL$VTL62n!M@h8?h1z&W8FAl-srf_&196km|^l+pj99aQJ?!nOrI651S{tRCxz?YZdSZ6qP z7{0Q?SCinY2XMR<9N!Non!$x(BCw!|6?M#u?7U!I{}`<|&-* z4QJQE*`MHCS2(v6zIK4G2gBE&!TA6rwQ=W9e9`w z57$AlD-=(G;=}N$KRmhwKMU~lL3q3Xo-Br^?ckRv_~ixs`Wrmc!|$Epc^o|73C|w_ zZ42}Sl&GL&FqGT@3@v@J2mXkFKi0q>cR^|e(lID?g3_T-S`06%!^zDevfvsK?l$4u5Wa}0<`Cg~qG?Dp z=|nS`Xtop09ipvEwCO~AYMC(cM|blPkfpYpQXg-8S#xJzJmeIs=iG~;?VghMI?}!lY2TW(w~_V}Nc*Lv{UOr+I%!`@I{1(d5u`&G(xHHK z*g!g*Cmmjpj^3nWN7500SLO%OD}(gsNdIP}|6(%Giwx{R2BwpN6Uo4ZWZ)h$@G42* zNkScx(3vDGAPJXAq8CYwA&DQ8#FHdRLy{s%(ms;xMUsb-i&^EFeREAn6VyJ(8rqPtp&PbV@QJ zNybo;v4LbfA(<^mW**60Lo%+p9kr9{4NFy29i;SE^Ms6h|ACXZ$WK#(Yo4Mv<{y$=G3J>|8Q-KN+VZV2CVo|7l*aDWya;15W34JFk@LHwhgP%5Xd z+6e~^7{nL%1X_f}m-hq-Qs9qG5n?g+4RiP-@ z?+Qgh|DfW!@J}GF(qIPVit-^|6z;MQA2@v1s~Z0Y+(-Wa?v;ynuthIs8*YkU9-ekn z8zTzu_rq`ZqBcp)T=@Q8xni0XKi`X5Y5mLD{{gliX-zx2iqGJpz`lcvLWeK`zl2Na z^1b0dl+!=rrvgK*7qbj^Md8G4L4If=3iaieCisX)%K48F+@-t+#m_-MQfK`&`K1GX z-NlKgJl-#hg8Y)9N`>^zE7$*noyY%RdMc*xeD2<{U z^*_+C7who(3o?Pqi-{EYN-*fJ{A+U{4Y@`eR8{%AQopDA^uN&hm7?&%zhyxSEu3AyP<`%W$QA4gca-q0fD=uHK zV7aJWF3uk*=4wUxn*~$({r|@dKKTcvT*Hq9?%%{wzvyp0sPQE2cT#_$h`vOz9S|lPBClsmx@kezw<>O?ZIzc zqIQA!*`y_-w9AI$_a-Fq!An%bf4F9D6um*CNY!6ZektC;cEqpRysXtHsiXee8EB%|xw5I)V+|@l6e)fA)j8GezuxZAod3 zKh&Zr9)*vw=1~>dNIiLa6rXklia-6lf;QDk`cH&WA-%h`7qyMV-Va0?jTjpr`02i= zJudF;wXmL6{yLpatqt!>zDPujSXT-Wr4d?D8vaPCMq|WE;6JCq3WjOQN@WHbB{=?- z^?!tMH?65)tdCz{lnZ&qn1+f%M`lb{b7F}+R8HQg%+n1WlFn$r$0-- zlD}VyMVrMlT9LhS(av2gP|c!CKP{zonWXib{w-PS7l~5Zb$oJHZ-lmBu%JJ?1s^|% zvy~N!AAm&d5OKtu!c|)Q1~k7P-cMJalyVW(!`%S&=49D!pu9U2g`@v{3E9={u%dBS zs1r{=c(D|})5vQ?g$r9Y9g<%38?7u+KR_T(?gWM9f@=}s} z5o)sB;#&H^AeIahzQDXrJkwZ|tf<)RDGU>#9pYE0Wo1AsyVJ%ocKHP# z4*UyTh|*D^JqoslaEe)oE@%k4DE8d&U)A|WFa{b>`{x7t8F}aH%6!smUvk{{VFPBrj1Wxy=7-^dHUfm3y*;2BG)&jK;iJ zU)lT9mxRAk|EmPc-k(o}X3D~#;ZJ1srcXt|{^*0bdiZrv)Y=_A{2)E;%y-(Ic_olBdBU9f?-DusX#D$Y`Y9#L#e?WYSW@ z7-8Y1od?f~+6UsHMxx}ZEp3SU{0_QUSBGWsD?smc%`cDo=_cXXfVI&79)dd66p zCC9Vq9z2WoL^Ul&gHepr;wG<$Jpw&uUl%OxDNrVJl~9USiFr=KTf^wWr&Oc@+v+z_ zb))AH^?rtUIRFkCY#_A(RrdSu-)MDd_jpYNGH#b$sI{YU_*L@7o z&x*TxEwF0kw{GdQp8VDgIc+B5Yd6KQvOjpUZ{ii`_gt(*zyW&rua2vUVpi4T>XetO z%jq2RXF3o559maXqY9yQ%U{R5VMULl=TRoZ|DR~9^EXb>;r}_t1ZZ+&9+bse3Y6AJUBd|DcD^#JP!AzuZKfwEIxT-w0`<@bQYNE5$Wh z@sOY|m1bdWq=1)Yg8mP2q&RZQ7%kQYVr`s29dQropHzS+_Zni)M85fVURnKnFy%9d0`qVA zZG!y%d%(}zZ}jr1TRvXuJ^Lpv^%mfzUKuj|1DXGSUOpFab;!I(u88abo$!Voks@EY zSHOPyufeX6{TtVXVgI)1f4t{G!{|n-KXubTeefmFIWBz97~41=)_HD11p*3lh(4J2HK+oU|Rt_1_GpHUAyf=x7X| zyda1_;b)DOI33FrJ(sQvF{tVdh3_^i8=$NepHnSeL$y4eecy0Z6dsk-6-0dOOSLE> zdEc%p3L&LdA*960^5V-rN?Qp&2$uJ68O9lWGd&#d<<6kh!P__yUz@Whtkl;IM6Sdq zt@8VE3<$RG{5VpUdD-AUZEsWLFEalUI9W%_!TtRgvA5){{GSC}uAT_^Fm*iqudpe{ zfyj!9QMj@eRJw7eLq0e!*2+3czAOWpIeJ`Ji4MvR0KMn%|#515Tyy|cq*|G_;Cr( z<)LEVYa)%qeB8bpcSY@8abJWeVOfgn8-*V?m{ZR_QP{sBC|Fp;b;Y$_p=_}KCs^&5 z7@1~o{VaULT;jvysGcqZdF$vzr?b=qxLMFhX*KSy{#8l z6)w%!O34xxCT{v*mv}%+1EpDpA!7Ed{H0o&gppP=QlJ^q zuIS-CJ5?sb#j*^qh^vN8Z=qFUdqn|*dj%!B7cY$E_+EJjR3d!KrF#{L86x~F{(tO! zcX(9A_jf`Zydnzbx>nTCdoKctB7$_J*8rh+2oMrFK@gDx(xkW0YasNJ0FfqDqy?lX zOQD@B2A(cQ=~`2?_Z9k;&O3r>39JX}80UJRgI6h2K@;7r6c{4K}A|-&i?#C}O%QpLt#HD&i{!JSu zYR6@9(I{L6H;3@D4+(@5q^F1c6~ap~x_be~9Q$piA?Dyis) z;W7{B=Ho~dp^~4HfhY}og1)8_^r^l^oT5)!MQXlt_+5>&^k*2wIZHpWXyb%og3Af9 zAli(X>VE(e3qDSm3OY`UAaRE)v#5x)y4S>U)?!~KbdC^<(*93g1#Mvn%buAfJrQNG z6Hyk&9Z?p&*VmY&&73FnVENI{SNI>UYeg1Ug<8#HN1u+=i5QDMKB?bej`I+EG>V8#UjxPvmwiI;vk$|vwWxL#Vg+hngBvZ@sBOTn)9OWk8B zXn8hJEb9P4XV-1~9dZ$(8;nZE7lI0j(~l0rmgimJNtm;LAGRK3DfUf9u}rw zyf+!o+9=s2$rExdD^?UGl+e&6*~iJ~qQ1_J9IkYhp= z)qsH)Wi}u~KLd+H;;t~|)*qTmw|+f=+HJQ7?gdvL&GtanJd4teJ0w4YJ+Px`C$aSu z#8rRT9@uUd-M}|J?ca37ZmIe|PEu@|1)T#Xr(~vgf{SO}o#Ur2teD`ZP4~Lkn&O=I zscLL`7sxTdn5n(eSldI=O1;LK-l^FFU4%4vFMxFEgaXGnz}n%?;kii`#M2g%V3 z0u(9}g(I6vXH+_l2Rj@PtH_3R%(V02b-qcLj2@OG0mljBP*!ack*oJWKX@nAcdg7{ zMP;s0+Q<=4x>H{cp zo!IvKE|^(f+hY7<#Xoolw3Do6lu)L@rPgh_??e1PHwhH&6K2&u5)u3;42^mSD)$Lh zx)1TQwid!H-j{F`+&@nqXkZfaZ)etWQW|<&DuxFAvJagS@iKBT>r2lZuGtGipKWF{ zMsfB+N)v{qVo~w#@<~huvjH`2riR@s&9A-CE)OnssV?m%(^+I>ww9x`CuZ(`86*m z4FfT=G6za&vwz^dPQ!?ft@W4LQt8IlZ{_3dO~V}V%TKhM5ouh$E4hIOc7x3JLOif< zvJWA3>w|Qw;-|M;CwXj#XKWH53gkTeixUuw;0GoB`r|{Eeqq-!o*?o;(HHd`d*1oc zBxGS8Fq787SO`{wr6>a%9Nv-EVG()2XAVKCNrDcVaL_?&m&`6SQ$v_24GXM8Gi5vA zC!gJGmygks0S?0#=E-sxXW)CwF8e{ZVn31HKE+1C_YGt&FdZlbs&HuyEMrknoxDn( zH;O~C8i-$T^*gqV!A^aN)^}#Lt7_*i<&#>*oKwg^7n27p`U#9;896DR9ml%lM-H0? z5@Ql(*|}Q4(m#Cyn-@>NQD!-kp@^;U6a$x#pFQHBGj~{EWvI;JA&)>!`iySIko4pD zGGhkrZC=xqt!n=!7f2S;c%B(Z)<@>!BEZ<{D&!JKrYZs3)hNe|+s?+%`Ae!IQm3(| z^D;nV+m;g_1yZoO{Ki(77Y7ZF1p+)>cIUFpa`Of6PifPrlE8)S4Cu6j!l^mH&7bm( z8w}0pL?KuwIXmaYVP%LDCGfTZjGtuibVNx;%QA^#Hw&}3?VlG2iEEDXW%-sT%8A1g z=83%4_D|+mLTKqi+N2TJLME*f_4A{S8gcz(*q**6%X(U3evit^iNCjLadV!Lk$59f zLZaPJ9VXvmPv9SHjobSSD8|RFegSDzj{KTqzzDJknwmI?mA+5rrVA$s6g(3*H(|_8 zni75h5NB3wWYio3FbOxHGxaq$Xz73u(5`^APlbc&jP}Piuu~r8!7n%>o`1n^B%Ctg znHY!NaKst=1ttyH-kec!#&%KdsQtwDl-YaW&_<{G&>AOjXdNL@`oUC&?72b{C_Pbm zmjfktCqY)C{ptTabH(2g-kgEzWDZgh6Y0IM#jtrVB%tD-0H!Q3DRfrQc2Opt41)G4 zMucZr5S&&4SF$%W{U>M}lfCEAmz7rQfTfqrmN5q!6sH&ilqL-b*UDYuAbULf3{U1W zoLa3Rp6xM-2j9COJ+CwS4Nr1a64I6FOyyr3J05ZK(?}`rdxpZ%(g}Qch4dd``GXFH zED6{2fis(+n+R$1DCj4+^y#MPOCo?q{!B}u610NWqw3Lv-o8oYzX`~raY_2=p(sgD z+A&(yfhuc`s`OM+qvGg6LK>Qo=-XP7?_$~r?#iu5;7VOCsEZ(OMxta)J5)PiZgK#& zNe;2za!vI7CT^q?(4j91(6H128g|wN&JgR(RMZk_V0-*O1AZuMZ}E73@5#XAGhZjg zjs716`CU}Q|2vsn+HwCw5buZE1W0bB+$Obf)walNsH6VW+}wh3J)9UH^rFuA_SBv6 zgqQI<^D;UTa{u@rx{SwfFrNF!;I=^WCYjs%k86hSpK{KwP`cw8C}p2a)|*xj zC*3vN9_ZIyNbk>`7WNAc)cW;M1>@6{JFJMbZp{EP{ftG}iS!DtHUosugiq%OV0@07 z3_*?Nbkv+_5ci&Qi+TpWs6AQ}n7Z}tatVRNGFu#$&1DuN^I?67m%PWF8R84stnf;d zGP5W=k!vUUOZZUd_}(XxWIkSS&!svQZqFC zn@tM6cc9EY!g82)tX*_aTTwT(8^nWav^#8(d_yxbO%tOU4jzP}Bps>$_OUlLITEI) zP{;{&zWEcmInAlPfA98M-%TBYnvqtLn${m;ysAAOBc`B_4b-*`G^Yy{*D4PeB?dKZ z#3F;?vCroeN+E3yM4aj+%hVh5gQ0(~riI-mme7oY#z;$V3Rpy2HQGFH(dMZd;M+G{ zP=7&X2eofu$`UbE{H=9jWcdKkGpO~G8J!3w%WR;&QD`6VK3#rn4^A)ln5*1;MGZRj zZ2{?KlF9(k{W*m~AI!CNCjKdwH`?3rENOjWEc%wusreC-?)Yh@U577{c8<2zAtMuD zc5hqzbNkftehgx);AuI6$+FX(i}Pi6gquwf!>YCEQlGT))bbd`Y7`rG>`&76)0Qr? z>Sz+*50u%8MHty2S{0$Z#w&Bw}a%ac-V`MPXN8`yBY? zQagqJ@{(^4(gq-~_i0gHbG*0MEA5Pk!4^9)Qwnm(_2la8WHe&bvOmUr9R>f3e%tuIEZqR$r_r-}7`uN3bh8dNDeB zD|oCCVm}D~7P=@J;B_tSGReypYOa#_@JU4>k$(K{Lo<+olvB9HPjL_=z6^m=2 zp4fJ=sQ)jNoQRMdB*uHbLy&09( zC}-;yW~ekys@D~nHO74ppc%{gL;C?u7P@paI7Z`smqXj2-z904sa4qM8=93f*;avL zsIHfovLK=HrAhwG-k11{n_o`<1I;g4&D`E`N<|Ldb4(NpqUfA!A}%D{RE}z7-^IPy zxwnHvI_EC(#6Nj5c_i+;7m9%dP!zUaPnIO@f5AZPMeHt6(T&xetUj>P#X=IlpP)Dp z%0<4CfM|7$>z*89^d}j1IG}{_1|d&wKOe;(SOMcKJ1$^}*F(^^UfS7IE!^U3T5=P& z7drWGH+Vya$u$G88`1Jp>l2GygSFof23};YIG^OE*Z)a3@{J~c-gBV>Hy`e@lY#Lh z`t=ymo4TP2W=OX~q-`;4V4^e<*T6(+q`{5~nA~|tTeVT_S`iYu;P49}9AOSYzv3xI zRF^}t^`SOE)%9?z8&0lW&aVsdeJlKj)+2`ase+YLxM1bg@c#1?6s&w0eh9z23ORr7 z>>w^!Ieqj36s#PyaKv)b>f4}^CZ&M-6|Z!o8bmPb73me@4itmhg7%wT{HQ{$ZaFn> z<2QR7+W2vfLukt>B{Un8TLjRW&HPkUHTwCf_*#2UEqum3{Q@hYryprGsr81@7wxgq zwIVM>x}%)s>mIT#Sx`j}5yG{EY>(GSVercWLF?x&+=wx_ViP|6nuHg%Y({xBLgfrZ zEKy+IP3P{}?F*aJ7YH<7Kc z&!G0n)D8YV?#D#%-w$*wK)Sum6(H~`@e&HBWbWJd?+5?GP&*~v85`r%4+Y=BsSyyZarZ0)sjBliB#5yU3k;WV^atR8jYaBbS;r0<()`X;ApYTip!G)p76zq^m3yW?9bNG zKx8E32*g+^o@pG#D>z|OyclUxRjsKn#+p_-I6N4#mAMdlNMKX{KAYKqLN z#`~{s{S(%BzvjjwGgp&Bhg2mpf6pTGz=eSjnT^x7hYk!q9Vnwvq&3jIg*W6Issi6b zc>}i)$!K;Srax4rX#>F+-Fud4MUZ=M20F>V2>hCNK zs?ptHjmqNj2;DIF`LsT*jua0d@4H-2j*30_@9WPsqPnPR#BnKI)Y1Q?Y0Qm=tb z-FmK7%i3t?dK|aPp3-Sg=rn^+Q%0$rgNC{rAX=bHNe4mqpNe2~-! zRW!RlRZ?H5M^Mxk6@@$RK_TD9)V|BW+S;(+dar3rT1)EEV_slgEYcqwg5Tgu)fb>sn zUgri6je#?1J;!Ar$E*%lznv!E*cLNxJ z4mSb-`+}qm-0UD6y%WujB?p7p(d)v^_S8?r&3>=X+-y&MJ2#t$jwRq`i_MND`kqNf z2pC#gkhV9wV_A!{^STyIvTqnzQUuG^@pw~*@5WQHM%@Ga(O=~oAfhmL6uC(U_S03! z>rpP}@s4B0^E_dMeLk3&;MCj+C1wgcHdPaLLKk+^x$s4P>8`Q|3d3&iP6iwf_IB*B zw!~N}QtQL;t6-u`+u3P)k+$2tJ(*h9shH5S>6`+2=T0L&*kmAkHw$I>l%e2K&MEVQ zkHV^uq92U%z7D8dI?El_gV)t%rB1sum;Q3DFU?dWI#-PR zh+|k#@(ZRm3AsYP3Kyi%hsl~FEZb?*l9gMu6>T^74=3$9?Q%x2=sQO>95M(+T@Z(x zAcmzzjjMS{Yewz*_wvztZE3%_H8#MV>J%cQ7O+?Aa3K&uZ9JUX!#b1SE|PD8%w=7) z2Z1f?DX0kWPi)#EAuz3BQ2N~cAQjJ8JjKs@?$;|Am&G0f>mxD zVO>Ls68*)h#(R66#NjAFC*)fsi(!^x)#O`n&Z1@5SJbF$&)S-P{>Q6KvLX1$ake^e z(l*}*K||AT;NRW*5X15Z?Wm7zPJoozyFQ9%uySM0{_ru!${bVEzb+?on*K4K{&g0j z28b1n4)jDw4r-DecT8Wfu6&34RDI3CGv0t_f+{92f56V_|CA-42)YLc@y7Gl8P)5* zX7hi6PG6OBomH)Qv)wetkp&m6YcMN4sVwyKypA8sz~s~ONTanJOHhES8E=t+wHw7w zpx7GLevx3&+UC^_zh#nF+@{1X3yFG*OM(cOCqVHu^CX9{j4XK+yDi z_=62Mcm*Qu<3jLv41HQ|bYWr$(J_{=`5@)Vwxu}PrsOAs4j4b#w+>kicuP>t3Fapl zY%*e6h-)3?W!C7Nd4kK1LM-{7Ipa%% zgryZHB!wK?{Ys)l*W)a%ybPG^fm)R-`CD5&@?^lgBECZbpxJ>PQutb*Sc-LKIh`Vn>e6O@PvZDF}dvUK&P=Ki=Rt>BuJzeQ9UC zJc25rDkVrEHLD;)tdN~z(Z|rk6Fw~zT70u2w%GcsUCV`EmM(1#1#3D^!Ck2ddJuN% ziu=TlU@x%^6g2uK?d+n`#ar|&M;h#c5IR)rGSujbAcRKJjrzxn2XRTpMO*gJX|NKl z;u-W=7>w#$~B> z&Cd?idN$({W6vlshP9gv)cM72Z`QbvNoR-=S)S@= zUrbn->=`A{^z-Ps>`DdFas*VZGoa*$UoRe*Xa_6QP3}N$%s$#;_G9+h+%VaG%tOq6 z%yZ0s%yZ3duYyQnMoiIS*_hHk5ktl8BUuEX$U=aEnq&4tQCB`}(@Nj{~ax20le zCaC7nDOn^9Pqx0NXAUNvj-KwQik2+F1S%X2M2-G%$)`ABSSl73kFP}5MepZCmvU9Q zJF22V4uoSD{jlFQ@DEqTYb2MTdybr~WJDv2Q5{<-@y|Q>Wo=`o!?Alg0AtMeK&S0O zDCHo|(~jkfk884%^)kZbG0ZzQ7$kF9@ekg~Mz%@Z9b|A@F|zNFkzGhbU>A!u@DN{C zty0uj6J1UOlifye@uqWZoCy=o!YS}pBRibE>6`?I!W{)svR+`lBR8K37oI7-(c|3o zrkl2C!#6G_y))uen9G`GqO6Y0DGZ>jZTd0hO5S8nj_cKrAg0%uyT>H$R3eJ@Yrh5l z+=9M7by6+puc_z+XWrg)*WiTjP>Ctw6&$jX_%i{n)3H49I(UkvY;4Y!?|LO zB^;;cuyNU`Hn3ZnpOUV22tHz?*s_%RaX5HDjZ@HJMMz>as>nv8)Q_ktt&Qe`GdfY^ zpz#?;Kc#A<)RtL$;XdpC$S*nKW_^EaBWHrJSFFB7_8x&_c4X7CeVX2JVp(V@(M*=l z7gw*a-&5fzK!q0XR0uNiIYUY_1?=SqEJG7_On|h3na67ZhCa zWfv4!`xEFqW4wE_&eMT?g%R^i?$!%Bs@{9WT!_MHZcvyiMo>YhE6|Kt82|+|qkYx4S(vlRDY^GsC<;4qY(p zzq&tWrG(Kk809E%gEq?}+8NlmzT3fPW)PVgT{=i+>Nea_6CoHi5&9|c7r4p&>8pxRhBd#nl^wg$yE1P_ z@4)o#$J%F?K~S6F>JG*g?0pzzhOsZjPzNEqHB-DS#SY;W*;82uA;>9DP5VBGgFS-+ zSFm>v>Y-zu?Y(%N9V(}HozJd%5Q8k^hc}BqMu2{HW7ej?&WLnye)BS-tkOT8ju47^^G6x@%N~qp|!sIK^@z;4H>cg1Vfg zyBa-M7lAhL*J$$>R8XTL?JAWv?S_uYnbjtqf1Xt{BogV_6p>g zVMtwFZUAb!ByUJ{u?tjT9y`0T1DP!=^Revi}x-oB^8|Xlncc8k(m7VAcj=#l~(}gZ&B<11_^&GUV z{lg|MupJF_C2wmO4ipS#*7}=U+IZ{f%64<9e#Qy>(ewd7!a)}mM+IV+!kW6w1^Nk- zlCh{ZqPFd*kw%TS`s_v6;XX@$O4*{?gZb)oFULkS_2P}_JjuBc%PKq0?et0M+6d=b zTv;iW#EHg-JG-oDN|3aIp}NGI{+u}8baK^1@uoAYvVCH5jb!6Zi-Mmz*4JPxudm%` z=lT{-a;$Ii=ya{m9^5^a-LiRMQvJ*{WfVZDA`P0)wREk>)7oNMGb-c7=7YM_;msb~ zy|0c?c^)8fA^E?#!v1p%=#C`lw1czCTHP5P4?iGV^*Gu^MaO@yG7S+OpVl=R)$Lx% zgn{vP*SeW&fWbXvO}W?d>mrB{l@)rT5q?xL2`Ukr^mnl6bw+&a2lan)0=yb+M9HoU zwY@@DI7*O0WNWKRkbVnK>lWG28kw$YzD8l2be5|6?<&)As2oV|i&hJs=s<AlK+tEw>vq5g3e z4rGvjJ>wi2Gi;HL%%4=HHLCHeNFB;#cc~)~dE_&2Vn1CDoSCP~firBT5%W9{yqFa_ zQyN{dh?GWaD)H!*jugk})MOJXxUOM$v#KzaTnhIomwz|dpp(|jLX}p*lp3+ty%eSH zt?~fcKjSDps}_ARkh}~}6ELG(__D%VTu%|brtwaH@ARI{Tnux@g$X$Qy$rCU%0J3o zrxUZr3S6P*afF&KLIC3~^YKpW9`G?TiE}+t2@9s1yPPr!G?pqG;&b{e9VEiSGO1~TnPl^4hE#o%)dvhJtObwyddI2WYepb(az4$OFnNMTzX{a!)CZ2B(UWPu zh9G-rwavp|=qgSPJCCTWJ^n#VUO8_LGAe^@CoX3t(RMLRi1&>%tH-TSsx3V}6ig!GPZmv6+#d@;x~13bvDIB}fIWk!E< z!pMY!n2EmmhH`4;^?P-Mk7yKOX+{0k(GiUfEmX$ z9{pSpG!=w}Y?Gf0*&VM2Uh&>&!xapRVVSoQb?U%!(W+g@(oybbVJPHo?VM^i06IO| zv|ls(sprUl)yPj80#QgJOZ7Znql69R9b|UfE#&9KH*H5f#43)a?T8%7wPW=wuDvsm0T7*$Nj&i>(GkM&` zgem~?v5-+F>^@2lQa@qOGyh61PL$95J!@$xKgSQrpArpkV-!sn*h*+T#f5?Q3KY3A zN(Ll^My?d9plp;dxUQ@Wa0QNxKLsn5c|?S%u_2kIP?U9il;?EJx?D>LcQ(>ala zr;@0@^O&c^t9m~fJ#Ih62UetYoFviA)<=vi-K%YL()t3WxT`@cW^J4lu5GencK)5{Sk7SV<4t6dWNG zz2RsXR1QX&Qz3ic1Hu=MN6{hJ@i5vy%t%GE069EvMj9u%gtO$FB~iaZYi3;3w84ym za+y4K*~x;uFHnsY|Kz}u*Yj2`=dJt@@8;uU!uNci9qVOK_;EQl5xtn^pcknh5WT^z z-#>7-*28%7h@-qCY3Grt53~)|hC=cMw#Ay~4O?PE%35n%kociZKp$v8&Ei3F-;SQR zE2QQjXWZnN`@4t^B-klwQE(`Yj5OZIZ}9CamXg%!PkZU=(93_5_BVx=vzOOxRUWKBVV?>5 z0g$KJK-U2mqCOj-*g)Kw^f99R?Wn;I1-M&gSplO~+|sF3fFwMTHDh_!|T?47_XPl1KwImzb88?G$Bw9N@mmy1+wP z2tGz}lD4i`cvO?Utu}ROjgM{lg^|aKf8g7Y4H4wG9-+ha#K_)*zw51XRxqm?2G>{( zv@g*Ww$}jcGw=HyC?_r^mfhd@3gG`5SNORnG>PjXsYT07v3zXD+Bfr@ke>wo6=hEY z{WQw>1OnALlahXc3XA@q0%t{mv!Z|HmLK_R$l6(Dp;8^{)$j+p?}*?0H`b$4nh^ma zc5TCh~5 ztb!y;O{#Bx!nZjtA#Q~0Umgx#9nLE>kHj{a>GmTQYPNxaPr)#b;Q&lg6PCPqiGOD& zaPf;D31yeZw9Vs-zlu!{k%;)SiDIS%Lc@Ib}Qw=5&ZzjG9IaNvw@FX~a?KM(n% z6Jros>ftdL7!xCmzvso-h1J;s@i+QOON%0BDNC%g0nzK0Yp9z{n>&$HLM?3$86|&s zBr)JJ=^>#jgaNc=*aM(PmY^%=Ng}&f<}G^xC6lynfRf{GJxEw<#I-bKFFV-AA8-wm z{6WAS_7`n#M{t>c)~>^+>Rvklhm?IEq^K|S(#6)t7RYvttfxrZn5-2bY2{eJ7IOhU zop2x=3&;Z^H|&ut_rUXZ%xRhFu6#}3HIXcUBa-$W`RRc+3(VvgPX%7WXFfX}yF^@j zROYUE3G`d*Z(r9c68>N?`tTpy4Cup&-NOfArP)TRb^$)kGKK+~A(6%>%oBlH=Ui4e zIO7@WCnSept-}h-PZUGVLnRCJLuC>ka-MVx+m8(IYqaZ&X+}4w^nqr^`}xxZDhcR&sOPejQNque1rWs<|0Drt85 zi_!ona$LsjGmNMO1vL3d@23RjSWiJZ@-J$iG0jb4H&25ZIq6JQ)9LTzD9 zf4MJ8_KX@5;5kob0)Av!`HCI@Vb2_FpEv>Sb?X$P->(I6F*RJ!14z`A(=h0a`Vd1u z!1>5d^$U(N`fAni({&{GDh6PEHO|A*ko-_axRIuBCE0kMD)Uq60(+OG`7AktO*zAT9+_wCmWI? zlH~!sFBb$Fjc|=kge&kL7x@n)#^93@0(4Y%F+xlZk(9uib_Asfj>oP+k2@y&h?!w? z<}4$Pd8-j(KNulmGKu9hd&sPo+A*V#(hbYWAmM+i=eqVkbI+N6>WKK_As`@&(NFk% z*R!jC6)g${%out@7|PY@pmWb7O%JnHvvi)*dTQq%wOKOD_I=60 zhp9l8waypw4=-G}fi#3x;LNupQI(oB^DV9!nUP;)l(q&5CWp8HN}#y%zE4K8Zq{`}`)WW4KqwD|XE~7ys@&-m_xO zgS}}g)sB|Bfp> znzFR40ohOu#ik1$QW5o|`=MU`O4}N9V-F)4qF$NmbnDSH1DGOiv1}d-y8DXfTKTSA zB`qlB!p#cygI$&4`U5#h4hF#s%p*U9=Z*<|$ugY`NDh`^V&1vUyCA*XqTR(&Xh*Zb zdP@y}mOgilk6B$rlXOctYJ3v)0AM+Amtr`bf0ex|X9SJU>9M6f7?AB$WjE%7o*YLxsZSu7VRwAxf7w`MFOF;(UcJ%O5O zWSedIjJ%JHlpkplpN}*?@~(*zg}50?m%$>Sm)i2mVAQetG~p7uVFmF@C_L3^(|hd! zCG5-jALejT_`615OIBC1paJYP%ck?~C&^?jF$Hkq9V zm-^yEA>YBzg7?sxe$*Dd$h-GzY?oH7wePq~FP6rlJC00 z$5e%-j-spqF%x{pUlzV2@7{q3=qBgK_{Hkc^NhllSP~OtVId#lw?<)sw6|T@rH_Pg^}{J@1+$dMCbT&&%vh^s@WE z{BL#S0rOb}UQDqbQ*mTp!&bd1c~{BYRlI)#fAbec4hYqtp9@sM4G4TcV%L8}9})a| zoIsR5{>g%$S|D`urrwi9ugbUXc>WG8ADpBp3VcMX7FZwC)kAb&qhsE?DshdO-{x)F zNa3hC^VvQmnxdx+m2dQ2X-#GxBPOm12}0=Tue8CBi)Od)y=|eHADO$Cgr+b1L`}UE^~!fz|LY-_53#hqqqDAQ2(RW$SLN$ zymmH}nMJ8tEXeT`OpE4o@WrR5nJ`!p#Njkdz$SV73{w*(BYkeq!A>ox?&lz)p2HR@ z5p=qc!%=Kd=E1rq@V1TQZOesse)w29`tUo)G8qbfT#j`~D74_mgBggl4M?c+eaGGU zRjkJnvK%FGiMEDMyQ8g?TLpMOw4K@xq}$#g(aDGtV_F6DM}luB1rOo)xT%@|!7(x- zRv!qj4#>+Su5ayT9AKIp12vM2y^diFkWGD?@sX_{ifLH!4**vSlYMT>z5(ukKw9ww zNk&C9QwEe?h9KVycAIHupMT&PKK2R zz};4r0a9okl-O-hBW@T=Y|mMYz~cYpVSxJ_=wYwHZ6E~#t6@Y|e6y;MIp<$PJ;)Cr zB7IQ$rjc_V{%CH})n>S~gGxb+{ty!Xhu2HUT!SDUp{gQ9Y}s{Y4n7PKU(NB^MG>03 z1=m4kpXODD;PDV~ddQaM==<)t;#likkBztj&sUX!&ER*ewF5kl^J(o813!Qt77&B| z0SnNr)$j+-E=VUIU4xIX<1Lc2qOBzyce3V3ZA z0cVgL2X2*&roB9#VP|e%-|J;;@@5myz zc)S&{@(Z+)jP-y&L{`9v`RI@RP~$M9sC2-{M_L1OL=0@LZd+y2A_c8+QO!_9>?CoK zHuR%rn4nXCySU8&-@oI2I~MUILWQfC@cwCsx4a4OC+6rzBfJ)YlR?B9cTKS0A#s5= znqYV6Z`Ym}Y>X=BLg>r_z677Z8lHW}uBmsmrQjssD}2siIc16R*slZ=DFO{@9yDGz z>)Zi3#v+t%WA@U*e?Sk?zQ@X5`5u!N5nD;@pk;lirADoMea(O*puWhhVz*@zSUY2- zB^Fj5H+>h3o$8Ka8gLaBiV{qTBjK2|ow-8b4?YIeJ7F%wAwKv(M%pn53r>=G|EnsR z_vHI`<$L!Kan3!ZmqP>HhXS72=*AyQxid0sg@bCg=~S1rD&!qD{4eNQ64oZVi+%zI z{+RjajxYpp9HQ-==6wT6jeP>1#m}oo$pt7M{7lB@AWok@L|r#nO>sLQ4w^H{MTl8| z%^xF%Vafs!7(57mX#Af~da#29qZI$VpW&&-o%j3p_2@{*R@j+v;HcTrw9ABN_@~}2 zVST7eZPpJurl4MGWWP}f>rfPe>+EH8Bbpc6JBNAPi|d*KUi%;Pej0JFmcR79EkC%2 zYRYqB_u^95giam+cbmFgzT6{9-#Wu6bfN<6?=T_JDYVF~juTP+>jz3BK=;53BaA{C z=m)zIeATszvo*FfpdP4WpGA2QvaCM5pR@zC8kOv`;P7SXQK!CL0gx?k%YwJuZ-W1} zP_mYi(O;1*#Vx+pEuFGtYY4qa9Ij9BDb(87bi_}Xy~=R{4iq*rN|jAJU@4Q$3bzT0$Px@6&ExHa=)3K*I69B7|#( z1GKC1ZTZEu(z1@H^o)_nDbp{at)fNt2lXjHSC4|sW5id>99P#1$_|gePm=C7& zP+3k)Upx0_1f5Q0OtrTg#oG&b9M;gh@1}LtLXC1tqpT)<#LyibR<@q1$()D;WGl&Z zg&Ua@CfnAdJMoM}@bqs7?6jTiQgLIR2;c z+VY=5zTYqyPyF6%)#zmtw87uD?{0dk2$i?pS(No$Yu$=kW&?o@;8(tHbrbVKS1#H@ z+BB@}zVIiMFst37cS%hTDQV1Qouz<^vBS#X1@JT4`pYks0wjNkmLJ9HLs>5eJw})t zm)1CURRC=CS7N)bfoTYChB67OuISNU zp&eW*tvP_(^EQaD`%ddvco#si;(JCoJ1HdFM#0(~(UV)-%&4ewVB(C6TekfU--2=9 z@(uZH8*x$NFvbxT+qS8$2(GCF18nH7wmizUkf_mS$GAurMHPZw+Un++5pD~u;T{Wd zTOrt?7|k*KW5YjqXLRSNA>13BetKk`7v=dgs>ElOlTXVjD6)a(Nz?Ecyvg)f=+`Sv zsRz;}bA$O5I`tR{#*gVF;@}EleYw9iUj2MDq(F24l3)$=NRbl#`qe#qIE;W9mbdYy z%x&N(=~dhD=6Y>|=TsL?^JEV8}*Wzuj9 zaiu#$9iXA}M}!~}+4{BUdB1%KLY%7OyJ83r5+O9pe|i^fVRbd+9r+OYhZZYKK#fC8 z0B9dszvaLxT%zTuqa9w4qt{mB?Hz%Dp!VdqluO;qH3(f&eC#k@iiiga!XXdjm`LgK zz;nCIToNr6AZ!nT?i{^s_ff6pb4KFJCB^e$XeZH;nrT&nS3-)VTgWV#A z=i|}{GGa#U@XK#Ul}g8z#+!#nRFypuokv}T3~P-(}F z^Q5h$rNbBaB0k567T>M=VJq#{kdQas(u?}e3|NZDAsHin?mV##>xsr^-X-jsD5!$= zSY`$Boh`HHjL{z=P*=5FLu8H_I&%vv#fDPp9zCE2eu}?xL)nlZm}Jw0f$ihH#yDf) z$J;LRfcxl9y`STIz_ccA-nm=8jxf?(=R)@&I2Q|htHNIh6VXs_yhO>N@Zd?yXfgBB z=IwCcouT#ZsjfyfI`#Ujoo4uWHONm!1v|FnfGFt^@BlIU*8KAAT*~_y3U^isibBj5 zB5(h0cC6GASg+45-n5I(Vx~7so`Qu{LtIq(%EQs%LLvfd$}hodPLXzuHuRv{8ddl9 zg-QjB9-=7rfR0CBpxvDay_qW2?@^UyzZT0!ozaZ9@Su_XVtG_YH-#+Zr)9Dt)?M1z z*KWfx&xSE%K5>~}GKq3{vEp7r&o+*7IzR5zMf}}aX0pi6G8Bh4l+nkY&?OvzlG)u_ zo=?GUtOy#|LyUzLc$IpDA<$LLdvLcNS`Z6;zwiV=E;Q{nHkjfpW5nEzTbG40_O`d6 zG8&cfZUvw2H`IR3cTmCJ9wnw3uiYpM3xkQs%yNlzM|j;U?wfJ+X7Z$aFljM*1g~I8 zOq!=eBu+2}XzJUovo=S5yzk&&tXVGaHKQGHI8F3@So5@z1BeBtjCy1Q;$ZpQgbInH zHBM%>RG^jzIMLwJ-f(Q{AGEC*RnVwZ%a*1!0US<6CVws8^^ji!b?@?$#{3S8NF~G{ zQLL~H#U~sY_AgLY*r-z6Xh%jb$2kaqTvQv5aDZP3a+SB#3*j(CsW9;(6mwc78r^Dg zwCqYvzk6)SmN3}jK)y;`QZVPB5*0wQG^)I%<*|O69#yt?lbYP}!uTkr3PO7j^wr3s z-~E<4tYkmr-VMQ!NYN^z8`sUK)1lY5%nPm|bF>OIT+ORIwS61V^A~Mz!vUd{8uozx zYv0)qf#@aJS|_4+J?U;i?o{4_WB}7fo*RYXm(+fz@MXav+7RR8hV?)J>r$VUBR1ob zj}%Mu9jk&|0+d>%a|m3Oz_j!!4hsP=J>JNS0R6D~+?TIHqo$~^REgT`rb`-K4-30s zhv9SFl`q|A$=9#RGS?iTe_z8$f>=F8W(L9@kQ?3SHKQt84ltns@i7LXSzm663ou@O zZplNn5EzC;66tv);xV&~Bb7nP@H5X^Un1tPs?1@*fOSRSl;IPHkk*9yw&Q?^em@PE zJWxAX%Mwn@wsH@(Wn&kPnWq^ZMjbKzyP0EV+hMF~eNTSlIZJ+Od@AQ&m3?7J;E4Y; zK&hV_Agh8P4gH}~1r zil9K(?cSq)FU@Cw=oBy_fCk}!DtcPkgzs~i`QXu=EpDDvAbJ^IGLMl*PDMWnBg@jh zkFKD-=*RM7{qESbf;$e|n2Wk@8goj!{F9i_Xa1lKq-~%@^J$Gns|N(Nh0=AK^SS6K zqfWnDU?nY>Lo1+I6`&P^=V4L$#Tq?m(BQGY=%rM@+$1sex9wa0*YI=ce&FtblL~@dGDwy)a>|_gKWT+vEKpdQ zyf=RTn|67knC!b?*eY&cwRj9J+o&U4!=!uvYM-{J?nq@fBR#cjP;$^pV!xW8`>It1a}qMmtxA z?476SF@Zia`!1nSjSg=KxkK6=+M-foTlMYdGhD+Qdj_uR!mjLZTKRxT6MQ_Yk&#QQ zLC6Nq?oL{F8aR}EHR`co=xSyPRSwSi|;ak+LnBMshvhXOZ%h2 z9`E(ZyC>zWlMhe0Pd~L2?BiwM5Yo2a~BC0j83hYCD+B zkuSk?K9g;bhqH9^FQm<;nLkV)&3vS;7&CwDLRz9-Fy6HcrQwrCz;5-5tS2T7{AmDh zO&Q;|P3?=3H&D6%gy-~AyJdsY*Q%Y6O-|`C>KJAGdTK|jIAZI2LVwJTxW+xYL2S^U z_~P%HLXUZ9Dj_GMBjisf6oN0@in?_6h2huuDB2BH1{4=QM-sF^{or$fkWWD52W52^$Z-*ZJ^ewpD5FMNE<3(KOHBckKV-b z07_5(6?3)fwck(aw(u8((Q$Vzw`lJUju+q2FSs@`yyGhGn6YFjU*Cg1Tfk|`QyZUA zHMGlP#Drz@=Ylq`p*e#X_}&AD^dgN>UrQ_lZ~HfV3oZ1g9vXEYFt8&Nxk2;BF4sOC zD<*v%+&;!}Taclqc`zpFCa3)`6~(cIV)oQ;{-Nx>{kj^G3+qna^>$)W_uD|FIw z7u<{tlcSxydqTc{2pr8_!MF1AsTT&`*t?dSw09T%h19wB;cziRsr+u}5N-NjW=!x& zVSvZ=Hv-@b6f+mjn+XONLi77@F{ifu2O#gKCk4#ch3K6><^%*iOK%01E<+@O=#Sk=Xa)0goR5ARBPcT-g z$Au$ssu{feI*3%Z1N9;mbHr22#&6NaZ(6=&6KUIMNq_RusGYAb#3!{ZYq<#N#uwsG zxyWdHMYcSJta6rgGM>cLh(>la4$J!+@0^Q-Pywlk{i_5G5p1;Saoj)7Si#0UgWVZoBd)V3Szdm5FCc9m{6bu&3*JQW- zhk&D*C(UHHYVAkCZm*TSa^MA?vmIcNEl+}joc@@85wXVwC3OzqxXT5{SS zuES!M$7a>u(hb_N{{JdNPTPG`Rj-iQzCBnNI&?M5W?Jq$&PN;9zE8jQq_v@bi)o8S zo0l%L^JaUB^z#^xV1==KPTq)b`3#6QZAb{BDM1Dl$#?_NC}#fd@;z1@!S_djL!)iG zsRq`LK&F=qhd%mcR3Z*NOL6E|l5*%kaA=R@I5aYgh8^>iZ;02G09&xmJ$Z z(AxIV>i8lyqUuRcdElBJB$1?k4cyBIyaItAdJwn;hr)nc6ti;+d}s0tJ*eH89pbYBNaXB%HUNk?$itmH^~4;tt~(xKeqqG1YFU{FNLq~^fX zZl1_Vbjvf*?af4Y(vcPG!c+kqCc2Pchk@wAdZFKiVCtl~zcS4of5MUi&F$+8^#t?c z)EtZOlob@c#i1EW3CQB*l*u9>W}@gR^V%sQTaZR2CR}%)O1GktAzOE!NwuP$L9|Ah zB+FCgH|Z5{`HS_FG?EqTb5Ip|JmH;}$6xfNw}v09DT~M7`ucL7JnOvnHE`|qu@31u z2v-M399O@-dG+Pl1a}_~X0VJak0-hPK*`Iy{?-B~ku{ZxV50{K2$2V{M9=_}0wlfv z_S=uUumA3H`>_foF50g@R`3GuKTnc`0H~>6GzEB)E&l!o$)PeL0Rae4nE)`zNhtte zP9(eh7bHL)Plg6OY5x*vfaz^qXIr59HXGq+vKUq?&@P9K3rtFg`PVIcle5 z)@%A)AEfvv;W%@XpfZ&b=NumwR3;~K!dLu>{Vb^~-_*WZZ!i05=XxcxT6}9??OZR{ z)xM3@f_~_gyl^fY8#C$zZeE!?-?IIplG>X{HpcC|tgo&d>2m8Rw&wjKO1@m)Va*uUQV2jEgzGdbT(-ze(8Cz6Nw`7*=8}3~4yxH)zB(z1@O4*le zCv!5Gm%Px+hx(busU^u8rwq4*>Xza5qSY<=zKew=NY2aeRJA6#SXjdC7M388CrA_d z6KGlaGgLCe@P=CwB@2jnc}mtm7`YC>!gU~j>U1j?%?hCJ_m2c6w5wKt`vs_0m?f!d zrKWn(s+H`PK()%BTFr_fPO4b}1+CKmLUjEd-F}OJUQ>ayUq8XIv$(lJc||X zI?k-di*0rRi%Q(ZTkvD`%X{ws{*oheCXea-(>D0&Jz>MkzefvNtjLYxw|KE`z*}|) z;4NP4bL4nZE{AsAL+1MhS;pf9Vm)UFW4fHFDl*H?DDad+p1?x|L=LTJ{8PqHIWmub z>Qny|G@lYkeQ>O2?LP;f_RPP!dgPzCoKNI<>O3=y8NxQfnB@Zb42GPurMocXTpNlZ ze+6z(R~W1X_gJ{Nw81}@(|O5w#^BY)v0zg`Jn83r!VW_U&&)7piaEv%m7;CTLGqSY(sNcyy*39Re4zc zgooviLabGJ6#fXK;02@XlsW4^ly5!gf?lJxPh@_*x$P5c#RTinyUKG0TD8Z+jPh}= z!00QCb4Kk1&tPOA%IYiKQM%E1AoC%jEsOP470j0DIP&F=$ggB4GZX9h?3Mf0YJctu z*-Dq;o_)RaWmVR*2o)i2>{g3*eKBkDwz8hxG%N)1!PZ8 z8?HB2R)M(szTOqBJ%p7b(Lt#e5aRhXVf8oPV$1aAo8)Vp=&yHeZ@eaK3-L_>VI6_2 z3`0}R9{6n;`_U>{^!DjnXKs0#cTwMFYeLY2klD8Iuy}$$kSP*(g2d9(;>lLLyCvdg z;N2PVWSIHRo5Z4{JeyxF5eJn8*&|PWC(-vS5x2#BHy!V)h&T=^FDjnk_wgIzY20#d z0}6L>c%j;n3$k5C?Fg!_s2sa=?yP>#I@Q1-ak*2rB}p%t{h)dNTM)cskid^_kCWY2hehS*2?{BwM))ZSLU*j7c{A` z(cDN2gUKu65(6h-##Mh~C4Dht+y(?#^A|il|4sw?^cIw>$8bhYamaDyQQ|k3yL~9DW*;k;Vqs*Pp2FDtkS9NcRDnDQ zT@Og~t{nn5~x0iRioOHLg1@L=iwlK`9qkP#zYZmKP3rir5C6u)t zwV)fxt=lu?yC{M=MSNGGLwf|Dd_`T?(k|5Tp0()YCL}qY*tmEn#4)bFPK}23ZqQY$ z(4uo|PMqk();b>GEh{W{WDar1$RSRKiXtd&$Yo6EiZJkU2XCw5 zQ+!zjKdRPB+%`PbH&j;rt|;CzbivY_%MYIRkQ-&N1vlw$>8o_hQ~eRX9HzXchs6L0YnE{ zcF?NToO7|Q=W1`#ys2joYJ+IgRXuhnJma_csq^<%x2Hb9<@}#9pq;|V{<5ei>O_|` z3MwiPo@C@!@t`26w1#cb)2IS3X^kwlUKYiF9x_v)WqbU(T9ei~ez5J3$r}^CUumwp z*XpF-H{|b~cv0W?GV!vq2c9=^Xgvxd0yH9t^lc;aO|)j4E`7P5um1bg>$7gsbqJik zDwmiHUqPj26`xv4+iVQ6=$D_3BkNJdkA3u|nEyb@GkV4mn!TtWs^3byxE?0v zR@+aMB0PPtIuM?1CKTWTd#tCDtZwyc;??!wgQ*p4#@_n})7cXH}5{Boyl&@^7XVuS12+E%UVF zq(x3$&%GI6=Ek3h7~}*|uXYeujl95Z-pydr_<)gSj&g}dnZu(X*K#uuFY!B>x1G#u z-~%-R5+HMLhOB^OWc=UGz*{4a8sV*2xf(f~t7AQ5?gep$Bx?cVEz93(`ClQ_gZ!4! zuNs`=`YnoVv%mOMji!hjQ@8Je+u4nNE7{vrkaxp?s%408*$$dCh9 zg!(VyX#G39<4w>7#u$RW_494S zoRWX9@b~CRo=5Je>4IKfzQ79mjn8fpI zUh|2#JZc0UJl{V9-Q|}zJ*=M@`78&H3ZoB-aF7+<4|>aH;#++1lhGfkn_Cqq>eqkY z^pMr?YvjvA7_n}}PvrmS?mghED7wG#-Mg8+n|ou7TrMII5~L%9UPM%?AfSXI%?Kg1 zAe~S`kBA6adJVlJ0s9-eJcjWuxL;xB9?_c% zA;Fat#i(fv@kSuRH-?#%pe(~lTLRJWQIO2*^5TlowxQRo$-mM0A)F^!rMj$v(#!mQlnP9?e|{1_o3xhF>olTO*3cf=3FQN zokKOTLCo2@eVf8xL8U1hRT}qu&MJuPVvFLaES z_aRSR-t%%#jY645by~;SP>f!wJ-u)1tbvJ_1k)>2vXUI@JyfSY{D{=bfXJ(aNLp!qsM`IXS`^ZqGz!UkjQ$Egf6{Bdg#{q` z7FK~Tp*BU#8chEHD|_7eWj(v-jDQy5AT6>()Q9Zb0S0%1$KNue7|t+7WfN_~p##~9 zQTHDh6}B;=d&Z>vb-T>McA0cfD-$V&U4w$$d4W3>euH1}UZ#(1XJXty#eX2`TEiDe zVH1o%;n&RoDnMi#L1tYhAP*M2N&Y+`=#W+#Q+@P?{Ik(X;h*7)dI*rrnno--v(cH9 zN}4r&otYu~VxJs?GSc&#$d7!n1VLoxlo=3W!Tg^V0|<$K@`Kl}{F&pB(ZO5<1CDnN z>D~v4EG2Q*)@fI?6?`RGIALJ+FlqyCK4CTf7tCLyYmga3N0KRxWo5=TZt+Pu?X#wW zYM4bxHB3(^f%-hQ{{VdU3l@ihKrI-$V7wVLK#>N8-Q4}-@e4etG@M zD`3=w7oB+FFqCMd8&%zUdG;2|s4A=dv-t|d&es{u7A2v53f;qPTUY%NL1qKU8?Jiw zmc6<)!8F6`vR$7pBgN2W4__F*)c*jV=OYz5=lj>Zo}sXg+ok##q-(~GjsB*y-iUb3 z%>I1IEjge05fpD`w}RoV)2L2p8D#TPG3L+K815u^`y|ENCNocjHK$n>Favx@8T18 zq}0prsDJtsO&`VHNN8T4zNM~>&r>?|ED!M+3E-jr_~k^{MzCIW?733^vr>QK&Yw8g zo$pa3aDp-pL%Hi|^VfT51HztE`rz(EbutA!>WYB7I!m3(*8{aY?C~@_6vhgE_1yyA z)bi#y_P87z)Ed%uNV4U}hw(w|AE4ml!!#!g;1(`M>&JJj0DMeuY(c4zgVPNkjtDPA z^1{0*O%9WW_Tw9Xy6CPa>hX=t7#p6aA-L)(2$~0hoO#fX-1FjMom2Kzy{q`D3Ze8r zNb;2Oe36fW6kjAZ2p$EYvbWh^bb}0Ec<%@=$oKoz<0-#fL+=xtVYnG@c(E;pq}N!! z)V`D@$qq>I2h6You37#y)tJ<$FZ(FKlX& zC8r(DSktBmDq{y>I?n=82<5Yb_jrZK`{)HfG*MUVfFWGKiZP>kw2k3M7-(r&zQc>` z%&_(5$CA^woF~zjXwJqa8@3e1hM0d>%v0`eVQkEOZXq0iqn5iHvlh(}6lMnv6Xotm zqe@#pRbn%2!9mU4bTa-z+jcWx3MStp-)?WdfP)}XOCHVJiWtxGR|^7gGabar90;lku3O zl^`F61?^-!o?>}>i(c_+ihnv;o0ro;K~yVAjM4eT-}>fL z_bB`wWU@ACQFT#&^a^a!#-cv&2mqK@KoT?ox=oTfn~CI|d1qAgJApx0*pFlLhB9*AO7+HV4WEVjd z5%!L5vA=%FT;G|r6Fke`;Xs}lcK6`ZEjsSBI@HbLyp13C*uOqO2cE&FWlBwX&1nn+ znIHCIb5wL7Ps>+fPZOlY-d?oX23Q_6J3+aN)saw#wp0fZk2-)|p4lnk& z(X0I1?AS85`yP<*J(Mlb#WMOVFI?e28?C*lk&WcVwh#7;OAp4z8_Hy@ew5>#9ZQjhdG zvPx&I34;G}S1~X_jKz$KY4Y(j6Z58-7Za%Y4W>%YF=_H~EYT;d7pKq5X3M)!4iw;t z;@Fb%Psg;lz@gJD!155V^%gMT_C#=x58pKuYohnGF`-sJBS^!{?0*b@W_&Xhu{vWB zsAby$viaby0{e{K)Lwi8hJ0T3SUeP9sUhYB_Bh0x$jm+ky!xMb<`WSL(=_DiWg3j407NRJOdxbv(!4~d5X1IOcBcYgefl; zUA}_V|&@Zh`HGKQueiZR7^=+>>Y<8G?p13k>mxv#`h8bkd48z^CR;^(JzdT zAWkt2KF`ZjF^BL}OciFTS(@Mw6SO(n<6&Tf#E`7zKqlU2ypZU%cn%%Zp#~R5-8$RT zp_mELI)X`V=TBdcJRY`_%0R~utBnkO1q+hNhU;^$ryO+ANMJ}iL8FoN!T%9KNW8sebH*;)Fp+aSu-_2Rck z@7d=!caT-gF~#pd;x-XG-W%vhk0%mR8qY*J)&s=^P4&q)p)RNx@<5o@OrLPGAQG1$ ze-qLf#Gnm&6kZB|favFT-T5as#^1>C*W!F^k7vQ-`BvvP>tjd86McQ+*gtmDNup6j z@m=^$J@GbtJN3`VcS|30drw-NX8~f*Aa)I`qM?+@<`iLwfX}2EGi}kd9XzH9 z_6Zv6V{aFSAuWAkQJ~vcA9ovPlE{ZMNp>8zutj83;QkpO?I+$$n{F~ccwc$UK(fhv zGMh4qZ6Z-);+vT%2HyjHltsV9;y2TLdqB;*5QaOf<548N>Ko z@I3{Z_7c2!Bc_vFcC*`^0E(j4LCa1d)GcCTL3A5`SF$@6fDAuc=g6;rOt?N}SCfO> z^J|XjmwDisYQNPwcJRFC3#bPj4sA_ee>s1X=II={6sM+|O_|2O(I)eO#Ubskg?G)j zpfAx3_#DQ2^}7AK;^Qt))5s=hTkC`wwI*^VmShONsgJz{sq{{LWHEFgPgewNJ1~Lg z(k5{C@pD{5Yvj-mn6A%Y@NJYCGPpH*b$|V{uO}YS=0e5Z8|ds^%Z&M$0pReZakIPW z8q6G)8wT}KL(CVpls~I$bB}ss_4r*=E@)H#vwRo6msqXOX)>as_G#r_O(2Xwef8^H zy8hGk3D`>DO}c~1DcaMODqRQmDI2FSEwg>qX_{vJ^L1ENw6-RfKuL~K;M z9jawk)|=lp8{z?~E0ikOx79u~OM4&H2Y~DBFS?n@8NF6pjYE-r?|Y&zXFL>1jD?0I z9|^5H7^6)xoz1gP>V@l*X-IpZmqfHD_0@xkzb3t5zAiw|d zO>>F2v)*rwen|7=Eu$Y=xCUajHTuHNq`a|izs|4~Kt7dqnx=~zHg7Atp0?KerUn-;gS(o8flPJJ1@&qP8)BZQ650YZyqwDxPHC9 z6Pix*FnwptdUR?ZLYwL_F{I?whtQ_$V|MCVJP+~mE{2owk9|&RGE+UyT_3EV|6W6JGe2C};~QbtG)3nfQB13H{1s?h)XaL&=86Y%H*!tpjzYYs zu5Hn`&e*d=GfVM-UV!hR4_T)lfCzKNsjq1Za#lC0yQy@o22GBr>R_&v0Bo>mp1_jkjVl_w{h(o9DZOKdT; z?SMWSG-j7)p6PcEe7{To6~#5$FQkb z3yrp3&-B=h2`flN=Qm51;_&!-eNkV%J&f-4>H1zrZKQd}>zP$k@3MwW^=(p4eXtLbajEKMfm!QXbB`hmtnCNXF{u5iHgfUTuqC0M=@jt}Zl z%R24ur8VuXS=<0ES=dOM6X<(o!a} zPkyhx8|tKs>9s0bWDh>}I#x+QnZL377hbjL&f|NI?8&iU-`!to9{>IL@B2LGs`Ksq z4N}#NJ=vFZj&s{Q!o;H)0o*YQhG5IYi~v5Ru~qgGG-GS}ZWs#I%R!y=3rPIJdD?TQS{4i1|W!9Hc^K=PzDJ{XIWaC*{=;n|aP9?=~Hz)$JV~#MUJ(TtP(M-D>UI zNX!twHTf6w6)*M|za}Fh3lj7`Q25(_7|yj@72pj7`tpK(+&bN0#?|^BVA^)=8&oZw9kRjRwb`@?w(fr_21^z*f)xYtF(DAbxUk)3PPLOSq z56GN6jGq)>CYl=|e^LOl@R;N)+rGk2KC_*Fn5>-P$=>aNiC1`7rek`tFx-H%4lsGa zV5G>5#!6?BZzmLSTZyoWq(pQ>BHEj`5&^b;+Sqzpo_X4+a9Wv()xu#!VuJADe)@3` z&L(UXC--&VR%ZUdb9ygdW|zydAAe-!uCU*JW080$$I4x1jT*7b?I=B!ORsPq{B%WEU&3JwLKa7ukgitT7%c z(KEnbtjsD`N(VpXv|_xE{ucpr2WA9M74S)7XLwF~&E0?r)Co4s=dNJpakEf5@X9FV z0&C<4-nbFFP?-uMT37$ik>7YUPKyjau;bEUd?>u7ANDVsGro;Lu4d+F+|A8+_a`2JJgHAEhnlzq7T&mUf*UrE!FM{uunA&XE%Hv?(`eBlpu%%nbje zv?=RmdFcDr&G2J|IqRvt#}|3^l(l>J&C+_BXW2(fdhdYZdm>J`6h0wEK6jN*ysBJ$ z;Jtd4t&aP42o4;6r++(Z^R94*v z&qOx3VC!b}$sk3CErYITG_a?iX0*ecn556tXKMO%x-{Csr-=G=jQ5*l5NfZ!x#ir~ zFy~KVy?Mn_S0Opna9pTz@jhl{yfiZXO@^KfH8!|t`+Mlvp*mD@8ZAT*gB6_ur;nZH zW&f1F$Fc`THZg;zuzpQibQa6J7GKf)J!it4sWUZk zI`K5~QE6|o4LTb+?DIH%0Eis;M@?GOgO)hh-1*O~M>ZYV`X}uDgy3UTeMpSJUgwS8IC}yNp*L4^+y%^D=m}fyTBv)5;4lJNxbbY! z&oV6VNL~6Jlv7l{eMy)+;h{x;GeHNlAL4xT+1p4vM1O-}VFFkSz^HoTv;w=Lf7?;7 ziNomaI+pblZPC3`XHMU%b|%MCV-u_poI{bAGtIqx5!;X4dG#wl&%@CO2(vJJQ1oZt z3|SqwOoKHF3h?1A9-RdT0o&;8l>S}snJvU8jCwW3f5(yVmLK)54zv)7G-xILva$TK zJnzcSR}SH)U|H?OXCv&YzI!*FvoLni@kreVJJKEF;_w1yR)N>(Bo0lM^=%VJE>mS# zJtDh6I4Oy@Js3Z^LWzoFGHtxOH1Yr-6@^2utxn@4GRtv?ht%RYHM0h@PSRL(1t;_2 zRqfcCW&6k7&|vI?Ix(r|_uLt>dGI>@D^1_Ce#4KXOZ}T3Gn#2U|713ZJ8GOYO91@K zdYOv4>D2TNGot6U&}iCxllm137&m;}FnzeD*Nl1p?e^3wb>6ko#h)+m8#rSkl%weyLCy~vmO zWbZ+vseICCrkvyjyeFY(r5K03nPO%!cJc&1M<7peUYxxR4+WYO{Wg*nw~R3^<3;!1 z-Or23ye}_FOW%n_esM8jP)eq$K*R z!RZ&gV9~)4I)8>pj8`NyDM?X5$+^me>80{4UN_tTQC4++^kQOgTzBc#{LpQ^i(Z*asa%vwfP+qe#@=o_e z-{CseT%yy|WV{~Y?=i?ykiUl2X&@^nFNQsCW<7I{*XRU4fZ+xdc+RVnu6~JM4(__i z$KLR)GOF=Akjy0?rDZlPMp}A5PbPO?qj~0Z{kr!YG;I~Vc`aIa-$aT%vsWzF zwR!sF&)39gUv*eK6q=p!I-U)bsON-27>*$9&Ishz8eSZ8e>!r#{sq{fDY8)&rycOq*6cD#HX5*?sz|@1M2G_9a*$&70EHz^<3If>)oM4&(32tz7BHC#16}P zeWQ6!eX(xcvek*&s>Fr8^iG=Iv0tx`6N!(RB_5=P{wcoO0p}@!m)LDvr(M?e8#~#A zH4Emg72@3Kf6~NLMsMB{M-Ur=iI0jNI4oAzTEXtgtD=KFG{)Y-Ds`H1%CmMFnDHqh zkpwf9#w}r(+3fGTh4YU17=*VnaIC16Z!F~_yON)Qt7$Me5y54A&HxmI2rKn7Ym`35 zT?R1tZ{UWH5@@XuZku`29~vVc%Dap~$}SW-NF*=~VxoL37Ef?Ee3Xmga1NhWLz|f7 z*rkuYFXPJw1@8Zfrwowy!xr}^WYp<@+p z({wdfu$`8EG_MtyY;L_AtgIBqcq;N+DI7c}$wPI$<8~_H%Ep~1=(F-oQDmLQe6eMl znqsk#MNU77g!ALb@qAdFmlVSJeY>-hbQgx){URp38P$cH9rG>D`;nYo2)3b^?}@T) zz6EmhtTKJiisZ_AX0g6bB61dF2JG~WZc z(HnXT|IWd-#%GCasKIg6AeUs6!>cRamCV(sL05g~N__I?SsAV$n~9HqpzC{PSF!?D zYbd@U(s(p#uu@-^G=GUUzt6H^NU&f3)?ZS)Jq<|bV6R~i5)W9?D+w7q3obU$+xd(B zw())p;$z+c`q26GO~>h(OXus_e0^qbGWk_`=zswzqKKYtJZgWN7s&M4Yqw{9_NwAQ zG%v@OE7+LNc%m6IA+JRznrq=iGxc_nuqq`?K|;)>W-U58T??n5kyad?MzXo7Rb)Ql zCeC2br6bt7@d<;-wI{~HE6iNT7s4?YpwqvCV0`<99LB6`vJrVrSpqvZN9r(sm)~V$ z&3!B-1-V~hzL2r3R4K->PDNtA=axLnfLOQ9b^j5u>9p649lhK@xFZyQ(2*iiIbaRa zTPghB0NH4jq8#JRyeSdPz(haR2w|lF-rUd3d;A`&^A3tN?@|GN{EdS~6|X5UM-_?# zr0-J(F)=<@BiyMHctKi7S*#+q(+- zI_4uynLlY^p#hiDkg@@d=+w12@Tw6PkrKiC0Pgl^SZ?FBP(>G%)Z^3Z{$51bAH2)%i6gQ zSwG_5eG9U)QLJ05?gM(w*80pGz3lTZw9md8@zqCPXm4&bwR-)r^M~U#v$w2X@Wl{q z$q>EAl#jK^oo03ax*tt!eD+Ow{snyJ76={#6!XwW{QQV7086J3#y>|Gbf@5!2rs^; z72hjRCS&9U#W;m*b{^U;Glwpu6Q5Web%2v-A_oD$X>r`Bu!Ng@)GgT-)eI|f!0&p^!j0p}$A>JSdskzHUHsr6VH{GuPjIG3-$-jViP*IqFaYM;PU&Hv1>9B)GWk%0cOVrv$T5cbTH_AFKct*RMKCphRfJU!lwo!UvYap;OEn@~P!&;H zxF{TX^qYL!cYGye+ab4j8Pq2PMG;s7r>lZMvmZEK9=DmN8CfL0Wo`p?ZZZ@PJ9n6Q zbC`wMhe&PSB#iw$B#j5Q73VR{cR4;b9fUZ5)1kv6bZ)~)8wxJjn7@?<*R!`0Q41$ zh+yU^U|t7&^^|!kBXUMRNT7&m>PB0OzqJJqO=O%9w8144xZjp}BT|qZ$khSIIRzTP z-`o7kkKGht2h{-8y@?#C0T~)hbfbF0H)B0Oe4!#%1Sop}=e=zb}4fiH* zgVmpjCO|XlzI-AUnQ&~nvaB07U^yqnYuq4oD>EPNR@~_bV=#RxiS}gQ7BttSmSU<63W8n$K zScvGX6($-YtEeyK1Px6;%81JXH$B#(KIH`UMVaYwHid1lqWjsAnZSbpIZ!tKJ#aEZ z!Bm=@@6nCyA^VH<-_trVwPF^`1+{4)JjT$mDk!R8C(Ba2pRRuVfK8SZnBbp|pa7aS z^r&c}DHZLf?eb$hXQuyezW?T!yq|*T2~GK^jCa01d$vAb)8`MKjRo=meehtC7!Q~| z7>j2!O3yalD3pDC(emCTefo4gNz;=OrVrD#VR}LW#O3<1=?O^|_-Dn>&}Ufrhfg1_ zYs2;7R{j|YGjOzMv>A{se$T@HS@AqM`wI9_|LhRtpkHL1Ud|8t<99eJtvY^(SGb^m`> z|M>rX1;E06L77;r#c`)`309hp;WmvNj~oeJo8SATzIZY1{(Tv@xH}n#jEmE|YkK#^ zabH@@FuQo_YuUvYeckJEgl9LHp4FQvet|yAnhl1`?oVRpA=Yd#Yw!ZWZe3naKxB4U z5RCsOo+qOk0ohiAcuIC?K8vT^Hc<=hzpBNv+QK*b^=wh3{2ndaT0X0>z@V{S;gayy)RnLmgt~H1y=jYPZ%>S{g5s(8qI;2=$DOR`^Q&zm2 zaOjrwP;KhGrVX8~!J%}VrD?OK^CpWaXBSVMFT41nFmf)3XE(;4)$kO*LSJM}8+{k! z40t!auQhEfid!L=vImSmGCM2?#(xvflTnR;Y^y=6COb5r#cFPwsD<`l)#6!g;Tv5u zTNDMm(z31Pvl>7h8m0di#)U*0ib`2qF8Io-+i&7=Rv#rFldepPp zg2qL7wn#jS)D)j>Jx5b5s{dEDcvdaNxTyaBpc)DP`_)KT@T^|-toZC&15Ejhku1+P z4&q$<8B*niO%O=&VfL9<#*ustnz`r@7>?vard}Dpia3(5;XD{^KAcH0)D(I4b>oHW z8L|gL2^g|hLiWJ)?18#TN&_n(dmv@kQ@r8&>rh(*Epps(?&L#V`%^y$t#Wi~S$h5L z0-}V2`;4~xK&A zyvOE_p8xr5oLn0c=bbZc)|9!EwSK!;zfT8@7%)`he^mEw+Q=J}W`8m( zVa9OHr^a}v&Ptj&V}{o5J2r68u))LnYex5XygL`OPZuT3A2wHO(V5K{JY~p~fts&H zEARNZ6Xs2stwk`*~l@SlZhA6Qn$g#w;4OP*(XV#&i-_s)+CNi z?KiFeta#06(a}3+&a8Pe=4mZfu@OUt4IMUIGf!0XuH4QBPZ^vve7e>)n#~zBZ|MBt z8lOMFyI{)vsq<%QUAD0y34=$*)V7a_;k@{3rB04KKCxt z7mr^sK^y)f8#H=AV!R-`e(wGL#-4LI_8Hwhy~r3b&e73k430<%2R;a%PcR&-_hOr1 zByAIn#2IgsZs-^b`pZ*{vkDX{8)uPplOa_395l|#9~k454^l&++3hSd#^GEsQqyLE zNS+EUK^uMJ7|)P_7e|iNSCIwEGd3cRDe~OBVr99RUV@pI^rz(IBN#p(5<455_`XF{c{@iumPmH-$R zz5=Kk1`%+t%Ght+MZse zw4_#r`2*CLQyow>IwXaf76Ou~sG$fpZj)d4jkcn*1vUzL1`MhxYD}3Pw*VmA?>`At zRzwQ>GXoLIl-hz|a3b|T@k3_wWE9!&$BB45NUM+LRm^p11-owmAhkAF2!HDI~gmN2FV7_(*n@?_{h%2`i>v# z>G%C~_V-Gla359k-DYBR+_px?eKBbCf@!1SSsBsBVq`pj4iqfVLs95xRBtMy6^~Ky zmGez6r(=nfhK~QHqXXZQlM(_YkrW7|rO83y%+mKg$>|`G&a6-Wlc1*~jB^Wim$OUpB%{>-tDOJ9uRV{E`Plmk9}7ZJ>ls_{Z4T}{#%ecw zVnBW>?H_4VaX5`eW#%+#m06Gxs3&C2__lZba^8zTAbyk>!;V%e?S%C;>O%^l@*wstRnMM|HL_t3* z4f>mCp6qhalw$!GN$;om(#a#A;3eo%3^#9YZGWOIX{4LUW=y645XB6qZ7!bd@1+LL z%TNPxe2+!1;gP(HTOl{#$?H^ni36$C?-kRI&^8DqD;;Cpfkc7G{k;JAMc!fWkh{87!L}DDMq?^@5ei-w3z}NnN z#ppuN0&Hlw`gf~xtX4n=Jz)-2R^)Svug+#aWCbtc9y5)%{8!f^;|YmJbJ>D^{q(@Ui#3cQ)% zf&HU&0+^-rbby)X8=6I*Z%jO?E`p^#z4!ZpXXK;LH&`+jW>*liS{h4@PM_V<=O4=B zS%8t?nJ8wvEo9wD6ioxfV&Uny3UFhg(Ikz{5v24HB_KUv+VJOF;2)!&X!<-UJtIxw zC>Z&v!4aMj|7;5UN4_lcmB0R&h|*UJ8CVt?9jLUl`ds>&00Ssv&Zl$_3kIDrjqZ_D4{m~{Lg;2{)Bmxs5X~mRjNHBEu zMrKLq^LZbdHw6Cku$0ZE-!F(yhQyi0C+5j@|2`7odkHET`OHQ-RN~__pHQOfFJ}}+ zI)Qs%=O_Xt;iD^N^(z!?<|nGK-m307A*v80b=@2!#hqe5}+W6sTkb3H_A< zCS~-kdvus`Q-&Nt*>O5IMWym+637sZLe|@qtwzLlZ1dKBGrc4ac2IPL$^vBHU1ZDYdIl?gH_G+7kOG2Sc~xV+6m%h&XZkXwz$B0uY7hP zVx^xsadyx}qur?dX@>q>W`U zLTKHUCLjV3!EQ6X-K3AhENk5-m4`PRTMYG_#aMhcQFO7)OX(+p&#)@}M|IK!QT|$F zo~6^PLF7u4e`JuHSR7-tg$ks}l;dgAWXwqr0ZOK_fRLTVlG39YMdRB( z$Wt;*6PDQcS>nv64j$1>X=Gu@r;S&?aM`n#`vKETVvlmqVF3*i!?lz}2)0RhYA5mc zVM2@qxEIr8+F%X%IF$-RH@=twrF4mKCK&$L^R#!3Ogz`$t1}EVKkrK)2>z@DSICC` z`C{|W#F=@!zZ`q?WO?IAmpo>eNc;mJ%S&74tb`IVOuIK{o0j@Bb+gR#U6xMcpWB`$ zZWBE_bGOaZ2eTFXrD1D#_~+00RPkRrKEdI})sr$_s)0~xT1vJ^i9ir$sc<8O>=H%uW(wbIq|j%W4ah8a&Ma}!R@{~JxZioW%!4^JlLs5W zQ@$%4Uq2z=Z8JQh7e&uld| zY+reXhu3%!%XUbnM5*!K>t+!~ZwA+qpq$PcmS+urBT)aIlE-$P-zD>?AJ6_s$|*h`rx_xVohH>d(L8ATddC>q{nG`+~9$6 zqFt`>+~!NiYVka;|B{1;?&DGWJSF*Kw9ila+KuC{;A3p4UmYDaY)C&{gPNR4@v}5f zzCQE&&4Av!#(IaCF=aH**nLQpZ``KYGZ*UG9DUkn3kGY8;uj=9rvYmC=y#b{;Hwl~ z!FXhu4Er6QIte;neIUbvs#`HaQor)n)mfb)OfLbmI_Mb>SbIu>#gGgY%r1rZf$j1` zIy-!qlrO+gEAhZ}&zmIv=QCScLq)@b<6vpK%y^jWOI|}3<$vh@^}7=_&)P3HkPf8S zCTwjiR5{PEXf$9bj`()f2PP#f)86mRW=DP7YszRzFm}m2!LD6uHKFM zx}>@IEb|Z>K4RdgA^5WS;y^uNsy;{4XHTBJc!joV11mR^b!i8t+A9`-JHw9o+Aezu z9^dq<%=7b83Y<+|ehPK_72lW%5{5bYr2Gg4T5%f;7w zp|n1T>Ax{E1)qimhfln@@7nZuXuj!~9uK{w=rID`Cp-uBZvwW& z0@jCsb=3P8#5O*fsrO?n5R5Qs`kk3ERk zdv?s*=1>v)-24TQo`Z>GPW4nSf@J@ejUdbaBp(5||7}KsBA&`g@Pht7I>G_(e|Cri z`TyBL;s^NLqeNKp>q)lt;h#^uK2tLxb~%W|A-%e5g^RTNC5DhtN&u$aV5 z<1mKqV0;#j2_7mpcsven#hZ8(irZ`BMn!`9AkB`kvZD?XNCT5348CbLt;X zxAR5kE6)7R*PPXzot%lzY0iz#Q%*y3X)kJCt&~<%YoImJx@-Nkf!e29qP9r;PWw?i zp`F+6Ykvi@z&wGWfn@@#1=b6U3hWvPN)&9&8qOV zadF-0dzvt}B{6n;m$|%mRcnQ(x{tUX@H46&YOknNv7k~LmdA3+jWs0f{k@>#p~P(t z+oSxgqFgphn6DKxW%Dibty`wdUkm#)pz25aU=Yyp-M(Lc{jMQ;qvNB7Rl|bUhw^}c zvLBx3wKllSS|3&^8y4*SGSo~7FmAYwlnO344xbk=iwN+4Kt))X5ofB-F|V^dy&JEt zmDkKwx}aIkeC^t+{N-P^eYI_ASRH4bHl1H@(0$RmVfoFFPg%sGbMNyUdHJ^i)uMLY zz5CtnvnRJTE}R%vII(4u>Uo2`SJa<=qjjWOl9rK-3d(=&Ca<<6Y>dl{zX2=OHGmQi z`Quj}GA}IAWxjD2)(uOB1@oe*(@O)t$*D<&Ty9XyTJx&z@}b6U-sZlWw^4%=LxcI_ z)CJX%E+%#M8%Vb{^nDj^lW*|ZRHH^?L6~>wut~Gx!{+xn;o7He8i&Wadl zZto%W$X#~bbQN6Z3^rpbxv-c=D+Q_U6)QKwq&WZ&_PY6@(V^~Pu3+!gU0W}lib;OG zd#@3Lhsmb?YzW{bhB#W-W&Hs~r!8M zI$~wd)IVrpkAC+?5}=w0TXF=KiX zPGt@sK0IOAFnkgl=3cP~;{cxtbnA<8fDZ)1+<#CbmbmY(<}xQ4w+p)eYI-r$*iz89 z#hgU+BvVn-P01NtJ{0eLD27aBk%6Ehq3+JE;KChUZWU)~&v|)QxA%7yI^CzTGOAmg z8-Tbt0FMQ{rCjd0Nnhq&JFjPlw$x-;XH%1X;|#`DK)`)Ug|uyqEr5U270hF>9}uIu zCx;fD7;223=rW@!htgr{0_Z4?(9VxzVnTg|e{%5!t6aU2{710!h#P15i(GATzn%@@Ob5sg)|=M6JIuaSQ&5AarMc9g#q##g9jaElrh^9PR(4F)D=R4$-%G8Z4N z@^Zf)=ANs~_M48GVV7rrx93zI9#ZL$SvJ2JtMV6N$CEd>>^!~ZYu!C*fw)UVP3##1~hM0 zzHo~hcu}gjo1c58z$9(Ys@KgDAVop5sM*gPf{~M-zZK@*pKDyG+jOt! zvUpdX9UIsFeB#?yZ%#v&NwDratl|~QQnGAi(_^apTk}Go;47WJ>Jpi!N!xDKtG4{% z2KZ5qk#4UMKGyY7s596*9L=`)g!zs-cgFm$=jY$BknQ<$)ykjp9BOkebY0$+^W%GT zOBmkekjuR&loxuuxTY)D)KK@qTq9j><4&aOJvHj{;TuBdO#f`~e2o5u3149Jhw%9i z(AmuSP(`c4&hTb-ZdLN$dwFK(Mq&jcjxUwGuFk?>7iq`;NVux8sshA zDh1|ytNw89>fX&QUz-~ys93RA1T@FyHEWcBZS;X4^<)?iY126}ZuA3of2@cix# zog2;!Bc;Op#rTL5=8K?sVKcyd!)>^8Eemz4eS5OW7*(4`h1F0iPJkdJuUqZcll6)n z(!Fz@7GHPSyOC;}zxN?FA|Za%(63#qHn_dZLxb_v!z?kL+}mR>J+E%)Mjt z(amvRHJBN;dB)YpJcx63&9YiUo~|kkvnK%{60`8vLWn%;O~EZf8R=EA~?>)^A+4 zQJWpV<>&q3AMZ5tovR3Q82i3TUYS1_hD7eF!U!qP z150A2OSDi@Gp9L>>8Qu4S(Np@Wi^4d)8-6-$jT;tDpJA>S$9i0{I> zbQgb*A4cwmD(2h(?CWp2KF228qVPPz{lh9Xq% zKKLV+;>x>wO*deax(kycwap;2wppq$FXiU_)ZLhDe^ak)=vb>}bjPw`<<;Oqsx2qR zoK#4~+?3j)B_=Q5Z8sl3+Yu>7CtSLXe0+xAqFbJ-4EJ3-Md{y zum;LK7Q~z3F3B#cy`a*wiaPW)=H^9j|HeakzM_}RqG9f(8#XNN-KBHf;OMa6T*8!~ zDl8wmG5?y9n2%q>kWb)psGCHVyLbF&0=iF>`@UJixLwG1yC7V*_kwCk`P5+UFz)kv z_k7W6uqwvt^+n@|z-zK5B9QXyUf z>kKj1PNBKh8`Z6A+cqn@ZrLI!+!q&yPtD0vjzG4eRL6Xl6; zC(F~|Cdsqm&XwoGT_i7qyFy+8ca{7V+%+P5wdt0dBIq6Yg$#H{74(pWq&l z55PSvABKBWJ}Jp~F=_?(fCJ%2xk`(2Pat6=mlyj)BEGZyY z2!7%Cl>p5g$~I-EBq_U<{Su>i<$!Wf`57?^^7~^{$_?z0uBsGRqjjBdscNkz&EPhu(Hic1HR_Sus3F|< z8`g%~q|tkDo7JE+&6+fTD@lLQZcR2G?)ZQX zpn0*teRwV-rNFHuZGc-FHIz}mGH^eZsLupQk$9GsLvW=aN-rzB#53F=dXkj`C|gzz zDof_4P0MINRkE8CSF%1*S>lUv4#oJsi2!*2C^NV8mh`q%U8*6~6eDMy^s97EIxk(2E}{~$ z?2r{X0Hda={Dxdjep7x+dJ$y}vVVPXkHIe%zaIFJ-yi3{`@`toSE?IS)4nLNpnC2{LGR=0Bd*p#{wqEx>(wmCf3;4Fi^fwYKz{%z-SCSC6zfMlpstit z@=Cd+m(i0;Nf8<7QD15xHI&{%%Qr%MH-@kyMrtp0kUC18K&u(xGwYm21doXSudqR~iKz>Pw08`{0OU!4aEC;{`{Y0K7U&ljWfpA5#RM znUEbHKy4OLGPHnlB%de~}i*C*%{-BEg>)qdp~3p8}{4 zaqI%{RhEiNZ-8%C6nwjp;M=W5?;9-m_Hx0uzZ87?chE0fx=(yt&Iv4=LA(UME!P3x zZYS3xzAZNZ-|mWffN#re0vyjfN#sKh;Jh&_%=jSiSjtW0N<9Q!MCRX z5^4p375KK?focV);Mj63acl^&z_I0S#Ifb>#IfZb#IfZ*RA)Jkc(vRYt@jH`J^=w& zJn?FI5byd2`YRfsL+OHFQg+XbQDzRB&g7tW-ru`sL-8eFVqUN z7ivXR=ufkkJW$YLn4raQL5oiWEj|^r7%6D+nV`iOL5oD1y<}ZbWGu~I@;I8k8m0a7TB2pW#%fuwSnWwyf`CT3$0C066R#xg zpVta)-V?61TGp$F_N1$?_M~f&_M~gFDBWM$TEOdzbQa#DfVG7?;cul(0uGdVEn-%{ z-5?KB+dS>k9O;)ojnnsptB)3CUCudl_ovNz*Yaq2obeEr(lyMPm=<3>?db`)q(KhW z?8`YaEq%5*{i*!eWyFn2cTN=7^t2KL?wW&Yn6Vc0j5I}_bWs^vx%5l;OKShT>LcA- z887D|KYstbr=&g9RJ}bnzSzO6l760Yj<2+zrN1d0SbUh80 zs5$6@%Yicgc;a=(`Gm`cSlxLZbSoz)@|M384NuO?_SLhyukfE%ebN6FpfSEh={+ukunUgMd%NcAvIimn4 z#=6)8_Q)BdMmw8}tBUh2r-t8K&MK-zE`GJuL{-HvNL;Pe9BONEAWIi*&j z^3-b9ot}ligjz@~p_Xu#Q_DEZ*;f=WurIZb^`yr8pPW%5pA8K)icxD4u4+AJjB-?c zAHQZOKU$rrcEZoPy7`}+QR#5hcz-FNr050eX3(mnphAo~Qq=P;H4$Z?OaXl&a!{X} zt}asN;I|0$NB{neKo)em*1msM=5gU(ZUTB?ik^| zFI;-lZb|SRc|`Xc3BP)&k@3n79r7A8u46QxJ89qMz}8vw}^173ioy4zA4<&!WFfXMNQ>mBIFg} zmKAPg;YJ9zq`<9$crJ!jt1MTLTEML?LP`m@j4}}+rImqjt16S=zOD>{Th6fuZYdG| zlSq@3LZn&ZIm~kHGz8%_N-50}Aq7Ni0r6Z?K!^~}`9vSfC;DM!@mxvty)usTfKb}; zBe|kymKNa+Mal`3QW_;7C7w$O$hify z*94rhBD}0fQ&c<`70)H9EGfZ}18^qTDXEkqB5!ShNp105RUw&CRe^s=1(FE4xCk#U z(!432O9}TU;Z_!IE#c-BZXV&jCfs7eEhF4~qTGf8t1^yDfLz9r6K*MiVQ~>#T*Ouu z&k@3HU{jB<9WS2ii|}IPO49}8q9UZUa7&6hR&aDj`syOKr0wcRZ^@8WSTZC>1j&#b z<)qy0+I8#e*w?;YTt`Qn_U*g(a$M@rqi1(VhfaOkwRha;)}?bh$HQ(t+jnz(EZkng z?JwLRJ^FR;;~3GiPlq0kqj6n&baIT2iz`#sF&=I?$5goG9kbw8a4djZ$*~M>WydPG zRUGT!zV6r*7gx57<4jz?m^jDQxPHCj9J{1FjynzmE9`n&6XzYQAnquVqA4LtZgKE{ zjvmxgswmZ!dRiwXQtPF(RHBtwrI!+~Bq*bmiAs{PKv|9>2%8|k*$au!DdnP)qTEpo z97WIqLIQFJga;IZNUTgi6>U^N^?-T-kpV3Oq61Bm^V{j1HIxcR|4NfVBae z)RchafV}~S15O283`hyM6JRijX)J{0R;x28!e?bz6;_?qgD;Y`WYH`ZPrXt_$UL2J;rCvnH9o2A3nBC)@AGcZxa7V6KV8 z!HIfsTRNjLyYxbAf^#(1<4Mj1&gIUv&P~o_=U(SwtT`__Q?R}?G)dF65G}VBt`*bD zU}am~nM1;kttInw9w3>Y^8m^GoCiqe=d4CDKj$2h`8m6h%+EQ8WPZ*AB=d6~AkHLx zFWi@es|nX7+(6-yWJMOzQCSLhPR8>VCym!1oFoI>>KqGqn==t^vJ>-|wB0!h?hfZj zxI0B&OF{}c7&s%rqI)hWx3d%OyQJOlD|iZkM3bI!NFGR-BuHjnk@8BR;_ysiNO6iw zuR-2a1~QzAkchkviO8Ff!_|`NNcAA?X$YxPB%}f#fbX_~%(0Es4w9!%QY<8p-J~9n z1ND^#NQ0!IQiAlUGz!OX5~XpF3r&`$O4Fs8;!w^4$W@n0%cT|4SJE2kYv~*5TWO>8 zoxoUrk)*4@KDdqLS0R%of6#RMzCz$HJGWYXXR@7+XoYktQH$nfvR@-oFI=eR5>GRp?^V|M#+yAO{XR*&rNBvB87P9jdvC|i`{UvNaN#Q7+pH4R2 zoaOBJXVoKzmEV=?{|+9r=@LLPf8fFF@&l&Y@N(Pu<+1%wr^|EIH^A;60d_k$v%m{T zw#o|#x9>Ln1J>I9oE9Dd%Wc2QzH3&vdeQQ$m|Lkn%0oN+S3CUtKhg=jH9NibyB+_F zo&JRFxA9ibJRdyO?x(6Bo`1ajVduYL!@p(YY4`iIab>4d_S*3_y)=8AXw7Xn2W&WY z|5p#&{-bt$dOZX^9EKIH+5K3v`=x5rUEN{j$4-`@i@L>zx7GHir?cXB+3|bqcpG1J zpY8vb_&FEZ!mHzHfz-(&xqDWXj8>L7R@039WjQz zIkyyqow{J`#)L>O*>jAwi$S|y-b|^T|1y2xzf7xDZH8MDJJ-E9tv&z~Zf1@9{Heq&^UCaM|h>(=O@4~$#Cz1O% z_F1)GrN`v{{U_WL@>00BxTAJ2P#KkQM;aQF!jC!5{RjMokPrL5T0Zy#aL!FjIc83vyQ;ElEbk^xsI^a2rH!FJueWuugZ1D+X!2P zu-t&_2uwn{)gs+IgarjoN7z(^eI~+Y!8h6IgF8{=t%|(AOAglv=M9AYD#Gd@>>kF$ zudaB6r6BJY$m<9^kEbL7r2}Gj1V$mOHNuvOuvqw721dhegRuD`tQjz9Anyp#z>@lU&TJXHb{hFO{Mih z*gNW0grP1-HyUA4@HJDZ9h-=-M1(~GiwJcd!rl>Kki!r~T)D7vb7-gs@}h@oErIi^ z8fyK2N;mf?ud3^g-+O+~`8|d^zxj!ljD#o>9Fd?BL`sq9I3h0*SvVyME`x|Kv}mZB zETa|^d||9qjSCH_)EcGMMTv{WAFio2mYSHleAR?UC=$xjgr&x?2#!NP-*fKy&AmUt zlGT~@z4z>W_Bm&tz4v+Ddw<25===k#^YFmruWC5}Z-|xSbT5hgyy6~sBP@^a9Ed-Y zpDI7ba*U7smyIYpRyBpr$THbB&-jr~4d4{r)(C*?cfO|rc2!^3{XvH4bb&VJ9ta-F%W z8gggA!!Egb#bNNUpILA9i{MQy6yfFJJ!g3pcoPa)c*KYKC(8@qb>>E6iG8+R=74-3 zyw$m(@IJDF17r%mOlml2frvhU3i+e{l2CRK`z`>cu4pTJ2Uf5N@Fr-Ipb9jvJnwS1J9mXGNnv8Q^{2M@yj5dM73GXUv(qG z_JH->%)uvNxD89sRmxmwuY2va+g`WW>kNB+S699ckz}vEZnxJ3_DU`McVU^KjNOnZ zwYv}YDR$Sv91`LWtv(@htlOomp`^e|c8XLCM0VAYk2qUEj zFt5=MeGkKoLTYQUBTiiuXzao>zc+oPGNqNJ$4lr6?`OeVtXj{OUf{a9^bXgZC1%=E zA3B@z;PMErW6G1cPA$_yd13iRuD6y~a(#q-L0IOLP<{ct!VV36%j_P@*jKx>GWu3% zx6%sGvoZpl3MK*88#Kxr_cRG_hP%-%+cLhTi|?dnS?$K79a@?#Mm{uVnvqA1`3ZEU zWkk!V6}$y~1%A!6jBc5r+MyR&dR)uhl`)py#?$glG%A`D%?dKrDb=26p5^z7Um09^ zs)_||{adJ~yJdC->q7S$MThS2D<$M6TY3((_*>%q1>7^`{gowE*WLm>owxb!zFqnj z*B1|z@h1FjmVUPQdU=`ci`+-69pxvho$y9i zCq|R8Mz;KTC0psBU)gF`b#^p8x|r15=(6%d(Na?LTHlLqidK-CU%e(;89h$w`s%IG z+Gqo*J6gv@o1#}#bNR{g`s#P#-5tGLUL3tmYGrkG_33CUxtEn!lvh=sg}1)CHF_u7 zgBPB!9*Fh^nbu0{kZ2$DhU$wEb8>Zab!S^X$k*nywU#H;7S?X8Ef4b5-tvTUcX@VO zYg8koM?H#3MrTMkD(XbG`Sf3TW7H!QxRNGnm z0Q-!?s=I1^rMb1eK|b19+uQzLX<}(gtuH9H|F+f_?TGe9ef4qm?)u!I(0*L)K>O(Y z!u<8^`Sv}~yW2mmf4kjOv-Pg}9JI=EYP&q>;|!{F$Wz(J>{p?oiJ&yQJZA4x9hXts zQu{@HSnXH&sJ^H^wLU7}QP+sd@pa|7d{Oxuz6sU0xADG)xx3H3gJjP#JkT@Yk(^uE zg|eSZf3I6K3;A*6VsoXr#e6HaRLK5GPnpADHIw1&a20FfJK-;bUx!=6t-*gQ&&?*L z%^Ve!%+aj+gUkuMp=~E`CC`aXctSXa>xl3au3y&I)#1qSG_IZDSGk_V`(MM`+|#+9 z9FFHYIy{52uZ3M)|0`sN93B_`1ta+yb3NB<&0ld{VwQ5f&fE}W*rN>(zry{*a4cUR zW=#h_^(=&+k~-FW*%aA*WX(`B(zJvJNqy0rXi6OVvu2p-G-ZR;&6mtc{6v(#nB&YS zQ#E`M%nwFSHm!!2E9`7Wn?cwxXTCts@~pO>pjiPcp2#e!RX{7=&v;hy7XMXz@av$} zT4fNkXqp>Q_Oj0Ds%F5GsDa@=i|BF%rEsdw$A*Gy1jopZ5!ilL`jG6H$ODDas7zLF`OZ=tZ=-&hi0#(hI7?? z;PP1MgIAMOqFhH@PHRVi-BlvAD_WpuA_>VfH6oV$i7m$(nvfisqB>L5s1(I)lPK4f zqNb%N*4TvP`6=px6vY@%NM4enu1rx^rzlRmiE@vos2`;$b}0$T^(ksY%AU`s^3v2M zof8xFjBTRNYof1cqOXnX4()mz1h+Qm?bau^H_^+R%JT%mwjQ!iknh<&rSy5AiRJ{K zl7F}<|G6f5V;o0{CjDuTF~g?)j`xZNzt<>j&sC*flTG>m*p&ZFBVWD>f^`kr^=BhI?;+(ADJgplX{t}>W686(vGomUlAq8dKcOj~ z=R~RgO>D~NDN8E9nf_i={tuhVH`70ElIJ;>?VoxP1UK2<_&N6Gn7YE|+3$et2#{oF zoacJYTuBtm4lZg{n;*N(Yj%tnc4;oso#b}7`Wuj3A5+Q?_@>?EIlpY87VWg$DDtDO z7a2*plLx8zyy{0+M*7%sB&iJhMc1m+R^!!`*ACKar??u(G3MQdl+pv^Q)d~qDE*RS zdy5_0&Z@4@>dh(0sAlbH`B$@0Sw}T!XFthz+x&s@OJiF4E1z*-G^=PXk*w<+zF~2otJEwKPFD$%owp-sgNz$>W)Rt`9+h{@BdmE(t;%u+47kn+TC1USyZ_IhV zb=J5zPiFxAx!u3_ku2*Y%0-hqK_Z6^E-&e6-=5D?w7ELBHG1UobpCXCZq5#PQslHU zjRW^N>WhRlbCEL8KNl;$PG3&7xcGF|lfRv$Y8i+^cP4T<>Vb82XJbzR!YJCC^ZmV~c#7L!)Zs}#=~<5|l`#hLLu zPC87Y3QdNP*R=#l)u8tlru=j(3FDBsh*{)usUcg7EbxsCc<`5(r# zmuF40o^Z1#wo0sUtF5db^^YYa{h0K#6TUXn&{uJ#S;mi0H`;t0`;jQiY8NmtACZpB zxlx}UHv@KZx&}N?mRH@F4uT)Wseu`9v2DT65AuvkN-sBZ2S)l9J70Ug(_KCBx_W&E zbVbvI=AztOqc+{zC^{Vl-)xGSWmbP@b9r%DBj0)HyheVSR?CvVFwXb%JoN3g?I+h9 zw_?U~TpZP|KD$fD2R=&JwWOl{+PHo_n^b$(CZg8)E#1FcV|n-NG6=qtkaxaJ%P()} zFZ%|;ov~*!ocP^(D*t93Wj!Z)VAf)1Xg!&cFRcBYyrrB!5^-!jZ#}BEE=|SwbygD} zSJ%gs>-G7KUbtvb8$RND8hHaT@8Zlw178IoYa^jC-jk8y^4!|&(%NzPnM-~hh#@Bx z@YKwCX~1unTYcT$!g-c6Ph3mdmY$LYSScDZN&9(gO6GfZ2k7+iW5JDEr<=2dYm@O} z+=%l%^pfhoyy$!8MqxS@E^CUtZ`eLLt4fn^H1b_*cQx`o?R?^_D7`fE%YJE#CVep= z>uq~ULOPMlS3iTokAqW9PjJ+qfFiQf!EuLy@`Or^x!jKg$0K(sI9$Er*T7g1#dqJ< z=iP@R>!Gq9YAcDs(4)awhr#FRHHg+Uz<78^ier#fJ8`d; zKSG>_+*#oBbQwjy`Zd(_9Q>5~lq19<9bnlTIBkwWnm9Ri1nXU{ti`6Of;*+G5(JbyIj$v;PmX5XC?x23r9 zF{ApMg2zbKr|W{_;>f3N;{q$R5Xm zKL@kpwAwx~#?jnG%iq%PWT3I-<-b5$b3ztKZ^@}XmG^pTUX(6sb3~kO;~oOZR$|@> zF)iMgfXeBvm{MJuyUzl?e%VHSxftA=fZ9-7-rl+wfqap)&kShc&w%VS6R3}BOK~or zoe9)`!TY5v=F5J*pVLUoE+rsasD0_Jwl!Z&iLr<~?rBz0GgFy@U3Xq=C&HLAvY6kkUIwYMCs1#7?$z_-C_ za6kA5@Bnxa9I4!JWDWD%LGI{a@AUIvANW1IN(}Y=Nb5WjIq4ZV^rOQkZujzW)HkT0imA|4l%Dy=*^y_~c*7=iZ;E-gm*S_^z~KLw7+w5|myC zW`TRb2;j&5cGAK&pt0gD&JO%yl;4c9(vTxGHDVqND zV-L^!jNB6EqyEX%JCXFiA$u2Po^WNn|5UC&_N7fT2Ym7&WeVUF@~#7nt^O0hFmQ{@ z`}7t1Py~uK#hq+TTh^|AkE^kGJJ<^3vyZ_az(q0SgX6*ZpcQ0+>db(#0KI|^&Z?^8hf zUGO+~5@07gXAa`7m=pa~pmJ)T*tW6M#$7QdRDt@b`A%zw;AzSKHBeouQ+*PxI;Ed% zp}PMDNSFU7!clyECw-_#=|k0*r7 zJNj`Ct!(7~7HVEa%bTfj4K=)s#P5PFDV@E+rALv@ WOy`%;XWzUu*ccwX^SSJO!T$n|-2o~9 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-SemiBoldItalic.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-SemiBoldItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..44ad8c56229449e7594a6f49afb739caf6d10127 GIT binary patch literal 146992 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-Thin.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-Thin.otf new file mode 100644 index 0000000000000000000000000000000000000000..b9283df701b2c99adc208cc902d44327f0e17749 GIT binary patch literal 143356 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-ThinItalic.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-ThinItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..461de9ccf2d8d600297ab02c5a9a7fad149268a3 GIT binary patch literal 145124 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-UltraBlack.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-UltraBlack.otf new file mode 100644 index 0000000000000000000000000000000000000000..319953b6258737a977f7f126fd54b10edeb61b75 GIT binary patch literal 70608 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/LICENSE.txt b/third_party/shadcn_flutter/lib/fonts/LICENSE.txt new file mode 100644 index 00000000..220c031d --- /dev/null +++ b/third_party/shadcn_flutter/lib/fonts/LICENSE.txt @@ -0,0 +1,92 @@ +Copyright (c) 2023 Vercel, in collaboration with basement.studio + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/third_party/shadcn_flutter/lib/icons/BootstrapIcons.otf b/third_party/shadcn_flutter/lib/icons/BootstrapIcons.otf new file mode 100644 index 0000000000000000000000000000000000000000..403ffafc9fc18b6339ad2cf5ccda1a9198019a06 GIT binary patch literal 478036 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%0DSL9eQ%RYkqH$jcNU%?LW+^%XeK~!|GGCin_ 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-Bold.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..56912c8fed70048236c4c77ce6d912e62eed0b1e GIT binary patch literal 147696 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-BoldItalic.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-BoldItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..44e5e86bb0c09b89966b32daca49f3772a06590f GIT binary patch literal 148628 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 Ueg*xxyC$gBUjDun@dwra0!|XWM*si- literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraBold.otf b/third_party/shadcn_flutter/lib/fonts/GeistMono-ExtraBold.otf new file mode 100644 index 0000000000000000000000000000000000000000..79db4bf09dbab0dd5a7d708226570eb89ff7b9f6 GIT binary patch literal 148280 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%0AW}pm{ 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%0ApF7lXjcXG8?_ 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%0D8*EFCXdAH&;Sd_eTaLj{XYy?cL74{8k@+ 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-ExtraLightItalic.otf b/third_party/shadcn_flutter/lib/fonts/Geist-ExtraLightItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..2d3af00b009877014f7c5b0a5ae2119cd9ab352a GIT binary patch literal 131548 zcmd3P2V7Lg^Z4w$dyj*IqaG^cIP9_01vM%l_TIZ9AfPm9wpe3H@{(xmiM_<$v4g$$ z5{5-+Z{YZ_CW=%6XYB*q(N9q@Evk-(gZOQH71$mv@hqr_= z;H?NMF3k%fc>~O3<${ZF2p`^Hhrb>OM*~D_i|M8Kr=|&(F14lwu!lp|vR%dh?wqg&6mJUn_^AdfV*~_ zHLb(+x7M^R1Z&q@({@l(dmq9f8B$;zF*ZBV%e5Pr|b)+BS{PX_T;+n`bko82>4sYmyss0FMFsGgAsaiwT1I9-N zF>TIIoz#d1HN5r#qk&TjF~g)KpftIAo?-jMFNFBJP)zGSf75jJyqR0X31R>5&L8 z0e}19FQaoXzB4+!F^}O5g?2ohjw8nVKgJImp^TP-aZ$2=HIWOcD7Qay^xaw&>FC== zMM+I>jhGn!)ZQ@KL$N>1Victk3iH|*rkWL|niQs(wlO<07-iHRp9K zLpW^2Fsy964dwDl!#RY_bQ=8Qvjcx>ZC2v*F?tFT)~W>|FcMZ1S5l4CCiO{E(u#~E zlgJcuiaZcJh1xKhpUgM(qP!p_~ty!VT(d^M2)p}^lYwKvkwSBZv z+JV{(?Nsed?QHF0ZI*VcHe0(#ds_RW_Lla6_KBf^S6Q#|Uh}+mdi~~=>+R<4;qB#J z&byMgkGH>f9q&foDc(c9Kl5Jcz1n+&_a^V{-aE^dDqF5>r?S1vep7aC*_CBCl-*qR zPT70qgmO|j$8s*^Jj!{Mt5zl47cCB`cb_eh6CGAb^eeJKO(<5QSTgT+zE{EPi@q%N^8xk!X1w)T@8*h|BX9Qk`Q^_);eQ8j z8gCkI>TlZI6mPQHUjW>=i_hjihyGme=ej>@f3~}E;l{}u2QfeAM%ImGHNwNqy1#dyKu+k;!DakSfd()(YE%Ljv!;rUJ^( zr=YE-rp8ZGPt!=#6bD7~f?W30gyCO0{>{^z*ZiQlq`9uSt+}hYuX(6>p?S$`;8SDK zyuv!KH0b4OwOUE5!>3MbuXQR8>yK%T1>3McZ2QN5CG#{-)pE^a&99oLn&+AqMfEkm zs%adLQNp*vKpd5qgyq6)VYDzth!^$=eT3mcZy`bGD?|!MvHwSe7-1Rm#sLgC`b$H3 zsDQI28}Id?0W?C7papb-F3=Tv;v5lYwHw1=v@lLc6vhi@gprzxunM-qHrNIG;3S-a zAK*v04fo*@JcVaK2_YJyMb0}CH)1BF`pfvUhS;9(9 zd0`ca7G?;ih1HrG!aCuE&`xNtsYG50D}-20O`$D`5oQYYg}Oomp+9={0(#qev{H8H z^*VzWlmSopfcr##;18v6-fM$1Un`tHTMGx!`X-{q9Edh;ICLfk*Z`|x9c+g6unD$6 zHu~=S;UId?Kfx8a3fEvS{0<6OAQ#@iE8!r#CS{0`lp>``Wg?I&po5KQIoE(KWZ}AM zJGej&xWZ0c_3Qv6>;`w(178-7NA^fFqZTjAlW2`>?FI%adLv3#F^^VC9}xS4piEO@KCrFxs+Ract#XbZ_?35Bg-i1hcU?a4 ztLQ9r5zuJZpwTemU@M1e?2k$j&IemJ=!*^sb7Y3Y82AFF!dzH_CSn~9i5whSCy_mu z;SL%Hio;1u?1(cCC=;oGLn?sO#p$*QX-ztko~Q~*s1`%XC=~pcs45GP#cNT3+fm5J zP_RFukRFm}gbGB^38jQeLUo*+!-UpCM>KTF!U*9DG!=`{i0nWEb6mJ0+!J0R3!OA( zO${{hEi~OUahgocIL#Ez0?j(jJ~ZkN(V)K4g4RZB&>C?XFRQJt4bs-rhH0B>+iSaN z`)XsgN!oPnFztBl7dWlY)h^L4M>i%%yI*@udq#T>9huwOC)$_Vd{HCXicX@t_<>kn ztR(u2b;O2ZW3iRkLF^&+7Zb%n;$U&4I9`;+S>k+gsklnqAZ``+iO0pW;#Kjc_&|Ij z=1L$rN?uY0sg_hnYAkh@qNQYMxHM7vTACv*lGaGuqyy4<>8A9Hlxri}INEsFc-vI7 z39<>ZX=T&HW`NBQn~63vZ06XkwAp5Jz~;EkS(~41ez8$>wz|@~YP$Nm#=6$JPP(4D zDBS?vAl(q%DBT3zm%3@X*}6r#6}t7ht-4*hgSr#C?{$}TKkM%6p6Fic@@=)YdRrIU zGPd5fm2GR<2HMuM4YzG>+s?MDZ6DkIwu!dsw!>}5+J0s`*>vVCrwYX^2Vb_P46-3NB%?P}T8wQFM6!LE;8irrwlk#^(lzOb8W z_pRMRyXAK4?6%nLv^!vT-0qy+k9Ifg?%Dln_q$!5UZc0uJL^m9&H76E8u|czU459o znZB*Qi@vu$MxUTh(+|^+(SNF+q@SUmt6!pDrQfLEuHU0StUsl{pueiWrGKb@rnl(d z*h}^f_HOo`_T}uW*!$Smwy$p=Vc*Wamwmi_hW!}(iS}RFPqUwGKi7VV{VMy7_S^0E z*dMk(Wq-l`s{JkdhxX6xE%t95BnJlvHwRCLat>7-{2b~yggP{FXywq!p{GNXL%hQv zhoKIm9X@mT+Tk0A#SW_-HaqNeIP7rN;j+Umher;-IpiB8gQKC8p{${rA;3`A5N2p* zXlv+V=xvBGBpA{R!wh2#pBg3^W*FugmKatUHX61Y_81NuP8lv3t{U~;=wBG5E(?zET zPEVb|xs-FDb1UbL&b^$Yod-G(avtnF(s``&XU>zIXFAVw{?2)g^LFQb&L^EOIA3$V z?fl63g|p%!xj49#cJX$p>{8Pu*rkC>QF4J6QyDV~9 z;j-Rkm&-wyvo6Tqn4G={n7I zw(EDUt6j5Pb6gL)o^ZYBdfoMo>tom7T=U#CZgy_YZr*N{-Dj zlG`x132sx}7P>8WTj#dLZJ*nDw;zp_j2{`pjIBcZrN(5&WF*D=_=YzMO^l36O->3; zj!jOA85kZJm60A39uv6foFAyiiwU-NQmrE60M&vL+cw6644QR(y^#rkRQYC z=NsCI^QBX9T%A;0oz$LnN{vs7?Zms+g`?_HgrZAyd`xOgT6|iU*wo0(m~KTS-FODa z-8i^AZ`Zw$b(kGmJ2;F{;Oie&Ga)%Dp;c&8{u&Ti@Y=p+TAELQ+F>=xspm;vH86;$ zo3Y=(W*mi@ETTevFCfzTR-j4hE2mRUs@+!8YTwl~?>kR6VZTADDyhkmxPmxgetv3M zVSo867Wqc_`S5gTagu_Il$#X>N0cZm(r#W@q^SJ0S&6zu%E=4clql>};;m3}yk@r& zWkrJePaJ{PtP)J*c_k_1vI!3D)2wE6LVRo|>oc<0z>kPj`5mdUI*JQ0ipw~vh^tYB zOpNA5(R|>?@N`UJS&RxQMg_$=9oC4+!Y?o+mg9`&En7a;N+-T;YmCz zsVFNTC?+X3x%iMwR?(*NnyE!K18b-8tTgNJPb-Pm&o?9;JCa`1AjqE~_45tOP(@K3 zNrs9f!^%ZA?lX7?2Xh>Qi(n5f(3in{_zW#78Cq=IhYaKGh81Tqj(gQ2`-c|{bk2o< zpn}&(rcJ()ys4Vxl=3968Xlo$7a>*O3usc`3dgmtRnOFHwQp*gbx=(ej&NU&-LD9{ zpQ^H~8n>9fDt5oflGyzsi(~hTEX3|t47;CI)j6=p0_=W~h1mTPSdqV~B5IOLjwh|k zqGqQhM5e{@WC_HThz1 zMj0jE3RQ*IA6lZUNHch0iLUtmXBIcB!TtO6uZbolGQCeae=@!V`0@!mz?To-0ADVu z0AH@_0Y2&@M6D8HEelZF1@ecFTIOSI&dqp$FCWhVd+VBx*UL` zi4$RcvsQ^vGaK`V>QMyvsTllJBK)ibsx|#olKfPX{8S?RR3iMi_YmM`CBh0*#pkDD z_p_2@tzvz%_Rk7hrOZbK?W2PBQ9=7yp;&2AF{nBppgIcyK`PAJD)F^dm?0{#5Vb5+ zEelnlgsE%|Q!~TVnqg|qaJ8(FiakQD5@CH)oBQxd#M*<}Odr&AIG;qV`Kq3%(%^Nh z-BIgvCE|ttDn5Tz0RAdIe^mg1Rt-_hLew{ZwSWF9oi`u)fQlhNB{0BBpjtCPB`H89DL^G6Kow(vN<@H_ z2rEn#Ux11|z)F&}iuKLfKPzaJvOpDdpb9!r1s!OGVx>jJ5UA3rPAdUHYL(h5)wNa7 zAu5y*wJcOE3sswksl5$TGsD!HVQS5AwMrwE+z7Qwg!N4=^XHmil?hL)y6cK7241`2|GqDgi-EuzmqSj7)qm3h}|ZgAc}bd@xSogX0Sb;`joBf``SVCNm8V z!Icqz@{IKU>@~fA`ru^t8N$Fn(WCS^CySQQXDc* zFvu*yAoC}O%u*_3mg10Eg7L?fk5hbbruhbPruhVO_WA^K_WA^K_WA^K_WA_#nm)nS znw-5p!JNH5!Cag^!Cag^wfX4t3FGSJqgpHCGFNzrwg}PoW8J#>>Z8Rt&CM`YQ3ZdYou=EeunP2gT zEVh6{f@(%Zrp5e8(OApelG#CYsFatCoX4p!}#uW#+d_$1s;NsEa}PKw47KVRRV zh>X-^mh=fz2M0I7_{L3_Isp89LPL|1(_;o@L?&2q@iZfxCn8f)Qj>@9WPDQp_@wys zq4B7k==CNr(0)EaSRS1bm7bQ7n27#ua#AWfcTtfED9-fw$b{(l{{4AH|Db}tpmZ5{ zCiBSD)a1b#DV*Mr+Wd{PRLuzH8B9CX_YnTh2W-fkrHjK$UEp8p&E|} zKA3$&`RMlz<(Ar)`zyFM;-e!d15j9CvVYqf= ziXR!PvM?|#h`*_92;_d3U!dB#KtAK*8|O`6IG;)V(eH{Hitun7i%*;WKDGIJCMr3x zA77TSgj&vLYJZ<_CN?#PPr#U?zHvXo-zStWaf+HT8Tk0CZo0qf>Efec1;`6k$JbwV zeEn4~%->&yr}|y~s^5iW-0<*L{ZIHuZcx!%c3J9Z}p6bXY*_r1#VJ)4c0c+w!@nfN!k(G3EI!K z)3pomh-HIzoAzhX6%SK7ikafq;tVlM+$EkDABwLfXUQy;mwcoMsh!kIO2Oli3DQ^6 z3~8CPLCTg6N~fjk(jDo!^vXuEG1!!``M{=}O2{W%A%gNH*4hjtD_9F{n2 zcgS(LiEF%cPBe1lT(mW zC~m^{aT@G2$!QsG!5?joa(rx-4^9=aTJm*yVedpIjceyl{ErYUgUi&Gjl` z4@obL=^^TkQ42rbG_)GImH!ox#-sJV^h);))@=!J$ zZf>Iaql|PG?MhqYZ$rh7+AGbKnMzlsl`=~SrM8MaZEl{n&8P%b`JGm!$+RI2rI|G7 zNjaselB|R(Vai~$-gxK2mWvzBncm`7X^lx7)qZTBJ{}+C^ttI}Fs_kK+@85#Y$lCt zB`%W;MmmB9(SdXc4GOuh)aqhV>R$4vzUFvSgi=Krqm)(JDjm!Q<0k3C$^|DjnCT7fGfJ)6^ZtfIi!Qqm3R=59)Dq zn8_fG=`HFd#9Z_Jjc*0R)_758E#EHdTF;sTS6nl9ohT}BpeNOMWzkW_py=(t z(9%EBO4RG;&Fume&j6*oQU?37PP)Ev`NR2UYG>KwZBlIWa>Pa-4;sg?kg(r3p@8upZyrcSrF_VhFFoFqQ)cu~c#WsE}cDQ`tYX`ouu!R64%coX4!~!dgD&%2;D;OT7uh|XkcEjXb@HAiTW>0 z20s(6YHQhR3Gp=#H^V24$JQ zUTsVpJ!9e8#S2y~nlU;vERMO1@pmQrGZ)Ol1&atqH)X?%kCSkmV%WgL5y zQ%%g0T2WWAm!w~LasB$arO&V3x#9VO8)}kGaZ=Awg9oR2 z4jVId&T#X>!9!;xc=m`N(0rJAt+ajSygAD}=g<6P$Q*O#+&N>GdFrW+`*J3gGIuZ0 zHd*FhEd5XktK>zBO67#`#$`PlMJ~Vl-J}hZ=9{}r6epxj95~2B(H`pf4CP^|Ax+yN zDpazxw6vI>E#`SjWBZEqu9Vj*uZ3vHm5ht$7L(Wvlo$h9!X?Ka%ptk#I*~@Kq>y0^5u2*h%W=oVU;t9#(L{BQ8(UUlQ_0mA4DvCdgwioqc zYe~t@vr#-PHex$TFYc6RRcxj=rkM0!&t3HG;5uQ>X7pbznX8hcq7=4 zl>jA9S*Gt1J2-`zjs(+$lyL*h&6L9k{21LUPF*u~U6#j%z6Yw;3+q=m%4;DdVsFXt zvwODm%rac0-khmsY33nu=Zs~`4tgGC8BL^sK7B)nn@6@3Ka$4u6)#Kr1}3F--ow@? zyeB93T;DKsS+|+y{nOX2KH#x8Zf&E0$mlkMy|zpgH_ll4-C@t23kS#cjvd&hzo}1D zSh{IV%2hA@ICnZjLb;WfsJrEr_$yqxXVj*_vBXG3QroZwi<4 zcH~!~-nmtfv4-3=ktV$~b%UtHN)43^)YNrL)-2fWxpRJMzxv&JMReBhG!2PK>3q+0 z)=QsX)p(kIFVarZ@B91JSISguqPU^qI3b~3ZajUfVnZ8??Ir50bVA-!Ux`*f(^T9@}qn*XZ%d{M$ zV(NUH)}&*onYN=HXqiK*h<8exXh%_hSSf8*I!Q-qwy4jRPSdj@C5tYdd+2#_1&&(1 zXfZI>rc!v>n}-juA)6bT8HvlUrS?qu(V#Oq?D_-CH9nA zAL^sHHrg0@(yVViWX?fzj;cQ^T%iN-6W6$)bLw$v|ff zAH{}nJ*vG*E8dLCQ9?GGKQSqqE8*1SrEhIgO6T_*Y)W0(ccyvo%vEdmcw{H7uV15U zuke`pLsyLUYBDUQS4)rPTT?E2?Vw|fy)wRCzkSt;qxJDW{FuKbrLPvSp)DG1O~WqmOylMDfh3qucIy-rnBR zJLB_=PY0XxyroYPCiEZRp@@4MQd`=LYH^zEM(x^PQuJO5#Bs@>A5!LZMUe>&1@&m{4ySzpYV?LkTSNySZx2&k&K z`Rq)f#yBtP-*<6RQ$*y~Rw=F6cRg@@{#T2>n(ozkqBwEHXBk60nAty0_lq=9y1zED zSKPSB39;sn6-nGBeM3cY^13OzS9#+#|X7pdOkw-yH#4=-hcG)Pg5C+TsK zc95tpEBYfv8y=!~n+;j+|1?O{XgXa&k-`aD>xbUE>&!AgnRD{e3y(*w_9+#;lmuz8 za@}~Ct`%uriR!n-hANJ=x-*>~tK2Xiq3cB&B~jQOjgx5I9*QT*Yv?GMX^HcL^Y?a| zlawkrWWT5PMP*(M6HStops30pD&;*DL#tD?G95A19wgg%vMUTGFSL6Y4I+Pll!vo-q;*l`)jYAUyIMiH9J(+Qz_Hzqo4-c z`%`U-nK~wYo6ysvW&3#l8l5-Y8spV%f~b(0ms(ND6Tvm1Ix5j#Tg}rpsRSiTO2hsY z{FHJ?P-~T-Qb=*Y+ia?Ku)OOze^VHLW z+O#>Wl=V_RE)snUi8`(B>#NuVwp8448b3%|8j-Rx^aI+Fx(41vrR%A9Djz5v6_=a- zw2XPmTB9O0IFJ3SL+z=a)~7ZX!W2mfLHEX9X^0?J3^!sI$UWL{9ZtYed;;#vCSadN zN@-6;(`onJ<&&08+it#RX@rHodG*9`abtVOcqn$~n^I3NJ?-lLjj8WgSbeZOThj)){-JE!p$?q0?v;Q#+S!+oXkAf7C=vOViOS zDI+bVPTr;z#YyyM6XtEyiYr4+dgNahS(h1+ROs5 zxrDZoXp5ImXpLtPe1;h%CFg0>$*(nz$DNV&6{nB}N(HkaTRO!i9awbfdp7Cx>liyB z^*(Q;+N2jBwrhKY=J8qyz z+e%8A^+wu)c8yfJiUuo}c^|zFne?Y5x+&MNINu|2&-*}BmP>|TO(!K~HKmr?lp=z>TFTQ4^eKWeWSVvrR)1=u z+t4DteIcu-^Ra9=+Pl>>iPj9ggZ6HiQbt*$Bq=p6_|j5ly`?vIiYiH#IhNe%IbvRi zvL=hCls6|YSH$j~p+AbZ=bb$Lqvv*3ub&jwH6}FLynt#kt)~NU#jY-R^_NYF!~6F8 zc=pnX=D3k!zsbu|4|p0TC{zQ?q|6KbN)*S7R1r_`&g zm=zcF8?R*VIKSB3U+Sc%ZQb{yoANz<$(;MO$|Eo62O8N86sDpWWj!{p)QY3UElopma+QJgcgwY}|R>T>F z$!3sAALD*nvQ(r`!<47EdN_}YGX+!nba(W5kJDKlm07qP*oT`Ey)dO8gBIoE!Dvy2 zjqZqE^}!Gi;$*{{tJDp;G+FSqm0SUN&Ww8GY^NmZ2iuS=FTcA{powTzcgh zl#}#x<)mm>ii@CKbb?58q^`;YTnlg_swm&$nj>7&t3K$dgDbcXs=tj}9JyxH@$QoT zn+);bH$zkU>)C32S>Aw#mI0VTd7PtnMN28Ek#bkmKQVRw5~o|!=f>RbG&jFHwTSwc zx!rLgo8R4169MTh!;BlGyXcvBN7|N&^bXf#7hD~_Jkg^Ls=21M;;5&IsH3gXjjc)N z>2FvD;Zpn;Is%E+E6vL*4V2CWi^UYPl0NS!>R{0NI6XbR8CN~ZFuGaP_t^B3 z@353Q(~9X0TVUcqq_rvg>q+%`hOVs8P9j;(ARhyPFZBk;4XS0`` z+?2dbZ`{X*IBq}@yupqa)G@dKRtp$h0P6^R4p5$8umMJh;N5eK*T9ek_!cny0V6)h z*8o|BOaY7>AyYL_nUI+h#&ckZ0N(y53jnqVWFcTY2w5ax)C7hIU{np>UdK2OvO>U1 z@feCtRttC|o~#25^nh#)hBCmHfFUFB6<}B`UYf^{ak5dsP!O^iFpPw3(O_5$*`dK8 z5sXVAy8!kHWVaS-6LLTUAp`?g2u98y0&}z*r-pvIe7n;W`M_0DcmL>RRYR1YZq?wP1XV5C|9*BLorX z0YWea?}HHH3yDM+2p|JY0wG~KINNFje+*ZG*`UFi^8gluCKyOVjV8nuH?B3UG#IRd zF;C!0FbWboi6ILZo`V4k7$S+0kr+^5smL3XBJs z2%2*eQdt}6B#i$|IWGaJ17sGE-$6k6&H&*iXz&XMr$O5uw3|Wn1#t$(C4lq|*o1@4 zNzjFZZW7oEV4DE8KY*Px*hPZfe$ZC{{YcOs2YU~&AAnzV0EZ}WxDN(TFw6$Wrr`J( zoF;>F6>#1GE-k_32Do~H>lfhq3%KdPEgsyy0k_LwG=ec4jHzH;2*&5&-W}Y(gHl>3 zl@6uWLupqi9S5a9hthkY^m8av1Ii45GOMA?4e+P}9^=5{EO@p9&t>p|J$x`8Opaih z0$#S@^);AvV4e@&ZNU3iDEkqVode~{Lb=&czABVI1{HckMI8OxpwcL)919=TgbyD= zm0nO~B2+mGRlT9==TP+&RI3QpCPQ^Ms6H8LNKhjgYCM3N9iZj|sP#Gc)Bv9z;4>S1 zo`7#>@ZAJ{HsBWlewpBx4gSvH9|`{7K|nbO=m-I`A>aiB218&M2%G|eKS5A91m!^O zCQ$nz)Xsz8rV#uc1S=5I2tp=7$Q7v54CBac3Os&}1((oe9lip?M%Q z&xaN}pyd!~6%DO>LYq#|wl=g~3GF0kmkI4Cw4V+g+@ZrK(BXIJI0QQBpwnXLY=+M3 zpi5im@(jAl(5*CdTMFF+p!+lEu>*S6hMr@gmlyPU2))-spG@dm4fNG^Xf#?PhJrtssLG%TP(LhWr#GHlxfzW>#^j`!0UqEaNi2V#=e}TA0 z5H|thu0nhbi2n@YZ^3{B7;pdv`oq8tkWda1jzD64NSqBA>y-2rB-=vr5J{t1Sp!jRu!Xj>S10){n# zVGm$*mV3Ze(+5)3{!x&o_;|pU3!I*8 ztZnd3clg#DzKw)$_rYup%pL)A>|jnmm}>`fH^RJNn70q+d%*l( zVZjPmSRNKmf<;cSC>s_>!s4y4_*YmG0ZaD6l3Vbd2YlB8zLVj*XRx$7EFBI@FTk>@ zuxtw~dj!i{!18IZ{5Y&A1uMG4iaD_2BCM)UU^T{?=fD~Q zYr4UjnXu*wtPOy*pTOGNulN4*0o&%owjHp&0c`&ab{JqsH0+oSJDx%I zhmgGzavUH>hMhsMb2IF!3A@_Du8FW~2kd$UyJKMY&#)&M_S(YU-mv#)*yjQJM#8@1 zuwQ`vtzrLHu>Uw5kl;WR9QYCr{t6341uv4o)0_lkMQ-ayZohPHlqIHQ@ABI8zGF zjD$0X;jAm1jexV$;Os3pS0BzzgLCWP`|9xhF!=r%oNo%}FTjPy@Ph;V&>DVN2R~eZ ziyh$NVz}f0m-@q{!*Gehk6qx$TX4AwT%HYAs=$>fxT=S%v*4OPT>BcXd&Bih@Kba6 z=^ose1veD<`3T$`2DduEt?O`mA>5JSZZ)`TfqPfrelk4BgooYX;U#!f3La&`qfPMG z4IVFm$9LhEuJFrU_|+SJJqk}c!;>TM~< zU4$2b@M0^x$c5kI;P+eb(j8uI2I>Q}70{o+G8b~cf>$EEx(Lb;$m;<46XEqTc=H*& z$w%8wFpL#rbx8w)QJR7`5!w;q7lJdg<~q^Z5p5jNJ|tpwBF-j~JCT|Z={~WECN{Ce zW&p97Pi)Q;ok(;ZL|2#S`VrkUqB}xt1!7x=*v=z%8e-=`?3xg}Z;0J~qHjd>7;8I{ z=%*9?K4M>**!Lp#M~Fii;t)+7ZV^LoV)&F8<`ctlVxYv)nK)J@j*W<858}9rINl*n z-o$AUajrm|I}+zli1T{l{1b5@#HAc@X+>Nk*8pCT}K@(zfC#LhnYdkSmCFakF`7$y8M!Y?VcM$RJOT6b0?_5&$OH$52%FQO_Q%D6* zQeiu(7*8r*A(h&YN{3115K?&=seFx8en~zIBp=QvA08uBs*oyeNtL0b$_7&9KB?+M zsvaWM+)1_Cq*_l>?GdT&N2>QD)#s7wmq`r+sqq=9*@V<;MQUY`TJuP)1EdxuK9z`1 zC*p$ato@x=Eu@vBPw`VhYv#P2!rZ%+J&6aUr3|2he9A^~9};7by) zi3D6Bfm#yyAqi|p0@F$091?hd1S%w`770oqL6=EzBnke81aBn4r%3Pv5~3j?)ksJO z5;B~GEFmF3kdS;*$DP#iC3RYpI>Shvsie+cQs*hDTaMHnMCu+Ub#IY+5~)|2)N4xW zO(XTLkb0DSgJ@JKONXOa2`Nd4!eL0QtE z18J~`G_a6{Zlqyf(r_7R_&W(LOG5D*6zxf93JG09!b**m*X6pbBU!60eO7C-WTR!F zEXueL%ERZrSfj;X7L_PGs>2o2w?-PHY!&fzWUENOqFeD5_gCb+%VJ)$WFw8nr6grl z4O13m()4W02iwU2%Q?*e*|=X8t*0%r$c|ff$s*qwkwx4ZQP)j!v1S*kJ+{24v6RI# z#!c83sJ+-pMw(uGy)Ufm8wowLUSp}7yT*7$&fc;3ysp124(WskW3sM`oIX!J$}(hJ z8=jSQc|G&jyf21}D-)=z%K*zw*B2IVb|@-~u8-AoQB1w?tA?-abQI~=ysr4((5Y*} zN`!vS^#wh`j-?s&JC6`BJDg@O{CpaL_k4fg_b+n^(I43cv@Ei7eB?Ge$S-)w`vy0m z|Cad9X)G00@%6S!&;I?TM`1Hkcuzxj@l$qLWLGSvqDtP+fBLRuDc!SZlLCdbRLXvv zLQa=O++XgE7Zc=uI+STWUtlPBXZ8|)o zK=lu-zP*Ofdu#8m)mSR$PBk8qH*Api>twc@AnV%7G0}2IogBM(P?oI2+X?CNs2TD? zEMB}|m8@GV&loLd>g2ezjDe_>ZSpr2b@rG#gmxAmLh9}!4xvKy_t!33>k@ByggP0A z!p)Iate<;A7blA&dk!9)#``jL_#B<<*mWd zKbbv5H#c+c7<|k7Jb&vul0cWq*|bsi;cU7#yXOv<0k2xQzOb5r8tlOJOIhrRCcsib z7IE)Uc`l2%3oFv=>MK5uup_mHC~7?X#X;lx_-IdKaGs~A3`X6YZ}AijYZ1eG2H(Xp zclW5>u20c!Q4}GqC*x_IOl#?6eqg6_z0Z#9<%jw9o`}8rxfJv(Q;iZ=Vy4b&TxEqPHyQOvVV_d@*WM%!kySgG8LZhqkg(Blf>SN zXN@{aIfUaPw>c@(syZ3BsRTNKB9EzuoE;%6?m9d?m1&ixkCXtcI9FB-%3@hbKqL)r z)TWgRksL-dsN%6S!I6Z6of35@DHC7U{5KJEi^fsAKDIQr+O(^MHtn%*HPQ8IcW%>y zUI+d=lqfOlep$IZ8=390f6u0Mv~(7oxySVi9mn?EEyQiYk0!r- zx(5Z1GH}iQAEglRLv89lMwb*Ly8gs=HRW%H$|*Xzf70+ivaX-}@$65R>S9NVllv`C z-Cs;t%uZW*Mt`+h>Z`XOp#rmO5vWa9t(IB|`?q+;b@S5Y0%NR9!yPR93uE?X9;= zke4bfbw)*iuJ}Q2XvP?YpFEpK=%{z5f{{UB4ae$-DG`pKHq^UhBIii$!PK zXuH_qw$+sVm(KkkVM;~=xo!vRQ;RL&~Yx4TJ74hr?}VBoG2$3Tx+2jJUXCF9>i zfbJ6G2)$B#T$OZ}+M~PlH%PZaMqU?l#Pali4_Kk(Dyx#S`d`Yyzb826gYjzU!y(-c?ZV4289HCiw=dQ>S93GxCDwFQmPVeNn z9NcaBe2;4mU5EaTv;5%v&U-r7kNFKISyZnuaid6+aGJ}BQi9k;ChVI*Zgongm2noZ z-ey9&4f3vLvQkQiSLbAQwMnUn6-UVI)}5@Z#100qt4>IAG5n`CA_eq|^)zvh>uyWT zJ1ymu=J`8|h#mDO#P0s*i9O5>oyxInOLMEK+gdn(WwRCGR&_;KlX(IK3{CqJ8ngZd z8o8;o(nz0MjpbIhuFSTsE4LPSE6x8;X;g%xtNy5W*GuT#u0LVZ^?!yCX``FH zhW|T?o(#{S?wjr~gF(1zY4EP15m!CG96L;Px-;m4Y!chx3Um4Nl~dO0*hRy|s@X`D z#c>11B#uteDe-9P`iZosEOrg7)2A{wBCQLJ2)}{&MH?8lImD}9){@a^N zmh~cAy>1h0qxHMAlsdEKuJ=8>!H-l& zCf6DFeC`!EGHfOB!n%?u-1G56N9Nsol&4#encE#%L3>(RQP6h-t-!237P`o~)-{s*E|>4(|II17 z^lm#u%2afUiWA-z7o#DA$yVGYi9{<iTtu78YQ*uBXup6>wv^oL1MR~y(zXpW)8+B)xl8q ztHa`bP~a4NMzs@vgTjfgJ>NEcc9pYptD@zxG~#Z5U3EEXi`JKi31QFF8hjLCrMKD# z%bzwwz*GJNFy7fpH*Szcey5D#!R}@M1u-dVCr)r5pjn|0VC}>zOUpmtIzbPMwDNIr zI-ZVHZXvP&g>Gzqxg~xSFOKaa{P29r{JETidm;!Rr~rUDx1vbD$*(A0D4NFb&R`W$y{}i;hOY>*nWc+r zn+o<3^Cnr1(>nvQDqavOUgtu^)3F#ZR6%uT#;SNvt@ijGKr@NFch?rbUC~q~sVlx* zM&=rB+*Yoi!?(Xj;r4eb+x{NIx4+T2VRW9X>mkRp?eDd0`x^uF)a~y%Z2KES^lbS8Tk-yMOVR!)`(b~qE#ep*IC75X@wFlW@(jAnWY`^?;&Oen4`w? zvlobaE9%tScTmHb4gS|C!5vg92gKqte@UldG;{Xv7&tt3A8Q z>{+6EoHx{J&#cFJGd?M@XUfR@!~Y5!ErW;W46yF;4Zv+9v{%`#Te!h;ke?hr^-$-U znWUISwtL2cJ8={5@PFNp9;l!%vo`Iw@MDT&NjATOg$tFHiY3@N4OfHN+4Otd>p#a& zE6`z8V}@}4Y$3mVf;&<=nFkIbvQe^F6gq?zK;9WC*GGUneh3ZbXawhr^SFxI z{XdDuJ}$;S?$4&j@vL>?&SiV}Su1i)4d0Z-`|{dExfh;PvlvbtkKvTXf*?+Ll}_ei zoOlq+0y$->*U3DT6A7Jw%b3DoPUMwN&We^lLhka2&f=KSd$A(7@Z%tM7-2mK&5KbT znD-^;#s5MM_kmPyJhxOwGs)cV#~44UdO z{(X_ZKXa6}d7GHm|3`;;5_el%w(ME4n;zT!*=}5<%)+%G9@A^D$`r?@8Y->hLB{ei zoy^0GWu5DJs+G5Nk{jq`9&XG|%vrdxJR3Eg2OOgUMaThFWyMV=t6|5eV?6L!Zi+g@ zLyxhJz1;PHd|fB=0A#)`fdRBh0Y)s14O{9E=cS(~_}f^8cT>*zP>Ll2O!& z$L~0#AO0Poym$|p6b$J=bp!v8wrD?|iT|*T$~gCL+oRdYcY>*4nJdn_zbE?vI(frz zS#}5mlgISLD<2}QCLiuA2eR3|Tw}b=qf^S@#w~th!V}AI2su6Cw|joCcUWool@23D zM~gEKiOOaKQc7;xe30U-Gc>@Bo~qg8SIf5=+Ezu#;zsFE)%p1vx4PL!D{y^>HR+Gr z@tBZ2u*@&0%)&HjAlAjZ1wqVF!E2ZQ(X+kE2%w`w$n#2-)({ALa(WDz5vFqI$LwG0}{5Y{RDbwbh}WqKjQy zja9F$p25C^v9r#9mWGG?5aP@()S%l|E2VC{|8YN*uf_ja+*Es+3-R|7%Ww8+go1mi z3SWNzvseoR9ERP+ZI3?cT|2(u{&x^bR!y>AZ)QvEV!o}ym)QR-X6m|`Gxl<^LkC=3 z^HudfhDqs`MaxxRpt3NP7i z(rwx{c!gtr_d?;NWWWmV3F;>b+e2Xc)hjnKl zbue52SBJWre;|0Wu|)x{}KDq+S-T(9qnhlzg^dLd(WsEjE%a6JAu_<}nb?0_*Qx2q&wpgVFu2S4hEpP{n^i>9kw%~U2Ty;_ZjzE}CjbLz|T4ELC+vlmSs;Bc#P}$Kh zCv9^H(Uq8irmN?`?*y-)s}=!CESg&s-Fx(uip(_do?1Hm6Sl#6V*3{z2vM*14z%3Y z48-uD-m33f3CBHtTSVj^7vYYv1s!Ac10!k+rk<=3UP&o=e>4{R{2pNV5*GoXeA!)y z?PzG;?#U`gQNZsG7zd}7ykdv@d8JXP?*bz)nvIuB)J}7WzG26U$LM@<&K0&RJgn}! z9Wr)*`yu1=fATbJNx|+Nv79Q{@Z{S;on-XI@ta$??%^NZ!eLtY)h(HN;x-Ha?iNmR z9~axFYk>pUNnYJo_C@cQe|`(S<3b$VAR!vdhpLhnZqoHpwfx^htnSF2+Jje%*_~IW zBgL*3^ZmH)JX%57s~UlSoRnglZ~q>v@e4O^-DXp!sbh4UrIKbGUcsNi$7p#J7XPXw zKWkS$=cDu&6tsIDep(VISZgyTwsDra8amH9Pz&}}MHJh6!(!HWoTWOB)(8a0_BP&b zjrX7+-V->E*l`wLjrzH?f`tGrVUyKQroC79In+w5_r>ghvKj5bdy=Q}5g{#B)!({) zP*UEXjqJ+xI7@R4ty|JhS6brjpm!%ry>ZQgGpM+OYepi!JMWZWcFdht+W@vZ#WMJ0dABa8~Q5^ z*~bmhz!~KK;eKHu&Qlxl&Lf?$o~EGz>{DXZ{%66aN+?^k|6dV!xY(87m-Ml9aQ@1C z-j`ON_t%1r$56KM_-_-2CUe#QxxfP6zByPZMt1bi?z(F%5hd&a51#tBIZ~j%?DU%x zL2nit|5Ne6nVo+B%TyEwZ$COm=&3W0&M*&dhjFnyZ?3#lC(j-;eYmVklZOmpF>&l8 z;OIisk+FR4+sg5i(|CPmUH*=u=uuoU{&@_z8eVzj9EPybAJ0$;1=05}u;VZ~_OArC z6^24FPMqPKc=#8z{3R#ikQ477I#QehOSv;_?~zI3zi`_4Uhs=uYQJ)hg;-oYgF$yJ z!s5T9!Pp99dBIKh!GChoee*wb)7^S?nCegrE?f-N|3@(>E0ImbFRKaQ5k zi147Z)SY%p@f9L(5Ad{Z0Ntk^4#k7Gq^2ychu4T=j5tJ z?a#~eToCiSI%&nQ&qG#j`wLboyWazL;VjO^;coiF8LHvV*k2ekK7ahnvnqXq$B&J& zEgsoqz^m17`vk?V!Vfyo@%i12bS7W6F~6HdOyjzZeJufl`tS_$S6sxE!bKbwDw&qN zqA#de0@(E{bokj0^7?=B49qpfQhN5g5@o12YFqqvOXnRfi+0itIWx0ehtOAhjWYZH z#>l#<@-%tM7drO8j={|mdF*6)zRq=%%>D;5@+FC$x|P>7Al<={+DKARScX zd~r73|2yBeyGbBGLecwwp5Jr5B-#DGnKNf*&YW}RocCUn6)c!h!h-vhR3$6~Zzu)?h;7_O>ORUX zd|mYV&<`k@lI}95b85NA(!crNrvJzmMSQ8?8;ady>4KJ$4({er_l9fjJ03f#_JvjVtJN_PsXixEzl=Sre*1N47lG(VC2Vt8dcI*2o;%hmaL<;t@GH z{c>b2DW{M9z+>0;#^<>nvNdqpGA_z9h6YAZrx>@@@pLRE9uuVC{w&JGcQxR7COPRLw> zmk`xFJJjamPj%X&vZLP?4IB5&r?jMX$q`Za1wSc*`>ViNpUHi{9sn(A2$QdjZQ5EC zXPBkr{lPoF>2$|7rt&<{{(9kO#mP}LeYVoF326!zSiO>Qah`N z`kwB!_-+biop8+g$r4C)LX6y6l=)d$C$@Dm)WH~=HLAMkxLw@DYeoqH!Ow|^P69EW zjzR+Hvh27R%`3(f9#4P8o2fgxvx0hX6U;Ba3wuGh75wG9=}+5F**+Mn!_>hl8n)0G>2K)9|tJ}b9ESU0arRwokN#)Xq+zwReT5C5k%01`Yi3rN^^qejb zRpX{V@7IMbPY-)OF!&k&S6`%YwRf0nXRlA z#7E$wW4ag#8(ovhQiz`I#t1)p$U2W_N)}ks0W)4PhP-{yL zE#u;+(LZ)eEG=YR%)=}D>eDMo&5W^qDmsOWJD97|ztEcmd1=+Iii8e2;9#x% z@)h|GW~<&f$5EnI<9`v_IuNqYac}_cu7BOeo}a0M!`(PIW;hRyxf|y=4vy9*B-crh zX0>WMfQDChRt5GUryMv7E{gEzte*c2P(QIh+nwSYl3oujnH4_LQznh3v&DlA8k|weH3B(nXa0D7PeTy zjN-XCt+6Ek10;nX*thX0pDQ?Sd{qHm!ODrwUZZMoRYDhzY}C+26jFOxK8EteXq98e z`MNDg7?D6XS6WX{16dx0v&G4sfJowc1^wj@yAd+8zfd0D4#84O?9HG3fjv5 zyDKL07)KH9p)yx<6w$_kdbPCZw?UlasH827Qrd#6TH4ktJ|V`#a-WD*X?R;`cqSRezRtV@=_La={)p2$}Kc7(`Knve-?jM>FUCjqEL< zn~z*U*<3(~k4{JR(G2EM>C}7wW5m84o{m`Wj4slSsptQFYDXI~keY^5Tc;SbUe724 zBdI4l1$R(5t0q_+%2NU&PZx;4XKxMMd(;~E{gG>6)U=UPMsf-Jb7B`p9R(X$xLWx_ zkdMuA3Va;}Cy+^N9%o*sp8~3;>MF{CnyShdwV|sHbFT`ka=ik(ij+1=u!~SGRBctk ztBcw_y42u5P@ppJ9IYCbA=U#T4rMEwbz9(D#{gyiSo_)mjd|+gNugW?IppItxG{c4}oQk5T@BzH6 z3Y~&b$J2PUoH;<}`Ga5GfVCDtfoA#)5)pS9&PZ(O10cUlnlb3SuvS;>3*r2gYC^>^UZ&F%s4u=09G?4M27SXCIswJ%t0V@BlghkKbfNP zGdPi4j%5+arGKh9!)Rn}Sv-Q?b}c8Z;se8>uIbV!?Js9sTZ6%yU;%W>E$f$G=k%(U zq*k2FWshT{YY!gNPVj+h0lJ}&l(+QtT3TTk*2u74gHo?%qY+bSOi^i|WM#cywG2vY z<6Uzh{D1Q zm4)HIQ>BH$Nz@i*MsZ>Mf$G8x<%RW4?RtBM?iEH80RL>BGS-pIkQum0vD8#G_1Wk{ z&r(q9{OO47nmOc}J%@-$`NY>00l)k!LJ_QrK?~+BCd?O$xX>#?nhvm1-H{Nm-^|aG^{JFOf)Ts1s<(_ zXdJ{rz4DKPC(jGMPi*Qb8Ut<|K{Bp$`bXNQ4)UX?PYb?V1osk6xajj$->-)_5AuCj z%d=O`j}}|GIM#I+Zm;T!x*fV#Ou9$rb|dNy(ITbEm-mjA&Jm*zOv6&*NQ52X>Y zicF`D7}|o7d^^cIjS82xfKHC<+QJv2X4h_2xHV)YnKHBsv49XB)%Y<=#)eL}gzR~Z zBSMY&DZ2}Ns5>L;Nbl|}x>Io}`&|ymW6FBk-_giAnqVB8&(M3At9N4$e;wuE;Vk&RFPx7n)xcJ zEzh&D&AJV3FF3StOKsy$G7NW;aKPww)5SfiCa5jk3b~pdRUQa<{!x)yNPHx7?XCqB z6m{hZPe`=*15eeyM(+b68@`JO4;9HKYnPJm18amk8s7(*=xG0V#x*TH)um*E=ii|^ z74oFU z&EHw{{dV{oPWwr+Z-&htB>FtOy&SPA#&W-{6@Q#qJCQZ9CR-~n@N;Ayops#+Dmu5& zf1x8m*!(6=Z;w027gyNP_I6q<2^{DT#*(DF63iG&Qb1I0+o2*Kb)iKwq9%-M1f=yJ5oW^ z?dV<=@_9AoRPe(0?GtT|I1%gB$3=>y^{0C#1|*oD)L*NkGKY#DY3Simo9{A$RSx1R zI}2ec9n%jE)ARcpYqGk^J}Z8Viax?y%em@Ip+YHNs5R{^Uq$qS|H+PzzQNDJWwo3S zjm{?)#_c7C13*DVExUB!AXGJ|A&3-*`dw4B@6o*m_R7oZFN@XG1}^F^5O~qJWuLNwmlAEm#{a@QOk&?j6L8{lV$mBt z<2->%>g@g|tUe)Vb$g#o-Ttgl zr^h30j#BYR=i=Oh5Rde;nlPDzYNn4!8ng}|fGQ&Cl^G{@s=KMo=kPE8CzFNB6OWq3 zZ;S40c5^)M=am8C>=Dp@&WTo9lasMGsTmln+-RAGE7kZ1`TEkHU?q87q-j~$0{5QG zJ?)Xqb8Uf7WP{A?iLN4wc1O{=7&om~ykET4VZhwirm>axP8_(QRN>$r${Hw?PVZGM+?8dfNjnmAnRQieSucr@m zFhS*%eqS(E3FZmisUk6Dba(ZyaKXzw5B0rSAK1#@3Q;pRjLy2A!nHW%z_2ceq-G3` zd+C>w3qat-GH*Y<&Yq>WtkO93HkW9mhqDQ@&WY-Em0B>M#zq0FFm&ImxZwK6x1g1Tn*@Ur)m5 z3>hZPU#N;Gbw%F|A_?_PzllMiBnAA4rPo5PW8+#*=qx&O@nu}+ix`x%b;I+4F2YE8 zGGVqj?Fcy%CycYt{+aX{__TfEK74l^cEkLQ34zl44w6=)<4n zkh=z!m*WCB(0Tv+IRx(uVTQU7MgLLsT?UIa12)MJSgg*@{W2MT)YA_?x6%0}3?5D| z2k=PcbTj{A`g3YCkH9b7{GtfJ#f~xH(HZY@Jz=#zUk)2tD$X5DwPK*$r`yDFn8ulz z+ze$B?({(E@C^Gt`DthVl*%ZGlo&ELHmQUNd zi!t>x2s7#b6nv3PzmhWz(>9xj37bN7?x9L;ndCTCK|#Jp%NR;@EMYD1hr9G+1<6k# zS<;*GJ7&piTymPe)mEFog~I};>T$7gMd*Hn!f97nYrL}>6I;=kNkYlzp2irP@3(TkQN8QmYCXoN5 zXWWK6->2`v#h?QjCw1B1Zyi$f--w#-r^_Ph#55kZG$GjYvo3qs{pgaM&A zIjofl?ua#b9(S%e4dwhnNciS2>@ICU=I*FZb!!0mt_zVAs8A8E3grrqra^4+$pza) z;?uz&Sfd;O2$#gkgspqHj9HL{v{WZChL6gi$cN%HuCumSX3vAdpl6{F*ajf4R4{$2 zpbbuD$=X)9x%`1U#!?%{bxKsv`=s8M?Xm01m*EOmP6Lo)3b} zI7P0G1OR?Fh1~`mfN?qK;Io--%TjYV=Lo0*&vKSz9CG$f631n#v5+EB(bN?q^03C$ zPZ@eo*0{V7BJw;I-=?P-morHf*OtgoUGL0LjXuS#?T5-&7zlGlcn*^(6&s^;+5lJn%EnJi;Li?v09G6L{hTaonHf>5o+DBE5vmh421Kdz zGvM+KX5Hv;Mg};Ykp=%jqLhCUBn8sUN1l?vIPi2a$vrbB1wKzES1fpcj`VWV_Q z`$dzWoQOJ0hGsnP2EmEwTq`e#1|xq`2hh+(3$=@}woNZxf)x9WlO|)xc@`Xtjw}IP zAhmsdGp4&5AqyHSS7We0U46C#OXh>G(aGk{{+TVeVE^Ywz0(zd3Eza0jgL8()@JQo zlAYmzbkg4@GxFCyEA{qQ9d+W75rRUFxB#W%1`345@s)C$Y^B3MLjjtzIwG909E$-t zp8k1x!P(UH2b$WOu{gT@Rox_3Hu(@*{J^ua-y`C`9fU5WX^uBeAmZxRDCOfQU%jL6$$BCfC{i)d#=C~=XG9=J+un}xcBriJOoslM&tWg zr15!Bm_Bz{!Px3~szVMX8M(txn)QmQ>oZSF{3V7M%&-c$Rh9TC3PuE6bCvzfeaayx+Du}QAUhBdc*0f!ODe0qd3M0{bVeC^@R4Hv>+Owdxt~Ay5XO8)TH?r)GEh@EUH#{FfDz? zK_Rc$?eW_1nrGF918|k=036ZorUx7uAXq{BC>0<0yEY2dWsR#f{8(V%kL(nDFVf~C zSbZ1%$e6}V_RlgvNn5?=t7m#gxc#j8Sx-F!*aUlIeUx&DVBA2!@)qNbOw2he=d6EhCgvLbqSA}1r~pD55RZuNCxr0kJ zKJDviUx`V`SzO{DfVghIZ^RriYdW7B%)UalwfJhbSg3HvH-#WZJDQ7Ky#s3tURkv6 zI&l7lEj9-q6Ok!%}r{3fmU5bT1UX+{GcG`B&x$Ds>|umFpapI#tJHv zTHJO}m4w7se~KMlMO6^ zn?e|1B2@rz4iVj5hsVoRrIY*seRqRpi<;3}wG?H0s+u0ElC}1!o&}*OcRZmk($zy+ zS%;Hj%IoIebYk|?PDUttjT?T69|vf!i!{WCR7b*61+4H+>?gcW^<{DD*hz=)@1L^3 z8qyy@Cm4{`dm~{)*i!mOO#djHI;uEiooah&grbzQ&tv_IdbDdLxVO$nThQ9Tq-A?J z71IVVI*3P9-8YM?qzt%mLb2>As?iv{JYm+}0WZ_McQOpDe2V4}L7-@%v*{}?Wytok zw^U^rA;8sYd`Ga|6wI`jz}6UM$B$iDADYFO@#>0`%M5o%kH7k;a;6x&R*3Ghn)0q< z-ZA`2bMd?4$wERTULpKb4}ljS$UE#f-BGhz1HZ~C_#L0qEJ@6=8P%Ci#?sn2x6lNw zUecr_AVe-4WuqE`3S1FXmW#t)+pDhT)_XVB9o?@`9e=I%J>Yq{{7@8Y*u4l(oXplA zKOPO7PVE2q&Z0gSg$p%RiAQy(v+*6-q3O)3-JO1)M9Qwk}Zph9Ydx}T^P1{9N8Of8XOYDCVL&Tlbk zIYP`@zbw@#v)4-9oW1t-#R0msHpWJCmZkjziz91<_I5a{wA+p?t;vD@fok_J~6zh70&1rvwIl(JZo*y8%9ONSt$d}vxIWupA>P4>j8;T zQu~h4G0>4WwYZDd_RsM_CHr>fTdz+q55apVc25-Bw6n)BM~P0!^nS`)$XrQ%i$Nj5 z?burg{Kp^82}3S}{XeRJa!wRbR?B!l1j?0II^~Nt-g2~Ygsw2{UBPP0E3OwY_`32G zv*Y7KbV}!iQH}`3h_q$fP-F$m^aYd=I_?m?DS4a&)I~2;6?k{kF=ryi@(soks}3KN zcEnkTbPvTcYJ%n3NZh|8s1z5!)!C&B{c(Z~vYU+qrzsxDA>zB}C(fIds>y=b07jWG z6baL2Cz)w0##dX=OTTZY&lG^5r~IH)Wxckan`m}G5WsJ#DZNCK2p5h>wvMeM|NH^Grvhvzc_4_ph3a$W(WHkf|4)W_NI6iYU z@cR}Mtwvq)*E4L*M-}gocd<2}qA&7X;d3lj>lNFHEN*+YrR3O#Jnu6C>HKW*aYp{% zPz5RkhJk7C=Ko37n#--pi;k;!tWkj7^&cBk>Fb~C0*sGao~`UOy=okoV7=Rx zl=rP6+Ct}vsg6fgtX3^ZY!7|2D(pj2N4WYx;gD-^-&jUrVNQtCs`#3AC7QMW7}Ko$ z?0Bl3oXUphFI-c;A^0c4D_9%`F#F8avsdv%nr=KWgMB@C@?bHXi;}zBC{*9;;@7CC zJrL1bj5V<}MVDeJ?a{fTS)CfW=>hW6e_)||X+uK`R&Pl86jb6hGyvE-o1hX{y`ff= ze@rtEb!0i7zS%s;NEzwmm}-!QK0ss!mK6ufXb4#5&>~}j`jt+LtO@YQ8-mI~i>zhr z;x>Y*Ee=Lzsy*f@R8Jj`7V2zhrH=MAyS@~4W?{{x_Ep7@l$!eV9k4XD*A8*`KD1Lu zgReO#u9<;iSy5NYkZs1Q*#ENq=+Jxbi|vNqt0+hEnMGUfYWT0|+a7mNJifn7j*paN zI%<2cL#3B1Vk}w*7t8*t>lCM_G&9p)6|Ab=%$)r_az+|UXi|81uQ5UNb7uOzbB1P( zic5Jf&MhKoLn7@>oSF!uZ~;UvwELHn1r_4rVz)S1DIC^Op!W)~my0|5kHQe=z+rh= zM6^-W2u4mFHD#<4xic3`Um_MmwwP)i(6ysFq8!lp-{zuBe1Ed_hK)dFy;cuY>XBrh zHP_FB+@k$Xah{9iGgr-=&)ZIBlgCUQF8uI>`D`uv2vczr+F5)oCB~U{Y||n!$vZ$G zFiqdNy^l&L5!*_>p0A2-+`KDlo)h#T7XdTY&RWX}=%h+L$B#&=PPl8KlKLreu<|Tv z;oAh8LWL^a2huv1!-Q-AlSQsZ&*gq8NoCRVEmzOMM$cQ&^GHFpsF$F180hC^uS+~A zD+_5Y+DMjCO>QU4{bYivMgI}|D+&1#uy>|HkZ?r?>;XlTm#iUe@=XApb0i4XJ3X1+ z;8+0DWyy=hFf^bhafhNr?#=_)Az_?fsmSfEwA)M{JyNxn-xy`=ox;h|9Ftwi*A$6! zwF^d)M_f6zm74KeT35A`i`lyX1-3{nm8Di&bXhO1aItn)=&a?u-DEat=;VF^w=MGJ zA6owg0;x7!CspF8WvnTsVWRm~N^u>B&8a#i&{U*+{&oz?7QZ4QdMTrN_|&13hVgcC zy3%eEX$G5(IT9ToN_%=X;d?2b;if>3oJMSsg_1|bjq{2_ zLGekl`WP1BVfu;D$AV2BFtxwv&#e(cRykP~NgiBjMW0hYL2EEi-0QGwhA7h)ZS#ZP7YDBDk`#7Ecg4i6_1y56gQhw7#q8*&$_mP zkHm{JXp3$=jxok%m0Oq}PI%!ysAn_&v-YY@%LOhA8O$tDo@qfm>b5M1bJI0wq&Q|n zh2Ei+vUOk5^4l(x`M{}zCk>szqo_PIqnuO})0Rj4U@R5yX@e&Zfoj!#Xy5TYrf~Pk zV`fQHJa?CNoBT+$)mNF=G;`DJ4cr>Hb^%h7XYehvlKdn6@X~$vRg=SJ@}QYP^MjV~ zF7iwHI{pVqVfj;R@1r~-ZuDwOS*tg!5F2C(-ABgC`q+)jBLs)?i3x_|rMc+Pw|6rD zX~_%rADDb8r2x|x)lvm%0f0Y1x;?>yUa26VbxnUOwb3z@M$rB&+S7gYUcyt#z`S|b z(pw@}KcnR^YORnnqyXAkrgq;MqaliWjHwiup}D?bNWPRZYDqq5I2pA*O}}cBDIcH6qilJGA#_D+pU{tJn(pgO2gx6y)#4M?bXEB$vrKaErG0ws zc4N93YpoW6lM&CN>q3WCVtxV?!lj93nwZkj2G&ZYFs2tr*%$N9a}0;rLr2{8(QyNi+Q7Q{ffpjOo=`@$y-?P`TpVz{KF_a@*_r=idjP<(Z!PL81bb2VElc0{Tr!d;7SV{wRQadHf)WK5*bNe(% zM5;--QCUPCYk5=OOD9+YW&}X@(eO++3Ht_W2A*-4p$a!unX)uH-DqGd$uStsQy83% zlCP$(w8G}EaBh67Z;S$1d+%s}sbZ$^>Pb+7v*{LkQEtlo*bk1^;2r!*`_xQrGpH~b zGOJUe!eq16>=NU0o2q-p1pUJE)DueAKItaV-c}Xt&9YN7eTnK9R0TU-ZQg&OGVuRL zMPvJpiqVS4nBro!w;=CEK~08n`W6+0)(;KMRR5^LErDmZLJRlL_*yD(_9(p^&u>Nq zZCkL1cbJBiKCH**y@04)shMmdWJAcGyk{FiL@kW56&CKh#II=P?Yra#^MKzH5iL-| zOvuub<(Ij!O?v`D#cR!wNWW#&I?7F}nm9Dcx*s@@z=6E6!CaryQGG2Z@ec)NIfN71U%OIo%dX$V6<02Llg_ zumS4JDveZeI*Tj}Nk1aW6rg!HpqYNxMlgbqM>R%?&Fg$ZIf2zft}?og$VB_ANOsY$ zY9Dy5owH&0^bIe9xigbZp9kbd0Hl1Pd{BMWb<0BZR2c{FoG5A*W!kL`F`v@|B)363 zB=}JkHTVI$B|UK+R56gllX3 zDqG?AhIqN1T#DWBI*|K@M^lR!x0MMLmpD>g8nx6*7yj|1pxoG{eL|Zq!JW~GWji87 zG8ac$M8LSqFRHg0RG!CAX3Kv_3^^(IArY?c!|DxsRG!J(;J&C6+dc#LMW<#&_7yF; zDD_2W?A|h>cPRFH`zcHmjBNoMk6T)ZA3c1uZa)HsEI^xV?F}&jwNiUc>jqoCn;M%Q zss}f`b%Fg=d~y@tU@+-kL=p&14YBs8Kac{FEMj9;9pk-Fa;QyrZ)|{eV%RdVhxZgr zln?2B2qNSZQZFCX$C5|%fomI`zW#JR!{U@vAuzJmSS@1$1GE)Ngv6;yTgXVrg{p#_ zoTnyD!#}n0#~pmAzJ)xo7_X^oBlRWg_HvTzJxp$U zIfY4loIq3bxqhKIwl2{=BfV(HnUS6w_Kz@vG~mX61}O4HmK4S1kvb`_X>H9oN?m6j z>>?aac5F8sLkO*LVMII!m)pv=nJ zvD$mF1Qhv*B&{A)AP?gjA%tqf?)?sWixvJfF7DSlD09!_;pDDt?Jm-t$uIrk)O=gW z&!N!dI98Y5!2MAHY6r{hojZ5vgKv2y`+KbT+*V2ABG>BOz}?Zi#fr!e#_{vod+gf8 z9c|&wvOF8G$1=ysKSGJb8Mrp8r@^4_*1?Nd}s}7g$01> z^jQp@_BGv(H)|gmxfzat=l-$~8=kjBO$4`865S81{DW_T;)2)vL2&_STT%su0R5A= zoD_Tv_G1MRrH#OjP3f*Shjz~)j`4gU)%$2y?>aH~(?Og176QdWJ#;HSeIqHjws2@J zYCH`xyz}H1+daS?s^a91enkYFJZEfoX8a*2SeA|=nkGb&C;R~|;?=lR%^1Y3Qm!3( z)YF+}i4wLps_?RK@>I-eWB0Sg(*#_R;lbQuYah{!i~Oa#tAfWC_{r0^rzK`!cH zQEn-}p-A$>XTnrto-^T3`u?0Jh1DNsd75m5D{Iq4!XR6OjMB8qt29Q}JhtIeQdb&sU(F{ZFY%>r386#7+8apQ0T z<$}~>UCP#Khue}eqGOc0j}}X(FP*WJ!@0-4iDb&PzMft?dkOApj&c!gXMM&K1)D~> z8XSe6TE7f1sUo|bAg*#Bs6}w8Tbj6f+>offjvjlV$4=rdwMEfg7;d@oE}p~tC2F;o zxm1H;myRXI42l7rpnQ*HQWDk~oB28vD z1)Dk?mxjaj`=4BUbRd4@5B%{UTz?@^T$=mIf+)0(%bx_i3i(8faZ^!Ncqz<&b@ih| zkLMBmmxoaMyWni-5`|rFqL=h-r*17O66$8vRabglTxyua;g2$j#Zejnc0lV5U3U%V z7dP7~iq4zFPL5l*9e3c4EGk$B>CY@auKET$BRiAX4e-y1+UNn%d`hshVt43rqr|~n zXNiL@+hIr45;gjGRp231i{Wkv6|B^fhxD@ET==6Jmi6A4`pRK!y*a+KUY^Ekzo7`s zv?9aTswzhv6hIh*0tg+90tiaTEQz98xEZSNriBCAo8EGW&k`sGe@I7Uy;d()zj%dc z(kaO$*thWby^4NMt)usJLaq*y@1f3+VE(vt!Z)oUY<2*dOC1QmiS51B-C+JwZRBg% ze_>$p7)*2&jJ1!Iv9=8?ewFI5bzz$pMWei)Tc2GJEqV^sC*D6wYr{H{C_b)xZT z8%)O7n67JD3qA%fj;8LqN`~K+N>)&IXEecgh!udUv}sEBRD@(%HqZ>#-e_13RM@sZkqxiJyjwb|-* znXaje_SyP(mi%d4$qcz}afWf=o>nsQc?^!-GzV{9O|P-SHg)KTinpGE{b4X8d+O_p zssHzw#AoF{`qzryrnyoSc7XDx^e4ZJ-~qB1a_#m!!oQNy_o0M|LvP7u`Ivip&32<) zjPEqRsn8^DC^hDdmUWs$t zlccTNW{sKxl>}?s>i2Ct`)pqGOSr3nnm&|@QA277CCe&~RTc6BsQ8^^UfEd|7>lB1 z{v8;7V_e}^g24V@8;WGtH7Yxm{q(AerIG!FtS37PIhTvP5#@gD$0eS$G!{`QIif)0 zd_^Pt2dJ{($$mss-ok2&M*krAYW?IL3<)eI&Ycj?%K-X*%&Fn)aiQE(S3*Jr4vl$Z zzUjahRe?3FY0$^bO!0x~oBqSR&Q~HGl4g zc|m+XGF<-9$7f$>C{#JXk_bJ3(1hvehOn~bxGx)}Vvqs_4a7v0u5nq9@*62+9=Taa zd?rgB|CHVp{M$HNe$nCxF2nF#(|hzC!Q*^Sd|yjQ8=h*CUw$j`iA8RLyDc`Ha`~Em zq0wfz5Ol_?h$~!p`F+xN2(qSd-cEoX4wc&S6@qhf#hJ9NN#=QQyA06h*^YFlRp-zC zM4un#RQvSlW7Fv!F0MBEQN{ma!V8siM~)WKI3nrwp7 zN`F~+AcFZU{c)RbB#SIf&^}I_oCv@F5DfcEL2n{i=l?z|XYIb&-$_&kAM!|Z zQ~l+aMW--v-$)jD_fQj38B$*f>W{3V3BGQNwap0m{Zr?S)jNp3V3+lQe=68LZGzHA z?B4dt3Zg^f*iMPDHZ7l4mX)=aWtPdK;9s;La$fou(KgdF8C0I&{AC_S#qtfBh1$ z3obHvDXuj8L8rK!C{__H;i6Vx-|aZ)Ul~}dHs%|I9Nfb-Bn_p%o~vX3u2{zrAjoij0T+^ z@!CgmZb93oC2DSoFfhG9<#2@f(jY+yey8_Z9*51!WouCkKP3WtrD=anf|u@|I1{t& zH18?f$d|AlVSiZf)ev4mU+?2>Cb4fm-PIPB&S^@rS#K5-o#S<4@?OC5$qxaXOKfQ{ z?Grvtek4uBl&xqX-*Hq)D?(LGduUKNjR~VcW=e&hWv(C(YAR>}sHrM*k_8v&T+S8J zL*1m~Q|#ZgbM_OS;3Erh|U5*>hiPlGN;;4^{?Bg3r%BV zm-x=}MpI_dT-I1qjGt(s@-%l*{lQmpYc2&_IAZz400(K+wRfqWX-~?eY!eks)onju zcfhWlvr#32>=Oa&zDwd81*>F#7nT_%!8RXRKS>OBYbpV*BP zMB>CA200Z&>9Yzy1s|?Mc|xh0+a4NDJ83x5#1{kwDP$u6_l@?BwDQ2pYl z*xXyR;i6^lzOBad_;E`Hi5^^3Y}mHQGf&b%uyEN`CJ_TMcN2o?X%T`;SsOVYRI!OY zRluEZX(mh4J2t|0kD&GrPW^G<+SO3CGH6%?wGO8_*`B>XFsY{Ky;&UO5i^Lr?TQKCU@ zl`o}MRmBi$7kmrVf-!?b!l*+S&5=WBh&464^SBu#)>G*)XRxpGAEd%6aPCL3sqf4t zyz68(Ey8!1yI%dZ-iYFST~yS{1PFt_4~Q+@6-A}$*FYS~yb#+F5u2o>R`~FBZ3J&1 zTDKAnxahEMSo|~3pAY6QfZR^g8#nH72_HQ1U8s_L%UfC7{u z+8}mw5jkLO3y3Yzv5U$G_uMdQyK91P1yei61Y>IF=#xAo`(r_==6%STMMOT_*)o4U zSy&x`^+mtHDSLR>EH>S1xnGRnN5r0kOK-}*uFy?;39s|DlB3P`HhRB+#z%>gx-oW?TMx8;RJw(>M_QaSs)No z!<*Sq%byT_hPRRC7IbVZv$=phR|0c>N%Zp-v3O&(p5Ry1*kPl9k^5RZ@A>nS9 zgOEy5Q~C-XK*+x50_P4+1mvxFMb<*AT$G2{m-wJug!@s!Yf?VkN7@eGI4k%%v3%l! zQCxP#2{2{B)J0+`PcC5d7CzsMUBam=2{voo^wDAjda>0lTG=r$t?)+br$&`h^o5RR z1zDA~eolK=#qy48>piHE9+LERe-%n;@YotkM?=X?QKPkupeiqvpi&@+mg*Z$;s}|y zHDKe(5FWCW9Se%zAWk6QrDrhgoKJA1AUqd;GKuF zA|3m88&Te|OkTqY6s%4kwNc`fa^~Y71UYbm{Kfj7Lmn-);$5yIb&hvBFpM!oKX?uc>~TP3)yk zGZ4B%tRAGkY2($chC0yvmH^|brZHLGA=(H3z`EIsX~K!N{Hi+8=7p#O zZ5z#3wi1$27O}7T>G6LuPl$~g<8bqm>VQ)l7BkTz1V`Na`j*8+v@^?aIw30F!p;V(aYD@o5xaKMs?)JeK*z;345<5-`hs^5p2G)v@?|&o z96X|q%A^>v%x{Jl-#Uv;-P11+PeA@c3hNLdUqtl!5i&0XA@+k-iFj4Fa>oI@_225- z#EL8xM1rD^^xAX`Wv4c$mC32FHyK1C5wC^-x!Qo zeAgN>4qb!qwIdcpP|=7X5sLGFuXus`ImB2>(c)(=A_i~lg8iK8mGoU;kgBy7J0PU0 z;H5=74|QbqSUzHdKc-?u{gK^0R58MaQQojz)k%$a+{N%kB7}?RzztAfw}~Y_qAwTj zy}YsIyQ;(bZye$S7Ay7j`?zpS*Y{$>U{$xRX{P}=a2#w1F^+5J>Kl*aT3>ysNiUEG zlv7)V7~}di1oG{hhIR*W2_kak`Y7&KylFkG8!W$0!f)BM2&K!-Y_h2@78jJ6a_gyIR^A>>1M%s%h{ z8tw?}A|ovv>+&JLP(C{ZAQXDbIKyGJBT=giSI1Ydf+yjAe}$k)P0l9YkhKOkhJR3aa{h9RFa|6e@h}*8cXWkAE zl*RBgs$?ORvz|s=b;D^@O)#Cf8j3iF^C~dOJpDyDuP}Ir^C}=g`^Z2#83`7^dG(gd zc~!-5ULAEfuNtK}uX+^Hp-$ku`a|%$8J$;+br;Fr%$--}2b@>$V-<~aIj>gh&a2dP z&Z|p0&)~Gn%z2dr=T&~E^9mz!IIl3H%6at-hSMBApN!6{Dx!8j&$j&X1I{ZeoL4&x z=hZ3Y=*WumO7&LBvdCwK^Ji1<9@dun;H0cyf|RoLOYQft9* zUd1IvCsBNoUlM#r^D&b8@cp@*S9O&0>SDm|jLxgiA8=mf99T0m=T$Gmd3AE13Ru1+ zLJa3s#a0R$NB3U6B-*BVui$b3KY2K?GhWASPPE>}CX;}n~3J2i8#0*A9m&lr# z7#+0?qvOyG=z;-ah0ExeykMHc=oln?T}H>uaWfo7N1dWouutqCAt++qM$;<#+`L;n zY!mnh2Akj}q=#H4ltEykrF6HIh6>%QU$gWowC2*F zJ9h&I(`(S1bq!iZBZ{g%(QgRzX$?c+) zT)7S-P#UgjrgGrm9%Q2JcX8lh?K4hkpYXZBvjDg96SPk_0^+zARDFl`DQ97QC})h@ z;;nGRj1Pl!aGPkmD}FSz!X8R1Y%e++TH$V8E4&vArEt2JvcIQ5Da4tJld66Or4UY) zj$)vp6zM{ZZ|>M9#tByc4W945NT=B-pV zxda^1^)8{=Gb3MC zPVH*5Cgym+BbMO*lpe9f9Io^HQ68~g4(e}*P7bBe(22fobSdJFV*taGp0{8Nl_%A7 zShprQrxXCaT_1D-ZeH<}0}fAm(tu%1L4VPDtBIPK(hPXE*_@*CSU_-sS^cu-*?U{> zmzp?)I{54q>!WgHCf7$|&Ywz!i%gsI%yqaD@}P=4N%;@96cQAq8j#ZBM*3q!yL4Y= zvq$?XU1}WV(O1qO<*MwZFZl)ecF=v&%8UcY{kUp?97BQETYEtZOJ?_na!q;CorqQHo;g zsng84^>qGhx#!}K;V|9!keZ*tVY=mBCJxh$*PrMx-E!~o4%0&Ew#$Z4H?62^vy91+ zRkcQ%4EgR7?)t8Y&*2)OVaLSyKX%u|=g4H&#P~mP*Tm;Yw*nsCHPTn+&@GCohDE_- zj(@je3CBMKID^N-`tiFY(LT%-UPa# zoQi)M;0DkSAAU%~;8FPSiFF>mT=zGOUR^dR%3zLaUhWprw;T)T43 z{I+*`n&^wlX$@!i!(y*1l2Z`<|26e9@1icYK*3g=Uwd=OIY4z!R^SuuGsi*)%Rj8Eims1}x-TXb{LdEQqrpNfNvkF11Q z%_EYvtH>ef3lO8u)Jr|N=-9fT9UD1{wtOFn>oG2V?r=yUcFB^WQn>*#FOQ$XR?%xm z_9zU9Uqw(CmDXCJXODc%dF}4KJ0jkxp-e{r`jF-0w5!Rc-ss~uZMV(fJ}8tOQUN$s zQk=iIf%5Y9GubftTJ0t%B!fivUf~L;{HM^+KY!pywgkm3xqt{0Hm2sl-mUs``BLNN zoe@2b*u#XnDq7rPuT1ljP1~=Tx6{0|!CT}V@}m-_y;RyvZsdn#o6u0P9r3usR(4kw zZIA9M__oI?->qti*U{F8QC?ruAN0GKYH1(YZj*&YN(CbnB4xoMbK_27z0rJIg){6XpEV6Mq)Mb+wmztBdqd5!?6!VRhRhZ0dd0w))&6djdQ4 zuBn-}(%ekGWQ)Oe9+Glb_XtWq{VRGy`RqgRrDVo8lr!}%w$Mby`lZ**OEa+E-fr^6 z20m`%E?K=+PsSEmxk7B>))ivq*zbl3K0pi`F8XodvtZmRHGQSk!&-@pZu2frxn%84 z?`lPC8^kL0j^mB~VtBeY%GpcUP*cWu!Wtr0j`?o5;QgJgE*!T~wfYHm?TL$~>zB+= zY*3cA2iZ1dA|a|yzGxbE>DHy2m(6M8$aEA6BIj{5BN7yRaEvKadcROyNb&S_n||5q zy)T0VP&xeA0PS@NFsk^NiricFa5ncy27IB!0>5awdl~TAT2J--O0f|v&7^x-I+d&a zuXVW4ZT0WtuccBOPPYhlzIm~y8#{JNWu3t`2ZwH(?? z@Qz~8!q!`O`;ab+5kOs2wDc*{jDOdY9gW?+X19uo4H+FVfFJ6(!C!^M%Zs`!*#k@U zB}fv4+j(CYdqKsrQSbBQ2{7`OybDf-Lb6GD*;YtIq+1LoYD06%Hgr}ceESjj2jgP zuk=ir)3#1$z$c>bGO-KQ(>5KReh7g7VqgEDPRNIx&i2nw3|k9`yXC(k%rtx>y@Xt= zXf_B0T1ESILxGFpSB6=`hRGc5yWuih0osZ60|e@dwCY<~Mch@~*6W-a_87@PLG19A zIt5)71;?ml%0wI58t=h=6@h*VEvQ+)I@9VRZ&Nhd*gN(sE~c@DZM9v|T4I#mij>zVPGd-xRVhZ3YieTbh&o{^O%`sK#DQXD8uijHB zhb$E#3)@~jJOCZn(L zGnz?EIi4th2L|DR0~@lS!TVv+S|OrTaU z@LC|+54s#gIf4|KV{8hRRA_Y=;iN`I5hf9R6=dIO6WVG9$bKeDF{!??*8%@bPL^YYCVFdV!oC_f#`q3^e5wibVrkMiFlDb!!=6C1R{Ify zT#BbLNb(4@p_Bs?DSH_Zeo_1I{XQxc?qiJXqs{U^hml9@YH@qu9yKKJLcOhcfuEW2 zVqc)`FnzEYaIb_?5cF{$`cEBtpQ{c;>fS6U>CHHA_lj#FMnc-y`n$p+S4<$qZVm7)qGc@5|SiEiN1DqM`OV{U+&pq|GmF9dy zy*gZ*0Ga!cnV@%^nQ~xn?CSWZcKH^t>9xjWXZSJZxJ8+X-abHhKl7JF>p|AfD>8 z#m6AAusFJ_hi~07-_klO%{T@`FFNLU+%ih${Hu!TN3Eb)7u)e*NFxn`qLJ21X+^RT zsx{H?_TEZ=dH5U4Nd0xHjQ2Gw#6I5Zt)A0gCiOB}z$dv7N|yOo7T{bdm|a3*!*_sG z`A(>_>*TbUO{@OkC+T-a(7_dAZ&Ba^#j}OGSFZkEB^R+-QOX+rRCsy$l~IzrAcUu< z(#EUF`)qXG0VBQC5y~uUQ4GgXe)5~7u}MbxNhAjNmSHi1LB_Aa45C<#$x({Z!&!>* zN4*r~wPxGpyEFLm>&zYRlw?x9>a0m=RbXjBjOHPu3_-kQI;wIRlTqLc1uO4~$ezgl zws){kH%e6M4+B~4T?(-|YgMWYs@E#Jqk;<`Y5=e~?DJ&U=h{c%HaVIi*kAY#r{mv9 znW4M*8{@WHnh25hxFkUHppY zxIlJSJw#Zmnq;V0LUo~~6ha&=SFyB(QAAYM#p4KsgW`ivi^BF?A(kvrHDgwcL|{G; znn#WlJ}51-WF#ybH2K)?boW{CsTDZ@e>nIaM0BgN{>4G)^3OR(-Ij(9bpRLFqXOqyp`g zOQ!EnYt_z}Q9;0_y)Ph6!@|T4F0}UNMac^bt;!ogg~EG;(@)`4CBkiMG!=`d#o=SuQrBo}Vs$#4*LFf2Uve~%PYGvD z2UPPzhLkKLDgi(YS$W8_FNgob(Ev><`4b^O!HhSrkRO4sy^yLPBDq-iUBc3BJc+6@ zD7V)0Ndrr>@w+>3L8=)vfI_l}en6Lr_WB7%u zSQAuN=J-=~#fztetRq(l8HV0!-ToZtAAA>$w4wDTVnBcZhycBE2K5!pDnWOXyJ(06 zc3vj03R||!8WrpBlTsq~*Hk-v+AXf-nVUeK33Flqb#S&i^=f28eC4IR;y2{~d2gt@60r3C zKQGuDqcVth^@)^u*YN_&k^0UTPzbyi~03;$2RT_WuI;iTcAqlEVJyDE{ z_JREmpbF0X>P1JjX`|{w){h=YFAWEdz_87OMLRCOtkfT9*w)3>3yH3q(JNxOg>>7| zRslmKQ=-j!&%dB(vreV)?cW`9TOm>;=xOlv8uus;ZjcYanM{#%DU!@Frrq&mL7|Zt z$^-k!4(T-$f(zKaG!rYJzI>ftR<%Ho?<5gIEF?aa_33q~;9~eUF*d+Qmi%2%Nj&UL zO%U_Y6YH(KxLE)wCwR1_E$lkK+n`NwsaxaUkZv{B>sh}f+vI>qW`pK|?j zjZ7-(J*bDM$77Hhe#L!9F?5TpupB^+ghDM!?rU@h)NiE5LDYRS z7WjLD9_p?@EGdN?l2OCfzQUMNR~t8)U-_S39OVF(ImR(`&%h z=fFHUUQ>4-LQo_7R#ry_vbj+KZ#N-Z>leUPbR-g`Bt}Q01UU_1}ny>vTjOLRP<6 zJ_hB&M9025k+hoRR$7a|`35Pi%vvXsD$?oz?ScDpkG?_b&=0JE{6S?Qo}fR}Q7G%m zeXJAhV~z29jQqoR1BdPF(0C9y9t4dB@z(guB1dU0qo@^NBVliMK=q*!T1(p>;_yLL z%i%zm2yD^JhibxhBCZY_qb5wW;+NQ^~D$u^Z=iVX8Q?L09Sr8z?@yg>QQ z7qr3ZM7sqrL@0a~c|#jaWAM$y2fmpl$EfFSJD#)W*8L5OXoPtYjM!+1fJU%kJ(R|o z_7%N>fNOkr0u_1jm289>G5GVO@u#Ju4uehgeNB{4dmBK}x@^&_MpS?%0<8}}LZQpT z^6Vk&>wf}U7r4mG(jI=@S~|WYUO%a|!gWS1Rn!j;)=~`rf6cuIcvCm`KQ8I|I*vol z2)5G%Cn4-n_AZ4&*@d!4!wP$kG7=!{Rlw}M_bhvdutzDo&;q6GQlJzlw3KokZm9pC zBiq@uyzldVf6w1~bR_F)k0a^m=x95MwJa^yGr0e)N^y}eDN-0IBgJ2e6h>nmyKa~k z*D&WEO>EcJ?9hrF;R#LT>+Cx{VuQl)ma?`0Zz*5#qCHd_-p?tZ>I?Cf@+aVt$(ndn zzT$pIa*bbW6OX|`ueg_X>N$aa;@V*8;CaP;BaHzZ2z&<@yyD(NzT$4ER}J!rFzg#! zwPolEdsH2UrR0q0hw-kc_$PRbl;oEx+6O~vt-SW3I@vh|ibPf2yB4PzOp(*nPDQFU zD+;F^uGZ?gksDj%nZ<)ZmJgyX67t-+@1S_@pS ztNfc5q*U}Qv0mwurQKDEwzm8@P!HfI`&Wz zrcE1MjjU~QcAwRIet%QW(yBJ^sI|1S?H;;Xttr3W{?lpt$+@?!vm9`cQn-9>bl~x^ z2l_=Pl-=J-a}L)wW$6AuNhVp?Qz>ZtTuZ5cfKi(5#zn0UK$yk2OR>6Erz z4O}_${+O+w15e`J$)R|65|aqtom@okPX5;5OgNrJnZ=eqP_f(@R05Qk@gEk!^S`+L zAKz0mcgGpb*J@xrR(x)ULxdZaOES6I|$Wyx|YU=n>xCtTM-YY(~DZx z8K#E%IyLvYfh#bnXeab|>=t;LhI-aXc&l(fC{CT1^@j8di!5JxiD#Tf)QcK;>ba0Hi=gGInAOzx1=cY)acv>(`rH7^8G84QXNI zeuu8y1KYheCTEdvn`zm6k^M~i3!F7#7yBC?tNGITrE|Oq56QQ+F1Vy> zsL&3rY7Z!n{O)vWwcGC1jPwRJ-cURo826p$D&wH_nge7znIRp^!&1yHq%Ucv3oA9ngfanf64mVV7l&GJFliuR!y$13meVgmoYhc=&z(maPc3WG z-^fOB2^@x&DiKBNT^(PCH^f5UhMTRg(IDf2ygGs;FrDVubElTxH)#Q`6O!PNDe<&A zqG9`vEfEYjO5?6+(tStbVWL6E`>z^4#5tGrp=;Fx#}6FW&-7v9d-Ryxb(c|{v1Y~w z=NeFHd&T3tUPls^fzAWk*1g(M45^j}BM)guj|aY-iY?0k6ykuISOJpkzCQPKF2u;u zgX3uWz^9O5g`x1p=^G@-?Xh!xYebWQBu$VDPw?!pr*-&gf zXPv6Lp_<8p+oSDT@B49|D{D-)O|F-LgEna;tt3@EFs{2^lCmnDR0syA69I?`R2Tm! zg|1_tPr`aYrpzi|?o0J3VBSQ$3jYxj0`;{iwr3xylut`jZD|~yNrYs(P6vpJyHD$- z;@wg?*MTk2(DpER-WuY1{c zxLWJy9>zWl?5OQ`6$SZk)k-=dTQ+PyP854M2MnM^Ud;SqD^ZQJ^}^P`2Cl})G;#q$ ztE`W=2A)D7d9Jo>`1}EM4B3AmExHCR7)HmCWwZ+Wv{L){Qr86KjLT%D;8X}0&GhL> ze;c7pUazgSirL^h@S?`o&?Ir0?&*P?O>GeERBwZvOp>_iZ#lHlwlg@V#yk*su`Uj) z^)YB`)cioFS`I{GY9?w3T8vb2ZH(d5TvL^4c(iSl)9)7L&#z^@J*(aIvnh71!s#TPae1?IYFI5Ma(hH8ECiAXBvIyRF_ZAevDy zZDt&gb*;m7sYmoQ&0YzxZmuWn~r6SZa#Ru)lud&F=!e)XTGR!K4RbjEsO=)VHXiQ3M{ z=6&;-;xUFUZQh0$);Sl9T0=3c9vqKuf?Um{9PMy5QnV*HD3m$+Q|9QC9^J9I>ggOZ zmvXdI=BSP{vRR+}l%vI$HhFV2%9EqP$PolOYpeJ0-L5K%E8sk_Js!bJ#EIxHBpNXj zRl~r9_jdAg+BeEMS0Kp()QW3U)r0y}T9-Bi9jq2SX?-5=)8@tV?MD*A@k&6=$JRT} z8wbw+V%n7dXuG?Z+~0FP`WbSDOwOB)j^fSA3eFE()GTT0@}$uoS{(*DOMKwevp_h} z$w+MJU4`~pYeAr1=U+{iemb}3^km5R+TFuh52t+fsuq@n7;9Z;yNz^k_3-TFUr7eo zfp%Y&HPtR!vpsGtSoEQK!MKFEar`6KPNhA>THl8JicP=cC1KYib;X5sOAbI}9%>{` zMf;a_Ms?{~08bPoK2oFWbdPD}G<5~}89ix(b6*163-P8eNW7`*ksQyuC84kix@ls8 zH-&-wtPsn}z_9U#sg}(oP5anBe#_-nZXs1PqE;p0m_%Rt$8U}ijn?A;{7T&!+cFw- zHq>Bc&ur4om8gIy;pzkrc$&Bv0xZN+#kw8BMqT(vj`&8i)cZQz7vnu;%X+=w$xhJ; z$K$dcj1TO45-FcYxEBe>!C!?S==E4~gS&6Zz~No_LPp$>^^ycp~X9BWYNJ`j)HfTXTPs$`RO-{U=4R zu?&l_v2TV&NMI;JQssQtk&1xINtu8B7iYRcF8@7EA+_fzN_jF>DH~8J@nY9M*Fs|X z=aM6C1vug~=9-$!$dH;PPOs}dRMCbhTFtAoMl*QsB%V#k zrf8cz#Jl$s6yhV?tIj*6>Ql5!Dz@xr)!{W&?GG(ZwM=tuh&hgFH9=AKJ+`{mx$3B8 z5(}%xeICmUlDDue;OKJimvvgUYNou5f)t7vz3Lo%G|viSHFLFLe5_1)?l zqa1)P9m96|lYK7mf^Bqtr(Aqub=Aj8)%BU$WuICKY3R>fpQ`O}0QFm9Z8fp*B*djOOhi^NbtA0*ZX6(P5b{B{1+k@rI?&yjhmDJqOU z2_UJaunfUjNs2Tz!|dpU=or2_;S)t$oySuF3lQuDRY38Cf!?M(O-*@`n(~Y~yaqKT zRx!oj3`(vSr`Ga-R%$=j=7NIsQfrA7(C+o|M@`?i1jQ>#)!UX*zip%T=+rZ&x6{j;2=qgu&m5NyGI?Q}c`f2E==d}`ILv_zeb)WCWmAP%~`$@#SUci157 zm~TfT6pWirh#;y0ocdnb`q(3z^eOP)LMuyiu|7b@Q=s{=HnQyW#{Dx`9xgtWlL9Wt zs(L;=7K*)rX4A_`mIYADw-dEo%lh+qV%OAAGgLkpK=HXsLXj>5Y zb>giUgPLe{s`(SUsc3<5`(5Q@_+BKjR~u(_;llv(-kiLL0nk7F0XC|LtR?ca6$2|2 z>>W0|Lgy-s?byeV`HT}xdcte9n)s=lY4Ly=9vh31?v`!dH1;D`T7AuGU4{I*kZ;OA zmSW9KouflFc)h-W0dPZ%YXg#`_`MT zY$}>Z)z*;k(&}J}r+*a^vtd;=VM#(cu#m1&UM-=i3^;VUisKbEKV|!4{X^s%r5dEw zaE;;HTo09VS`DkKrlzZ>E2R8Lh@6KmmpR*P0z+kSu_PN)O{2-~eLP)hpi z=%$~is#~~P2F;4*w_W8F*MKf)wH|6AB(_ycRNDhdZPj)9@6Fm*+G<4$0x_U6We6FQ zIYdqCEOCaX0%K-IW0n0-iS2CF`mR*#T~}STkikB{N|dX**JZ}e?dN9`J|e#1)^hN; z(6{j>P9m}+J4kb?*%+<5Yb@7PS6N7$cD1oSzE1f`RCfUxZAF|=U5qabK-HMqE4+F21*YdR*2Vz9CW8%4iAd!Jun)( zX|Tc{XkT+i>`e&W%YWFHPzdM1|6y?FUMuAB>bb#5tl?x!YY4eM4)BedNRU%*-Qm+Z`s`Cpc`%(x=kH0YT(G2 zVJ27oI@UEC)WM4fEsUOTis_~<9kFQm;#gDS+|R7@mM&PdXpyP+dUeQ<*g?ahO$mlt z)~$=wQ7eY87`DvRqn|o2cHW@bF{U@!D_f^7pSgV2GE--K9yqrDm;Fo$%^T23fphhQ z)#F#1I*w7NM^A}%4luoGR?50_mO5_v#O2PFB>&ghZ)(5k1563+8(HV9n7ImX19hCK zPKX{GJq9t053HM3tHT$KTsj(&$EtG%&L6lS#^k!(*1CA{qNNL#o4T)5hYuPa8;d;G zD`Q>0SsgSlcK(n>roO$@B}0}DT|V5TJ?m#(IcLS(WeZFLH>*QN#EgtaeKf6Yov~9L zI4ycc%q-K;PU_0htH!M!Z#wI=u6C}Px@wwf><)FnglJGpvFkA7QGsK7_&2VcIMZ-i zPh!w~q+JD(1E2v$&PV!H6)*aMzjGrPRR-JKe{*dM4`BDg4s;)Kkr>JarARZpTwfU}cQ-MH1Nat86%R8~`~^ln4kpfl&{h zsDaB57NYaDz^Hm!pywzGS^cV~76{&Ih;3euUB(MqodiZ{e(=#2w&leO;cw&<+SXDI z|KqxJ-Pv@1GuMK)JOnde3)daIq_u53aY1Yuu(ks&oNyHaXQy3OeF4hE%uUw*&JlBo z{bb9kkGUg>{iN%FfjuxDsA;yW+%g-YEHZ1y@f^b~w9f(OSKAh!Gj#(IwN*?^ zf2V1%bJVO@ybIkRX2sySy@<`Jd-uV0XnQ_y-?GK)oTg>YxnmX&GA)T-JPQ9P)@-}E zmR(z{XxZsSpP5*!?3U{oS>)4PvuFkdf}Inr7o6(+)5M7T%`Fuv*2d!wi7s87=8^Cb zsW-K5#4AWI1R5y472a#q0`pizTzFXYC$`dL*TE!KRw!YEQZIpRx2^FL?Lnwb{(VF&+tk65lgOYu0Xms z^P|<}kES3ho#)#rtpY!w?N$zGSO9MV@sT3l2->5JGhqngOz28+Vx5^#Dq#q{%7IS_ zM!d-rbn(eWMJpj66hZUUGRnE6RI+PsSzsF_K zFTWcm>EQ8}9+TvFJ0|gd$`F(2J3QesY5$H%^nLLA&Ip5i{|5*|pZlL84BhoVMHu>s z{|khnFL*n`(9i1syRj_(Cu3RP`ac~2O}w$a!vILENz>H6pOk&Bfiz3)*9OxiG)rO# zxo5y$k=TYl96YLg?FleTE3P`fr|Hr82^I%2o(1%O^K^(58=R2i|ABaLOY9=o+Id>V zMMk~MJipKyU$*L#$={hN;DGs1fXijw7|6B?#+jK}SRiY~+Om$U2a9I0Yz5oN_OSiz z5Ysv1emplXz>D$Hd=MYTNAq!f5}(57@Fn~ZKh96`v-}Fb&TsQaB2c_9a)_KFuP7#} ziQ1yRXel~~o}#~q6??@^@met}*_9xrnDVhwM`@&VRic%V$_!<$vO?LY#3{#>Z^(!3_T5F4fhRC)%Vmu)uslk;p)d~O?8aALEWn24y{o!8jb$O z%to8BnK9DX-Z<5G$avQHmr?i2;g{F1kY7>15`H!Pdil-pTjaOL?~LDNziWQC{QmGu zG%2P~Q%+McQ*BcVQyWt!(@@h`(5)sRv;9~3@9^L6f7<_B|6BgQ`oA(O<}BtAb3SuPb7gZKb5nDaxraI0df2$= zy4u_rpnh%)FoMJ#VC`ydK25FBvu>LbAthSHzgjV+nPcWxGq!CC*3>3fbx@ymMK6P0 zx%osTEg%$o(`nXwyIYiuo;YYiOql-EsQGWaed}e2#k$2|-L={rVBKYGQ_mdmjd_o; zqIrNWYM70fsRBGtU(ho<+I-&|JNis|U`LrRTcpV^9g91v9a@z${4Tpe5zUS+%(l=3GWlFkY+AN|^OYIUTGlKVL?S{47u^Vd~OVg zaX?heVRMVtpL8PWmZ3Ednp+QuHCd)YB&~|ApwXRYsrvh0g&Pv)^=b3ybxnnfHiNeDj$3X*_nspR>Z9f zD>xW}GecU%oHAbs(ZcDumk0;}uNejz;0MYE2A6}DGMWcTiM28V5FV4jO& z8o&5LZBx#%Y4xo6%R<|r(myTX(2Kn>7Is*dm@U@RMpuBVLxIE&6&&@9iRQ!(PhB0t z9Tt#DQO%Io*2uaaz1h;l+L`;(Dk>~MYd6Ar=hDF+NM_)aQ8u02^`%3!zd1~r`7%dphH)u3#mg{GJ-5VA#CU$jc-<4CBE>+o9XO22`c6RHQ4)w9(OJv?50aq{_@KSH#82g~X?`b_Ne zWuLIbV;CvpTSo=!bstsN!nFxn5nLXhIXN^jD6zU#&syiOR$kTu&g6G zLRusgQ%qW4h489-SSKSUA9ecRNDqY~vIO(3g zX4;w+!H?@7)lDB1X;ZIFXu$is`r?2yM6ZM6O>`)Ewi!l8n=N-g_a19LI`sL6-s8+L z%b{Bi+VL6NG+1G_ggfX};qZZls^$qP-|_sPE5bHvMZ+CE^r8^H-1|sb^ zS>nud<5!wJd+cr7kJJ9Tey5I2XlETp8|&j{Y@)*~N6p8LdXTnst$C+y6Jf%+=6Pnz zrW3*RCQGSy9qY%0;z5=jbJwm3@K70vMyYl45h(R;M4bfVwU;y*7NE8?=1Cl^>O&<0 zY-!Bx`9rT?dcI6DT5dWp9Pyy!cC$y`7zR2dCqs&AM{|<&qkvB4l12y#xNoek-x%zO zS`&RL)N5A9)|j$Ly|fVF(o{+C+C=ePzO zc;!Hof_mkAAcSTOv+Od;*MW@9M&NNEAbpL~M25R^r;yMnJh9%;sJGGw<<cFA4Rt=Cc zL&^fZ;7S->7Rza-t77t|Sb*n}p%Hfs>58Ed!a%wJEy`EDjW{)1a7FRZBVm z8P6qToYP!GzosVIjTg0RIn9<{W>@hDV1A=z%%H_#(Mv!BK?M-n#|mJUaW)Y?ux{#L zEIJ4ee}*(S%4a`;o8?0RMtbCu7&%PFfTI;cuwt_4Wl;qICq8)vybtn8Q-@{YHhSCR z=;G+^^r}Y~`q)iJz)V}5@$8`^57&kLrTwY~K%jNqV0srMl%55l$_xWlx^cj~FcKkn zB$!?lDH8D9(R4~!zyRCVMy-=JLgV@fH2_zPwi_kA%V-%fcLfoOR?Qt5-8FzHlL@W; zBw;c@H{n?-y#&2Ug?!<>(C9g$q;zHDSiU_Zu-GR}+hwt!K*0~5S6?+kla-W{+f9|bsu zBP^Exa{=e``G5=gR>19iC*W?r5AXm#3V58K0X)a=0RGJH13u)x06ylg0A1V#_?o|F zT!p%t6*KE842P;7n5F{MYRe!W?PUhVqzU>ADz=+%SOVTNio z>Na83It=dDlhx|duTu|Jt7p3bz1er{JvN$6W+hk!Ru%plu}IdQb!Yw95H?rFO6k(3 zim|KEXP^zxoL%>tx4q^)uldkxK1S}y-!rfI!fU?rny z2iQdVY|`jc*co%XWvR$iWKL1ah{XKSjOQv*xDxC)^Av==U+&4U&(CuRaB0Cza0$=5 zh4I{`qQl`bIoC|UnYm5^9*KAe_$mTDC1QC5+;f$QXb*d*%@vgEVZ_addl8Q!o<+Q5yx@28OQ*adZ$apE zDqmjtB|NWBkq=WwDo1p z1*M8Hdx8AE1ttwg1Dnw|@fe{9pXszh@MSuN3LOxsRrI^SPw#7vz@Q-(){{mE1Gjf6DJ#`hMVk z;EN4rnwE3FPVr4zec_W+O6vo;c$G3=?&t2OKHnbG7e~sFG6ed3%5Oe@xg241-4O9AdFYQWbfNQXuw#vRN5mUt5~c2ADat&tD+ zHfZ1m_pk0NRF)L&vw}vg{6c9_o99Qpy>Y*!aBusi$hY+3)>GBbjpT6d401?$LWx+83s8SYO} z*QkAp12v%0{7I(!FL#Q(Cg+-L$?5vs5jI_EkRH|BD`s#%^4g?#_XT%6VFrY`fRz50 zG5&<~e@Tk%R+7y-Ke+FB()2)2Sf8I{6MYFO(l2!@Af*%T`yO}qAJPNxn%nL3oz{Q) z7&3N2xWBM^A?$8;|LGmyRAwE$=^A>~Q};dO+&fcH4O2?Vsd{sgCeH{fUEtq4i=@O9 zs8#eoip4E!DXBcvj=;`vzlM6%WsYwnt_*OSuXcQz;mbgNB#`ov$XYR-7yE2}XvqkDsr<@slCGf?HcwFvhfQitu22zG~f5YTl zfmCFVbKgqYjw#}xy2gx?zKqF!l5NPjC&!6t{L=`LBaYhA<3DL7;cd6%SiIlU*CAp_ z`$KXj36A#pf*?Vlc;=uN?xHqZa`-`7`D`AI4_YA+4e^wxKBtx`=S{Yw=~ zsy}JtN%ip`{`lI}Xa0lN|M-(A3sRK(1e+=vPoZVPny12h2rtL+)Ldb$rW*2Mb7_3pOm8xDakbp z++DuD4mXKQQU1SVUeeTb(kPMZEN^0-xKU5Z{}J{%^c5&d^@jUf`j(u3q!RD>hcZ6K zm!s~3z;c)!eX;ob!lxXOK1|_DgTDK6<8yeq6t-VIbuDZ3 zE%+uyjEv&({L-$!WUrv!aSf%x{OewT6nA=Y+bhgpm)wid{(kPgGPjrD?+!4~1TS`) z0N*Fvmk_rqA=MAoWoRG70~3@0lmfMyTz1bt39ljc`}8Hb?<4+iJUc?fOE~K+QofYz z$34eW4jFr@T}N^X$v#rr&{ql9aMT{vnDEYp_fVIfzVxRLhag>|Yh=_mtj1QDP;pu7GAR-{u`UGZBe`FcjxG-^aD=EdKTvI=}STGpxtKtdz*X4zTaARZ}I-l z&gc)=ZOdNqZMwPTYww(JjdmOG6AxTKBh)*Bk`hr^>7Q z{l~ii3Y)T@Wkikg|F-dH+W0+5sKvYW2a;=`eB)&O?;>q}z9C!Nf=uJMFNfN~*y{~_BNlDlGSHHji=eYRa;!OYD zS1Rw9f1OX$$M7yL|4i+a?V66-nKs_!@#XuH-o^JNjhSi${=e?SD4jf`NRy}k)4%`J zlhY#hIAFXf)~e-U5$INrIv(+B+zU3|OZcL-Jj?VDn+@b(bC9aF|Wd}T{LUxByf zoquUU{$n^`%735)qC}Vv<@}j~68Mi1dOyBnO{A)?cMJ0_si*hjqc^7hlK$Kv_4kzj z(vPHn8ZVfMsOJ8ax{@-5w02)lNb8=#f8n^`xD5Uk4&EQmm;;Bc4$JrgYrg%H)=HVnVI<`1=IpQ5h948&;n9*^< zamEvi;~xAQrT-}2PR57xLdO~Ci_ll0yA!VtxSX&9l^jY&B_}wZ-UI&=oz8Mm0cWp( zn5nra2zm+^z0i9JUIA|pb4-Vx3%wY6CG>jeEzrA|L5yKp#W)r!wzBNv8fapinTQ=q zgoxsztf(M5ig`%g#458-P_l7QDlU8+L5`oW=ggmH=7G!tj5`!K1)_a_i!|UE(l!=x(swh=&I1*E^>SZP2VG-qo6~fJ45$` z?#BXnqWcwpgFLw1&jnU6g1esz;eI6)*bQ(~-7XP~{~_Rr`OJ~Yt13E3WlK^ibMCVj zbNEy?lq<*)DwQYi1sy)+D^*G}x5K9jCY8Sl%3l%j6mygTBwHkEp_YX7Eeh@M8S-ca zKbxHuW*@L3Xn~Je74VaN!aiknSv`EO&l<3X;4W*-nzIhLmeYxKW?j%iE7)GN(P6aG zRrUkBhL(EDegn_gbB1doECHN;5MjXHu)mobT{kn&!n5*hJP@r|o7dr=^18ep|C|ru zv3vwB@GRs@`8s}r-@@gcpZQa?@9*Hc6D%Bg#F;A#0#*%RMZqIyWlf;MSXXemg)=9c z#R{>7P^H*nwuF^t%h+;OmaT*;&(^Ya;Evmf3q%#!G4LPOVn4EGSSczP~ zCC3N3*TQB;iG$oPd1j0_!Ezx~PL!SaBy&nW$x)I+a*gDW+)o^mxC{l}NZx{YBT<_@ zc?@sG2cu5A;(F95-h=ogd0+5Je#yV!6ZtGY0ChbVH4dIhd|${{;u6(rzLh(PbCS;^ z&Pli);79l}w8ja1JIT-RHQ=8-$G_qi_(i^vf5-3eEyPO+e-EJ!5icb_Oy%Y0h>Mb+ zCoW3i|B#j?kT;J41JIyZH#{+0gUwpM0Evj}!250zOW_#|ij20Usye`P!%) z+NdI0s*G%@;j*Px%9e_gEtOZcR8zD}SKf^GLK`(l8;yV~wNW=d9&OZ}PloErr$Y6j zo`ya*8!grsZL*N}K*igpP?4Z7F>cBe2fwJ6#aJ@{~fKlk~m`#JGJRovQ0P2Hr*`S zbc<}$t+GwGv1}RDKkJWqVF2_%=xFE|=t0n{pjW%Eq--C)2>+MC-HuS#5b7F2T|=mA z2z3pit|8Plgt{hsNM`plo&`E9bT;Tf=oGz%cfkKe?rVtg8b1a5W%o1LlhyIe z14hmXywwDp$jNgB;pL5N6Wh$Tu&rzx+s=02Qs*wV8?(px zHeqb+09M-ttagf@1|GZ5AMs!LA6R#E6r;shF;~nJOM$Pp2USh0Y~i->pwH}$?8}pt zt(iyJC!|-lnO>DwnuYD%rJ8C_r)(vl%Gpd(RkE4v9|z?oWg7xr%|1G7AZ8K%5MhDfh%@3+*TS{SUtL+OjQmDhV_D#vk_7$n1OzD;VSx^&ujx_3?9V#eW zdS%;YKjBffJx~X1r=&Utc)=65?Q&2i+jaZPw90lDIl5tN{yK#!V)v*lNFM_u17!@#K-nKjWdmGj-$Z%0=kS%+9)U8x3<^bx zukA$;qY-V;$X?3R|7;d}1^ZB`I@&wh>)Jm?pBs&D%h4zL+Rs4Mg>UMCE$nUVqv5}! zy*u>)e2s?dQ26$=_yqi$jr5m$>dt-@Dh@U0X*(+AP5Tb0IQt>W8*+6Iv0sFbtN3yc zd4C4`Ynj7LGWS8Kz1%?sgNg-}L5h+5dwXPBl|3dfbQ+c428EcRlD}9l+spWrHM^~ET4fDJn&H;G-W(LRrTAG(SReY7Jt`w* z``B8^r)(|kpCv16HIK55wwJM%^C;Vdw8~m1S=l2|BPc)0OC{@TkFr*>e`c*lVNmYb z87X^b+iTmVWMyq2)lzFZW!q%$XFKE9-dcWS_DZ%Sc)Az^6~yURt-MPhqndu+ltsq*(#vNeQc{?t7~gSy~EbR z)&{NH5i#~f44xh_6fP6cic@79FSIT9mPFRH?V0VFJ)3PUwX!|P9%OroHs4{}LG@>g zvmLUXu${4IvR$N7p*+lX({>O3A0ZrkqJ52sEfdNaBukiEmcAIqL`8d5doARt31;@< zJdwZQe{(nX=v)Zw(+xru!J>_5E22a@(H?>nI*HDrtLO%S3cW-h(N}yS`a!h9KoJe` z3PZ&(F+z+K)5Q!iQ_K>x1=jaszE~(0iS=S5){cK*<(vnpBw`2f27BpjNbPSH#NFJ@ z>`0Y?Ucd!sS&+J5R^&hd<-i~eEHiSVG6lH_21IU{KyErP6*=m}{E(~8pe=M2U9q$3 zCc3frki(wLhFtan9Rm4;|Nf#s{0|fZ;XhhL!+)$82LB_(2*8nIBnw2oXEHPLK8pn) z|FdDABj&(9SIlKblx033%ESCoqV+5jO0|($XjRPK7k{991{9*OETKV`&?HOvzARyo zETL7FFuN?FL6*=iOBg82X22RH1UW;UBTrOL1@+z@_TU|AOy)CKKj$6&`d4r{(K>?m&d9l~m^8~*_7w*lA#MML$4 zP>(U#r;fv3Xc$&ewimg-QbCW^P8w;mEWWKnEsV_mGzf=LGgJ>{8pu#jpD57}y zv8GTFtQqJq3TweyB865A{Q_(4_DHn@cC6VXRm9Btvq8wqV5rQv4LAb17>QbcAGJRY zaem1rAuLf&GO^ig0dhk06BAnml~qzv{Mb?`f6#bVAbz5ynAs|}8gZ_HdSB92GU49l zdibH6o0+h_-wkTr9)??!XyL=y3mgT#g=2kx9(#fd>k4MCz789^`l z4L*rxWMscH+#O&V7mRa-D?mL4?gx6Gi4(=d!Y!-}QIS{(_6J$97Y8i~cB0`3>=$w~ zmFMAkSQhLT3c+3&JuC-$SaD|LCHP0oz$<~yBd~w?6k&T!7^iq(hq*n*I|$4vA}-A_%Ig1hx6eqD|-6~gc^zat?z*eYyLHA?<5Dc7(1|22#Z}9>h>%@3m4Fo z;Qu_o2>%$pfIsjb;ZBq^0ZQO4guTsg!{rWc?+T3UyKuS3?;#Xu7jVCi`@AZDz#qZ| zJ3H7x$AJ9_e**tc`BV5OiW~<%cn+68_#g1|g1>etF9THnxC5A32VnhtW4ibY{0Wnw%hR-2l2<$Xx1xw5w zEa$9p5_4N6<}NHT_XiSl7nYd&1BtnFW4}9(<&l^>w;;@&M`G?mgy~qg#NWjv{w^W$ z_ebKGxCFdTGg>Z;V9@)MFddhe4)Zdw9G4Vi(DtzV=P589-SI923{n_$TP`tOFfd&e zV3Vp)92o8se5;1r%N&@l34AsMe&fJ!J{-qW;5aUEoJHcefD||`tHg2HB#yHJ!%adA z$=FSi*v(I3H$`GMF0q>;DaAYmjtfYE}HhM?R|;evID!7Kx`#}<5Vw>qZ1M?ahwVqN7$_~Zvhv=aYEuae~IIa634wS zah#fj3P)->2{F>vA%j@#QQa9mcRoWdnFj@t|u!f`5a+&0wDcHlUJ#BoC6xIl^H z1aRD8xF3Z~flz)7IL;t(oB)nH3Hvv|aYEv_%o4{LC5{sk#{~k%orj+b`~uFhK#hg{ zJK#G5RwtK%c|n;)oLBi(xDW;u5(66eP0*NwBp&1v4;uJS{3qm=Fkqm>fI?zGBQW3t zxOn6m5FRv2JQyhPpg*0aAQa(2A@QI=;z6UtgDUVK?ho?6aAM)XgMJbZ`bj*PL*l^* zi3iI{JXl8J!IE;-nnU8j(h?7rkQgwBT(w3>JeWn|!4QcDv&dCzm|Uahlh`n~#D+GB z4U0-_SV&^SViFtXk=QVc#D*af8)lJf*D$$i&nIzWZiy4~N}QNS;>5fXC)y-Vw8_3ayCl-)6v7p3>;Swk2lsGY5;>4U1C+3$p(Jpaf5s4FvOPp9v;zX0g ziG?uwnQ<`_#>K{!80*bMwiGUlaVx>?t_=51SosRR%{bi$5ejzYTrxCHH_jy&k0snEVS{o#8kVDa0=53ZJ36}xVevJIH+tUA3>C+-( z_=XRJ{~T0mg*f!N_!etQE)oc01W}#fBo}s)NWj@nIpgDW8ZN!a4`v>+uajSiL!M(D z1}GfTj+%l>lwT95HF>yn50oyCW&3_7-OX;ok>I!o%q1b+z~k($^m9x4u}YUs(r%G{ zjMA=1_v_N_`;rG&|u7n2Z@{@!%nZrra z{+EPwXO?3pLhxq^KbG)&{O8z@kb5avxc(*2kWTUTU-|LW3R zj&5E-+6zhekxX%og!d)NTrIy^rG37H+a;VNVP^@CN_bqtLlSn9a125AgS2Onu(>Q(ISG49 zI9tM&5=wl?4@i4Wg5rgQ8>CCHgr5>*JEgs!gu^5(Az^I^i%S?ukew7e0I$l_>q++- z5|);*sD!l$vQ^UFP{PyFe=|Y2WtfNq+$CN5NcfF}vn1RqVWJEbEbV_1o@C1;p1eU& zd`4d}4+AQ4rcf5kUb>o~ctB7ICWw7L^>A?TPz=&8v8xhGF)P~$vNeMCaa#zA0@RDx zGBFh{HvlOdNpl#Am9QWgMm#^sE#ieiUu?rWiz8yHn9qBQl~_qeV|6$lYrVNRgI){X zf<53VID~!UZLFED^4nq)C^dVqf_cUN7Dn`Jn+S#Ynj)f%s3dBjOwF+3=!}&^v^Xb* zi)&&$3vJh~=K!Tdhj#rtiIp8X^y;g$>e#be7qPx$?>@c6md^d!bx<0?p`F;(vrmVf zB3{BH5}uUsoP^)?9@wj&xYnm%$KFbXzW5_<_wUxbv$)^Cf3f1?F<=StJ77ui3b2$& z1T3uxz%q&nu&iPMET?1#EUyIj?_a!_QWdbcQm6mG_WhOc{sa5=SMm-(%t~SO4<@!S zDIH0@N79iDuSq(RdXJ8Njj2xkEA21_hhYe(_QSP z&;owg`;w_tqjd>Pv*$l*$m34?GIH+<3Jgp^oM~kC^qSqh?l-;vZ+lJPKXI|4QYf8|}PyQ-;%?e)g9B4l#xKHq!XFTp|cCT5`>yKnhQFx2jy_oku z#s#@!?=DTh-roN&Jf<=o@lv=FUiZ6RlgfiQK`FqJ3|e3>J=1GjC^mU*G~zs8FNnLa zWx*QFB*zK4DiA09R0)?pvK!7A4j8T*9;+6$jM`qEsh(8-HYBPMYF%}Rx=Fof%wenm z!N77w0@@(*#KI-?tPFBWyJy{yN!p3~i3B4P1m_x{oHcRYPWEg@s__UT)psr<)pl-U zUBEoXI)HhNwE*)OYXIgqRs$?xq(o80Mh%|#)4q9Vk?_Ss#4D$of zBT-Jd%cmKRsM`jV*95*vH|T*BgTQx>q%YzNupqBlKuyes_=!S59A+tb1-M@&?4r3} z5$vnEUw-)He%n}Wz^_2@NA73FtqkrrAG}@MZvuFMxL*zTUBL0EGwxT7wE?V! zym7y}M1?RW(t6JL7&HTdWJh=-`hf9wXwV~(9%g>O22A)B^D6_}XIM$!Hr~U38X*BIf1!tFcbRoFg;?V|BAzBU4HWT+B`Ru+DdC}%s?g}(<1r0{EjT^s0taoYr+hEnfy$C+5Pgu=Kz#=92<{)dkF=cUMPhT^w&9%);5pL2OU;H9-m50^@+RJ zG5#%TRpstL2yndvM@ey2Fd0pO@e$dO&Cp2p7aEirZiMS!K>Ox=g%st6{iD>Kp-kUNC>HlAc4EV1@n*ZyN ze(w}gs7qNU(0WQi0D2i-mY3t@c?JFs|tSA3(V<&=1|6s=uBeOCvm;g}aT;h(Ri2T9l7 zN&mYtMePdJM!IknSVkEFJN1QPo*30?%%E12s)F<-)E6?|CTaZTV5*wKt7x}?z69~= zrwkbLiU(UI#cBAR84bTDsfW_H!SKlNNL^^a$PkIC<2D>&eug6{6pa*xsfInI)UF2f zX>le^n90m!n4C(DmZ6M>kshU%Fhn8T>@?w;Fn>dnG>S%@f;`knQZ7SYgpEuQ)?~<^ zLR~kQ@V#P+@BRi;DiyC_gnM?q@P%=!7Gt@TL>!TtkUxtdyCK*RZkS-mYbb0eVJK&) zWTK=JI95LgC6YL~S`&}0JkQ$#YCPyrDbAAz$P?ul(0GO@Ih6o1NJ8H?c^lhX8I z&;{PU?d{jV<%DZHfxi1Co4_W5Dh!;RCTG5U`EupqOs)r-YA56m_&rS?H{hJnn@iBg z(w~v%75T7FDD(_)EMJnsA8(@mlDztai^V zBFl_9ORmVc=z_+eH4O(RGeOLK-c^sF9HDlKsFmcG>hSpt+69eKVK@Vg8PIS6^Bj7P z$b&|PP12`5Hab(3HgQYPsG>RjN6@l~!VRhB9nJ5gpf zf}0%fqPN#K`8m%sgVJ{z?sO}GYJn7`xlx**$}mKQ=a@sQg6sPkdx^Ufl%{tMN65Uw zv!6HOj3N)q2O3%dRuHkImC}k?4|IP9I`|gcw!qu+47e2InTr;vtd^p+Xd#v=WkgE~ zE6+ihq$dZEFRUiV!58=p!7p$Mc{U-oOlY;@klR`k>zdLSJ!M%r$?HosKvW(o3Fo@3 zW3(#Ov81kIwBb}P#eeL2+TcV&VD+#Ra4JTh0A^o~_9(?G1D56=1D4@c0LyZ$YcOA6 zor5`}I^c)A24F>A6YwKC9c8z9W59iRPjlMjK9nu^Vh5%46K+ zL5)|(vmeFK(mB8_V#H3d0q&dR6Ao}zV6}|)rWVMUGnM-NGw>X2&2XG|LFq<|G2kE_ zhnUJ>9TzA$U_CK@#(J_CHVh~3G|$cl$Lm3Ml6}Lz$0)kRZnK|2i@MKV^B|rJe62-g zjrB!ZUxAAoXP;=*DA5jd^A6xrB|aNUZ4hJ!o0VKjZls6vm82AXeYc>uPkH+j&f2Ko ze~SAXE!gLvf3~ENl_p=lT>0|kxxw+Ay~Ox=O`|YP4rkzu*q6r~sKrnb1`1D3P_=T2 z+#(NZx;R?1BwDUCTB$5rq13EDhy-eNoe)7%z!#9i@|xF>!V_r(M8P?pr@ z8ShkLu?M3~Lr>p;-c%H05l}2azq=toc^5=e7CbZRq&PHTBSt$qb|d*8k3yL9ydB_= zz*B-f5v>stSP>YFa0fw>$-%*aLH`Ld@bk1nKaNE{F`{6$1Rg@q#s5`a_Z8BN6)U}8 zVktCMv6nM2gV|98>HS$UiR9wN)i|rnFJ1y4!pvAhW)}G=zzQenZusxh#bHma!^z8dfNtY8Yf5uDtB(43H$90(E3?>yv|4=bz7A~F zDnp&keOIK=*yq)gbwYJ8EVbqx-3kAu#axs*BTapb`i!qHpq+hfChG}hqln}Wh{_^E(kXV z%Jz0`q;JYb_$lSqrAA!G#`qqOKKwoW`E(W7N#9`xiPH#Y5bvDGKun8*k`?b#MXL35R`+I8I_!>czikgThL7 z)*gHD{GuQ3GTlJ@SJ+T75Ba0CF91LFg8dVG-wEx(Ni{?#xV2>!k#0VTuW2rza!?rL z&4&xfq;iuVX(xQ}2`ertqc48v)ho~s0#VoVf!BO(Lnig9C*T^TapBWBU?&{|zR>+J zi$c?QDF&0q1hp^lv9BM3KeZ6`P52KH)mR6`kA*0uVJH8DYaT)mWu27onV;fBelTtX zR_h`!D15&0kMS+>!bSM409~I|!QMPZOhLSqb_t9J4farcYk)XjqR+f!xjAI_iVmnx z;1ueMC|h1x4uqlnCG{ti)t8o_x%#a8jmQJDB+3)Rx?u%e30yZVu&ywP>gdO1Y*Mh%y&@$av_Y>?z%0ZWfrhQ2WbPzPT)f4U5moSS% z=LK(JAXY|p9_fD0YrFs8mE8|`L#*1nfom=ozPEC}hFyif7Vy`KN3v49HaIUUvx4wf z3*VZ;Uk~1jRffF|o9$-c4O7Hj?5)bOQaA%r#C=vq{0j3=xRqyR6s$zWUlb=~loDrO zr29J3zKOIi@`kvd*UhaX&a6oL0qnoObK0-5MuYZ`Vs-sYtgc}jtIOs=(&&6hwK$BG z*irWb;gA12AU|un`yqG;oAW!6qkM>!1@)pb-^sf2QmiCs|C#wr+!P(jV%b1YtXDvi z#2IE{r_nd;updBN2T)(W@Tb9PafsEx&Y=&xjQhW9F|Hc1^2$`0Cil-uMOKm9&>w7= zZ)1^8EaJ`%{F>eUHTu&qVPdQJM7EAkM7!l+>qvvUlC%MRdL3yh1Aia&^8xDs9fjL- z9iXFdMq5^7LtWKG8EU}{!JXCFtUdbKC!#T1%h!NwdpOIFx@d?xX^6U!rqYDfB`vmL z-tUKg-j#)847Npo4_0bmT#rE?g;x5r-Fz79hqRi4@3twpbTgC2IGlocxvrre!e##_t&#J+_gz^&RW$@>BWL3o^;1DPLInie) zW86-}JTVdX_9tOYJAsYH|6<}iE5`e>t|)6BMTNhHxH;aJg^334-|_!r;E^ws+N=sV zdqb2?s9)0U*k}A1@O)?YbEPwz2;BqvqqP6gbBS^|%&TX@9OTvQye54oJr+6^dL%Sx zb0n`;YH%G$ITzdEPMjFvSHL}H#)d{y-~>CAz?33~5MHi*}Nt}OLz?1pAz zt234lX0hOL9?3s&|HxipeNr3gu7=(YZuMK}2MbYugu8%~5GU=9=tn#oqGQkAUA%Tf ae~-N|{wsBH+WX1iek_i=$89rAVgDZ_OPLb@ literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/lib/fonts/Geist-Light.otf b/third_party/shadcn_flutter/lib/fonts/Geist-Light.otf new file mode 100644 index 0000000000000000000000000000000000000000..9159d56318923d02879a0b1668e4db3fa0d84e12 GIT binary patch literal 128892 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%0Dd{ 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

9D{Dh)n88OUaFw2-RHW5LF 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 literal 0 HcmV?d00001 diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.less b/third_party/shadcn_flutter/icons/lucide/lucide.less new file mode 100644 index 00000000..71ffea30 --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/lucide.less @@ -0,0 +1,1575 @@ +@font-face {font-family: "lucide"; + src: url('lucide.eot?t=1741351670382'); /* IE9*/ + src: url('lucide.eot?t=1741351670382#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url("lucide.woff2?t=1741351670382") format("woff2"), + url("lucide.woff?t=1741351670382") format("woff"), + url('lucide.ttf?t=1741351670382') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + url('lucide.svg?t=1741351670382#lucide') format('svg'); /* iOS 4.1- */ +} + +[class^="icon-"], [class*=" icon-"] { + font-family: 'lucide' !important;font-size: inherit; + font-style:normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +.icon-a-arrow-down:before { content: "\e589"; } +.icon-a-arrow-up:before { content: "\e58a"; } +.icon-a-large-small:before { content: "\e58b"; } +.icon-accessibility:before { content: "\e296"; } +.icon-activity:before { content: "\e038"; } +.icon-air-vent:before { content: "\e350"; } +.icon-airplay:before { content: "\e039"; } +.icon-alarm-clock-check:before { content: "\e1eb"; } +.icon-alarm-clock-minus:before { content: "\e1ec"; } +.icon-alarm-clock-off:before { content: "\e23a"; } +.icon-alarm-clock-plus:before { content: "\e1ed"; } +.icon-alarm-clock:before { content: "\e03a"; } +.icon-alarm-smoke:before { content: "\e57f"; } +.icon-album:before { content: "\e03b"; } +.icon-align-center-horizontal:before { content: "\e26b"; } +.icon-align-center-vertical:before { content: "\e26c"; } +.icon-align-center:before { content: "\e03c"; } +.icon-align-end-horizontal:before { content: "\e26d"; } +.icon-align-end-vertical:before { content: "\e26e"; } +.icon-align-horizontal-distribute-center:before { content: "\e03d"; } +.icon-align-horizontal-distribute-end:before { content: "\e03e"; } +.icon-align-horizontal-distribute-start:before { content: "\e03f"; } +.icon-align-horizontal-justify-center:before { content: "\e271"; } +.icon-align-horizontal-justify-end:before { content: "\e272"; } +.icon-align-horizontal-justify-start:before { content: "\e273"; } +.icon-align-horizontal-space-around:before { content: "\e274"; } +.icon-align-horizontal-space-between:before { content: "\e275"; } +.icon-align-justify:before { content: "\e040"; } +.icon-align-left:before { content: "\e041"; } +.icon-align-right:before { content: "\e042"; } +.icon-align-start-horizontal:before { content: "\e26f"; } +.icon-align-start-vertical:before { content: "\e270"; } +.icon-align-vertical-distribute-center:before { content: "\e27d"; } +.icon-align-vertical-distribute-end:before { content: "\e27e"; } +.icon-align-vertical-distribute-start:before { content: "\e27f"; } +.icon-align-vertical-justify-center:before { content: "\e276"; } +.icon-align-vertical-justify-end:before { content: "\e277"; } +.icon-align-vertical-justify-start:before { content: "\e278"; } +.icon-align-vertical-space-around:before { content: "\e279"; } +.icon-align-vertical-space-between:before { content: "\e27a"; } +.icon-ambulance:before { content: "\e5bf"; } +.icon-ampersand:before { content: "\e4a0"; } +.icon-ampersands:before { content: "\e4a1"; } +.icon-amphora:before { content: "\e61f"; } +.icon-anchor:before { content: "\e043"; } +.icon-angry:before { content: "\e2fb"; } +.icon-annoyed:before { content: "\e2fc"; } +.icon-antenna:before { content: "\e4e6"; } +.icon-anvil:before { content: "\e584"; } +.icon-aperture:before { content: "\e044"; } +.icon-app-window-mac:before { content: "\e5d6"; } +.icon-app-window:before { content: "\e42a"; } +.icon-apple:before { content: "\e351"; } +.icon-archive-restore:before { content: "\e2cc"; } +.icon-archive-x:before { content: "\e510"; } +.icon-archive:before { content: "\e045"; } +.icon-armchair:before { content: "\e2bf"; } +.icon-arrow-big-down-dash:before { content: "\e421"; } +.icon-arrow-big-down:before { content: "\e1e0"; } +.icon-arrow-big-left-dash:before { content: "\e422"; } +.icon-arrow-big-left:before { content: "\e1e1"; } +.icon-arrow-big-right-dash:before { content: "\e423"; } +.icon-arrow-big-right:before { content: "\e1e2"; } +.icon-arrow-big-up-dash:before { content: "\e424"; } +.icon-arrow-big-up:before { content: "\e1e3"; } +.icon-arrow-down-0-1:before { content: "\e417"; } +.icon-arrow-down-1-0:before { content: "\e418"; } +.icon-arrow-down-a-z:before { content: "\e419"; } +.icon-arrow-down-from-line:before { content: "\e458"; } +.icon-arrow-down-left:before { content: "\e047"; } +.icon-arrow-down-narrow-wide:before { content: "\e048"; } +.icon-arrow-down-right:before { content: "\e049"; } +.icon-arrow-down-to-dot:before { content: "\e451"; } +.icon-arrow-down-to-line:before { content: "\e459"; } +.icon-arrow-down-up:before { content: "\e04a"; } +.icon-arrow-down-wide-narrow:before { content: "\e04b"; } +.icon-arrow-down-z-a:before { content: "\e41a"; } +.icon-arrow-down:before { content: "\e046"; } +.icon-arrow-left-from-line:before { content: "\e45a"; } +.icon-arrow-left-right:before { content: "\e249"; } +.icon-arrow-left-to-line:before { content: "\e45b"; } +.icon-arrow-left:before { content: "\e04c"; } +.icon-arrow-right-from-line:before { content: "\e45c"; } +.icon-arrow-right-left:before { content: "\e41b"; } +.icon-arrow-right-to-line:before { content: "\e45d"; } +.icon-arrow-right:before { content: "\e04d"; } +.icon-arrow-up-0-1:before { content: "\e41c"; } +.icon-arrow-up-1-0:before { content: "\e41d"; } +.icon-arrow-up-a-z:before { content: "\e41e"; } +.icon-arrow-up-down:before { content: "\e380"; } +.icon-arrow-up-from-dot:before { content: "\e452"; } +.icon-arrow-up-from-line:before { content: "\e45e"; } +.icon-arrow-up-left:before { content: "\e04f"; } +.icon-arrow-up-narrow-wide:before { content: "\e050"; } +.icon-arrow-up-right:before { content: "\e051"; } +.icon-arrow-up-to-line:before { content: "\e45f"; } +.icon-arrow-up-wide-narrow:before { content: "\e41f"; } +.icon-arrow-up-z-a:before { content: "\e420"; } +.icon-arrow-up:before { content: "\e04e"; } +.icon-arrows-up-from-line:before { content: "\e4d8"; } +.icon-asterisk:before { content: "\e1ee"; } +.icon-at-sign:before { content: "\e052"; } +.icon-atom:before { content: "\e3da"; } +.icon-audio-lines:before { content: "\e55e"; } +.icon-audio-waveform:before { content: "\e55f"; } +.icon-award:before { content: "\e053"; } +.icon-axe:before { content: "\e054"; } +.icon-axis-3d:before { content: "\e2fd"; } +.icon-baby:before { content: "\e2cd"; } +.icon-backpack:before { content: "\e2c7"; } +.icon-badge-alert:before { content: "\e479"; } +.icon-badge-cent:before { content: "\e513"; } +.icon-badge-check:before { content: "\e240"; } +.icon-badge-dollar-sign:before { content: "\e47a"; } +.icon-badge-euro:before { content: "\e514"; } +.icon-badge-help:before { content: "\e47b"; } +.icon-badge-indian-rupee:before { content: "\e515"; } +.icon-badge-info:before { content: "\e47c"; } +.icon-badge-japanese-yen:before { content: "\e516"; } +.icon-badge-minus:before { content: "\e47d"; } +.icon-badge-percent:before { content: "\e47e"; } +.icon-badge-plus:before { content: "\e47f"; } +.icon-badge-pound-sterling:before { content: "\e517"; } +.icon-badge-russian-ruble:before { content: "\e518"; } +.icon-badge-swiss-franc:before { content: "\e519"; } +.icon-badge-x:before { content: "\e480"; } +.icon-badge:before { content: "\e478"; } +.icon-baggage-claim:before { content: "\e2c8"; } +.icon-ban:before { content: "\e055"; } +.icon-banana:before { content: "\e352"; } +.icon-bandage:before { content: "\e621"; } +.icon-banknote:before { content: "\e056"; } +.icon-barcode:before { content: "\e537"; } +.icon-baseline:before { content: "\e284"; } +.icon-bath:before { content: "\e2aa"; } +.icon-battery-charging:before { content: "\e058"; } +.icon-battery-full:before { content: "\e059"; } +.icon-battery-low:before { content: "\e05a"; } +.icon-battery-medium:before { content: "\e05b"; } +.icon-battery-plus:before { content: "\e642"; } +.icon-battery-warning:before { content: "\e3af"; } +.icon-battery:before { content: "\e057"; } +.icon-beaker:before { content: "\e05c"; } +.icon-bean-off:before { content: "\e393"; } +.icon-bean:before { content: "\e392"; } +.icon-bed-double:before { content: "\e2c1"; } +.icon-bed-single:before { content: "\e2c2"; } +.icon-bed:before { content: "\e2c0"; } +.icon-beef:before { content: "\e3a8"; } +.icon-beer-off:before { content: "\e5dd"; } +.icon-beer:before { content: "\e2ce"; } +.icon-bell-dot:before { content: "\e42f"; } +.icon-bell-electric:before { content: "\e580"; } +.icon-bell-minus:before { content: "\e1ef"; } +.icon-bell-off:before { content: "\e05e"; } +.icon-bell-plus:before { content: "\e1f0"; } +.icon-bell-ring:before { content: "\e223"; } +.icon-bell:before { content: "\e05d"; } +.icon-between-horizontal-end:before { content: "\e595"; } +.icon-between-horizontal-start:before { content: "\e596"; } +.icon-between-vertical-end:before { content: "\e597"; } +.icon-between-vertical-start:before { content: "\e598"; } +.icon-biceps-flexed:before { content: "\e5ef"; } +.icon-bike:before { content: "\e1d1"; } +.icon-binary:before { content: "\e1f1"; } +.icon-binoculars:before { content: "\e625"; } +.icon-biohazard:before { content: "\e445"; } +.icon-bird:before { content: "\e3c8"; } +.icon-bitcoin:before { content: "\e05f"; } +.icon-blend:before { content: "\e5a0"; } +.icon-blinds:before { content: "\e3c3"; } +.icon-blocks:before { content: "\e4fe"; } +.icon-bluetooth-connected:before { content: "\e1b7"; } +.icon-bluetooth-off:before { content: "\e1b8"; } +.icon-bluetooth-searching:before { content: "\e1b9"; } +.icon-bluetooth:before { content: "\e060"; } +.icon-bold:before { content: "\e061"; } +.icon-bolt:before { content: "\e590"; } +.icon-bomb:before { content: "\e2fe"; } +.icon-bone:before { content: "\e35b"; } +.icon-book-a:before { content: "\e548"; } +.icon-book-audio:before { content: "\e549"; } +.icon-book-check:before { content: "\e54a"; } +.icon-book-copy:before { content: "\e3f0"; } +.icon-book-dashed:before { content: "\e3f1"; } +.icon-book-down:before { content: "\e3f2"; } +.icon-book-headphones:before { content: "\e54b"; } +.icon-book-heart:before { content: "\e54c"; } +.icon-book-image:before { content: "\e54d"; } +.icon-book-key:before { content: "\e3f3"; } +.icon-book-lock:before { content: "\e3f4"; } +.icon-book-marked:before { content: "\e3f5"; } +.icon-book-minus:before { content: "\e3f6"; } +.icon-book-open-check:before { content: "\e384"; } +.icon-book-open-text:before { content: "\e54e"; } +.icon-book-open:before { content: "\e063"; } +.icon-book-plus:before { content: "\e3f7"; } +.icon-book-text:before { content: "\e54f"; } +.icon-book-type:before { content: "\e550"; } +.icon-book-up-2:before { content: "\e4aa"; } +.icon-book-up:before { content: "\e3f8"; } +.icon-book-user:before { content: "\e551"; } +.icon-book-x:before { content: "\e3f9"; } +.icon-book:before { content: "\e062"; } +.icon-bookmark-check:before { content: "\e523"; } +.icon-bookmark-minus:before { content: "\e23b"; } +.icon-bookmark-plus:before { content: "\e23c"; } +.icon-bookmark-x:before { content: "\e524"; } +.icon-bookmark:before { content: "\e064"; } +.icon-boom-box:before { content: "\e4f2"; } +.icon-bot-message-square:before { content: "\e5d2"; } +.icon-bot-off:before { content: "\e5e4"; } +.icon-bot:before { content: "\e1ba"; } +.icon-box:before { content: "\e065"; } +.icon-boxes:before { content: "\e2cf"; } +.icon-braces:before { content: "\e36d"; } +.icon-brackets:before { content: "\e447"; } +.icon-brain-circuit:before { content: "\e3ca"; } +.icon-brain-cog:before { content: "\e3cb"; } +.icon-brain:before { content: "\e3c9"; } +.icon-brick-wall:before { content: "\e585"; } +.icon-briefcase-business:before { content: "\e5d9"; } +.icon-briefcase-conveyor-belt:before { content: "\e62f"; } +.icon-briefcase-medical:before { content: "\e5da"; } +.icon-briefcase:before { content: "\e066"; } +.icon-bring-to-front:before { content: "\e4f3"; } +.icon-brush:before { content: "\e1d2"; } +.icon-bug-off:before { content: "\e511"; } +.icon-bug-play:before { content: "\e512"; } +.icon-bug:before { content: "\e20b"; } +.icon-building-2:before { content: "\e28f"; } +.icon-building:before { content: "\e1cb"; } +.icon-bus-front:before { content: "\e4ff"; } +.icon-bus:before { content: "\e1d3"; } +.icon-cable-car:before { content: "\e500"; } +.icon-cable:before { content: "\e4e7"; } +.icon-cake-slice:before { content: "\e4bd"; } +.icon-cake:before { content: "\e347"; } +.icon-calculator:before { content: "\e1bb"; } +.icon-calendar-1:before { content: "\e634"; } +.icon-calendar-arrow-down:before { content: "\e602"; } +.icon-calendar-arrow-up:before { content: "\e603"; } +.icon-calendar-check-2:before { content: "\e2b7"; } +.icon-calendar-check:before { content: "\e2b6"; } +.icon-calendar-clock:before { content: "\e303"; } +.icon-calendar-cog:before { content: "\e5f1"; } +.icon-calendar-days:before { content: "\e2b8"; } +.icon-calendar-fold:before { content: "\e5b8"; } +.icon-calendar-heart:before { content: "\e304"; } +.icon-calendar-minus-2:before { content: "\e5b9"; } +.icon-calendar-minus:before { content: "\e2b9"; } +.icon-calendar-off:before { content: "\e2ba"; } +.icon-calendar-plus-2:before { content: "\e5ba"; } +.icon-calendar-plus:before { content: "\e2bb"; } +.icon-calendar-range:before { content: "\e2bc"; } +.icon-calendar-search:before { content: "\e305"; } +.icon-calendar-sync:before { content: "\e63a"; } +.icon-calendar-x-2:before { content: "\e2be"; } +.icon-calendar-x:before { content: "\e2bd"; } +.icon-calendar:before { content: "\e067"; } +.icon-camera-off:before { content: "\e069"; } +.icon-camera:before { content: "\e068"; } +.icon-candy-cane:before { content: "\e4be"; } +.icon-candy-off:before { content: "\e395"; } +.icon-candy:before { content: "\e394"; } +.icon-cannabis:before { content: "\e5d8"; } +.icon-captions-off:before { content: "\e5c5"; } +.icon-captions:before { content: "\e3a7"; } +.icon-car-front:before { content: "\e501"; } +.icon-car-taxi-front:before { content: "\e502"; } +.icon-car:before { content: "\e1d4"; } +.icon-caravan:before { content: "\e53d"; } +.icon-carrot:before { content: "\e259"; } +.icon-case-lower:before { content: "\e3db"; } +.icon-case-sensitive:before { content: "\e3dc"; } +.icon-case-upper:before { content: "\e3dd"; } +.icon-cassette-tape:before { content: "\e4ce"; } +.icon-cast:before { content: "\e06a"; } +.icon-castle:before { content: "\e3e3"; } +.icon-cat:before { content: "\e38f"; } +.icon-cctv:before { content: "\e581"; } +.icon-chart-area:before { content: "\e4d7"; } +.icon-chart-bar-big:before { content: "\e4ab"; } +.icon-chart-bar-decreasing:before { content: "\e60b"; } +.icon-chart-bar-increasing:before { content: "\e60c"; } +.icon-chart-bar-stacked:before { content: "\e60d"; } +.icon-chart-bar:before { content: "\e2a1"; } +.icon-chart-candlestick:before { content: "\e4ac"; } +.icon-chart-column-big:before { content: "\e4ad"; } +.icon-chart-column-decreasing:before { content: "\e06b"; } +.icon-chart-column-increasing:before { content: "\e2a3"; } +.icon-chart-column-stacked:before { content: "\e60e"; } +.icon-chart-column:before { content: "\e2a2"; } +.icon-chart-gantt:before { content: "\e628"; } +.icon-chart-line:before { content: "\e2a4"; } +.icon-chart-network:before { content: "\e60f"; } +.icon-chart-no-axes-column-decreasing:before { content: "\e06d"; } +.icon-chart-no-axes-column-increasing:before { content: "\e06e"; } +.icon-chart-no-axes-column:before { content: "\e06c"; } +.icon-chart-no-axes-combined:before { content: "\e610"; } +.icon-chart-no-axes-gantt:before { content: "\e4c8"; } +.icon-chart-pie:before { content: "\e06f"; } +.icon-chart-scatter:before { content: "\e48e"; } +.icon-chart-spline:before { content: "\e611"; } +.icon-check-check:before { content: "\e391"; } +.icon-check:before { content: "\e070"; } +.icon-chef-hat:before { content: "\e2ab"; } +.icon-cherry:before { content: "\e353"; } +.icon-chevron-down:before { content: "\e071"; } +.icon-chevron-first:before { content: "\e242"; } +.icon-chevron-last:before { content: "\e243"; } +.icon-chevron-left:before { content: "\e072"; } +.icon-chevron-right:before { content: "\e073"; } +.icon-chevron-up:before { content: "\e074"; } +.icon-chevrons-down-up:before { content: "\e227"; } +.icon-chevrons-down:before { content: "\e075"; } +.icon-chevrons-left-right-ellipsis:before { content: "\e623"; } +.icon-chevrons-left-right:before { content: "\e292"; } +.icon-chevrons-left:before { content: "\e076"; } +.icon-chevrons-right-left:before { content: "\e293"; } +.icon-chevrons-right:before { content: "\e077"; } +.icon-chevrons-up-down:before { content: "\e210"; } +.icon-chevrons-up:before { content: "\e078"; } +.icon-chrome:before { content: "\e079"; } +.icon-church:before { content: "\e3e4"; } +.icon-cigarette-off:before { content: "\e2c6"; } +.icon-cigarette:before { content: "\e2c5"; } +.icon-circle-alert:before { content: "\e07b"; } +.icon-circle-arrow-down:before { content: "\e07c"; } +.icon-circle-arrow-left:before { content: "\e07d"; } +.icon-circle-arrow-out-down-left:before { content: "\e3fb"; } +.icon-circle-arrow-out-down-right:before { content: "\e3fc"; } +.icon-circle-arrow-out-up-left:before { content: "\e3fd"; } +.icon-circle-arrow-out-up-right:before { content: "\e3fe"; } +.icon-circle-arrow-right:before { content: "\e07e"; } +.icon-circle-arrow-up:before { content: "\e07f"; } +.icon-circle-check-big:before { content: "\e080"; } +.icon-circle-check:before { content: "\e225"; } +.icon-circle-chevron-down:before { content: "\e4e1"; } +.icon-circle-chevron-left:before { content: "\e4e2"; } +.icon-circle-chevron-right:before { content: "\e4e3"; } +.icon-circle-chevron-up:before { content: "\e4e4"; } +.icon-circle-dashed:before { content: "\e4b4"; } +.icon-circle-divide:before { content: "\e081"; } +.icon-circle-dollar-sign:before { content: "\e481"; } +.icon-circle-dot-dashed:before { content: "\e4b5"; } +.icon-circle-dot:before { content: "\e348"; } +.icon-circle-ellipsis:before { content: "\e349"; } +.icon-circle-equal:before { content: "\e404"; } +.icon-circle-fading-arrow-up:before { content: "\e61c"; } +.icon-circle-fading-plus:before { content: "\e5c0"; } +.icon-circle-gauge:before { content: "\e4e5"; } +.icon-circle-help:before { content: "\e082"; } +.icon-circle-minus:before { content: "\e083"; } +.icon-circle-off:before { content: "\e405"; } +.icon-circle-parking-off:before { content: "\e3cd"; } +.icon-circle-parking:before { content: "\e3cc"; } +.icon-circle-pause:before { content: "\e084"; } +.icon-circle-percent:before { content: "\e51e"; } +.icon-circle-play:before { content: "\e085"; } +.icon-circle-plus:before { content: "\e086"; } +.icon-circle-power:before { content: "\e554"; } +.icon-circle-slash-2:before { content: "\e212"; } +.icon-circle-slash:before { content: "\e406"; } +.icon-circle-small:before { content: "\e644"; } +.icon-circle-stop:before { content: "\e087"; } +.icon-circle-user-round:before { content: "\e466"; } +.icon-circle-user:before { content: "\e465"; } +.icon-circle-x:before { content: "\e088"; } +.icon-circle:before { content: "\e07a"; } +.icon-circuit-board:before { content: "\e407"; } +.icon-citrus:before { content: "\e378"; } +.icon-clapperboard:before { content: "\e29a"; } +.icon-clipboard-check:before { content: "\e218"; } +.icon-clipboard-copy:before { content: "\e224"; } +.icon-clipboard-list:before { content: "\e08a"; } +.icon-clipboard-minus:before { content: "\e5c2"; } +.icon-clipboard-paste:before { content: "\e3eb"; } +.icon-clipboard-pen-line:before { content: "\e307"; } +.icon-clipboard-pen:before { content: "\e306"; } +.icon-clipboard-plus:before { content: "\e5c3"; } +.icon-clipboard-type:before { content: "\e308"; } +.icon-clipboard-x:before { content: "\e221"; } +.icon-clipboard:before { content: "\e089"; } +.icon-clock-1:before { content: "\e24a"; } +.icon-clock-10:before { content: "\e24b"; } +.icon-clock-11:before { content: "\e24c"; } +.icon-clock-12:before { content: "\e24d"; } +.icon-clock-2:before { content: "\e24e"; } +.icon-clock-3:before { content: "\e24f"; } +.icon-clock-4:before { content: "\e250"; } +.icon-clock-5:before { content: "\e251"; } +.icon-clock-6:before { content: "\e252"; } +.icon-clock-7:before { content: "\e253"; } +.icon-clock-8:before { content: "\e254"; } +.icon-clock-9:before { content: "\e255"; } +.icon-clock-alert:before { content: "\e62e"; } +.icon-clock-arrow-down:before { content: "\e604"; } +.icon-clock-arrow-up:before { content: "\e605"; } +.icon-clock:before { content: "\e08b"; } +.icon-cloud-alert:before { content: "\e637"; } +.icon-cloud-cog:before { content: "\e309"; } +.icon-cloud-download:before { content: "\e08d"; } +.icon-cloud-drizzle:before { content: "\e08e"; } +.icon-cloud-fog:before { content: "\e213"; } +.icon-cloud-hail:before { content: "\e08f"; } +.icon-cloud-lightning:before { content: "\e090"; } +.icon-cloud-moon-rain:before { content: "\e2f9"; } +.icon-cloud-moon:before { content: "\e214"; } +.icon-cloud-off:before { content: "\e091"; } +.icon-cloud-rain-wind:before { content: "\e093"; } +.icon-cloud-rain:before { content: "\e092"; } +.icon-cloud-snow:before { content: "\e094"; } +.icon-cloud-sun-rain:before { content: "\e2fa"; } +.icon-cloud-sun:before { content: "\e215"; } +.icon-cloud-upload:before { content: "\e095"; } +.icon-cloud:before { content: "\e08c"; } +.icon-cloudy:before { content: "\e216"; } +.icon-clover:before { content: "\e096"; } +.icon-club:before { content: "\e49a"; } +.icon-code-xml:before { content: "\e205"; } +.icon-code:before { content: "\e097"; } +.icon-codepen:before { content: "\e098"; } +.icon-codesandbox:before { content: "\e099"; } +.icon-coffee:before { content: "\e09a"; } +.icon-cog:before { content: "\e30a"; } +.icon-coins:before { content: "\e09b"; } +.icon-columns-2:before { content: "\e09c"; } +.icon-columns-3:before { content: "\e09d"; } +.icon-columns-4:before { content: "\e58d"; } +.icon-combine:before { content: "\e450"; } +.icon-command:before { content: "\e09e"; } +.icon-compass:before { content: "\e09f"; } +.icon-component:before { content: "\e2ac"; } +.icon-computer:before { content: "\e4e8"; } +.icon-concierge-bell:before { content: "\e37b"; } +.icon-cone:before { content: "\e527"; } +.icon-construction:before { content: "\e3b7"; } +.icon-contact-round:before { content: "\e467"; } +.icon-contact:before { content: "\e0a0"; } +.icon-container:before { content: "\e4d9"; } +.icon-contrast:before { content: "\e0a1"; } +.icon-cookie:before { content: "\e26a"; } +.icon-cooking-pot:before { content: "\e588"; } +.icon-copy-check:before { content: "\e3ff"; } +.icon-copy-minus:before { content: "\e400"; } +.icon-copy-plus:before { content: "\e401"; } +.icon-copy-slash:before { content: "\e402"; } +.icon-copy-x:before { content: "\e403"; } +.icon-copy:before { content: "\e0a2"; } +.icon-copyleft:before { content: "\e0a3"; } +.icon-copyright:before { content: "\e0a4"; } +.icon-corner-down-left:before { content: "\e0a5"; } +.icon-corner-down-right:before { content: "\e0a6"; } +.icon-corner-left-down:before { content: "\e0a7"; } +.icon-corner-left-up:before { content: "\e0a8"; } +.icon-corner-right-down:before { content: "\e0a9"; } +.icon-corner-right-up:before { content: "\e0aa"; } +.icon-corner-up-left:before { content: "\e0ab"; } +.icon-corner-up-right:before { content: "\e0ac"; } +.icon-cpu:before { content: "\e0ad"; } +.icon-creative-commons:before { content: "\e3b5"; } +.icon-credit-card:before { content: "\e0ae"; } +.icon-croissant:before { content: "\e2ad"; } +.icon-crop:before { content: "\e0af"; } +.icon-cross:before { content: "\e1e4"; } +.icon-crosshair:before { content: "\e0b0"; } +.icon-crown:before { content: "\e1d5"; } +.icon-cuboid:before { content: "\e528"; } +.icon-cup-soda:before { content: "\e2d0"; } +.icon-currency:before { content: "\e22f"; } +.icon-cylinder:before { content: "\e529"; } +.icon-dam:before { content: "\e60a"; } +.icon-database-backup:before { content: "\e3ae"; } +.icon-database-zap:before { content: "\e50f"; } +.icon-database:before { content: "\e0b1"; } +.icon-delete:before { content: "\e0b2"; } +.icon-dessert:before { content: "\e4bf"; } +.icon-diameter:before { content: "\e52a"; } +.icon-diamond-minus:before { content: "\e5e5"; } +.icon-diamond-percent:before { content: "\e51f"; } +.icon-diamond-plus:before { content: "\e5e6"; } +.icon-diamond:before { content: "\e2d1"; } +.icon-dice-1:before { content: "\e286"; } +.icon-dice-2:before { content: "\e287"; } +.icon-dice-3:before { content: "\e288"; } +.icon-dice-4:before { content: "\e289"; } +.icon-dice-5:before { content: "\e28a"; } +.icon-dice-6:before { content: "\e28b"; } +.icon-dices:before { content: "\e2c4"; } +.icon-diff:before { content: "\e30b"; } +.icon-disc-2:before { content: "\e3fa"; } +.icon-disc-3:before { content: "\e498"; } +.icon-disc-album:before { content: "\e560"; } +.icon-disc:before { content: "\e0b3"; } +.icon-divide:before { content: "\e0b4"; } +.icon-dna-off:before { content: "\e397"; } +.icon-dna:before { content: "\e396"; } +.icon-dock:before { content: "\e5d7"; } +.icon-dog:before { content: "\e390"; } +.icon-dollar-sign:before { content: "\e0b5"; } +.icon-donut:before { content: "\e4c0"; } +.icon-door-closed:before { content: "\e3d8"; } +.icon-door-open:before { content: "\e3d9"; } +.icon-dot:before { content: "\e453"; } +.icon-download:before { content: "\e0b6"; } +.icon-drafting-compass:before { content: "\e52b"; } +.icon-drama:before { content: "\e525"; } +.icon-dribbble:before { content: "\e0b7"; } +.icon-drill:before { content: "\e591"; } +.icon-droplet-off:before { content: "\e63c"; } +.icon-droplet:before { content: "\e0b8"; } +.icon-droplets:before { content: "\e0b9"; } +.icon-drum:before { content: "\e561"; } +.icon-drumstick:before { content: "\e25a"; } +.icon-dumbbell:before { content: "\e3a4"; } +.icon-ear-off:before { content: "\e386"; } +.icon-ear:before { content: "\e385"; } +.icon-earth-lock:before { content: "\e5d0"; } +.icon-earth:before { content: "\e1f2"; } +.icon-eclipse:before { content: "\e5a1"; } +.icon-egg-fried:before { content: "\e354"; } +.icon-egg-off:before { content: "\e398"; } +.icon-egg:before { content: "\e25c"; } +.icon-ellipsis-vertical:before { content: "\e0bb"; } +.icon-ellipsis:before { content: "\e0ba"; } +.icon-equal-approximately:before { content: "\e638"; } +.icon-equal-not:before { content: "\e1bd"; } +.icon-equal:before { content: "\e1bc"; } +.icon-eraser:before { content: "\e28e"; } +.icon-ethernet-port:before { content: "\e624"; } +.icon-euro:before { content: "\e0bc"; } +.icon-expand:before { content: "\e219"; } +.icon-external-link:before { content: "\e0bd"; } +.icon-eye-closed:before { content: "\e632"; } +.icon-eye-off:before { content: "\e0bf"; } +.icon-eye:before { content: "\e0be"; } +.icon-facebook:before { content: "\e0c0"; } +.icon-factory:before { content: "\e29e"; } +.icon-fan:before { content: "\e37c"; } +.icon-fast-forward:before { content: "\e0c1"; } +.icon-feather:before { content: "\e0c2"; } +.icon-fence:before { content: "\e586"; } +.icon-ferris-wheel:before { content: "\e483"; } +.icon-figma:before { content: "\e0c3"; } +.icon-file-archive:before { content: "\e30c"; } +.icon-file-audio-2:before { content: "\e30e"; } +.icon-file-audio:before { content: "\e30d"; } +.icon-file-axis-3d:before { content: "\e30f"; } +.icon-file-badge-2:before { content: "\e311"; } +.icon-file-badge:before { content: "\e310"; } +.icon-file-box:before { content: "\e312"; } +.icon-file-chart-column-increasing:before { content: "\e314"; } +.icon-file-chart-column:before { content: "\e313"; } +.icon-file-chart-line:before { content: "\e315"; } +.icon-file-chart-pie:before { content: "\e316"; } +.icon-file-check-2:before { content: "\e0c6"; } +.icon-file-check:before { content: "\e0c5"; } +.icon-file-clock:before { content: "\e317"; } +.icon-file-code-2:before { content: "\e462"; } +.icon-file-code:before { content: "\e0c7"; } +.icon-file-cog:before { content: "\e318"; } +.icon-file-diff:before { content: "\e319"; } +.icon-file-digit:before { content: "\e0c8"; } +.icon-file-down:before { content: "\e31a"; } +.icon-file-heart:before { content: "\e31b"; } +.icon-file-image:before { content: "\e31c"; } +.icon-file-input:before { content: "\e0c9"; } +.icon-file-json-2:before { content: "\e36f"; } +.icon-file-json:before { content: "\e36e"; } +.icon-file-key-2:before { content: "\e31e"; } +.icon-file-key:before { content: "\e31d"; } +.icon-file-lock-2:before { content: "\e320"; } +.icon-file-lock:before { content: "\e31f"; } +.icon-file-minus-2:before { content: "\e0cb"; } +.icon-file-minus:before { content: "\e0ca"; } +.icon-file-music:before { content: "\e562"; } +.icon-file-output:before { content: "\e0cc"; } +.icon-file-pen-line:before { content: "\e322"; } +.icon-file-pen:before { content: "\e321"; } +.icon-file-plus-2:before { content: "\e0ce"; } +.icon-file-plus:before { content: "\e0cd"; } +.icon-file-question:before { content: "\e323"; } +.icon-file-scan:before { content: "\e324"; } +.icon-file-search-2:before { content: "\e325"; } +.icon-file-search:before { content: "\e0cf"; } +.icon-file-sliders:before { content: "\e5a4"; } +.icon-file-spreadsheet:before { content: "\e326"; } +.icon-file-stack:before { content: "\e4a5"; } +.icon-file-symlink:before { content: "\e327"; } +.icon-file-terminal:before { content: "\e328"; } +.icon-file-text:before { content: "\e0d0"; } +.icon-file-type-2:before { content: "\e370"; } +.icon-file-type:before { content: "\e329"; } +.icon-file-up:before { content: "\e32a"; } +.icon-file-user:before { content: "\e631"; } +.icon-file-video-2:before { content: "\e32c"; } +.icon-file-video:before { content: "\e32b"; } +.icon-file-volume-2:before { content: "\e32e"; } +.icon-file-volume:before { content: "\e32d"; } +.icon-file-warning:before { content: "\e32f"; } +.icon-file-x-2:before { content: "\e0d2"; } +.icon-file-x:before { content: "\e0d1"; } +.icon-file:before { content: "\e0c4"; } +.icon-files:before { content: "\e0d3"; } +.icon-film:before { content: "\e0d4"; } +.icon-filter-x:before { content: "\e3b8"; } +.icon-filter:before { content: "\e0d5"; } +.icon-fingerprint:before { content: "\e2ca"; } +.icon-fire-extinguisher:before { content: "\e582"; } +.icon-fish-off:before { content: "\e3b3"; } +.icon-fish-symbol:before { content: "\e4f8"; } +.icon-fish:before { content: "\e3a9"; } +.icon-flag-off:before { content: "\e291"; } +.icon-flag-triangle-left:before { content: "\e236"; } +.icon-flag-triangle-right:before { content: "\e237"; } +.icon-flag:before { content: "\e0d6"; } +.icon-flame-kindling:before { content: "\e53e"; } +.icon-flame:before { content: "\e0d7"; } +.icon-flashlight-off:before { content: "\e0d9"; } +.icon-flashlight:before { content: "\e0d8"; } +.icon-flask-conical-off:before { content: "\e399"; } +.icon-flask-conical:before { content: "\e0da"; } +.icon-flask-round:before { content: "\e0db"; } +.icon-flip-horizontal-2:before { content: "\e361"; } +.icon-flip-horizontal:before { content: "\e360"; } +.icon-flip-vertical-2:before { content: "\e363"; } +.icon-flip-vertical:before { content: "\e362"; } +.icon-flower-2:before { content: "\e2d3"; } +.icon-flower:before { content: "\e2d2"; } +.icon-focus:before { content: "\e29d"; } +.icon-fold-horizontal:before { content: "\e43f"; } +.icon-fold-vertical:before { content: "\e440"; } +.icon-folder-archive:before { content: "\e330"; } +.icon-folder-check:before { content: "\e331"; } +.icon-folder-clock:before { content: "\e332"; } +.icon-folder-closed:before { content: "\e333"; } +.icon-folder-code:before { content: "\e5ff"; } +.icon-folder-cog:before { content: "\e334"; } +.icon-folder-dot:before { content: "\e4c9"; } +.icon-folder-down:before { content: "\e335"; } +.icon-folder-git-2:before { content: "\e40e"; } +.icon-folder-git:before { content: "\e40d"; } +.icon-folder-heart:before { content: "\e336"; } +.icon-folder-input:before { content: "\e337"; } +.icon-folder-kanban:before { content: "\e4ca"; } +.icon-folder-key:before { content: "\e338"; } +.icon-folder-lock:before { content: "\e339"; } +.icon-folder-minus:before { content: "\e0dd"; } +.icon-folder-open-dot:before { content: "\e4cb"; } +.icon-folder-open:before { content: "\e246"; } +.icon-folder-output:before { content: "\e33a"; } +.icon-folder-pen:before { content: "\e33b"; } +.icon-folder-plus:before { content: "\e0de"; } +.icon-folder-root:before { content: "\e4cc"; } +.icon-folder-search-2:before { content: "\e33d"; } +.icon-folder-search:before { content: "\e33c"; } +.icon-folder-symlink:before { content: "\e33e"; } +.icon-folder-sync:before { content: "\e4cd"; } +.icon-folder-tree:before { content: "\e33f"; } +.icon-folder-up:before { content: "\e340"; } +.icon-folder-x:before { content: "\e341"; } +.icon-folder:before { content: "\e0dc"; } +.icon-folders:before { content: "\e342"; } +.icon-footprints:before { content: "\e3bc"; } +.icon-forklift:before { content: "\e3c4"; } +.icon-forward:before { content: "\e228"; } +.icon-frame:before { content: "\e290"; } +.icon-framer:before { content: "\e0df"; } +.icon-frown:before { content: "\e0e0"; } +.icon-fuel:before { content: "\e2ae"; } +.icon-fullscreen:before { content: "\e538"; } +.icon-gallery-horizontal-end:before { content: "\e4d3"; } +.icon-gallery-horizontal:before { content: "\e4d2"; } +.icon-gallery-thumbnails:before { content: "\e4d4"; } +.icon-gallery-vertical-end:before { content: "\e4d6"; } +.icon-gallery-vertical:before { content: "\e4d5"; } +.icon-gamepad-2:before { content: "\e0e2"; } +.icon-gamepad:before { content: "\e0e1"; } +.icon-gauge:before { content: "\e1be"; } +.icon-gavel:before { content: "\e0e3"; } +.icon-gem:before { content: "\e241"; } +.icon-ghost:before { content: "\e20d"; } +.icon-gift:before { content: "\e0e4"; } +.icon-git-branch-plus:before { content: "\e1f3"; } +.icon-git-branch:before { content: "\e0e5"; } +.icon-git-commit-horizontal:before { content: "\e0e6"; } +.icon-git-commit-vertical:before { content: "\e556"; } +.icon-git-compare-arrows:before { content: "\e557"; } +.icon-git-compare:before { content: "\e35c"; } +.icon-git-fork:before { content: "\e28c"; } +.icon-git-graph:before { content: "\e558"; } +.icon-git-merge:before { content: "\e0e7"; } +.icon-git-pull-request-arrow:before { content: "\e559"; } +.icon-git-pull-request-closed:before { content: "\e35d"; } +.icon-git-pull-request-create-arrow:before { content: "\e55b"; } +.icon-git-pull-request-create:before { content: "\e55a"; } +.icon-git-pull-request-draft:before { content: "\e35e"; } +.icon-git-pull-request:before { content: "\e0e8"; } +.icon-github:before { content: "\e0e9"; } +.icon-gitlab:before { content: "\e0ea"; } +.icon-glass-water:before { content: "\e2d4"; } +.icon-glasses:before { content: "\e20c"; } +.icon-globe-lock:before { content: "\e5d1"; } +.icon-globe:before { content: "\e0eb"; } +.icon-goal:before { content: "\e4a9"; } +.icon-grab:before { content: "\e1e5"; } +.icon-graduation-cap:before { content: "\e233"; } +.icon-grape:before { content: "\e355"; } +.icon-grid-2x2-check:before { content: "\e5e8"; } +.icon-grid-2x2-plus:before { content: "\e62c"; } +.icon-grid-2x2-x:before { content: "\e5e9"; } +.icon-grid-2x2:before { content: "\e503"; } +.icon-grid-3x3:before { content: "\e0ec"; } +.icon-grip-horizontal:before { content: "\e0ed"; } +.icon-grip-vertical:before { content: "\e0ee"; } +.icon-grip:before { content: "\e3b4"; } +.icon-group:before { content: "\e468"; } +.icon-guitar:before { content: "\e563"; } +.icon-ham:before { content: "\e5db"; } +.icon-hammer:before { content: "\e0ef"; } +.icon-hand-coins:before { content: "\e5bc"; } +.icon-hand-heart:before { content: "\e5bd"; } +.icon-hand-helping:before { content: "\e3bb"; } +.icon-hand-metal:before { content: "\e22b"; } +.icon-hand-platter:before { content: "\e5be"; } +.icon-hand:before { content: "\e1d6"; } +.icon-handshake:before { content: "\e5c4"; } +.icon-hard-drive-download:before { content: "\e4e9"; } +.icon-hard-drive-upload:before { content: "\e4ea"; } +.icon-hard-drive:before { content: "\e0f0"; } +.icon-hard-hat:before { content: "\e0f1"; } +.icon-hash:before { content: "\e0f2"; } +.icon-haze:before { content: "\e0f3"; } +.icon-hdmi-port:before { content: "\e4eb"; } +.icon-heading-1:before { content: "\e388"; } +.icon-heading-2:before { content: "\e389"; } +.icon-heading-3:before { content: "\e38a"; } +.icon-heading-4:before { content: "\e38b"; } +.icon-heading-5:before { content: "\e38c"; } +.icon-heading-6:before { content: "\e38d"; } +.icon-heading:before { content: "\e387"; } +.icon-headphone-off:before { content: "\e62d"; } +.icon-headphones:before { content: "\e0f4"; } +.icon-headset:before { content: "\e5c1"; } +.icon-heart-crack:before { content: "\e2d5"; } +.icon-heart-handshake:before { content: "\e2d6"; } +.icon-heart-off:before { content: "\e294"; } +.icon-heart-pulse:before { content: "\e371"; } +.icon-heart:before { content: "\e0f5"; } +.icon-heater:before { content: "\e592"; } +.icon-hexagon:before { content: "\e0f6"; } +.icon-highlighter:before { content: "\e0f7"; } +.icon-history:before { content: "\e1f4"; } +.icon-hop-off:before { content: "\e39b"; } +.icon-hop:before { content: "\e39a"; } +.icon-hospital:before { content: "\e5dc"; } +.icon-hotel:before { content: "\e3e5"; } +.icon-hourglass:before { content: "\e295"; } +.icon-house-plug:before { content: "\e5f4"; } +.icon-house-plus:before { content: "\e5f5"; } +.icon-house-wifi:before { content: "\e640"; } +.icon-house:before { content: "\e0f8"; } +.icon-ice-cream-bowl:before { content: "\e3aa"; } +.icon-ice-cream-cone:before { content: "\e356"; } +.icon-id-card:before { content: "\e61b"; } +.icon-image-down:before { content: "\e540"; } +.icon-image-minus:before { content: "\e1f5"; } +.icon-image-off:before { content: "\e1bf"; } +.icon-image-play:before { content: "\e5e3"; } +.icon-image-plus:before { content: "\e1f6"; } +.icon-image-up:before { content: "\e5cf"; } +.icon-image-upscale:before { content: "\e63b"; } +.icon-image:before { content: "\e0f9"; } +.icon-images:before { content: "\e5c8"; } +.icon-import:before { content: "\e22e"; } +.icon-inbox:before { content: "\e0fa"; } +.icon-indent-decrease:before { content: "\e0fb"; } +.icon-indent-increase:before { content: "\e0fc"; } +.icon-indian-rupee:before { content: "\e0fd"; } +.icon-infinity:before { content: "\e1e6"; } +.icon-info:before { content: "\e0fe"; } +.icon-inspection-panel:before { content: "\e587"; } +.icon-instagram:before { content: "\e0ff"; } +.icon-italic:before { content: "\e100"; } +.icon-iteration-ccw:before { content: "\e427"; } +.icon-iteration-cw:before { content: "\e428"; } +.icon-japanese-yen:before { content: "\e101"; } +.icon-joystick:before { content: "\e358"; } +.icon-kanban:before { content: "\e4e0"; } +.icon-key-round:before { content: "\e4a7"; } +.icon-key-square:before { content: "\e4a8"; } +.icon-key:before { content: "\e102"; } +.icon-keyboard-music:before { content: "\e564"; } +.icon-keyboard-off:before { content: "\e5e2"; } +.icon-keyboard:before { content: "\e283"; } +.icon-lamp-ceiling:before { content: "\e2d8"; } +.icon-lamp-desk:before { content: "\e2d9"; } +.icon-lamp-floor:before { content: "\e2da"; } +.icon-lamp-wall-down:before { content: "\e2db"; } +.icon-lamp-wall-up:before { content: "\e2dc"; } +.icon-lamp:before { content: "\e2d7"; } +.icon-land-plot:before { content: "\e52c"; } +.icon-landmark:before { content: "\e239"; } +.icon-languages:before { content: "\e103"; } +.icon-laptop-minimal-check:before { content: "\e636"; } +.icon-laptop-minimal:before { content: "\e1d7"; } +.icon-laptop:before { content: "\e1cc"; } +.icon-lasso-select:before { content: "\e1ce"; } +.icon-lasso:before { content: "\e1cd"; } +.icon-laugh:before { content: "\e2ff"; } +.icon-layers-2:before { content: "\e52e"; } +.icon-layers:before { content: "\e52d"; } +.icon-layout-dashboard:before { content: "\e1c0"; } +.icon-layout-grid:before { content: "\e104"; } +.icon-layout-list:before { content: "\e1d8"; } +.icon-layout-panel-left:before { content: "\e474"; } +.icon-layout-panel-top:before { content: "\e475"; } +.icon-layout-template:before { content: "\e206"; } +.icon-leaf:before { content: "\e2dd"; } +.icon-leafy-green:before { content: "\e473"; } +.icon-lectern:before { content: "\e5ed"; } +.icon-letter-text:before { content: "\e609"; } +.icon-library-big:before { content: "\e552"; } +.icon-library:before { content: "\e105"; } +.icon-life-buoy:before { content: "\e106"; } +.icon-ligature:before { content: "\e43e"; } +.icon-lightbulb-off:before { content: "\e207"; } +.icon-lightbulb:before { content: "\e1c1"; } +.icon-link-2-off:before { content: "\e109"; } +.icon-link-2:before { content: "\e108"; } +.icon-link:before { content: "\e107"; } +.icon-linkedin:before { content: "\e10a"; } +.icon-list-check:before { content: "\e5fe"; } +.icon-list-checks:before { content: "\e1cf"; } +.icon-list-collapse:before { content: "\e59f"; } +.icon-list-end:before { content: "\e2de"; } +.icon-list-filter-plus:before { content: "\e63d"; } +.icon-list-filter:before { content: "\e464"; } +.icon-list-minus:before { content: "\e23d"; } +.icon-list-music:before { content: "\e2df"; } +.icon-list-ordered:before { content: "\e1d0"; } +.icon-list-plus:before { content: "\e23e"; } +.icon-list-restart:before { content: "\e456"; } +.icon-list-start:before { content: "\e2e0"; } +.icon-list-todo:before { content: "\e4c7"; } +.icon-list-tree:before { content: "\e40c"; } +.icon-list-video:before { content: "\e2e1"; } +.icon-list-x:before { content: "\e23f"; } +.icon-list:before { content: "\e10b"; } +.icon-loader-circle:before { content: "\e10d"; } +.icon-loader-pinwheel:before { content: "\e5ea"; } +.icon-loader:before { content: "\e10c"; } +.icon-locate-fixed:before { content: "\e1da"; } +.icon-locate-off:before { content: "\e281"; } +.icon-locate:before { content: "\e1d9"; } +.icon-lock-keyhole-open:before { content: "\e536"; } +.icon-lock-keyhole:before { content: "\e535"; } +.icon-lock-open:before { content: "\e10f"; } +.icon-lock:before { content: "\e10e"; } +.icon-log-in:before { content: "\e110"; } +.icon-log-out:before { content: "\e111"; } +.icon-logs:before { content: "\e5f8"; } +.icon-lollipop:before { content: "\e4c1"; } +.icon-luggage:before { content: "\e2c9"; } +.icon-magnet:before { content: "\e2b4"; } +.icon-mail-check:before { content: "\e364"; } +.icon-mail-minus:before { content: "\e365"; } +.icon-mail-open:before { content: "\e366"; } +.icon-mail-plus:before { content: "\e367"; } +.icon-mail-question:before { content: "\e368"; } +.icon-mail-search:before { content: "\e369"; } +.icon-mail-warning:before { content: "\e36a"; } +.icon-mail-x:before { content: "\e36b"; } +.icon-mail:before { content: "\e112"; } +.icon-mailbox:before { content: "\e3d7"; } +.icon-mails:before { content: "\e36c"; } +.icon-map-pin-check-inside:before { content: "\e614"; } +.icon-map-pin-check:before { content: "\e613"; } +.icon-map-pin-house:before { content: "\e620"; } +.icon-map-pin-minus-inside:before { content: "\e616"; } +.icon-map-pin-minus:before { content: "\e615"; } +.icon-map-pin-off:before { content: "\e2a5"; } +.icon-map-pin-plus-inside:before { content: "\e618"; } +.icon-map-pin-plus:before { content: "\e617"; } +.icon-map-pin-x-inside:before { content: "\e61a"; } +.icon-map-pin-x:before { content: "\e619"; } +.icon-map-pin:before { content: "\e114"; } +.icon-map-pinned:before { content: "\e541"; } +.icon-map-plus:before { content: "\e643"; } +.icon-map:before { content: "\e113"; } +.icon-mars-stroke:before { content: "\e646"; } +.icon-mars:before { content: "\e645"; } +.icon-martini:before { content: "\e2e2"; } +.icon-maximize-2:before { content: "\e116"; } +.icon-maximize:before { content: "\e115"; } +.icon-medal:before { content: "\e372"; } +.icon-megaphone-off:before { content: "\e373"; } +.icon-megaphone:before { content: "\e234"; } +.icon-meh:before { content: "\e117"; } +.icon-memory-stick:before { content: "\e449"; } +.icon-menu:before { content: "\e118"; } +.icon-merge:before { content: "\e443"; } +.icon-message-circle-code:before { content: "\e566"; } +.icon-message-circle-dashed:before { content: "\e567"; } +.icon-message-circle-heart:before { content: "\e568"; } +.icon-message-circle-more:before { content: "\e569"; } +.icon-message-circle-off:before { content: "\e56a"; } +.icon-message-circle-plus:before { content: "\e56b"; } +.icon-message-circle-question:before { content: "\e56c"; } +.icon-message-circle-reply:before { content: "\e56d"; } +.icon-message-circle-warning:before { content: "\e56e"; } +.icon-message-circle-x:before { content: "\e56f"; } +.icon-message-circle:before { content: "\e119"; } +.icon-message-square-code:before { content: "\e570"; } +.icon-message-square-dashed:before { content: "\e40f"; } +.icon-message-square-diff:before { content: "\e571"; } +.icon-message-square-dot:before { content: "\e572"; } +.icon-message-square-heart:before { content: "\e573"; } +.icon-message-square-lock:before { content: "\e630"; } +.icon-message-square-more:before { content: "\e574"; } +.icon-message-square-off:before { content: "\e575"; } +.icon-message-square-plus:before { content: "\e410"; } +.icon-message-square-quote:before { content: "\e576"; } +.icon-message-square-reply:before { content: "\e577"; } +.icon-message-square-share:before { content: "\e578"; } +.icon-message-square-text:before { content: "\e579"; } +.icon-message-square-warning:before { content: "\e57a"; } +.icon-message-square-x:before { content: "\e57b"; } +.icon-message-square:before { content: "\e11a"; } +.icon-messages-square:before { content: "\e411"; } +.icon-mic-off:before { content: "\e11c"; } +.icon-mic-vocal:before { content: "\e34c"; } +.icon-mic:before { content: "\e11b"; } +.icon-microchip:before { content: "\e61e"; } +.icon-microscope:before { content: "\e2e3"; } +.icon-microwave:before { content: "\e37d"; } +.icon-milestone:before { content: "\e297"; } +.icon-milk-off:before { content: "\e39d"; } +.icon-milk:before { content: "\e39c"; } +.icon-minimize-2:before { content: "\e11e"; } +.icon-minimize:before { content: "\e11d"; } +.icon-minus:before { content: "\e11f"; } +.icon-monitor-check:before { content: "\e486"; } +.icon-monitor-cog:before { content: "\e607"; } +.icon-monitor-dot:before { content: "\e487"; } +.icon-monitor-down:before { content: "\e425"; } +.icon-monitor-off:before { content: "\e1db"; } +.icon-monitor-pause:before { content: "\e488"; } +.icon-monitor-play:before { content: "\e489"; } +.icon-monitor-smartphone:before { content: "\e3a5"; } +.icon-monitor-speaker:before { content: "\e20f"; } +.icon-monitor-stop:before { content: "\e48a"; } +.icon-monitor-up:before { content: "\e426"; } +.icon-monitor-x:before { content: "\e48b"; } +.icon-monitor:before { content: "\e120"; } +.icon-moon-star:before { content: "\e414"; } +.icon-moon:before { content: "\e121"; } +.icon-mountain-snow:before { content: "\e231"; } +.icon-mountain:before { content: "\e230"; } +.icon-mouse-off:before { content: "\e5df"; } +.icon-mouse-pointer-2:before { content: "\e1c2"; } +.icon-mouse-pointer-ban:before { content: "\e5eb"; } +.icon-mouse-pointer-click:before { content: "\e123"; } +.icon-mouse-pointer:before { content: "\e122"; } +.icon-mouse:before { content: "\e28d"; } +.icon-move-3d:before { content: "\e2e4"; } +.icon-move-diagonal-2:before { content: "\e1c4"; } +.icon-move-diagonal:before { content: "\e1c3"; } +.icon-move-down-left:before { content: "\e491"; } +.icon-move-down-right:before { content: "\e492"; } +.icon-move-down:before { content: "\e490"; } +.icon-move-horizontal:before { content: "\e1c5"; } +.icon-move-left:before { content: "\e493"; } +.icon-move-right:before { content: "\e494"; } +.icon-move-up-left:before { content: "\e496"; } +.icon-move-up-right:before { content: "\e497"; } +.icon-move-up:before { content: "\e495"; } +.icon-move-vertical:before { content: "\e1c6"; } +.icon-move:before { content: "\e124"; } +.icon-music-2:before { content: "\e34d"; } +.icon-music-3:before { content: "\e34e"; } +.icon-music-4:before { content: "\e34f"; } +.icon-music:before { content: "\e125"; } +.icon-navigation-2-off:before { content: "\e2a6"; } +.icon-navigation-2:before { content: "\e127"; } +.icon-navigation-off:before { content: "\e2a7"; } +.icon-navigation:before { content: "\e126"; } +.icon-network:before { content: "\e128"; } +.icon-newspaper:before { content: "\e34b"; } +.icon-nfc:before { content: "\e3c6"; } +.icon-non-binary:before { content: "\e647"; } +.icon-notebook-pen:before { content: "\e59a"; } +.icon-notebook-tabs:before { content: "\e59b"; } +.icon-notebook-text:before { content: "\e59c"; } +.icon-notebook:before { content: "\e599"; } +.icon-notepad-text-dashed:before { content: "\e59e"; } +.icon-notepad-text:before { content: "\e59d"; } +.icon-nut-off:before { content: "\e39f"; } +.icon-nut:before { content: "\e39e"; } +.icon-octagon-alert:before { content: "\e12a"; } +.icon-octagon-minus:before { content: "\e62b"; } +.icon-octagon-pause:before { content: "\e21a"; } +.icon-octagon-x:before { content: "\e12b"; } +.icon-octagon:before { content: "\e129"; } +.icon-omega:before { content: "\e61d"; } +.icon-option:before { content: "\e1f7"; } +.icon-orbit:before { content: "\e3ea"; } +.icon-origami:before { content: "\e5e7"; } +.icon-package-2:before { content: "\e343"; } +.icon-package-check:before { content: "\e265"; } +.icon-package-minus:before { content: "\e266"; } +.icon-package-open:before { content: "\e2cb"; } +.icon-package-plus:before { content: "\e267"; } +.icon-package-search:before { content: "\e268"; } +.icon-package-x:before { content: "\e269"; } +.icon-package:before { content: "\e12c"; } +.icon-paint-bucket:before { content: "\e2e5"; } +.icon-paint-roller:before { content: "\e5a2"; } +.icon-paintbrush-vertical:before { content: "\e2e7"; } +.icon-paintbrush:before { content: "\e2e6"; } +.icon-palette:before { content: "\e1dc"; } +.icon-panel-bottom-close:before { content: "\e431"; } +.icon-panel-bottom-dashed:before { content: "\e432"; } +.icon-panel-bottom-open:before { content: "\e433"; } +.icon-panel-bottom:before { content: "\e430"; } +.icon-panel-left-close:before { content: "\e21b"; } +.icon-panel-left-dashed:before { content: "\e434"; } +.icon-panel-left-open:before { content: "\e21c"; } +.icon-panel-left:before { content: "\e12d"; } +.icon-panel-right-close:before { content: "\e436"; } +.icon-panel-right-dashed:before { content: "\e437"; } +.icon-panel-right-open:before { content: "\e438"; } +.icon-panel-right:before { content: "\e435"; } +.icon-panel-top-close:before { content: "\e43a"; } +.icon-panel-top-dashed:before { content: "\e43b"; } +.icon-panel-top-open:before { content: "\e43c"; } +.icon-panel-top:before { content: "\e439"; } +.icon-panels-left-bottom:before { content: "\e12e"; } +.icon-panels-right-bottom:before { content: "\e58c"; } +.icon-panels-top-left:before { content: "\e12f"; } +.icon-paperclip:before { content: "\e130"; } +.icon-parentheses:before { content: "\e448"; } +.icon-parking-meter:before { content: "\e504"; } +.icon-party-popper:before { content: "\e346"; } +.icon-pause:before { content: "\e131"; } +.icon-paw-print:before { content: "\e4f9"; } +.icon-pc-case:before { content: "\e44a"; } +.icon-pen-line:before { content: "\e133"; } +.icon-pen-off:before { content: "\e5f2"; } +.icon-pen-tool:before { content: "\e134"; } +.icon-pen:before { content: "\e132"; } +.icon-pencil-line:before { content: "\e4f4"; } +.icon-pencil-off:before { content: "\e5f3"; } +.icon-pencil-ruler:before { content: "\e4f5"; } +.icon-pencil:before { content: "\e1f8"; } +.icon-pentagon:before { content: "\e52f"; } +.icon-percent:before { content: "\e135"; } +.icon-person-standing:before { content: "\e21d"; } +.icon-philippine-peso:before { content: "\e608"; } +.icon-phone-call:before { content: "\e137"; } +.icon-phone-forwarded:before { content: "\e138"; } +.icon-phone-incoming:before { content: "\e139"; } +.icon-phone-missed:before { content: "\e13a"; } +.icon-phone-off:before { content: "\e13b"; } +.icon-phone-outgoing:before { content: "\e13c"; } +.icon-phone:before { content: "\e136"; } +.icon-pi:before { content: "\e476"; } +.icon-piano:before { content: "\e565"; } +.icon-pickaxe:before { content: "\e5ca"; } +.icon-picture-in-picture-2:before { content: "\e3b2"; } +.icon-picture-in-picture:before { content: "\e3b1"; } +.icon-piggy-bank:before { content: "\e13d"; } +.icon-pilcrow-left:before { content: "\e5e0"; } +.icon-pilcrow-right:before { content: "\e5e1"; } +.icon-pilcrow:before { content: "\e3a6"; } +.icon-pill-bottle:before { content: "\e5ee"; } +.icon-pill:before { content: "\e3c0"; } +.icon-pin-off:before { content: "\e2b5"; } +.icon-pin:before { content: "\e258"; } +.icon-pipette:before { content: "\e13e"; } +.icon-pizza:before { content: "\e357"; } +.icon-plane-landing:before { content: "\e3d0"; } +.icon-plane-takeoff:before { content: "\e3d1"; } +.icon-plane:before { content: "\e1dd"; } +.icon-play:before { content: "\e13f"; } +.icon-plug-2:before { content: "\e383"; } +.icon-plug-zap:before { content: "\e460"; } +.icon-plug:before { content: "\e382"; } +.icon-plus:before { content: "\e140"; } +.icon-pocket-knife:before { content: "\e4a4"; } +.icon-pocket:before { content: "\e141"; } +.icon-podcast:before { content: "\e1f9"; } +.icon-pointer-off:before { content: "\e583"; } +.icon-pointer:before { content: "\e1e7"; } +.icon-popcorn:before { content: "\e4c2"; } +.icon-popsicle:before { content: "\e4c3"; } +.icon-pound-sterling:before { content: "\e142"; } +.icon-power-off:before { content: "\e208"; } +.icon-power:before { content: "\e143"; } +.icon-presentation:before { content: "\e4b2"; } +.icon-printer-check:before { content: "\e5f9"; } +.icon-printer:before { content: "\e144"; } +.icon-projector:before { content: "\e4b3"; } +.icon-proportions:before { content: "\e5d3"; } +.icon-puzzle:before { content: "\e29b"; } +.icon-pyramid:before { content: "\e530"; } +.icon-qr-code:before { content: "\e1de"; } +.icon-quote:before { content: "\e238"; } +.icon-rabbit:before { content: "\e4fa"; } +.icon-radar:before { content: "\e49b"; } +.icon-radiation:before { content: "\e446"; } +.icon-radical:before { content: "\e5c6"; } +.icon-radio-receiver:before { content: "\e1fa"; } +.icon-radio-tower:before { content: "\e408"; } +.icon-radio:before { content: "\e145"; } +.icon-radius:before { content: "\e531"; } +.icon-rail-symbol:before { content: "\e505"; } +.icon-rainbow:before { content: "\e4c6"; } +.icon-rat:before { content: "\e3ef"; } +.icon-ratio:before { content: "\e4ec"; } +.icon-receipt-cent:before { content: "\e5a9"; } +.icon-receipt-euro:before { content: "\e5aa"; } +.icon-receipt-indian-rupee:before { content: "\e5ab"; } +.icon-receipt-japanese-yen:before { content: "\e5ac"; } +.icon-receipt-pound-sterling:before { content: "\e5ad"; } +.icon-receipt-russian-ruble:before { content: "\e5ae"; } +.icon-receipt-swiss-franc:before { content: "\e5af"; } +.icon-receipt-text:before { content: "\e5b0"; } +.icon-receipt:before { content: "\e3d6"; } +.icon-rectangle-ellipsis:before { content: "\e21e"; } +.icon-rectangle-horizontal:before { content: "\e379"; } +.icon-rectangle-vertical:before { content: "\e37a"; } +.icon-recycle:before { content: "\e2e8"; } +.icon-redo-2:before { content: "\e29f"; } +.icon-redo-dot:before { content: "\e454"; } +.icon-redo:before { content: "\e146"; } +.icon-refresh-ccw-dot:before { content: "\e4b6"; } +.icon-refresh-ccw:before { content: "\e147"; } +.icon-refresh-cw-off:before { content: "\e49c"; } +.icon-refresh-cw:before { content: "\e148"; } +.icon-refrigerator:before { content: "\e37e"; } +.icon-regex:before { content: "\e1fb"; } +.icon-remove-formatting:before { content: "\e3b6"; } +.icon-repeat-1:before { content: "\e1fc"; } +.icon-repeat-2:before { content: "\e415"; } +.icon-repeat:before { content: "\e149"; } +.icon-replace-all:before { content: "\e3df"; } +.icon-replace:before { content: "\e3de"; } +.icon-reply-all:before { content: "\e22a"; } +.icon-reply:before { content: "\e229"; } +.icon-rewind:before { content: "\e14a"; } +.icon-ribbon:before { content: "\e55c"; } +.icon-rocket:before { content: "\e285"; } +.icon-rocking-chair:before { content: "\e232"; } +.icon-roller-coaster:before { content: "\e484"; } +.icon-rotate-3d:before { content: "\e2e9"; } +.icon-rotate-ccw-square:before { content: "\e5d4"; } +.icon-rotate-ccw:before { content: "\e14b"; } +.icon-rotate-cw-square:before { content: "\e5d5"; } +.icon-rotate-cw:before { content: "\e14c"; } +.icon-route-off:before { content: "\e543"; } +.icon-route:before { content: "\e542"; } +.icon-router:before { content: "\e3c2"; } +.icon-rows-2:before { content: "\e43d"; } +.icon-rows-3:before { content: "\e58e"; } +.icon-rows-4:before { content: "\e58f"; } +.icon-rss:before { content: "\e14d"; } +.icon-ruler:before { content: "\e14e"; } +.icon-russian-ruble:before { content: "\e14f"; } +.icon-sailboat:before { content: "\e381"; } +.icon-salad:before { content: "\e3ab"; } +.icon-sandwich:before { content: "\e3ac"; } +.icon-satellite-dish:before { content: "\e44c"; } +.icon-satellite:before { content: "\e44b"; } +.icon-save-all:before { content: "\e413"; } +.icon-save-off:before { content: "\e5f7"; } +.icon-save:before { content: "\e150"; } +.icon-scale-3d:before { content: "\e2ea"; } +.icon-scale:before { content: "\e211"; } +.icon-scaling:before { content: "\e2eb"; } +.icon-scan-barcode:before { content: "\e539"; } +.icon-scan-eye:before { content: "\e53a"; } +.icon-scan-face:before { content: "\e374"; } +.icon-scan-heart:before { content: "\e63e"; } +.icon-scan-line:before { content: "\e257"; } +.icon-scan-qr-code:before { content: "\e5fa"; } +.icon-scan-search:before { content: "\e53b"; } +.icon-scan-text:before { content: "\e53c"; } +.icon-scan:before { content: "\e256"; } +.icon-school:before { content: "\e3e6"; } +.icon-scissors-line-dashed:before { content: "\e4ed"; } +.icon-scissors:before { content: "\e151"; } +.icon-screen-share-off:before { content: "\e153"; } +.icon-screen-share:before { content: "\e152"; } +.icon-scroll-text:before { content: "\e463"; } +.icon-scroll:before { content: "\e2ec"; } +.icon-search-check:before { content: "\e4ae"; } +.icon-search-code:before { content: "\e4af"; } +.icon-search-slash:before { content: "\e4b0"; } +.icon-search-x:before { content: "\e4b1"; } +.icon-search:before { content: "\e154"; } +.icon-section:before { content: "\e5ec"; } +.icon-send-horizontal:before { content: "\e4f6"; } +.icon-send-to-back:before { content: "\e4f7"; } +.icon-send:before { content: "\e155"; } +.icon-separator-horizontal:before { content: "\e1c7"; } +.icon-separator-vertical:before { content: "\e1c8"; } +.icon-server-cog:before { content: "\e344"; } +.icon-server-crash:before { content: "\e1e8"; } +.icon-server-off:before { content: "\e1e9"; } +.icon-server:before { content: "\e156"; } +.icon-settings-2:before { content: "\e244"; } +.icon-settings:before { content: "\e157"; } +.icon-shapes:before { content: "\e4b7"; } +.icon-share-2:before { content: "\e159"; } +.icon-share:before { content: "\e158"; } +.icon-sheet:before { content: "\e15a"; } +.icon-shell:before { content: "\e4fb"; } +.icon-shield-alert:before { content: "\e1fd"; } +.icon-shield-ban:before { content: "\e15c"; } +.icon-shield-check:before { content: "\e1fe"; } +.icon-shield-ellipsis:before { content: "\e51a"; } +.icon-shield-half:before { content: "\e51b"; } +.icon-shield-minus:before { content: "\e51c"; } +.icon-shield-off:before { content: "\e15d"; } +.icon-shield-plus:before { content: "\e51d"; } +.icon-shield-question:before { content: "\e412"; } +.icon-shield-user:before { content: "\e64b"; } +.icon-shield-x:before { content: "\e1ff"; } +.icon-shield:before { content: "\e15b"; } +.icon-ship-wheel:before { content: "\e506"; } +.icon-ship:before { content: "\e3bd"; } +.icon-shirt:before { content: "\e1c9"; } +.icon-shopping-bag:before { content: "\e15e"; } +.icon-shopping-basket:before { content: "\e4ee"; } +.icon-shopping-cart:before { content: "\e15f"; } +.icon-shovel:before { content: "\e160"; } +.icon-shower-head:before { content: "\e37f"; } +.icon-shrink:before { content: "\e21f"; } +.icon-shrub:before { content: "\e2ed"; } +.icon-shuffle:before { content: "\e161"; } +.icon-sigma:before { content: "\e200"; } +.icon-signal-high:before { content: "\e25f"; } +.icon-signal-low:before { content: "\e260"; } +.icon-signal-medium:before { content: "\e261"; } +.icon-signal-zero:before { content: "\e262"; } +.icon-signal:before { content: "\e25e"; } +.icon-signature:before { content: "\e5f6"; } +.icon-signpost-big:before { content: "\e545"; } +.icon-signpost:before { content: "\e544"; } +.icon-siren:before { content: "\e2ee"; } +.icon-skip-back:before { content: "\e162"; } +.icon-skip-forward:before { content: "\e163"; } +.icon-skull:before { content: "\e220"; } +.icon-slack:before { content: "\e164"; } +.icon-slash:before { content: "\e521"; } +.icon-slice:before { content: "\e2ef"; } +.icon-sliders-horizontal:before { content: "\e299"; } +.icon-sliders-vertical:before { content: "\e165"; } +.icon-smartphone-charging:before { content: "\e22d"; } +.icon-smartphone-nfc:before { content: "\e3c7"; } +.icon-smartphone:before { content: "\e166"; } +.icon-smile-plus:before { content: "\e300"; } +.icon-smile:before { content: "\e167"; } +.icon-snail:before { content: "\e4fc"; } +.icon-snowflake:before { content: "\e168"; } +.icon-sofa:before { content: "\e2c3"; } +.icon-soup:before { content: "\e3ad"; } +.icon-space:before { content: "\e3e0"; } +.icon-spade:before { content: "\e49d"; } +.icon-sparkle:before { content: "\e482"; } +.icon-sparkles:before { content: "\e416"; } +.icon-speaker:before { content: "\e169"; } +.icon-speech:before { content: "\e522"; } +.icon-spell-check-2:before { content: "\e49f"; } +.icon-spell-check:before { content: "\e49e"; } +.icon-spline:before { content: "\e38e"; } +.icon-split:before { content: "\e444"; } +.icon-spray-can:before { content: "\e499"; } +.icon-sprout:before { content: "\e1ea"; } +.icon-square-activity:before { content: "\e4b8"; } +.icon-square-arrow-down-left:before { content: "\e4b9"; } +.icon-square-arrow-down-right:before { content: "\e4ba"; } +.icon-square-arrow-down:before { content: "\e42b"; } +.icon-square-arrow-left:before { content: "\e42c"; } +.icon-square-arrow-out-down-left:before { content: "\e5a5"; } +.icon-square-arrow-out-down-right:before { content: "\e5a6"; } +.icon-square-arrow-out-up-left:before { content: "\e5a7"; } +.icon-square-arrow-out-up-right:before { content: "\e5a8"; } +.icon-square-arrow-right:before { content: "\e42d"; } +.icon-square-arrow-up-left:before { content: "\e4bb"; } +.icon-square-arrow-up-right:before { content: "\e4bc"; } +.icon-square-arrow-up:before { content: "\e42e"; } +.icon-square-asterisk:before { content: "\e16b"; } +.icon-square-bottom-dashed-scissors:before { content: "\e4ef"; } +.icon-square-chart-gantt:before { content: "\e16c"; } +.icon-square-check-big:before { content: "\e16d"; } +.icon-square-check:before { content: "\e55d"; } +.icon-square-chevron-down:before { content: "\e3d2"; } +.icon-square-chevron-left:before { content: "\e3d3"; } +.icon-square-chevron-right:before { content: "\e3d4"; } +.icon-square-chevron-up:before { content: "\e3d5"; } +.icon-square-code:before { content: "\e16e"; } +.icon-square-dashed-bottom-code:before { content: "\e4c5"; } +.icon-square-dashed-bottom:before { content: "\e4c4"; } +.icon-square-dashed-kanban:before { content: "\e16f"; } +.icon-square-dashed-mouse-pointer:before { content: "\e50d"; } +.icon-square-dashed:before { content: "\e1ca"; } +.icon-square-divide:before { content: "\e170"; } +.icon-square-dot:before { content: "\e171"; } +.icon-square-equal:before { content: "\e172"; } +.icon-square-function:before { content: "\e22c"; } +.icon-square-kanban:before { content: "\e173"; } +.icon-square-library:before { content: "\e553"; } +.icon-square-m:before { content: "\e507"; } +.icon-square-menu:before { content: "\e457"; } +.icon-square-minus:before { content: "\e174"; } +.icon-square-mouse-pointer:before { content: "\e201"; } +.icon-square-parking-off:before { content: "\e3cf"; } +.icon-square-parking:before { content: "\e3ce"; } +.icon-square-pen:before { content: "\e175"; } +.icon-square-percent:before { content: "\e520"; } +.icon-square-pi:before { content: "\e48c"; } +.icon-square-pilcrow:before { content: "\e48f"; } +.icon-square-play:before { content: "\e485"; } +.icon-square-plus:before { content: "\e176"; } +.icon-square-power:before { content: "\e555"; } +.icon-square-radical:before { content: "\e5c7"; } +.icon-square-round-corner:before { content: "\e64c"; } +.icon-square-scissors:before { content: "\e4f0"; } +.icon-square-sigma:before { content: "\e48d"; } +.icon-square-slash:before { content: "\e177"; } +.icon-square-split-horizontal:before { content: "\e3b9"; } +.icon-square-split-vertical:before { content: "\e3ba"; } +.icon-square-square:before { content: "\e612"; } +.icon-square-stack:before { content: "\e4a6"; } +.icon-square-terminal:before { content: "\e209"; } +.icon-square-user-round:before { content: "\e46a"; } +.icon-square-user:before { content: "\e469"; } +.icon-square-x:before { content: "\e178"; } +.icon-square:before { content: "\e16a"; } +.icon-squircle:before { content: "\e57e"; } +.icon-squirrel:before { content: "\e4a3"; } +.icon-stamp:before { content: "\e3be"; } +.icon-star-half:before { content: "\e20a"; } +.icon-star-off:before { content: "\e2af"; } +.icon-star:before { content: "\e179"; } +.icon-step-back:before { content: "\e3ec"; } +.icon-step-forward:before { content: "\e3ed"; } +.icon-stethoscope:before { content: "\e2f0"; } +.icon-sticker:before { content: "\e301"; } +.icon-sticky-note:before { content: "\e302"; } +.icon-store:before { content: "\e3e7"; } +.icon-stretch-horizontal:before { content: "\e27b"; } +.icon-stretch-vertical:before { content: "\e27c"; } +.icon-strikethrough:before { content: "\e17a"; } +.icon-subscript:before { content: "\e25b"; } +.icon-sun-dim:before { content: "\e298"; } +.icon-sun-medium:before { content: "\e2b0"; } +.icon-sun-moon:before { content: "\e2b1"; } +.icon-sun-snow:before { content: "\e375"; } +.icon-sun:before { content: "\e17b"; } +.icon-sunrise:before { content: "\e17c"; } +.icon-sunset:before { content: "\e17d"; } +.icon-superscript:before { content: "\e25d"; } +.icon-swatch-book:before { content: "\e5a3"; } +.icon-swiss-franc:before { content: "\e17e"; } +.icon-switch-camera:before { content: "\e17f"; } +.icon-sword:before { content: "\e2b2"; } +.icon-swords:before { content: "\e2b3"; } +.icon-syringe:before { content: "\e2f1"; } +.icon-table-2:before { content: "\e2f8"; } +.icon-table-cells-merge:before { content: "\e5cb"; } +.icon-table-cells-split:before { content: "\e5cc"; } +.icon-table-columns-split:before { content: "\e5cd"; } +.icon-table-of-contents:before { content: "\e622"; } +.icon-table-properties:before { content: "\e4df"; } +.icon-table-rows-split:before { content: "\e5ce"; } +.icon-table:before { content: "\e180"; } +.icon-tablet-smartphone:before { content: "\e50e"; } +.icon-tablet:before { content: "\e181"; } +.icon-tablets:before { content: "\e3c1"; } +.icon-tag:before { content: "\e182"; } +.icon-tags:before { content: "\e35f"; } +.icon-tally-1:before { content: "\e4da"; } +.icon-tally-2:before { content: "\e4db"; } +.icon-tally-3:before { content: "\e4dc"; } +.icon-tally-4:before { content: "\e4dd"; } +.icon-tally-5:before { content: "\e4de"; } +.icon-tangent:before { content: "\e532"; } +.icon-target:before { content: "\e183"; } +.icon-telescope:before { content: "\e5c9"; } +.icon-tent-tree:before { content: "\e53f"; } +.icon-tent:before { content: "\e226"; } +.icon-terminal:before { content: "\e184"; } +.icon-test-tube-diagonal:before { content: "\e40a"; } +.icon-test-tube:before { content: "\e409"; } +.icon-test-tubes:before { content: "\e40b"; } +.icon-text-cursor-input:before { content: "\e264"; } +.icon-text-cursor:before { content: "\e263"; } +.icon-text-quote:before { content: "\e4a2"; } +.icon-text-search:before { content: "\e5b1"; } +.icon-text-select:before { content: "\e3e1"; } +.icon-text:before { content: "\e3ee"; } +.icon-theater:before { content: "\e526"; } +.icon-thermometer-snowflake:before { content: "\e186"; } +.icon-thermometer-sun:before { content: "\e187"; } +.icon-thermometer:before { content: "\e185"; } +.icon-thumbs-down:before { content: "\e188"; } +.icon-thumbs-up:before { content: "\e189"; } +.icon-ticket-check:before { content: "\e5b2"; } +.icon-ticket-minus:before { content: "\e5b3"; } +.icon-ticket-percent:before { content: "\e5b4"; } +.icon-ticket-plus:before { content: "\e5b5"; } +.icon-ticket-slash:before { content: "\e5b6"; } +.icon-ticket-x:before { content: "\e5b7"; } +.icon-ticket:before { content: "\e20e"; } +.icon-tickets-plane:before { content: "\e627"; } +.icon-tickets:before { content: "\e626"; } +.icon-timer-off:before { content: "\e248"; } +.icon-timer-reset:before { content: "\e235"; } +.icon-timer:before { content: "\e1df"; } +.icon-toggle-left:before { content: "\e18a"; } +.icon-toggle-right:before { content: "\e18b"; } +.icon-toilet:before { content: "\e639"; } +.icon-tornado:before { content: "\e217"; } +.icon-torus:before { content: "\e533"; } +.icon-touchpad-off:before { content: "\e44e"; } +.icon-touchpad:before { content: "\e44d"; } +.icon-tower-control:before { content: "\e3bf"; } +.icon-toy-brick:before { content: "\e34a"; } +.icon-tractor:before { content: "\e508"; } +.icon-traffic-cone:before { content: "\e509"; } +.icon-train-front-tunnel:before { content: "\e50b"; } +.icon-train-front:before { content: "\e50a"; } +.icon-train-track:before { content: "\e50c"; } +.icon-tram-front:before { content: "\e2a8"; } +.icon-transgender:before { content: "\e648"; } +.icon-trash-2:before { content: "\e18d"; } +.icon-trash:before { content: "\e18c"; } +.icon-tree-deciduous:before { content: "\e2f2"; } +.icon-tree-palm:before { content: "\e280"; } +.icon-tree-pine:before { content: "\e2f3"; } +.icon-trees:before { content: "\e2f4"; } +.icon-trello:before { content: "\e18e"; } +.icon-trending-down:before { content: "\e18f"; } +.icon-trending-up-down:before { content: "\e629"; } +.icon-trending-up:before { content: "\e190"; } +.icon-triangle-alert:before { content: "\e192"; } +.icon-triangle-dashed:before { content: "\e641"; } +.icon-triangle-right:before { content: "\e4f1"; } +.icon-triangle:before { content: "\e191"; } +.icon-trophy:before { content: "\e376"; } +.icon-truck:before { content: "\e193"; } +.icon-turtle:before { content: "\e4fd"; } +.icon-tv-minimal-play:before { content: "\e5f0"; } +.icon-tv-minimal:before { content: "\e202"; } +.icon-tv:before { content: "\e194"; } +.icon-twitch:before { content: "\e195"; } +.icon-twitter:before { content: "\e196"; } +.icon-type-outline:before { content: "\e606"; } +.icon-type:before { content: "\e197"; } +.icon-umbrella-off:before { content: "\e547"; } +.icon-umbrella:before { content: "\e198"; } +.icon-underline:before { content: "\e199"; } +.icon-undo-2:before { content: "\e2a0"; } +.icon-undo-dot:before { content: "\e455"; } +.icon-undo:before { content: "\e19a"; } +.icon-unfold-horizontal:before { content: "\e441"; } +.icon-unfold-vertical:before { content: "\e442"; } +.icon-ungroup:before { content: "\e46b"; } +.icon-university:before { content: "\e3e8"; } +.icon-unlink-2:before { content: "\e19c"; } +.icon-unlink:before { content: "\e19b"; } +.icon-unplug:before { content: "\e461"; } +.icon-upload:before { content: "\e19d"; } +.icon-usb:before { content: "\e359"; } +.icon-user-check:before { content: "\e19f"; } +.icon-user-cog:before { content: "\e345"; } +.icon-user-minus:before { content: "\e1a0"; } +.icon-user-pen:before { content: "\e600"; } +.icon-user-plus:before { content: "\e1a1"; } +.icon-user-round-check:before { content: "\e46d"; } +.icon-user-round-cog:before { content: "\e46e"; } +.icon-user-round-minus:before { content: "\e46f"; } +.icon-user-round-pen:before { content: "\e601"; } +.icon-user-round-plus:before { content: "\e470"; } +.icon-user-round-search:before { content: "\e57c"; } +.icon-user-round-x:before { content: "\e471"; } +.icon-user-round:before { content: "\e46c"; } +.icon-user-search:before { content: "\e57d"; } +.icon-user-x:before { content: "\e1a2"; } +.icon-user:before { content: "\e19e"; } +.icon-users-round:before { content: "\e472"; } +.icon-users:before { content: "\e1a3"; } +.icon-utensils-crossed:before { content: "\e2f6"; } +.icon-utensils:before { content: "\e2f5"; } +.icon-utility-pole:before { content: "\e3c5"; } +.icon-variable:before { content: "\e477"; } +.icon-vault:before { content: "\e593"; } +.icon-vegan:before { content: "\e3a0"; } +.icon-venetian-mask:before { content: "\e2a9"; } +.icon-venus-and-mars:before { content: "\e64a"; } +.icon-venus:before { content: "\e649"; } +.icon-vibrate-off:before { content: "\e29c"; } +.icon-vibrate:before { content: "\e222"; } +.icon-video-off:before { content: "\e1a5"; } +.icon-video:before { content: "\e1a4"; } +.icon-videotape:before { content: "\e4cf"; } +.icon-view:before { content: "\e1a6"; } +.icon-voicemail:before { content: "\e1a7"; } +.icon-volleyball:before { content: "\e633"; } +.icon-volume-1:before { content: "\e1a9"; } +.icon-volume-2:before { content: "\e1aa"; } +.icon-volume-off:before { content: "\e62a"; } +.icon-volume-x:before { content: "\e1ab"; } +.icon-volume:before { content: "\e1a8"; } +.icon-vote:before { content: "\e3b0"; } +.icon-wallet-cards:before { content: "\e4d0"; } +.icon-wallet-minimal:before { content: "\e4d1"; } +.icon-wallet:before { content: "\e203"; } +.icon-wallpaper:before { content: "\e44f"; } +.icon-wand-sparkles:before { content: "\e35a"; } +.icon-wand:before { content: "\e245"; } +.icon-warehouse:before { content: "\e3e9"; } +.icon-washing-machine:before { content: "\e594"; } +.icon-watch:before { content: "\e1ac"; } +.icon-waves-ladder:before { content: "\e63f"; } +.icon-waves:before { content: "\e282"; } +.icon-waypoints:before { content: "\e546"; } +.icon-webcam:before { content: "\e204"; } +.icon-webhook-off:before { content: "\e5bb"; } +.icon-webhook:before { content: "\e377"; } +.icon-weight:before { content: "\e534"; } +.icon-wheat-off:before { content: "\e3a2"; } +.icon-wheat:before { content: "\e3a1"; } +.icon-whole-word:before { content: "\e3e2"; } +.icon-wifi-high:before { content: "\e5fb"; } +.icon-wifi-low:before { content: "\e5fc"; } +.icon-wifi-off:before { content: "\e1ae"; } +.icon-wifi-zero:before { content: "\e5fd"; } +.icon-wifi:before { content: "\e1ad"; } +.icon-wind-arrow-down:before { content: "\e635"; } +.icon-wind:before { content: "\e1af"; } +.icon-wine-off:before { content: "\e3a3"; } +.icon-wine:before { content: "\e2f7"; } +.icon-workflow:before { content: "\e429"; } +.icon-worm:before { content: "\e5de"; } +.icon-wrap-text:before { content: "\e247"; } +.icon-wrench:before { content: "\e1b0"; } +.icon-x:before { content: "\e1b1"; } +.icon-youtube:before { content: "\e1b2"; } +.icon-zap-off:before { content: "\e1b4"; } +.icon-zap:before { content: "\e1b3"; } +.icon-zoom-in:before { content: "\e1b5"; } +.icon-zoom-out:before { content: "\e1b6"; } + diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.module.less b/third_party/shadcn_flutter/icons/lucide/lucide.module.less new file mode 100644 index 00000000..b168f0dc --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/lucide.module.less @@ -0,0 +1,1577 @@ +@font-face {font-family: "lucide"; + src: url('lucide.eot?t=1741351670382'); /* IE9*/ + src: url('lucide.eot?t=1741351670382#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url("lucide.woff2?t=1741351670382") format("woff2"), + url("lucide.woff?t=1741351670382") format("woff"), + url('lucide.ttf?t=1741351670382') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + url('lucide.svg?t=1741351670382#lucide') format('svg'); /* iOS 4.1- */ +} + +[class^="icon-"], [class*=" icon-"] { + font-family: 'lucide' !important;font-size: inherit; + font-style:normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +:global { +.icon-a-arrow-down:before { content: "\e589"; } +.icon-a-arrow-up:before { content: "\e58a"; } +.icon-a-large-small:before { content: "\e58b"; } +.icon-accessibility:before { content: "\e296"; } +.icon-activity:before { content: "\e038"; } +.icon-air-vent:before { content: "\e350"; } +.icon-airplay:before { content: "\e039"; } +.icon-alarm-clock-check:before { content: "\e1eb"; } +.icon-alarm-clock-minus:before { content: "\e1ec"; } +.icon-alarm-clock-off:before { content: "\e23a"; } +.icon-alarm-clock-plus:before { content: "\e1ed"; } +.icon-alarm-clock:before { content: "\e03a"; } +.icon-alarm-smoke:before { content: "\e57f"; } +.icon-album:before { content: "\e03b"; } +.icon-align-center-horizontal:before { content: "\e26b"; } +.icon-align-center-vertical:before { content: "\e26c"; } +.icon-align-center:before { content: "\e03c"; } +.icon-align-end-horizontal:before { content: "\e26d"; } +.icon-align-end-vertical:before { content: "\e26e"; } +.icon-align-horizontal-distribute-center:before { content: "\e03d"; } +.icon-align-horizontal-distribute-end:before { content: "\e03e"; } +.icon-align-horizontal-distribute-start:before { content: "\e03f"; } +.icon-align-horizontal-justify-center:before { content: "\e271"; } +.icon-align-horizontal-justify-end:before { content: "\e272"; } +.icon-align-horizontal-justify-start:before { content: "\e273"; } +.icon-align-horizontal-space-around:before { content: "\e274"; } +.icon-align-horizontal-space-between:before { content: "\e275"; } +.icon-align-justify:before { content: "\e040"; } +.icon-align-left:before { content: "\e041"; } +.icon-align-right:before { content: "\e042"; } +.icon-align-start-horizontal:before { content: "\e26f"; } +.icon-align-start-vertical:before { content: "\e270"; } +.icon-align-vertical-distribute-center:before { content: "\e27d"; } +.icon-align-vertical-distribute-end:before { content: "\e27e"; } +.icon-align-vertical-distribute-start:before { content: "\e27f"; } +.icon-align-vertical-justify-center:before { content: "\e276"; } +.icon-align-vertical-justify-end:before { content: "\e277"; } +.icon-align-vertical-justify-start:before { content: "\e278"; } +.icon-align-vertical-space-around:before { content: "\e279"; } +.icon-align-vertical-space-between:before { content: "\e27a"; } +.icon-ambulance:before { content: "\e5bf"; } +.icon-ampersand:before { content: "\e4a0"; } +.icon-ampersands:before { content: "\e4a1"; } +.icon-amphora:before { content: "\e61f"; } +.icon-anchor:before { content: "\e043"; } +.icon-angry:before { content: "\e2fb"; } +.icon-annoyed:before { content: "\e2fc"; } +.icon-antenna:before { content: "\e4e6"; } +.icon-anvil:before { content: "\e584"; } +.icon-aperture:before { content: "\e044"; } +.icon-app-window-mac:before { content: "\e5d6"; } +.icon-app-window:before { content: "\e42a"; } +.icon-apple:before { content: "\e351"; } +.icon-archive-restore:before { content: "\e2cc"; } +.icon-archive-x:before { content: "\e510"; } +.icon-archive:before { content: "\e045"; } +.icon-armchair:before { content: "\e2bf"; } +.icon-arrow-big-down-dash:before { content: "\e421"; } +.icon-arrow-big-down:before { content: "\e1e0"; } +.icon-arrow-big-left-dash:before { content: "\e422"; } +.icon-arrow-big-left:before { content: "\e1e1"; } +.icon-arrow-big-right-dash:before { content: "\e423"; } +.icon-arrow-big-right:before { content: "\e1e2"; } +.icon-arrow-big-up-dash:before { content: "\e424"; } +.icon-arrow-big-up:before { content: "\e1e3"; } +.icon-arrow-down-0-1:before { content: "\e417"; } +.icon-arrow-down-1-0:before { content: "\e418"; } +.icon-arrow-down-a-z:before { content: "\e419"; } +.icon-arrow-down-from-line:before { content: "\e458"; } +.icon-arrow-down-left:before { content: "\e047"; } +.icon-arrow-down-narrow-wide:before { content: "\e048"; } +.icon-arrow-down-right:before { content: "\e049"; } +.icon-arrow-down-to-dot:before { content: "\e451"; } +.icon-arrow-down-to-line:before { content: "\e459"; } +.icon-arrow-down-up:before { content: "\e04a"; } +.icon-arrow-down-wide-narrow:before { content: "\e04b"; } +.icon-arrow-down-z-a:before { content: "\e41a"; } +.icon-arrow-down:before { content: "\e046"; } +.icon-arrow-left-from-line:before { content: "\e45a"; } +.icon-arrow-left-right:before { content: "\e249"; } +.icon-arrow-left-to-line:before { content: "\e45b"; } +.icon-arrow-left:before { content: "\e04c"; } +.icon-arrow-right-from-line:before { content: "\e45c"; } +.icon-arrow-right-left:before { content: "\e41b"; } +.icon-arrow-right-to-line:before { content: "\e45d"; } +.icon-arrow-right:before { content: "\e04d"; } +.icon-arrow-up-0-1:before { content: "\e41c"; } +.icon-arrow-up-1-0:before { content: "\e41d"; } +.icon-arrow-up-a-z:before { content: "\e41e"; } +.icon-arrow-up-down:before { content: "\e380"; } +.icon-arrow-up-from-dot:before { content: "\e452"; } +.icon-arrow-up-from-line:before { content: "\e45e"; } +.icon-arrow-up-left:before { content: "\e04f"; } +.icon-arrow-up-narrow-wide:before { content: "\e050"; } +.icon-arrow-up-right:before { content: "\e051"; } +.icon-arrow-up-to-line:before { content: "\e45f"; } +.icon-arrow-up-wide-narrow:before { content: "\e41f"; } +.icon-arrow-up-z-a:before { content: "\e420"; } +.icon-arrow-up:before { content: "\e04e"; } +.icon-arrows-up-from-line:before { content: "\e4d8"; } +.icon-asterisk:before { content: "\e1ee"; } +.icon-at-sign:before { content: "\e052"; } +.icon-atom:before { content: "\e3da"; } +.icon-audio-lines:before { content: "\e55e"; } +.icon-audio-waveform:before { content: "\e55f"; } +.icon-award:before { content: "\e053"; } +.icon-axe:before { content: "\e054"; } +.icon-axis-3d:before { content: "\e2fd"; } +.icon-baby:before { content: "\e2cd"; } +.icon-backpack:before { content: "\e2c7"; } +.icon-badge-alert:before { content: "\e479"; } +.icon-badge-cent:before { content: "\e513"; } +.icon-badge-check:before { content: "\e240"; } +.icon-badge-dollar-sign:before { content: "\e47a"; } +.icon-badge-euro:before { content: "\e514"; } +.icon-badge-help:before { content: "\e47b"; } +.icon-badge-indian-rupee:before { content: "\e515"; } +.icon-badge-info:before { content: "\e47c"; } +.icon-badge-japanese-yen:before { content: "\e516"; } +.icon-badge-minus:before { content: "\e47d"; } +.icon-badge-percent:before { content: "\e47e"; } +.icon-badge-plus:before { content: "\e47f"; } +.icon-badge-pound-sterling:before { content: "\e517"; } +.icon-badge-russian-ruble:before { content: "\e518"; } +.icon-badge-swiss-franc:before { content: "\e519"; } +.icon-badge-x:before { content: "\e480"; } +.icon-badge:before { content: "\e478"; } +.icon-baggage-claim:before { content: "\e2c8"; } +.icon-ban:before { content: "\e055"; } +.icon-banana:before { content: "\e352"; } +.icon-bandage:before { content: "\e621"; } +.icon-banknote:before { content: "\e056"; } +.icon-barcode:before { content: "\e537"; } +.icon-baseline:before { content: "\e284"; } +.icon-bath:before { content: "\e2aa"; } +.icon-battery-charging:before { content: "\e058"; } +.icon-battery-full:before { content: "\e059"; } +.icon-battery-low:before { content: "\e05a"; } +.icon-battery-medium:before { content: "\e05b"; } +.icon-battery-plus:before { content: "\e642"; } +.icon-battery-warning:before { content: "\e3af"; } +.icon-battery:before { content: "\e057"; } +.icon-beaker:before { content: "\e05c"; } +.icon-bean-off:before { content: "\e393"; } +.icon-bean:before { content: "\e392"; } +.icon-bed-double:before { content: "\e2c1"; } +.icon-bed-single:before { content: "\e2c2"; } +.icon-bed:before { content: "\e2c0"; } +.icon-beef:before { content: "\e3a8"; } +.icon-beer-off:before { content: "\e5dd"; } +.icon-beer:before { content: "\e2ce"; } +.icon-bell-dot:before { content: "\e42f"; } +.icon-bell-electric:before { content: "\e580"; } +.icon-bell-minus:before { content: "\e1ef"; } +.icon-bell-off:before { content: "\e05e"; } +.icon-bell-plus:before { content: "\e1f0"; } +.icon-bell-ring:before { content: "\e223"; } +.icon-bell:before { content: "\e05d"; } +.icon-between-horizontal-end:before { content: "\e595"; } +.icon-between-horizontal-start:before { content: "\e596"; } +.icon-between-vertical-end:before { content: "\e597"; } +.icon-between-vertical-start:before { content: "\e598"; } +.icon-biceps-flexed:before { content: "\e5ef"; } +.icon-bike:before { content: "\e1d1"; } +.icon-binary:before { content: "\e1f1"; } +.icon-binoculars:before { content: "\e625"; } +.icon-biohazard:before { content: "\e445"; } +.icon-bird:before { content: "\e3c8"; } +.icon-bitcoin:before { content: "\e05f"; } +.icon-blend:before { content: "\e5a0"; } +.icon-blinds:before { content: "\e3c3"; } +.icon-blocks:before { content: "\e4fe"; } +.icon-bluetooth-connected:before { content: "\e1b7"; } +.icon-bluetooth-off:before { content: "\e1b8"; } +.icon-bluetooth-searching:before { content: "\e1b9"; } +.icon-bluetooth:before { content: "\e060"; } +.icon-bold:before { content: "\e061"; } +.icon-bolt:before { content: "\e590"; } +.icon-bomb:before { content: "\e2fe"; } +.icon-bone:before { content: "\e35b"; } +.icon-book-a:before { content: "\e548"; } +.icon-book-audio:before { content: "\e549"; } +.icon-book-check:before { content: "\e54a"; } +.icon-book-copy:before { content: "\e3f0"; } +.icon-book-dashed:before { content: "\e3f1"; } +.icon-book-down:before { content: "\e3f2"; } +.icon-book-headphones:before { content: "\e54b"; } +.icon-book-heart:before { content: "\e54c"; } +.icon-book-image:before { content: "\e54d"; } +.icon-book-key:before { content: "\e3f3"; } +.icon-book-lock:before { content: "\e3f4"; } +.icon-book-marked:before { content: "\e3f5"; } +.icon-book-minus:before { content: "\e3f6"; } +.icon-book-open-check:before { content: "\e384"; } +.icon-book-open-text:before { content: "\e54e"; } +.icon-book-open:before { content: "\e063"; } +.icon-book-plus:before { content: "\e3f7"; } +.icon-book-text:before { content: "\e54f"; } +.icon-book-type:before { content: "\e550"; } +.icon-book-up-2:before { content: "\e4aa"; } +.icon-book-up:before { content: "\e3f8"; } +.icon-book-user:before { content: "\e551"; } +.icon-book-x:before { content: "\e3f9"; } +.icon-book:before { content: "\e062"; } +.icon-bookmark-check:before { content: "\e523"; } +.icon-bookmark-minus:before { content: "\e23b"; } +.icon-bookmark-plus:before { content: "\e23c"; } +.icon-bookmark-x:before { content: "\e524"; } +.icon-bookmark:before { content: "\e064"; } +.icon-boom-box:before { content: "\e4f2"; } +.icon-bot-message-square:before { content: "\e5d2"; } +.icon-bot-off:before { content: "\e5e4"; } +.icon-bot:before { content: "\e1ba"; } +.icon-box:before { content: "\e065"; } +.icon-boxes:before { content: "\e2cf"; } +.icon-braces:before { content: "\e36d"; } +.icon-brackets:before { content: "\e447"; } +.icon-brain-circuit:before { content: "\e3ca"; } +.icon-brain-cog:before { content: "\e3cb"; } +.icon-brain:before { content: "\e3c9"; } +.icon-brick-wall:before { content: "\e585"; } +.icon-briefcase-business:before { content: "\e5d9"; } +.icon-briefcase-conveyor-belt:before { content: "\e62f"; } +.icon-briefcase-medical:before { content: "\e5da"; } +.icon-briefcase:before { content: "\e066"; } +.icon-bring-to-front:before { content: "\e4f3"; } +.icon-brush:before { content: "\e1d2"; } +.icon-bug-off:before { content: "\e511"; } +.icon-bug-play:before { content: "\e512"; } +.icon-bug:before { content: "\e20b"; } +.icon-building-2:before { content: "\e28f"; } +.icon-building:before { content: "\e1cb"; } +.icon-bus-front:before { content: "\e4ff"; } +.icon-bus:before { content: "\e1d3"; } +.icon-cable-car:before { content: "\e500"; } +.icon-cable:before { content: "\e4e7"; } +.icon-cake-slice:before { content: "\e4bd"; } +.icon-cake:before { content: "\e347"; } +.icon-calculator:before { content: "\e1bb"; } +.icon-calendar-1:before { content: "\e634"; } +.icon-calendar-arrow-down:before { content: "\e602"; } +.icon-calendar-arrow-up:before { content: "\e603"; } +.icon-calendar-check-2:before { content: "\e2b7"; } +.icon-calendar-check:before { content: "\e2b6"; } +.icon-calendar-clock:before { content: "\e303"; } +.icon-calendar-cog:before { content: "\e5f1"; } +.icon-calendar-days:before { content: "\e2b8"; } +.icon-calendar-fold:before { content: "\e5b8"; } +.icon-calendar-heart:before { content: "\e304"; } +.icon-calendar-minus-2:before { content: "\e5b9"; } +.icon-calendar-minus:before { content: "\e2b9"; } +.icon-calendar-off:before { content: "\e2ba"; } +.icon-calendar-plus-2:before { content: "\e5ba"; } +.icon-calendar-plus:before { content: "\e2bb"; } +.icon-calendar-range:before { content: "\e2bc"; } +.icon-calendar-search:before { content: "\e305"; } +.icon-calendar-sync:before { content: "\e63a"; } +.icon-calendar-x-2:before { content: "\e2be"; } +.icon-calendar-x:before { content: "\e2bd"; } +.icon-calendar:before { content: "\e067"; } +.icon-camera-off:before { content: "\e069"; } +.icon-camera:before { content: "\e068"; } +.icon-candy-cane:before { content: "\e4be"; } +.icon-candy-off:before { content: "\e395"; } +.icon-candy:before { content: "\e394"; } +.icon-cannabis:before { content: "\e5d8"; } +.icon-captions-off:before { content: "\e5c5"; } +.icon-captions:before { content: "\e3a7"; } +.icon-car-front:before { content: "\e501"; } +.icon-car-taxi-front:before { content: "\e502"; } +.icon-car:before { content: "\e1d4"; } +.icon-caravan:before { content: "\e53d"; } +.icon-carrot:before { content: "\e259"; } +.icon-case-lower:before { content: "\e3db"; } +.icon-case-sensitive:before { content: "\e3dc"; } +.icon-case-upper:before { content: "\e3dd"; } +.icon-cassette-tape:before { content: "\e4ce"; } +.icon-cast:before { content: "\e06a"; } +.icon-castle:before { content: "\e3e3"; } +.icon-cat:before { content: "\e38f"; } +.icon-cctv:before { content: "\e581"; } +.icon-chart-area:before { content: "\e4d7"; } +.icon-chart-bar-big:before { content: "\e4ab"; } +.icon-chart-bar-decreasing:before { content: "\e60b"; } +.icon-chart-bar-increasing:before { content: "\e60c"; } +.icon-chart-bar-stacked:before { content: "\e60d"; } +.icon-chart-bar:before { content: "\e2a1"; } +.icon-chart-candlestick:before { content: "\e4ac"; } +.icon-chart-column-big:before { content: "\e4ad"; } +.icon-chart-column-decreasing:before { content: "\e06b"; } +.icon-chart-column-increasing:before { content: "\e2a3"; } +.icon-chart-column-stacked:before { content: "\e60e"; } +.icon-chart-column:before { content: "\e2a2"; } +.icon-chart-gantt:before { content: "\e628"; } +.icon-chart-line:before { content: "\e2a4"; } +.icon-chart-network:before { content: "\e60f"; } +.icon-chart-no-axes-column-decreasing:before { content: "\e06d"; } +.icon-chart-no-axes-column-increasing:before { content: "\e06e"; } +.icon-chart-no-axes-column:before { content: "\e06c"; } +.icon-chart-no-axes-combined:before { content: "\e610"; } +.icon-chart-no-axes-gantt:before { content: "\e4c8"; } +.icon-chart-pie:before { content: "\e06f"; } +.icon-chart-scatter:before { content: "\e48e"; } +.icon-chart-spline:before { content: "\e611"; } +.icon-check-check:before { content: "\e391"; } +.icon-check:before { content: "\e070"; } +.icon-chef-hat:before { content: "\e2ab"; } +.icon-cherry:before { content: "\e353"; } +.icon-chevron-down:before { content: "\e071"; } +.icon-chevron-first:before { content: "\e242"; } +.icon-chevron-last:before { content: "\e243"; } +.icon-chevron-left:before { content: "\e072"; } +.icon-chevron-right:before { content: "\e073"; } +.icon-chevron-up:before { content: "\e074"; } +.icon-chevrons-down-up:before { content: "\e227"; } +.icon-chevrons-down:before { content: "\e075"; } +.icon-chevrons-left-right-ellipsis:before { content: "\e623"; } +.icon-chevrons-left-right:before { content: "\e292"; } +.icon-chevrons-left:before { content: "\e076"; } +.icon-chevrons-right-left:before { content: "\e293"; } +.icon-chevrons-right:before { content: "\e077"; } +.icon-chevrons-up-down:before { content: "\e210"; } +.icon-chevrons-up:before { content: "\e078"; } +.icon-chrome:before { content: "\e079"; } +.icon-church:before { content: "\e3e4"; } +.icon-cigarette-off:before { content: "\e2c6"; } +.icon-cigarette:before { content: "\e2c5"; } +.icon-circle-alert:before { content: "\e07b"; } +.icon-circle-arrow-down:before { content: "\e07c"; } +.icon-circle-arrow-left:before { content: "\e07d"; } +.icon-circle-arrow-out-down-left:before { content: "\e3fb"; } +.icon-circle-arrow-out-down-right:before { content: "\e3fc"; } +.icon-circle-arrow-out-up-left:before { content: "\e3fd"; } +.icon-circle-arrow-out-up-right:before { content: "\e3fe"; } +.icon-circle-arrow-right:before { content: "\e07e"; } +.icon-circle-arrow-up:before { content: "\e07f"; } +.icon-circle-check-big:before { content: "\e080"; } +.icon-circle-check:before { content: "\e225"; } +.icon-circle-chevron-down:before { content: "\e4e1"; } +.icon-circle-chevron-left:before { content: "\e4e2"; } +.icon-circle-chevron-right:before { content: "\e4e3"; } +.icon-circle-chevron-up:before { content: "\e4e4"; } +.icon-circle-dashed:before { content: "\e4b4"; } +.icon-circle-divide:before { content: "\e081"; } +.icon-circle-dollar-sign:before { content: "\e481"; } +.icon-circle-dot-dashed:before { content: "\e4b5"; } +.icon-circle-dot:before { content: "\e348"; } +.icon-circle-ellipsis:before { content: "\e349"; } +.icon-circle-equal:before { content: "\e404"; } +.icon-circle-fading-arrow-up:before { content: "\e61c"; } +.icon-circle-fading-plus:before { content: "\e5c0"; } +.icon-circle-gauge:before { content: "\e4e5"; } +.icon-circle-help:before { content: "\e082"; } +.icon-circle-minus:before { content: "\e083"; } +.icon-circle-off:before { content: "\e405"; } +.icon-circle-parking-off:before { content: "\e3cd"; } +.icon-circle-parking:before { content: "\e3cc"; } +.icon-circle-pause:before { content: "\e084"; } +.icon-circle-percent:before { content: "\e51e"; } +.icon-circle-play:before { content: "\e085"; } +.icon-circle-plus:before { content: "\e086"; } +.icon-circle-power:before { content: "\e554"; } +.icon-circle-slash-2:before { content: "\e212"; } +.icon-circle-slash:before { content: "\e406"; } +.icon-circle-small:before { content: "\e644"; } +.icon-circle-stop:before { content: "\e087"; } +.icon-circle-user-round:before { content: "\e466"; } +.icon-circle-user:before { content: "\e465"; } +.icon-circle-x:before { content: "\e088"; } +.icon-circle:before { content: "\e07a"; } +.icon-circuit-board:before { content: "\e407"; } +.icon-citrus:before { content: "\e378"; } +.icon-clapperboard:before { content: "\e29a"; } +.icon-clipboard-check:before { content: "\e218"; } +.icon-clipboard-copy:before { content: "\e224"; } +.icon-clipboard-list:before { content: "\e08a"; } +.icon-clipboard-minus:before { content: "\e5c2"; } +.icon-clipboard-paste:before { content: "\e3eb"; } +.icon-clipboard-pen-line:before { content: "\e307"; } +.icon-clipboard-pen:before { content: "\e306"; } +.icon-clipboard-plus:before { content: "\e5c3"; } +.icon-clipboard-type:before { content: "\e308"; } +.icon-clipboard-x:before { content: "\e221"; } +.icon-clipboard:before { content: "\e089"; } +.icon-clock-1:before { content: "\e24a"; } +.icon-clock-10:before { content: "\e24b"; } +.icon-clock-11:before { content: "\e24c"; } +.icon-clock-12:before { content: "\e24d"; } +.icon-clock-2:before { content: "\e24e"; } +.icon-clock-3:before { content: "\e24f"; } +.icon-clock-4:before { content: "\e250"; } +.icon-clock-5:before { content: "\e251"; } +.icon-clock-6:before { content: "\e252"; } +.icon-clock-7:before { content: "\e253"; } +.icon-clock-8:before { content: "\e254"; } +.icon-clock-9:before { content: "\e255"; } +.icon-clock-alert:before { content: "\e62e"; } +.icon-clock-arrow-down:before { content: "\e604"; } +.icon-clock-arrow-up:before { content: "\e605"; } +.icon-clock:before { content: "\e08b"; } +.icon-cloud-alert:before { content: "\e637"; } +.icon-cloud-cog:before { content: "\e309"; } +.icon-cloud-download:before { content: "\e08d"; } +.icon-cloud-drizzle:before { content: "\e08e"; } +.icon-cloud-fog:before { content: "\e213"; } +.icon-cloud-hail:before { content: "\e08f"; } +.icon-cloud-lightning:before { content: "\e090"; } +.icon-cloud-moon-rain:before { content: "\e2f9"; } +.icon-cloud-moon:before { content: "\e214"; } +.icon-cloud-off:before { content: "\e091"; } +.icon-cloud-rain-wind:before { content: "\e093"; } +.icon-cloud-rain:before { content: "\e092"; } +.icon-cloud-snow:before { content: "\e094"; } +.icon-cloud-sun-rain:before { content: "\e2fa"; } +.icon-cloud-sun:before { content: "\e215"; } +.icon-cloud-upload:before { content: "\e095"; } +.icon-cloud:before { content: "\e08c"; } +.icon-cloudy:before { content: "\e216"; } +.icon-clover:before { content: "\e096"; } +.icon-club:before { content: "\e49a"; } +.icon-code-xml:before { content: "\e205"; } +.icon-code:before { content: "\e097"; } +.icon-codepen:before { content: "\e098"; } +.icon-codesandbox:before { content: "\e099"; } +.icon-coffee:before { content: "\e09a"; } +.icon-cog:before { content: "\e30a"; } +.icon-coins:before { content: "\e09b"; } +.icon-columns-2:before { content: "\e09c"; } +.icon-columns-3:before { content: "\e09d"; } +.icon-columns-4:before { content: "\e58d"; } +.icon-combine:before { content: "\e450"; } +.icon-command:before { content: "\e09e"; } +.icon-compass:before { content: "\e09f"; } +.icon-component:before { content: "\e2ac"; } +.icon-computer:before { content: "\e4e8"; } +.icon-concierge-bell:before { content: "\e37b"; } +.icon-cone:before { content: "\e527"; } +.icon-construction:before { content: "\e3b7"; } +.icon-contact-round:before { content: "\e467"; } +.icon-contact:before { content: "\e0a0"; } +.icon-container:before { content: "\e4d9"; } +.icon-contrast:before { content: "\e0a1"; } +.icon-cookie:before { content: "\e26a"; } +.icon-cooking-pot:before { content: "\e588"; } +.icon-copy-check:before { content: "\e3ff"; } +.icon-copy-minus:before { content: "\e400"; } +.icon-copy-plus:before { content: "\e401"; } +.icon-copy-slash:before { content: "\e402"; } +.icon-copy-x:before { content: "\e403"; } +.icon-copy:before { content: "\e0a2"; } +.icon-copyleft:before { content: "\e0a3"; } +.icon-copyright:before { content: "\e0a4"; } +.icon-corner-down-left:before { content: "\e0a5"; } +.icon-corner-down-right:before { content: "\e0a6"; } +.icon-corner-left-down:before { content: "\e0a7"; } +.icon-corner-left-up:before { content: "\e0a8"; } +.icon-corner-right-down:before { content: "\e0a9"; } +.icon-corner-right-up:before { content: "\e0aa"; } +.icon-corner-up-left:before { content: "\e0ab"; } +.icon-corner-up-right:before { content: "\e0ac"; } +.icon-cpu:before { content: "\e0ad"; } +.icon-creative-commons:before { content: "\e3b5"; } +.icon-credit-card:before { content: "\e0ae"; } +.icon-croissant:before { content: "\e2ad"; } +.icon-crop:before { content: "\e0af"; } +.icon-cross:before { content: "\e1e4"; } +.icon-crosshair:before { content: "\e0b0"; } +.icon-crown:before { content: "\e1d5"; } +.icon-cuboid:before { content: "\e528"; } +.icon-cup-soda:before { content: "\e2d0"; } +.icon-currency:before { content: "\e22f"; } +.icon-cylinder:before { content: "\e529"; } +.icon-dam:before { content: "\e60a"; } +.icon-database-backup:before { content: "\e3ae"; } +.icon-database-zap:before { content: "\e50f"; } +.icon-database:before { content: "\e0b1"; } +.icon-delete:before { content: "\e0b2"; } +.icon-dessert:before { content: "\e4bf"; } +.icon-diameter:before { content: "\e52a"; } +.icon-diamond-minus:before { content: "\e5e5"; } +.icon-diamond-percent:before { content: "\e51f"; } +.icon-diamond-plus:before { content: "\e5e6"; } +.icon-diamond:before { content: "\e2d1"; } +.icon-dice-1:before { content: "\e286"; } +.icon-dice-2:before { content: "\e287"; } +.icon-dice-3:before { content: "\e288"; } +.icon-dice-4:before { content: "\e289"; } +.icon-dice-5:before { content: "\e28a"; } +.icon-dice-6:before { content: "\e28b"; } +.icon-dices:before { content: "\e2c4"; } +.icon-diff:before { content: "\e30b"; } +.icon-disc-2:before { content: "\e3fa"; } +.icon-disc-3:before { content: "\e498"; } +.icon-disc-album:before { content: "\e560"; } +.icon-disc:before { content: "\e0b3"; } +.icon-divide:before { content: "\e0b4"; } +.icon-dna-off:before { content: "\e397"; } +.icon-dna:before { content: "\e396"; } +.icon-dock:before { content: "\e5d7"; } +.icon-dog:before { content: "\e390"; } +.icon-dollar-sign:before { content: "\e0b5"; } +.icon-donut:before { content: "\e4c0"; } +.icon-door-closed:before { content: "\e3d8"; } +.icon-door-open:before { content: "\e3d9"; } +.icon-dot:before { content: "\e453"; } +.icon-download:before { content: "\e0b6"; } +.icon-drafting-compass:before { content: "\e52b"; } +.icon-drama:before { content: "\e525"; } +.icon-dribbble:before { content: "\e0b7"; } +.icon-drill:before { content: "\e591"; } +.icon-droplet-off:before { content: "\e63c"; } +.icon-droplet:before { content: "\e0b8"; } +.icon-droplets:before { content: "\e0b9"; } +.icon-drum:before { content: "\e561"; } +.icon-drumstick:before { content: "\e25a"; } +.icon-dumbbell:before { content: "\e3a4"; } +.icon-ear-off:before { content: "\e386"; } +.icon-ear:before { content: "\e385"; } +.icon-earth-lock:before { content: "\e5d0"; } +.icon-earth:before { content: "\e1f2"; } +.icon-eclipse:before { content: "\e5a1"; } +.icon-egg-fried:before { content: "\e354"; } +.icon-egg-off:before { content: "\e398"; } +.icon-egg:before { content: "\e25c"; } +.icon-ellipsis-vertical:before { content: "\e0bb"; } +.icon-ellipsis:before { content: "\e0ba"; } +.icon-equal-approximately:before { content: "\e638"; } +.icon-equal-not:before { content: "\e1bd"; } +.icon-equal:before { content: "\e1bc"; } +.icon-eraser:before { content: "\e28e"; } +.icon-ethernet-port:before { content: "\e624"; } +.icon-euro:before { content: "\e0bc"; } +.icon-expand:before { content: "\e219"; } +.icon-external-link:before { content: "\e0bd"; } +.icon-eye-closed:before { content: "\e632"; } +.icon-eye-off:before { content: "\e0bf"; } +.icon-eye:before { content: "\e0be"; } +.icon-facebook:before { content: "\e0c0"; } +.icon-factory:before { content: "\e29e"; } +.icon-fan:before { content: "\e37c"; } +.icon-fast-forward:before { content: "\e0c1"; } +.icon-feather:before { content: "\e0c2"; } +.icon-fence:before { content: "\e586"; } +.icon-ferris-wheel:before { content: "\e483"; } +.icon-figma:before { content: "\e0c3"; } +.icon-file-archive:before { content: "\e30c"; } +.icon-file-audio-2:before { content: "\e30e"; } +.icon-file-audio:before { content: "\e30d"; } +.icon-file-axis-3d:before { content: "\e30f"; } +.icon-file-badge-2:before { content: "\e311"; } +.icon-file-badge:before { content: "\e310"; } +.icon-file-box:before { content: "\e312"; } +.icon-file-chart-column-increasing:before { content: "\e314"; } +.icon-file-chart-column:before { content: "\e313"; } +.icon-file-chart-line:before { content: "\e315"; } +.icon-file-chart-pie:before { content: "\e316"; } +.icon-file-check-2:before { content: "\e0c6"; } +.icon-file-check:before { content: "\e0c5"; } +.icon-file-clock:before { content: "\e317"; } +.icon-file-code-2:before { content: "\e462"; } +.icon-file-code:before { content: "\e0c7"; } +.icon-file-cog:before { content: "\e318"; } +.icon-file-diff:before { content: "\e319"; } +.icon-file-digit:before { content: "\e0c8"; } +.icon-file-down:before { content: "\e31a"; } +.icon-file-heart:before { content: "\e31b"; } +.icon-file-image:before { content: "\e31c"; } +.icon-file-input:before { content: "\e0c9"; } +.icon-file-json-2:before { content: "\e36f"; } +.icon-file-json:before { content: "\e36e"; } +.icon-file-key-2:before { content: "\e31e"; } +.icon-file-key:before { content: "\e31d"; } +.icon-file-lock-2:before { content: "\e320"; } +.icon-file-lock:before { content: "\e31f"; } +.icon-file-minus-2:before { content: "\e0cb"; } +.icon-file-minus:before { content: "\e0ca"; } +.icon-file-music:before { content: "\e562"; } +.icon-file-output:before { content: "\e0cc"; } +.icon-file-pen-line:before { content: "\e322"; } +.icon-file-pen:before { content: "\e321"; } +.icon-file-plus-2:before { content: "\e0ce"; } +.icon-file-plus:before { content: "\e0cd"; } +.icon-file-question:before { content: "\e323"; } +.icon-file-scan:before { content: "\e324"; } +.icon-file-search-2:before { content: "\e325"; } +.icon-file-search:before { content: "\e0cf"; } +.icon-file-sliders:before { content: "\e5a4"; } +.icon-file-spreadsheet:before { content: "\e326"; } +.icon-file-stack:before { content: "\e4a5"; } +.icon-file-symlink:before { content: "\e327"; } +.icon-file-terminal:before { content: "\e328"; } +.icon-file-text:before { content: "\e0d0"; } +.icon-file-type-2:before { content: "\e370"; } +.icon-file-type:before { content: "\e329"; } +.icon-file-up:before { content: "\e32a"; } +.icon-file-user:before { content: "\e631"; } +.icon-file-video-2:before { content: "\e32c"; } +.icon-file-video:before { content: "\e32b"; } +.icon-file-volume-2:before { content: "\e32e"; } +.icon-file-volume:before { content: "\e32d"; } +.icon-file-warning:before { content: "\e32f"; } +.icon-file-x-2:before { content: "\e0d2"; } +.icon-file-x:before { content: "\e0d1"; } +.icon-file:before { content: "\e0c4"; } +.icon-files:before { content: "\e0d3"; } +.icon-film:before { content: "\e0d4"; } +.icon-filter-x:before { content: "\e3b8"; } +.icon-filter:before { content: "\e0d5"; } +.icon-fingerprint:before { content: "\e2ca"; } +.icon-fire-extinguisher:before { content: "\e582"; } +.icon-fish-off:before { content: "\e3b3"; } +.icon-fish-symbol:before { content: "\e4f8"; } +.icon-fish:before { content: "\e3a9"; } +.icon-flag-off:before { content: "\e291"; } +.icon-flag-triangle-left:before { content: "\e236"; } +.icon-flag-triangle-right:before { content: "\e237"; } +.icon-flag:before { content: "\e0d6"; } +.icon-flame-kindling:before { content: "\e53e"; } +.icon-flame:before { content: "\e0d7"; } +.icon-flashlight-off:before { content: "\e0d9"; } +.icon-flashlight:before { content: "\e0d8"; } +.icon-flask-conical-off:before { content: "\e399"; } +.icon-flask-conical:before { content: "\e0da"; } +.icon-flask-round:before { content: "\e0db"; } +.icon-flip-horizontal-2:before { content: "\e361"; } +.icon-flip-horizontal:before { content: "\e360"; } +.icon-flip-vertical-2:before { content: "\e363"; } +.icon-flip-vertical:before { content: "\e362"; } +.icon-flower-2:before { content: "\e2d3"; } +.icon-flower:before { content: "\e2d2"; } +.icon-focus:before { content: "\e29d"; } +.icon-fold-horizontal:before { content: "\e43f"; } +.icon-fold-vertical:before { content: "\e440"; } +.icon-folder-archive:before { content: "\e330"; } +.icon-folder-check:before { content: "\e331"; } +.icon-folder-clock:before { content: "\e332"; } +.icon-folder-closed:before { content: "\e333"; } +.icon-folder-code:before { content: "\e5ff"; } +.icon-folder-cog:before { content: "\e334"; } +.icon-folder-dot:before { content: "\e4c9"; } +.icon-folder-down:before { content: "\e335"; } +.icon-folder-git-2:before { content: "\e40e"; } +.icon-folder-git:before { content: "\e40d"; } +.icon-folder-heart:before { content: "\e336"; } +.icon-folder-input:before { content: "\e337"; } +.icon-folder-kanban:before { content: "\e4ca"; } +.icon-folder-key:before { content: "\e338"; } +.icon-folder-lock:before { content: "\e339"; } +.icon-folder-minus:before { content: "\e0dd"; } +.icon-folder-open-dot:before { content: "\e4cb"; } +.icon-folder-open:before { content: "\e246"; } +.icon-folder-output:before { content: "\e33a"; } +.icon-folder-pen:before { content: "\e33b"; } +.icon-folder-plus:before { content: "\e0de"; } +.icon-folder-root:before { content: "\e4cc"; } +.icon-folder-search-2:before { content: "\e33d"; } +.icon-folder-search:before { content: "\e33c"; } +.icon-folder-symlink:before { content: "\e33e"; } +.icon-folder-sync:before { content: "\e4cd"; } +.icon-folder-tree:before { content: "\e33f"; } +.icon-folder-up:before { content: "\e340"; } +.icon-folder-x:before { content: "\e341"; } +.icon-folder:before { content: "\e0dc"; } +.icon-folders:before { content: "\e342"; } +.icon-footprints:before { content: "\e3bc"; } +.icon-forklift:before { content: "\e3c4"; } +.icon-forward:before { content: "\e228"; } +.icon-frame:before { content: "\e290"; } +.icon-framer:before { content: "\e0df"; } +.icon-frown:before { content: "\e0e0"; } +.icon-fuel:before { content: "\e2ae"; } +.icon-fullscreen:before { content: "\e538"; } +.icon-gallery-horizontal-end:before { content: "\e4d3"; } +.icon-gallery-horizontal:before { content: "\e4d2"; } +.icon-gallery-thumbnails:before { content: "\e4d4"; } +.icon-gallery-vertical-end:before { content: "\e4d6"; } +.icon-gallery-vertical:before { content: "\e4d5"; } +.icon-gamepad-2:before { content: "\e0e2"; } +.icon-gamepad:before { content: "\e0e1"; } +.icon-gauge:before { content: "\e1be"; } +.icon-gavel:before { content: "\e0e3"; } +.icon-gem:before { content: "\e241"; } +.icon-ghost:before { content: "\e20d"; } +.icon-gift:before { content: "\e0e4"; } +.icon-git-branch-plus:before { content: "\e1f3"; } +.icon-git-branch:before { content: "\e0e5"; } +.icon-git-commit-horizontal:before { content: "\e0e6"; } +.icon-git-commit-vertical:before { content: "\e556"; } +.icon-git-compare-arrows:before { content: "\e557"; } +.icon-git-compare:before { content: "\e35c"; } +.icon-git-fork:before { content: "\e28c"; } +.icon-git-graph:before { content: "\e558"; } +.icon-git-merge:before { content: "\e0e7"; } +.icon-git-pull-request-arrow:before { content: "\e559"; } +.icon-git-pull-request-closed:before { content: "\e35d"; } +.icon-git-pull-request-create-arrow:before { content: "\e55b"; } +.icon-git-pull-request-create:before { content: "\e55a"; } +.icon-git-pull-request-draft:before { content: "\e35e"; } +.icon-git-pull-request:before { content: "\e0e8"; } +.icon-github:before { content: "\e0e9"; } +.icon-gitlab:before { content: "\e0ea"; } +.icon-glass-water:before { content: "\e2d4"; } +.icon-glasses:before { content: "\e20c"; } +.icon-globe-lock:before { content: "\e5d1"; } +.icon-globe:before { content: "\e0eb"; } +.icon-goal:before { content: "\e4a9"; } +.icon-grab:before { content: "\e1e5"; } +.icon-graduation-cap:before { content: "\e233"; } +.icon-grape:before { content: "\e355"; } +.icon-grid-2x2-check:before { content: "\e5e8"; } +.icon-grid-2x2-plus:before { content: "\e62c"; } +.icon-grid-2x2-x:before { content: "\e5e9"; } +.icon-grid-2x2:before { content: "\e503"; } +.icon-grid-3x3:before { content: "\e0ec"; } +.icon-grip-horizontal:before { content: "\e0ed"; } +.icon-grip-vertical:before { content: "\e0ee"; } +.icon-grip:before { content: "\e3b4"; } +.icon-group:before { content: "\e468"; } +.icon-guitar:before { content: "\e563"; } +.icon-ham:before { content: "\e5db"; } +.icon-hammer:before { content: "\e0ef"; } +.icon-hand-coins:before { content: "\e5bc"; } +.icon-hand-heart:before { content: "\e5bd"; } +.icon-hand-helping:before { content: "\e3bb"; } +.icon-hand-metal:before { content: "\e22b"; } +.icon-hand-platter:before { content: "\e5be"; } +.icon-hand:before { content: "\e1d6"; } +.icon-handshake:before { content: "\e5c4"; } +.icon-hard-drive-download:before { content: "\e4e9"; } +.icon-hard-drive-upload:before { content: "\e4ea"; } +.icon-hard-drive:before { content: "\e0f0"; } +.icon-hard-hat:before { content: "\e0f1"; } +.icon-hash:before { content: "\e0f2"; } +.icon-haze:before { content: "\e0f3"; } +.icon-hdmi-port:before { content: "\e4eb"; } +.icon-heading-1:before { content: "\e388"; } +.icon-heading-2:before { content: "\e389"; } +.icon-heading-3:before { content: "\e38a"; } +.icon-heading-4:before { content: "\e38b"; } +.icon-heading-5:before { content: "\e38c"; } +.icon-heading-6:before { content: "\e38d"; } +.icon-heading:before { content: "\e387"; } +.icon-headphone-off:before { content: "\e62d"; } +.icon-headphones:before { content: "\e0f4"; } +.icon-headset:before { content: "\e5c1"; } +.icon-heart-crack:before { content: "\e2d5"; } +.icon-heart-handshake:before { content: "\e2d6"; } +.icon-heart-off:before { content: "\e294"; } +.icon-heart-pulse:before { content: "\e371"; } +.icon-heart:before { content: "\e0f5"; } +.icon-heater:before { content: "\e592"; } +.icon-hexagon:before { content: "\e0f6"; } +.icon-highlighter:before { content: "\e0f7"; } +.icon-history:before { content: "\e1f4"; } +.icon-hop-off:before { content: "\e39b"; } +.icon-hop:before { content: "\e39a"; } +.icon-hospital:before { content: "\e5dc"; } +.icon-hotel:before { content: "\e3e5"; } +.icon-hourglass:before { content: "\e295"; } +.icon-house-plug:before { content: "\e5f4"; } +.icon-house-plus:before { content: "\e5f5"; } +.icon-house-wifi:before { content: "\e640"; } +.icon-house:before { content: "\e0f8"; } +.icon-ice-cream-bowl:before { content: "\e3aa"; } +.icon-ice-cream-cone:before { content: "\e356"; } +.icon-id-card:before { content: "\e61b"; } +.icon-image-down:before { content: "\e540"; } +.icon-image-minus:before { content: "\e1f5"; } +.icon-image-off:before { content: "\e1bf"; } +.icon-image-play:before { content: "\e5e3"; } +.icon-image-plus:before { content: "\e1f6"; } +.icon-image-up:before { content: "\e5cf"; } +.icon-image-upscale:before { content: "\e63b"; } +.icon-image:before { content: "\e0f9"; } +.icon-images:before { content: "\e5c8"; } +.icon-import:before { content: "\e22e"; } +.icon-inbox:before { content: "\e0fa"; } +.icon-indent-decrease:before { content: "\e0fb"; } +.icon-indent-increase:before { content: "\e0fc"; } +.icon-indian-rupee:before { content: "\e0fd"; } +.icon-infinity:before { content: "\e1e6"; } +.icon-info:before { content: "\e0fe"; } +.icon-inspection-panel:before { content: "\e587"; } +.icon-instagram:before { content: "\e0ff"; } +.icon-italic:before { content: "\e100"; } +.icon-iteration-ccw:before { content: "\e427"; } +.icon-iteration-cw:before { content: "\e428"; } +.icon-japanese-yen:before { content: "\e101"; } +.icon-joystick:before { content: "\e358"; } +.icon-kanban:before { content: "\e4e0"; } +.icon-key-round:before { content: "\e4a7"; } +.icon-key-square:before { content: "\e4a8"; } +.icon-key:before { content: "\e102"; } +.icon-keyboard-music:before { content: "\e564"; } +.icon-keyboard-off:before { content: "\e5e2"; } +.icon-keyboard:before { content: "\e283"; } +.icon-lamp-ceiling:before { content: "\e2d8"; } +.icon-lamp-desk:before { content: "\e2d9"; } +.icon-lamp-floor:before { content: "\e2da"; } +.icon-lamp-wall-down:before { content: "\e2db"; } +.icon-lamp-wall-up:before { content: "\e2dc"; } +.icon-lamp:before { content: "\e2d7"; } +.icon-land-plot:before { content: "\e52c"; } +.icon-landmark:before { content: "\e239"; } +.icon-languages:before { content: "\e103"; } +.icon-laptop-minimal-check:before { content: "\e636"; } +.icon-laptop-minimal:before { content: "\e1d7"; } +.icon-laptop:before { content: "\e1cc"; } +.icon-lasso-select:before { content: "\e1ce"; } +.icon-lasso:before { content: "\e1cd"; } +.icon-laugh:before { content: "\e2ff"; } +.icon-layers-2:before { content: "\e52e"; } +.icon-layers:before { content: "\e52d"; } +.icon-layout-dashboard:before { content: "\e1c0"; } +.icon-layout-grid:before { content: "\e104"; } +.icon-layout-list:before { content: "\e1d8"; } +.icon-layout-panel-left:before { content: "\e474"; } +.icon-layout-panel-top:before { content: "\e475"; } +.icon-layout-template:before { content: "\e206"; } +.icon-leaf:before { content: "\e2dd"; } +.icon-leafy-green:before { content: "\e473"; } +.icon-lectern:before { content: "\e5ed"; } +.icon-letter-text:before { content: "\e609"; } +.icon-library-big:before { content: "\e552"; } +.icon-library:before { content: "\e105"; } +.icon-life-buoy:before { content: "\e106"; } +.icon-ligature:before { content: "\e43e"; } +.icon-lightbulb-off:before { content: "\e207"; } +.icon-lightbulb:before { content: "\e1c1"; } +.icon-link-2-off:before { content: "\e109"; } +.icon-link-2:before { content: "\e108"; } +.icon-link:before { content: "\e107"; } +.icon-linkedin:before { content: "\e10a"; } +.icon-list-check:before { content: "\e5fe"; } +.icon-list-checks:before { content: "\e1cf"; } +.icon-list-collapse:before { content: "\e59f"; } +.icon-list-end:before { content: "\e2de"; } +.icon-list-filter-plus:before { content: "\e63d"; } +.icon-list-filter:before { content: "\e464"; } +.icon-list-minus:before { content: "\e23d"; } +.icon-list-music:before { content: "\e2df"; } +.icon-list-ordered:before { content: "\e1d0"; } +.icon-list-plus:before { content: "\e23e"; } +.icon-list-restart:before { content: "\e456"; } +.icon-list-start:before { content: "\e2e0"; } +.icon-list-todo:before { content: "\e4c7"; } +.icon-list-tree:before { content: "\e40c"; } +.icon-list-video:before { content: "\e2e1"; } +.icon-list-x:before { content: "\e23f"; } +.icon-list:before { content: "\e10b"; } +.icon-loader-circle:before { content: "\e10d"; } +.icon-loader-pinwheel:before { content: "\e5ea"; } +.icon-loader:before { content: "\e10c"; } +.icon-locate-fixed:before { content: "\e1da"; } +.icon-locate-off:before { content: "\e281"; } +.icon-locate:before { content: "\e1d9"; } +.icon-lock-keyhole-open:before { content: "\e536"; } +.icon-lock-keyhole:before { content: "\e535"; } +.icon-lock-open:before { content: "\e10f"; } +.icon-lock:before { content: "\e10e"; } +.icon-log-in:before { content: "\e110"; } +.icon-log-out:before { content: "\e111"; } +.icon-logs:before { content: "\e5f8"; } +.icon-lollipop:before { content: "\e4c1"; } +.icon-luggage:before { content: "\e2c9"; } +.icon-magnet:before { content: "\e2b4"; } +.icon-mail-check:before { content: "\e364"; } +.icon-mail-minus:before { content: "\e365"; } +.icon-mail-open:before { content: "\e366"; } +.icon-mail-plus:before { content: "\e367"; } +.icon-mail-question:before { content: "\e368"; } +.icon-mail-search:before { content: "\e369"; } +.icon-mail-warning:before { content: "\e36a"; } +.icon-mail-x:before { content: "\e36b"; } +.icon-mail:before { content: "\e112"; } +.icon-mailbox:before { content: "\e3d7"; } +.icon-mails:before { content: "\e36c"; } +.icon-map-pin-check-inside:before { content: "\e614"; } +.icon-map-pin-check:before { content: "\e613"; } +.icon-map-pin-house:before { content: "\e620"; } +.icon-map-pin-minus-inside:before { content: "\e616"; } +.icon-map-pin-minus:before { content: "\e615"; } +.icon-map-pin-off:before { content: "\e2a5"; } +.icon-map-pin-plus-inside:before { content: "\e618"; } +.icon-map-pin-plus:before { content: "\e617"; } +.icon-map-pin-x-inside:before { content: "\e61a"; } +.icon-map-pin-x:before { content: "\e619"; } +.icon-map-pin:before { content: "\e114"; } +.icon-map-pinned:before { content: "\e541"; } +.icon-map-plus:before { content: "\e643"; } +.icon-map:before { content: "\e113"; } +.icon-mars-stroke:before { content: "\e646"; } +.icon-mars:before { content: "\e645"; } +.icon-martini:before { content: "\e2e2"; } +.icon-maximize-2:before { content: "\e116"; } +.icon-maximize:before { content: "\e115"; } +.icon-medal:before { content: "\e372"; } +.icon-megaphone-off:before { content: "\e373"; } +.icon-megaphone:before { content: "\e234"; } +.icon-meh:before { content: "\e117"; } +.icon-memory-stick:before { content: "\e449"; } +.icon-menu:before { content: "\e118"; } +.icon-merge:before { content: "\e443"; } +.icon-message-circle-code:before { content: "\e566"; } +.icon-message-circle-dashed:before { content: "\e567"; } +.icon-message-circle-heart:before { content: "\e568"; } +.icon-message-circle-more:before { content: "\e569"; } +.icon-message-circle-off:before { content: "\e56a"; } +.icon-message-circle-plus:before { content: "\e56b"; } +.icon-message-circle-question:before { content: "\e56c"; } +.icon-message-circle-reply:before { content: "\e56d"; } +.icon-message-circle-warning:before { content: "\e56e"; } +.icon-message-circle-x:before { content: "\e56f"; } +.icon-message-circle:before { content: "\e119"; } +.icon-message-square-code:before { content: "\e570"; } +.icon-message-square-dashed:before { content: "\e40f"; } +.icon-message-square-diff:before { content: "\e571"; } +.icon-message-square-dot:before { content: "\e572"; } +.icon-message-square-heart:before { content: "\e573"; } +.icon-message-square-lock:before { content: "\e630"; } +.icon-message-square-more:before { content: "\e574"; } +.icon-message-square-off:before { content: "\e575"; } +.icon-message-square-plus:before { content: "\e410"; } +.icon-message-square-quote:before { content: "\e576"; } +.icon-message-square-reply:before { content: "\e577"; } +.icon-message-square-share:before { content: "\e578"; } +.icon-message-square-text:before { content: "\e579"; } +.icon-message-square-warning:before { content: "\e57a"; } +.icon-message-square-x:before { content: "\e57b"; } +.icon-message-square:before { content: "\e11a"; } +.icon-messages-square:before { content: "\e411"; } +.icon-mic-off:before { content: "\e11c"; } +.icon-mic-vocal:before { content: "\e34c"; } +.icon-mic:before { content: "\e11b"; } +.icon-microchip:before { content: "\e61e"; } +.icon-microscope:before { content: "\e2e3"; } +.icon-microwave:before { content: "\e37d"; } +.icon-milestone:before { content: "\e297"; } +.icon-milk-off:before { content: "\e39d"; } +.icon-milk:before { content: "\e39c"; } +.icon-minimize-2:before { content: "\e11e"; } +.icon-minimize:before { content: "\e11d"; } +.icon-minus:before { content: "\e11f"; } +.icon-monitor-check:before { content: "\e486"; } +.icon-monitor-cog:before { content: "\e607"; } +.icon-monitor-dot:before { content: "\e487"; } +.icon-monitor-down:before { content: "\e425"; } +.icon-monitor-off:before { content: "\e1db"; } +.icon-monitor-pause:before { content: "\e488"; } +.icon-monitor-play:before { content: "\e489"; } +.icon-monitor-smartphone:before { content: "\e3a5"; } +.icon-monitor-speaker:before { content: "\e20f"; } +.icon-monitor-stop:before { content: "\e48a"; } +.icon-monitor-up:before { content: "\e426"; } +.icon-monitor-x:before { content: "\e48b"; } +.icon-monitor:before { content: "\e120"; } +.icon-moon-star:before { content: "\e414"; } +.icon-moon:before { content: "\e121"; } +.icon-mountain-snow:before { content: "\e231"; } +.icon-mountain:before { content: "\e230"; } +.icon-mouse-off:before { content: "\e5df"; } +.icon-mouse-pointer-2:before { content: "\e1c2"; } +.icon-mouse-pointer-ban:before { content: "\e5eb"; } +.icon-mouse-pointer-click:before { content: "\e123"; } +.icon-mouse-pointer:before { content: "\e122"; } +.icon-mouse:before { content: "\e28d"; } +.icon-move-3d:before { content: "\e2e4"; } +.icon-move-diagonal-2:before { content: "\e1c4"; } +.icon-move-diagonal:before { content: "\e1c3"; } +.icon-move-down-left:before { content: "\e491"; } +.icon-move-down-right:before { content: "\e492"; } +.icon-move-down:before { content: "\e490"; } +.icon-move-horizontal:before { content: "\e1c5"; } +.icon-move-left:before { content: "\e493"; } +.icon-move-right:before { content: "\e494"; } +.icon-move-up-left:before { content: "\e496"; } +.icon-move-up-right:before { content: "\e497"; } +.icon-move-up:before { content: "\e495"; } +.icon-move-vertical:before { content: "\e1c6"; } +.icon-move:before { content: "\e124"; } +.icon-music-2:before { content: "\e34d"; } +.icon-music-3:before { content: "\e34e"; } +.icon-music-4:before { content: "\e34f"; } +.icon-music:before { content: "\e125"; } +.icon-navigation-2-off:before { content: "\e2a6"; } +.icon-navigation-2:before { content: "\e127"; } +.icon-navigation-off:before { content: "\e2a7"; } +.icon-navigation:before { content: "\e126"; } +.icon-network:before { content: "\e128"; } +.icon-newspaper:before { content: "\e34b"; } +.icon-nfc:before { content: "\e3c6"; } +.icon-non-binary:before { content: "\e647"; } +.icon-notebook-pen:before { content: "\e59a"; } +.icon-notebook-tabs:before { content: "\e59b"; } +.icon-notebook-text:before { content: "\e59c"; } +.icon-notebook:before { content: "\e599"; } +.icon-notepad-text-dashed:before { content: "\e59e"; } +.icon-notepad-text:before { content: "\e59d"; } +.icon-nut-off:before { content: "\e39f"; } +.icon-nut:before { content: "\e39e"; } +.icon-octagon-alert:before { content: "\e12a"; } +.icon-octagon-minus:before { content: "\e62b"; } +.icon-octagon-pause:before { content: "\e21a"; } +.icon-octagon-x:before { content: "\e12b"; } +.icon-octagon:before { content: "\e129"; } +.icon-omega:before { content: "\e61d"; } +.icon-option:before { content: "\e1f7"; } +.icon-orbit:before { content: "\e3ea"; } +.icon-origami:before { content: "\e5e7"; } +.icon-package-2:before { content: "\e343"; } +.icon-package-check:before { content: "\e265"; } +.icon-package-minus:before { content: "\e266"; } +.icon-package-open:before { content: "\e2cb"; } +.icon-package-plus:before { content: "\e267"; } +.icon-package-search:before { content: "\e268"; } +.icon-package-x:before { content: "\e269"; } +.icon-package:before { content: "\e12c"; } +.icon-paint-bucket:before { content: "\e2e5"; } +.icon-paint-roller:before { content: "\e5a2"; } +.icon-paintbrush-vertical:before { content: "\e2e7"; } +.icon-paintbrush:before { content: "\e2e6"; } +.icon-palette:before { content: "\e1dc"; } +.icon-panel-bottom-close:before { content: "\e431"; } +.icon-panel-bottom-dashed:before { content: "\e432"; } +.icon-panel-bottom-open:before { content: "\e433"; } +.icon-panel-bottom:before { content: "\e430"; } +.icon-panel-left-close:before { content: "\e21b"; } +.icon-panel-left-dashed:before { content: "\e434"; } +.icon-panel-left-open:before { content: "\e21c"; } +.icon-panel-left:before { content: "\e12d"; } +.icon-panel-right-close:before { content: "\e436"; } +.icon-panel-right-dashed:before { content: "\e437"; } +.icon-panel-right-open:before { content: "\e438"; } +.icon-panel-right:before { content: "\e435"; } +.icon-panel-top-close:before { content: "\e43a"; } +.icon-panel-top-dashed:before { content: "\e43b"; } +.icon-panel-top-open:before { content: "\e43c"; } +.icon-panel-top:before { content: "\e439"; } +.icon-panels-left-bottom:before { content: "\e12e"; } +.icon-panels-right-bottom:before { content: "\e58c"; } +.icon-panels-top-left:before { content: "\e12f"; } +.icon-paperclip:before { content: "\e130"; } +.icon-parentheses:before { content: "\e448"; } +.icon-parking-meter:before { content: "\e504"; } +.icon-party-popper:before { content: "\e346"; } +.icon-pause:before { content: "\e131"; } +.icon-paw-print:before { content: "\e4f9"; } +.icon-pc-case:before { content: "\e44a"; } +.icon-pen-line:before { content: "\e133"; } +.icon-pen-off:before { content: "\e5f2"; } +.icon-pen-tool:before { content: "\e134"; } +.icon-pen:before { content: "\e132"; } +.icon-pencil-line:before { content: "\e4f4"; } +.icon-pencil-off:before { content: "\e5f3"; } +.icon-pencil-ruler:before { content: "\e4f5"; } +.icon-pencil:before { content: "\e1f8"; } +.icon-pentagon:before { content: "\e52f"; } +.icon-percent:before { content: "\e135"; } +.icon-person-standing:before { content: "\e21d"; } +.icon-philippine-peso:before { content: "\e608"; } +.icon-phone-call:before { content: "\e137"; } +.icon-phone-forwarded:before { content: "\e138"; } +.icon-phone-incoming:before { content: "\e139"; } +.icon-phone-missed:before { content: "\e13a"; } +.icon-phone-off:before { content: "\e13b"; } +.icon-phone-outgoing:before { content: "\e13c"; } +.icon-phone:before { content: "\e136"; } +.icon-pi:before { content: "\e476"; } +.icon-piano:before { content: "\e565"; } +.icon-pickaxe:before { content: "\e5ca"; } +.icon-picture-in-picture-2:before { content: "\e3b2"; } +.icon-picture-in-picture:before { content: "\e3b1"; } +.icon-piggy-bank:before { content: "\e13d"; } +.icon-pilcrow-left:before { content: "\e5e0"; } +.icon-pilcrow-right:before { content: "\e5e1"; } +.icon-pilcrow:before { content: "\e3a6"; } +.icon-pill-bottle:before { content: "\e5ee"; } +.icon-pill:before { content: "\e3c0"; } +.icon-pin-off:before { content: "\e2b5"; } +.icon-pin:before { content: "\e258"; } +.icon-pipette:before { content: "\e13e"; } +.icon-pizza:before { content: "\e357"; } +.icon-plane-landing:before { content: "\e3d0"; } +.icon-plane-takeoff:before { content: "\e3d1"; } +.icon-plane:before { content: "\e1dd"; } +.icon-play:before { content: "\e13f"; } +.icon-plug-2:before { content: "\e383"; } +.icon-plug-zap:before { content: "\e460"; } +.icon-plug:before { content: "\e382"; } +.icon-plus:before { content: "\e140"; } +.icon-pocket-knife:before { content: "\e4a4"; } +.icon-pocket:before { content: "\e141"; } +.icon-podcast:before { content: "\e1f9"; } +.icon-pointer-off:before { content: "\e583"; } +.icon-pointer:before { content: "\e1e7"; } +.icon-popcorn:before { content: "\e4c2"; } +.icon-popsicle:before { content: "\e4c3"; } +.icon-pound-sterling:before { content: "\e142"; } +.icon-power-off:before { content: "\e208"; } +.icon-power:before { content: "\e143"; } +.icon-presentation:before { content: "\e4b2"; } +.icon-printer-check:before { content: "\e5f9"; } +.icon-printer:before { content: "\e144"; } +.icon-projector:before { content: "\e4b3"; } +.icon-proportions:before { content: "\e5d3"; } +.icon-puzzle:before { content: "\e29b"; } +.icon-pyramid:before { content: "\e530"; } +.icon-qr-code:before { content: "\e1de"; } +.icon-quote:before { content: "\e238"; } +.icon-rabbit:before { content: "\e4fa"; } +.icon-radar:before { content: "\e49b"; } +.icon-radiation:before { content: "\e446"; } +.icon-radical:before { content: "\e5c6"; } +.icon-radio-receiver:before { content: "\e1fa"; } +.icon-radio-tower:before { content: "\e408"; } +.icon-radio:before { content: "\e145"; } +.icon-radius:before { content: "\e531"; } +.icon-rail-symbol:before { content: "\e505"; } +.icon-rainbow:before { content: "\e4c6"; } +.icon-rat:before { content: "\e3ef"; } +.icon-ratio:before { content: "\e4ec"; } +.icon-receipt-cent:before { content: "\e5a9"; } +.icon-receipt-euro:before { content: "\e5aa"; } +.icon-receipt-indian-rupee:before { content: "\e5ab"; } +.icon-receipt-japanese-yen:before { content: "\e5ac"; } +.icon-receipt-pound-sterling:before { content: "\e5ad"; } +.icon-receipt-russian-ruble:before { content: "\e5ae"; } +.icon-receipt-swiss-franc:before { content: "\e5af"; } +.icon-receipt-text:before { content: "\e5b0"; } +.icon-receipt:before { content: "\e3d6"; } +.icon-rectangle-ellipsis:before { content: "\e21e"; } +.icon-rectangle-horizontal:before { content: "\e379"; } +.icon-rectangle-vertical:before { content: "\e37a"; } +.icon-recycle:before { content: "\e2e8"; } +.icon-redo-2:before { content: "\e29f"; } +.icon-redo-dot:before { content: "\e454"; } +.icon-redo:before { content: "\e146"; } +.icon-refresh-ccw-dot:before { content: "\e4b6"; } +.icon-refresh-ccw:before { content: "\e147"; } +.icon-refresh-cw-off:before { content: "\e49c"; } +.icon-refresh-cw:before { content: "\e148"; } +.icon-refrigerator:before { content: "\e37e"; } +.icon-regex:before { content: "\e1fb"; } +.icon-remove-formatting:before { content: "\e3b6"; } +.icon-repeat-1:before { content: "\e1fc"; } +.icon-repeat-2:before { content: "\e415"; } +.icon-repeat:before { content: "\e149"; } +.icon-replace-all:before { content: "\e3df"; } +.icon-replace:before { content: "\e3de"; } +.icon-reply-all:before { content: "\e22a"; } +.icon-reply:before { content: "\e229"; } +.icon-rewind:before { content: "\e14a"; } +.icon-ribbon:before { content: "\e55c"; } +.icon-rocket:before { content: "\e285"; } +.icon-rocking-chair:before { content: "\e232"; } +.icon-roller-coaster:before { content: "\e484"; } +.icon-rotate-3d:before { content: "\e2e9"; } +.icon-rotate-ccw-square:before { content: "\e5d4"; } +.icon-rotate-ccw:before { content: "\e14b"; } +.icon-rotate-cw-square:before { content: "\e5d5"; } +.icon-rotate-cw:before { content: "\e14c"; } +.icon-route-off:before { content: "\e543"; } +.icon-route:before { content: "\e542"; } +.icon-router:before { content: "\e3c2"; } +.icon-rows-2:before { content: "\e43d"; } +.icon-rows-3:before { content: "\e58e"; } +.icon-rows-4:before { content: "\e58f"; } +.icon-rss:before { content: "\e14d"; } +.icon-ruler:before { content: "\e14e"; } +.icon-russian-ruble:before { content: "\e14f"; } +.icon-sailboat:before { content: "\e381"; } +.icon-salad:before { content: "\e3ab"; } +.icon-sandwich:before { content: "\e3ac"; } +.icon-satellite-dish:before { content: "\e44c"; } +.icon-satellite:before { content: "\e44b"; } +.icon-save-all:before { content: "\e413"; } +.icon-save-off:before { content: "\e5f7"; } +.icon-save:before { content: "\e150"; } +.icon-scale-3d:before { content: "\e2ea"; } +.icon-scale:before { content: "\e211"; } +.icon-scaling:before { content: "\e2eb"; } +.icon-scan-barcode:before { content: "\e539"; } +.icon-scan-eye:before { content: "\e53a"; } +.icon-scan-face:before { content: "\e374"; } +.icon-scan-heart:before { content: "\e63e"; } +.icon-scan-line:before { content: "\e257"; } +.icon-scan-qr-code:before { content: "\e5fa"; } +.icon-scan-search:before { content: "\e53b"; } +.icon-scan-text:before { content: "\e53c"; } +.icon-scan:before { content: "\e256"; } +.icon-school:before { content: "\e3e6"; } +.icon-scissors-line-dashed:before { content: "\e4ed"; } +.icon-scissors:before { content: "\e151"; } +.icon-screen-share-off:before { content: "\e153"; } +.icon-screen-share:before { content: "\e152"; } +.icon-scroll-text:before { content: "\e463"; } +.icon-scroll:before { content: "\e2ec"; } +.icon-search-check:before { content: "\e4ae"; } +.icon-search-code:before { content: "\e4af"; } +.icon-search-slash:before { content: "\e4b0"; } +.icon-search-x:before { content: "\e4b1"; } +.icon-search:before { content: "\e154"; } +.icon-section:before { content: "\e5ec"; } +.icon-send-horizontal:before { content: "\e4f6"; } +.icon-send-to-back:before { content: "\e4f7"; } +.icon-send:before { content: "\e155"; } +.icon-separator-horizontal:before { content: "\e1c7"; } +.icon-separator-vertical:before { content: "\e1c8"; } +.icon-server-cog:before { content: "\e344"; } +.icon-server-crash:before { content: "\e1e8"; } +.icon-server-off:before { content: "\e1e9"; } +.icon-server:before { content: "\e156"; } +.icon-settings-2:before { content: "\e244"; } +.icon-settings:before { content: "\e157"; } +.icon-shapes:before { content: "\e4b7"; } +.icon-share-2:before { content: "\e159"; } +.icon-share:before { content: "\e158"; } +.icon-sheet:before { content: "\e15a"; } +.icon-shell:before { content: "\e4fb"; } +.icon-shield-alert:before { content: "\e1fd"; } +.icon-shield-ban:before { content: "\e15c"; } +.icon-shield-check:before { content: "\e1fe"; } +.icon-shield-ellipsis:before { content: "\e51a"; } +.icon-shield-half:before { content: "\e51b"; } +.icon-shield-minus:before { content: "\e51c"; } +.icon-shield-off:before { content: "\e15d"; } +.icon-shield-plus:before { content: "\e51d"; } +.icon-shield-question:before { content: "\e412"; } +.icon-shield-user:before { content: "\e64b"; } +.icon-shield-x:before { content: "\e1ff"; } +.icon-shield:before { content: "\e15b"; } +.icon-ship-wheel:before { content: "\e506"; } +.icon-ship:before { content: "\e3bd"; } +.icon-shirt:before { content: "\e1c9"; } +.icon-shopping-bag:before { content: "\e15e"; } +.icon-shopping-basket:before { content: "\e4ee"; } +.icon-shopping-cart:before { content: "\e15f"; } +.icon-shovel:before { content: "\e160"; } +.icon-shower-head:before { content: "\e37f"; } +.icon-shrink:before { content: "\e21f"; } +.icon-shrub:before { content: "\e2ed"; } +.icon-shuffle:before { content: "\e161"; } +.icon-sigma:before { content: "\e200"; } +.icon-signal-high:before { content: "\e25f"; } +.icon-signal-low:before { content: "\e260"; } +.icon-signal-medium:before { content: "\e261"; } +.icon-signal-zero:before { content: "\e262"; } +.icon-signal:before { content: "\e25e"; } +.icon-signature:before { content: "\e5f6"; } +.icon-signpost-big:before { content: "\e545"; } +.icon-signpost:before { content: "\e544"; } +.icon-siren:before { content: "\e2ee"; } +.icon-skip-back:before { content: "\e162"; } +.icon-skip-forward:before { content: "\e163"; } +.icon-skull:before { content: "\e220"; } +.icon-slack:before { content: "\e164"; } +.icon-slash:before { content: "\e521"; } +.icon-slice:before { content: "\e2ef"; } +.icon-sliders-horizontal:before { content: "\e299"; } +.icon-sliders-vertical:before { content: "\e165"; } +.icon-smartphone-charging:before { content: "\e22d"; } +.icon-smartphone-nfc:before { content: "\e3c7"; } +.icon-smartphone:before { content: "\e166"; } +.icon-smile-plus:before { content: "\e300"; } +.icon-smile:before { content: "\e167"; } +.icon-snail:before { content: "\e4fc"; } +.icon-snowflake:before { content: "\e168"; } +.icon-sofa:before { content: "\e2c3"; } +.icon-soup:before { content: "\e3ad"; } +.icon-space:before { content: "\e3e0"; } +.icon-spade:before { content: "\e49d"; } +.icon-sparkle:before { content: "\e482"; } +.icon-sparkles:before { content: "\e416"; } +.icon-speaker:before { content: "\e169"; } +.icon-speech:before { content: "\e522"; } +.icon-spell-check-2:before { content: "\e49f"; } +.icon-spell-check:before { content: "\e49e"; } +.icon-spline:before { content: "\e38e"; } +.icon-split:before { content: "\e444"; } +.icon-spray-can:before { content: "\e499"; } +.icon-sprout:before { content: "\e1ea"; } +.icon-square-activity:before { content: "\e4b8"; } +.icon-square-arrow-down-left:before { content: "\e4b9"; } +.icon-square-arrow-down-right:before { content: "\e4ba"; } +.icon-square-arrow-down:before { content: "\e42b"; } +.icon-square-arrow-left:before { content: "\e42c"; } +.icon-square-arrow-out-down-left:before { content: "\e5a5"; } +.icon-square-arrow-out-down-right:before { content: "\e5a6"; } +.icon-square-arrow-out-up-left:before { content: "\e5a7"; } +.icon-square-arrow-out-up-right:before { content: "\e5a8"; } +.icon-square-arrow-right:before { content: "\e42d"; } +.icon-square-arrow-up-left:before { content: "\e4bb"; } +.icon-square-arrow-up-right:before { content: "\e4bc"; } +.icon-square-arrow-up:before { content: "\e42e"; } +.icon-square-asterisk:before { content: "\e16b"; } +.icon-square-bottom-dashed-scissors:before { content: "\e4ef"; } +.icon-square-chart-gantt:before { content: "\e16c"; } +.icon-square-check-big:before { content: "\e16d"; } +.icon-square-check:before { content: "\e55d"; } +.icon-square-chevron-down:before { content: "\e3d2"; } +.icon-square-chevron-left:before { content: "\e3d3"; } +.icon-square-chevron-right:before { content: "\e3d4"; } +.icon-square-chevron-up:before { content: "\e3d5"; } +.icon-square-code:before { content: "\e16e"; } +.icon-square-dashed-bottom-code:before { content: "\e4c5"; } +.icon-square-dashed-bottom:before { content: "\e4c4"; } +.icon-square-dashed-kanban:before { content: "\e16f"; } +.icon-square-dashed-mouse-pointer:before { content: "\e50d"; } +.icon-square-dashed:before { content: "\e1ca"; } +.icon-square-divide:before { content: "\e170"; } +.icon-square-dot:before { content: "\e171"; } +.icon-square-equal:before { content: "\e172"; } +.icon-square-function:before { content: "\e22c"; } +.icon-square-kanban:before { content: "\e173"; } +.icon-square-library:before { content: "\e553"; } +.icon-square-m:before { content: "\e507"; } +.icon-square-menu:before { content: "\e457"; } +.icon-square-minus:before { content: "\e174"; } +.icon-square-mouse-pointer:before { content: "\e201"; } +.icon-square-parking-off:before { content: "\e3cf"; } +.icon-square-parking:before { content: "\e3ce"; } +.icon-square-pen:before { content: "\e175"; } +.icon-square-percent:before { content: "\e520"; } +.icon-square-pi:before { content: "\e48c"; } +.icon-square-pilcrow:before { content: "\e48f"; } +.icon-square-play:before { content: "\e485"; } +.icon-square-plus:before { content: "\e176"; } +.icon-square-power:before { content: "\e555"; } +.icon-square-radical:before { content: "\e5c7"; } +.icon-square-round-corner:before { content: "\e64c"; } +.icon-square-scissors:before { content: "\e4f0"; } +.icon-square-sigma:before { content: "\e48d"; } +.icon-square-slash:before { content: "\e177"; } +.icon-square-split-horizontal:before { content: "\e3b9"; } +.icon-square-split-vertical:before { content: "\e3ba"; } +.icon-square-square:before { content: "\e612"; } +.icon-square-stack:before { content: "\e4a6"; } +.icon-square-terminal:before { content: "\e209"; } +.icon-square-user-round:before { content: "\e46a"; } +.icon-square-user:before { content: "\e469"; } +.icon-square-x:before { content: "\e178"; } +.icon-square:before { content: "\e16a"; } +.icon-squircle:before { content: "\e57e"; } +.icon-squirrel:before { content: "\e4a3"; } +.icon-stamp:before { content: "\e3be"; } +.icon-star-half:before { content: "\e20a"; } +.icon-star-off:before { content: "\e2af"; } +.icon-star:before { content: "\e179"; } +.icon-step-back:before { content: "\e3ec"; } +.icon-step-forward:before { content: "\e3ed"; } +.icon-stethoscope:before { content: "\e2f0"; } +.icon-sticker:before { content: "\e301"; } +.icon-sticky-note:before { content: "\e302"; } +.icon-store:before { content: "\e3e7"; } +.icon-stretch-horizontal:before { content: "\e27b"; } +.icon-stretch-vertical:before { content: "\e27c"; } +.icon-strikethrough:before { content: "\e17a"; } +.icon-subscript:before { content: "\e25b"; } +.icon-sun-dim:before { content: "\e298"; } +.icon-sun-medium:before { content: "\e2b0"; } +.icon-sun-moon:before { content: "\e2b1"; } +.icon-sun-snow:before { content: "\e375"; } +.icon-sun:before { content: "\e17b"; } +.icon-sunrise:before { content: "\e17c"; } +.icon-sunset:before { content: "\e17d"; } +.icon-superscript:before { content: "\e25d"; } +.icon-swatch-book:before { content: "\e5a3"; } +.icon-swiss-franc:before { content: "\e17e"; } +.icon-switch-camera:before { content: "\e17f"; } +.icon-sword:before { content: "\e2b2"; } +.icon-swords:before { content: "\e2b3"; } +.icon-syringe:before { content: "\e2f1"; } +.icon-table-2:before { content: "\e2f8"; } +.icon-table-cells-merge:before { content: "\e5cb"; } +.icon-table-cells-split:before { content: "\e5cc"; } +.icon-table-columns-split:before { content: "\e5cd"; } +.icon-table-of-contents:before { content: "\e622"; } +.icon-table-properties:before { content: "\e4df"; } +.icon-table-rows-split:before { content: "\e5ce"; } +.icon-table:before { content: "\e180"; } +.icon-tablet-smartphone:before { content: "\e50e"; } +.icon-tablet:before { content: "\e181"; } +.icon-tablets:before { content: "\e3c1"; } +.icon-tag:before { content: "\e182"; } +.icon-tags:before { content: "\e35f"; } +.icon-tally-1:before { content: "\e4da"; } +.icon-tally-2:before { content: "\e4db"; } +.icon-tally-3:before { content: "\e4dc"; } +.icon-tally-4:before { content: "\e4dd"; } +.icon-tally-5:before { content: "\e4de"; } +.icon-tangent:before { content: "\e532"; } +.icon-target:before { content: "\e183"; } +.icon-telescope:before { content: "\e5c9"; } +.icon-tent-tree:before { content: "\e53f"; } +.icon-tent:before { content: "\e226"; } +.icon-terminal:before { content: "\e184"; } +.icon-test-tube-diagonal:before { content: "\e40a"; } +.icon-test-tube:before { content: "\e409"; } +.icon-test-tubes:before { content: "\e40b"; } +.icon-text-cursor-input:before { content: "\e264"; } +.icon-text-cursor:before { content: "\e263"; } +.icon-text-quote:before { content: "\e4a2"; } +.icon-text-search:before { content: "\e5b1"; } +.icon-text-select:before { content: "\e3e1"; } +.icon-text:before { content: "\e3ee"; } +.icon-theater:before { content: "\e526"; } +.icon-thermometer-snowflake:before { content: "\e186"; } +.icon-thermometer-sun:before { content: "\e187"; } +.icon-thermometer:before { content: "\e185"; } +.icon-thumbs-down:before { content: "\e188"; } +.icon-thumbs-up:before { content: "\e189"; } +.icon-ticket-check:before { content: "\e5b2"; } +.icon-ticket-minus:before { content: "\e5b3"; } +.icon-ticket-percent:before { content: "\e5b4"; } +.icon-ticket-plus:before { content: "\e5b5"; } +.icon-ticket-slash:before { content: "\e5b6"; } +.icon-ticket-x:before { content: "\e5b7"; } +.icon-ticket:before { content: "\e20e"; } +.icon-tickets-plane:before { content: "\e627"; } +.icon-tickets:before { content: "\e626"; } +.icon-timer-off:before { content: "\e248"; } +.icon-timer-reset:before { content: "\e235"; } +.icon-timer:before { content: "\e1df"; } +.icon-toggle-left:before { content: "\e18a"; } +.icon-toggle-right:before { content: "\e18b"; } +.icon-toilet:before { content: "\e639"; } +.icon-tornado:before { content: "\e217"; } +.icon-torus:before { content: "\e533"; } +.icon-touchpad-off:before { content: "\e44e"; } +.icon-touchpad:before { content: "\e44d"; } +.icon-tower-control:before { content: "\e3bf"; } +.icon-toy-brick:before { content: "\e34a"; } +.icon-tractor:before { content: "\e508"; } +.icon-traffic-cone:before { content: "\e509"; } +.icon-train-front-tunnel:before { content: "\e50b"; } +.icon-train-front:before { content: "\e50a"; } +.icon-train-track:before { content: "\e50c"; } +.icon-tram-front:before { content: "\e2a8"; } +.icon-transgender:before { content: "\e648"; } +.icon-trash-2:before { content: "\e18d"; } +.icon-trash:before { content: "\e18c"; } +.icon-tree-deciduous:before { content: "\e2f2"; } +.icon-tree-palm:before { content: "\e280"; } +.icon-tree-pine:before { content: "\e2f3"; } +.icon-trees:before { content: "\e2f4"; } +.icon-trello:before { content: "\e18e"; } +.icon-trending-down:before { content: "\e18f"; } +.icon-trending-up-down:before { content: "\e629"; } +.icon-trending-up:before { content: "\e190"; } +.icon-triangle-alert:before { content: "\e192"; } +.icon-triangle-dashed:before { content: "\e641"; } +.icon-triangle-right:before { content: "\e4f1"; } +.icon-triangle:before { content: "\e191"; } +.icon-trophy:before { content: "\e376"; } +.icon-truck:before { content: "\e193"; } +.icon-turtle:before { content: "\e4fd"; } +.icon-tv-minimal-play:before { content: "\e5f0"; } +.icon-tv-minimal:before { content: "\e202"; } +.icon-tv:before { content: "\e194"; } +.icon-twitch:before { content: "\e195"; } +.icon-twitter:before { content: "\e196"; } +.icon-type-outline:before { content: "\e606"; } +.icon-type:before { content: "\e197"; } +.icon-umbrella-off:before { content: "\e547"; } +.icon-umbrella:before { content: "\e198"; } +.icon-underline:before { content: "\e199"; } +.icon-undo-2:before { content: "\e2a0"; } +.icon-undo-dot:before { content: "\e455"; } +.icon-undo:before { content: "\e19a"; } +.icon-unfold-horizontal:before { content: "\e441"; } +.icon-unfold-vertical:before { content: "\e442"; } +.icon-ungroup:before { content: "\e46b"; } +.icon-university:before { content: "\e3e8"; } +.icon-unlink-2:before { content: "\e19c"; } +.icon-unlink:before { content: "\e19b"; } +.icon-unplug:before { content: "\e461"; } +.icon-upload:before { content: "\e19d"; } +.icon-usb:before { content: "\e359"; } +.icon-user-check:before { content: "\e19f"; } +.icon-user-cog:before { content: "\e345"; } +.icon-user-minus:before { content: "\e1a0"; } +.icon-user-pen:before { content: "\e600"; } +.icon-user-plus:before { content: "\e1a1"; } +.icon-user-round-check:before { content: "\e46d"; } +.icon-user-round-cog:before { content: "\e46e"; } +.icon-user-round-minus:before { content: "\e46f"; } +.icon-user-round-pen:before { content: "\e601"; } +.icon-user-round-plus:before { content: "\e470"; } +.icon-user-round-search:before { content: "\e57c"; } +.icon-user-round-x:before { content: "\e471"; } +.icon-user-round:before { content: "\e46c"; } +.icon-user-search:before { content: "\e57d"; } +.icon-user-x:before { content: "\e1a2"; } +.icon-user:before { content: "\e19e"; } +.icon-users-round:before { content: "\e472"; } +.icon-users:before { content: "\e1a3"; } +.icon-utensils-crossed:before { content: "\e2f6"; } +.icon-utensils:before { content: "\e2f5"; } +.icon-utility-pole:before { content: "\e3c5"; } +.icon-variable:before { content: "\e477"; } +.icon-vault:before { content: "\e593"; } +.icon-vegan:before { content: "\e3a0"; } +.icon-venetian-mask:before { content: "\e2a9"; } +.icon-venus-and-mars:before { content: "\e64a"; } +.icon-venus:before { content: "\e649"; } +.icon-vibrate-off:before { content: "\e29c"; } +.icon-vibrate:before { content: "\e222"; } +.icon-video-off:before { content: "\e1a5"; } +.icon-video:before { content: "\e1a4"; } +.icon-videotape:before { content: "\e4cf"; } +.icon-view:before { content: "\e1a6"; } +.icon-voicemail:before { content: "\e1a7"; } +.icon-volleyball:before { content: "\e633"; } +.icon-volume-1:before { content: "\e1a9"; } +.icon-volume-2:before { content: "\e1aa"; } +.icon-volume-off:before { content: "\e62a"; } +.icon-volume-x:before { content: "\e1ab"; } +.icon-volume:before { content: "\e1a8"; } +.icon-vote:before { content: "\e3b0"; } +.icon-wallet-cards:before { content: "\e4d0"; } +.icon-wallet-minimal:before { content: "\e4d1"; } +.icon-wallet:before { content: "\e203"; } +.icon-wallpaper:before { content: "\e44f"; } +.icon-wand-sparkles:before { content: "\e35a"; } +.icon-wand:before { content: "\e245"; } +.icon-warehouse:before { content: "\e3e9"; } +.icon-washing-machine:before { content: "\e594"; } +.icon-watch:before { content: "\e1ac"; } +.icon-waves-ladder:before { content: "\e63f"; } +.icon-waves:before { content: "\e282"; } +.icon-waypoints:before { content: "\e546"; } +.icon-webcam:before { content: "\e204"; } +.icon-webhook-off:before { content: "\e5bb"; } +.icon-webhook:before { content: "\e377"; } +.icon-weight:before { content: "\e534"; } +.icon-wheat-off:before { content: "\e3a2"; } +.icon-wheat:before { content: "\e3a1"; } +.icon-whole-word:before { content: "\e3e2"; } +.icon-wifi-high:before { content: "\e5fb"; } +.icon-wifi-low:before { content: "\e5fc"; } +.icon-wifi-off:before { content: "\e1ae"; } +.icon-wifi-zero:before { content: "\e5fd"; } +.icon-wifi:before { content: "\e1ad"; } +.icon-wind-arrow-down:before { content: "\e635"; } +.icon-wind:before { content: "\e1af"; } +.icon-wine-off:before { content: "\e3a3"; } +.icon-wine:before { content: "\e2f7"; } +.icon-workflow:before { content: "\e429"; } +.icon-worm:before { content: "\e5de"; } +.icon-wrap-text:before { content: "\e247"; } +.icon-wrench:before { content: "\e1b0"; } +.icon-x:before { content: "\e1b1"; } +.icon-youtube:before { content: "\e1b2"; } +.icon-zap-off:before { content: "\e1b4"; } +.icon-zap:before { content: "\e1b3"; } +.icon-zoom-in:before { content: "\e1b5"; } +.icon-zoom-out:before { content: "\e1b6"; } + +} diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.scss b/third_party/shadcn_flutter/icons/lucide/lucide.scss new file mode 100644 index 00000000..3e222aee --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/lucide.scss @@ -0,0 +1,3133 @@ +@font-face {font-family: "lucide"; + src: url('lucide.eot?t=1741351670382'); /* IE9*/ + src: url('lucide.eot?t=1741351670382#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url("lucide.woff2?t=1741351670382") format("woff2"), + url("lucide.woff?t=1741351670382") format("woff"), + url('lucide.ttf?t=1741351670382') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + url('lucide.svg?t=1741351670382#lucide') format('svg'); /* iOS 4.1- */ +} + +[class^="icon-"], [class*=" icon-"] { + font-family: 'lucide' !important;font-size: inherit; + font-style:normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +.icon-a-arrow-down:before { content: "\e589"; } +.icon-a-arrow-up:before { content: "\e58a"; } +.icon-a-large-small:before { content: "\e58b"; } +.icon-accessibility:before { content: "\e296"; } +.icon-activity:before { content: "\e038"; } +.icon-air-vent:before { content: "\e350"; } +.icon-airplay:before { content: "\e039"; } +.icon-alarm-clock-check:before { content: "\e1eb"; } +.icon-alarm-clock-minus:before { content: "\e1ec"; } +.icon-alarm-clock-off:before { content: "\e23a"; } +.icon-alarm-clock-plus:before { content: "\e1ed"; } +.icon-alarm-clock:before { content: "\e03a"; } +.icon-alarm-smoke:before { content: "\e57f"; } +.icon-album:before { content: "\e03b"; } +.icon-align-center-horizontal:before { content: "\e26b"; } +.icon-align-center-vertical:before { content: "\e26c"; } +.icon-align-center:before { content: "\e03c"; } +.icon-align-end-horizontal:before { content: "\e26d"; } +.icon-align-end-vertical:before { content: "\e26e"; } +.icon-align-horizontal-distribute-center:before { content: "\e03d"; } +.icon-align-horizontal-distribute-end:before { content: "\e03e"; } +.icon-align-horizontal-distribute-start:before { content: "\e03f"; } +.icon-align-horizontal-justify-center:before { content: "\e271"; } +.icon-align-horizontal-justify-end:before { content: "\e272"; } +.icon-align-horizontal-justify-start:before { content: "\e273"; } +.icon-align-horizontal-space-around:before { content: "\e274"; } +.icon-align-horizontal-space-between:before { content: "\e275"; } +.icon-align-justify:before { content: "\e040"; } +.icon-align-left:before { content: "\e041"; } +.icon-align-right:before { content: "\e042"; } +.icon-align-start-horizontal:before { content: "\e26f"; } +.icon-align-start-vertical:before { content: "\e270"; } +.icon-align-vertical-distribute-center:before { content: "\e27d"; } +.icon-align-vertical-distribute-end:before { content: "\e27e"; } +.icon-align-vertical-distribute-start:before { content: "\e27f"; } +.icon-align-vertical-justify-center:before { content: "\e276"; } +.icon-align-vertical-justify-end:before { content: "\e277"; } +.icon-align-vertical-justify-start:before { content: "\e278"; } +.icon-align-vertical-space-around:before { content: "\e279"; } +.icon-align-vertical-space-between:before { content: "\e27a"; } +.icon-ambulance:before { content: "\e5bf"; } +.icon-ampersand:before { content: "\e4a0"; } +.icon-ampersands:before { content: "\e4a1"; } +.icon-amphora:before { content: "\e61f"; } +.icon-anchor:before { content: "\e043"; } +.icon-angry:before { content: "\e2fb"; } +.icon-annoyed:before { content: "\e2fc"; } +.icon-antenna:before { content: "\e4e6"; } +.icon-anvil:before { content: "\e584"; } +.icon-aperture:before { content: "\e044"; } +.icon-app-window-mac:before { content: "\e5d6"; } +.icon-app-window:before { content: "\e42a"; } +.icon-apple:before { content: "\e351"; } +.icon-archive-restore:before { content: "\e2cc"; } +.icon-archive-x:before { content: "\e510"; } +.icon-archive:before { content: "\e045"; } +.icon-armchair:before { content: "\e2bf"; } +.icon-arrow-big-down-dash:before { content: "\e421"; } +.icon-arrow-big-down:before { content: "\e1e0"; } +.icon-arrow-big-left-dash:before { content: "\e422"; } +.icon-arrow-big-left:before { content: "\e1e1"; } +.icon-arrow-big-right-dash:before { content: "\e423"; } +.icon-arrow-big-right:before { content: "\e1e2"; } +.icon-arrow-big-up-dash:before { content: "\e424"; } +.icon-arrow-big-up:before { content: "\e1e3"; } +.icon-arrow-down-0-1:before { content: "\e417"; } +.icon-arrow-down-1-0:before { content: "\e418"; } +.icon-arrow-down-a-z:before { content: "\e419"; } +.icon-arrow-down-from-line:before { content: "\e458"; } +.icon-arrow-down-left:before { content: "\e047"; } +.icon-arrow-down-narrow-wide:before { content: "\e048"; } +.icon-arrow-down-right:before { content: "\e049"; } +.icon-arrow-down-to-dot:before { content: "\e451"; } +.icon-arrow-down-to-line:before { content: "\e459"; } +.icon-arrow-down-up:before { content: "\e04a"; } +.icon-arrow-down-wide-narrow:before { content: "\e04b"; } +.icon-arrow-down-z-a:before { content: "\e41a"; } +.icon-arrow-down:before { content: "\e046"; } +.icon-arrow-left-from-line:before { content: "\e45a"; } +.icon-arrow-left-right:before { content: "\e249"; } +.icon-arrow-left-to-line:before { content: "\e45b"; } +.icon-arrow-left:before { content: "\e04c"; } +.icon-arrow-right-from-line:before { content: "\e45c"; } +.icon-arrow-right-left:before { content: "\e41b"; } +.icon-arrow-right-to-line:before { content: "\e45d"; } +.icon-arrow-right:before { content: "\e04d"; } +.icon-arrow-up-0-1:before { content: "\e41c"; } +.icon-arrow-up-1-0:before { content: "\e41d"; } +.icon-arrow-up-a-z:before { content: "\e41e"; } +.icon-arrow-up-down:before { content: "\e380"; } +.icon-arrow-up-from-dot:before { content: "\e452"; } +.icon-arrow-up-from-line:before { content: "\e45e"; } +.icon-arrow-up-left:before { content: "\e04f"; } +.icon-arrow-up-narrow-wide:before { content: "\e050"; } +.icon-arrow-up-right:before { content: "\e051"; } +.icon-arrow-up-to-line:before { content: "\e45f"; } +.icon-arrow-up-wide-narrow:before { content: "\e41f"; } +.icon-arrow-up-z-a:before { content: "\e420"; } +.icon-arrow-up:before { content: "\e04e"; } +.icon-arrows-up-from-line:before { content: "\e4d8"; } +.icon-asterisk:before { content: "\e1ee"; } +.icon-at-sign:before { content: "\e052"; } +.icon-atom:before { content: "\e3da"; } +.icon-audio-lines:before { content: "\e55e"; } +.icon-audio-waveform:before { content: "\e55f"; } +.icon-award:before { content: "\e053"; } +.icon-axe:before { content: "\e054"; } +.icon-axis-3d:before { content: "\e2fd"; } +.icon-baby:before { content: "\e2cd"; } +.icon-backpack:before { content: "\e2c7"; } +.icon-badge-alert:before { content: "\e479"; } +.icon-badge-cent:before { content: "\e513"; } +.icon-badge-check:before { content: "\e240"; } +.icon-badge-dollar-sign:before { content: "\e47a"; } +.icon-badge-euro:before { content: "\e514"; } +.icon-badge-help:before { content: "\e47b"; } +.icon-badge-indian-rupee:before { content: "\e515"; } +.icon-badge-info:before { content: "\e47c"; } +.icon-badge-japanese-yen:before { content: "\e516"; } +.icon-badge-minus:before { content: "\e47d"; } +.icon-badge-percent:before { content: "\e47e"; } +.icon-badge-plus:before { content: "\e47f"; } +.icon-badge-pound-sterling:before { content: "\e517"; } +.icon-badge-russian-ruble:before { content: "\e518"; } +.icon-badge-swiss-franc:before { content: "\e519"; } +.icon-badge-x:before { content: "\e480"; } +.icon-badge:before { content: "\e478"; } +.icon-baggage-claim:before { content: "\e2c8"; } +.icon-ban:before { content: "\e055"; } +.icon-banana:before { content: "\e352"; } +.icon-bandage:before { content: "\e621"; } +.icon-banknote:before { content: "\e056"; } +.icon-barcode:before { content: "\e537"; } +.icon-baseline:before { content: "\e284"; } +.icon-bath:before { content: "\e2aa"; } +.icon-battery-charging:before { content: "\e058"; } +.icon-battery-full:before { content: "\e059"; } +.icon-battery-low:before { content: "\e05a"; } +.icon-battery-medium:before { content: "\e05b"; } +.icon-battery-plus:before { content: "\e642"; } +.icon-battery-warning:before { content: "\e3af"; } +.icon-battery:before { content: "\e057"; } +.icon-beaker:before { content: "\e05c"; } +.icon-bean-off:before { content: "\e393"; } +.icon-bean:before { content: "\e392"; } +.icon-bed-double:before { content: "\e2c1"; } +.icon-bed-single:before { content: "\e2c2"; } +.icon-bed:before { content: "\e2c0"; } +.icon-beef:before { content: "\e3a8"; } +.icon-beer-off:before { content: "\e5dd"; } +.icon-beer:before { content: "\e2ce"; } +.icon-bell-dot:before { content: "\e42f"; } +.icon-bell-electric:before { content: "\e580"; } +.icon-bell-minus:before { content: "\e1ef"; } +.icon-bell-off:before { content: "\e05e"; } +.icon-bell-plus:before { content: "\e1f0"; } +.icon-bell-ring:before { content: "\e223"; } +.icon-bell:before { content: "\e05d"; } +.icon-between-horizontal-end:before { content: "\e595"; } +.icon-between-horizontal-start:before { content: "\e596"; } +.icon-between-vertical-end:before { content: "\e597"; } +.icon-between-vertical-start:before { content: "\e598"; } +.icon-biceps-flexed:before { content: "\e5ef"; } +.icon-bike:before { content: "\e1d1"; } +.icon-binary:before { content: "\e1f1"; } +.icon-binoculars:before { content: "\e625"; } +.icon-biohazard:before { content: "\e445"; } +.icon-bird:before { content: "\e3c8"; } +.icon-bitcoin:before { content: "\e05f"; } +.icon-blend:before { content: "\e5a0"; } +.icon-blinds:before { content: "\e3c3"; } +.icon-blocks:before { content: "\e4fe"; } +.icon-bluetooth-connected:before { content: "\e1b7"; } +.icon-bluetooth-off:before { content: "\e1b8"; } +.icon-bluetooth-searching:before { content: "\e1b9"; } +.icon-bluetooth:before { content: "\e060"; } +.icon-bold:before { content: "\e061"; } +.icon-bolt:before { content: "\e590"; } +.icon-bomb:before { content: "\e2fe"; } +.icon-bone:before { content: "\e35b"; } +.icon-book-a:before { content: "\e548"; } +.icon-book-audio:before { content: "\e549"; } +.icon-book-check:before { content: "\e54a"; } +.icon-book-copy:before { content: "\e3f0"; } +.icon-book-dashed:before { content: "\e3f1"; } +.icon-book-down:before { content: "\e3f2"; } +.icon-book-headphones:before { content: "\e54b"; } +.icon-book-heart:before { content: "\e54c"; } +.icon-book-image:before { content: "\e54d"; } +.icon-book-key:before { content: "\e3f3"; } +.icon-book-lock:before { content: "\e3f4"; } +.icon-book-marked:before { content: "\e3f5"; } +.icon-book-minus:before { content: "\e3f6"; } +.icon-book-open-check:before { content: "\e384"; } +.icon-book-open-text:before { content: "\e54e"; } +.icon-book-open:before { content: "\e063"; } +.icon-book-plus:before { content: "\e3f7"; } +.icon-book-text:before { content: "\e54f"; } +.icon-book-type:before { content: "\e550"; } +.icon-book-up-2:before { content: "\e4aa"; } +.icon-book-up:before { content: "\e3f8"; } +.icon-book-user:before { content: "\e551"; } +.icon-book-x:before { content: "\e3f9"; } +.icon-book:before { content: "\e062"; } +.icon-bookmark-check:before { content: "\e523"; } +.icon-bookmark-minus:before { content: "\e23b"; } +.icon-bookmark-plus:before { content: "\e23c"; } +.icon-bookmark-x:before { content: "\e524"; } +.icon-bookmark:before { content: "\e064"; } +.icon-boom-box:before { content: "\e4f2"; } +.icon-bot-message-square:before { content: "\e5d2"; } +.icon-bot-off:before { content: "\e5e4"; } +.icon-bot:before { content: "\e1ba"; } +.icon-box:before { content: "\e065"; } +.icon-boxes:before { content: "\e2cf"; } +.icon-braces:before { content: "\e36d"; } +.icon-brackets:before { content: "\e447"; } +.icon-brain-circuit:before { content: "\e3ca"; } +.icon-brain-cog:before { content: "\e3cb"; } +.icon-brain:before { content: "\e3c9"; } +.icon-brick-wall:before { content: "\e585"; } +.icon-briefcase-business:before { content: "\e5d9"; } +.icon-briefcase-conveyor-belt:before { content: "\e62f"; } +.icon-briefcase-medical:before { content: "\e5da"; } +.icon-briefcase:before { content: "\e066"; } +.icon-bring-to-front:before { content: "\e4f3"; } +.icon-brush:before { content: "\e1d2"; } +.icon-bug-off:before { content: "\e511"; } +.icon-bug-play:before { content: "\e512"; } +.icon-bug:before { content: "\e20b"; } +.icon-building-2:before { content: "\e28f"; } +.icon-building:before { content: "\e1cb"; } +.icon-bus-front:before { content: "\e4ff"; } +.icon-bus:before { content: "\e1d3"; } +.icon-cable-car:before { content: "\e500"; } +.icon-cable:before { content: "\e4e7"; } +.icon-cake-slice:before { content: "\e4bd"; } +.icon-cake:before { content: "\e347"; } +.icon-calculator:before { content: "\e1bb"; } +.icon-calendar-1:before { content: "\e634"; } +.icon-calendar-arrow-down:before { content: "\e602"; } +.icon-calendar-arrow-up:before { content: "\e603"; } +.icon-calendar-check-2:before { content: "\e2b7"; } +.icon-calendar-check:before { content: "\e2b6"; } +.icon-calendar-clock:before { content: "\e303"; } +.icon-calendar-cog:before { content: "\e5f1"; } +.icon-calendar-days:before { content: "\e2b8"; } +.icon-calendar-fold:before { content: "\e5b8"; } +.icon-calendar-heart:before { content: "\e304"; } +.icon-calendar-minus-2:before { content: "\e5b9"; } +.icon-calendar-minus:before { content: "\e2b9"; } +.icon-calendar-off:before { content: "\e2ba"; } +.icon-calendar-plus-2:before { content: "\e5ba"; } +.icon-calendar-plus:before { content: "\e2bb"; } +.icon-calendar-range:before { content: "\e2bc"; } +.icon-calendar-search:before { content: "\e305"; } +.icon-calendar-sync:before { content: "\e63a"; } +.icon-calendar-x-2:before { content: "\e2be"; } +.icon-calendar-x:before { content: "\e2bd"; } +.icon-calendar:before { content: "\e067"; } +.icon-camera-off:before { content: "\e069"; } +.icon-camera:before { content: "\e068"; } +.icon-candy-cane:before { content: "\e4be"; } +.icon-candy-off:before { content: "\e395"; } +.icon-candy:before { content: "\e394"; } +.icon-cannabis:before { content: "\e5d8"; } +.icon-captions-off:before { content: "\e5c5"; } +.icon-captions:before { content: "\e3a7"; } +.icon-car-front:before { content: "\e501"; } +.icon-car-taxi-front:before { content: "\e502"; } +.icon-car:before { content: "\e1d4"; } +.icon-caravan:before { content: "\e53d"; } +.icon-carrot:before { content: "\e259"; } +.icon-case-lower:before { content: "\e3db"; } +.icon-case-sensitive:before { content: "\e3dc"; } +.icon-case-upper:before { content: "\e3dd"; } +.icon-cassette-tape:before { content: "\e4ce"; } +.icon-cast:before { content: "\e06a"; } +.icon-castle:before { content: "\e3e3"; } +.icon-cat:before { content: "\e38f"; } +.icon-cctv:before { content: "\e581"; } +.icon-chart-area:before { content: "\e4d7"; } +.icon-chart-bar-big:before { content: "\e4ab"; } +.icon-chart-bar-decreasing:before { content: "\e60b"; } +.icon-chart-bar-increasing:before { content: "\e60c"; } +.icon-chart-bar-stacked:before { content: "\e60d"; } +.icon-chart-bar:before { content: "\e2a1"; } +.icon-chart-candlestick:before { content: "\e4ac"; } +.icon-chart-column-big:before { content: "\e4ad"; } +.icon-chart-column-decreasing:before { content: "\e06b"; } +.icon-chart-column-increasing:before { content: "\e2a3"; } +.icon-chart-column-stacked:before { content: "\e60e"; } +.icon-chart-column:before { content: "\e2a2"; } +.icon-chart-gantt:before { content: "\e628"; } +.icon-chart-line:before { content: "\e2a4"; } +.icon-chart-network:before { content: "\e60f"; } +.icon-chart-no-axes-column-decreasing:before { content: "\e06d"; } +.icon-chart-no-axes-column-increasing:before { content: "\e06e"; } +.icon-chart-no-axes-column:before { content: "\e06c"; } +.icon-chart-no-axes-combined:before { content: "\e610"; } +.icon-chart-no-axes-gantt:before { content: "\e4c8"; } +.icon-chart-pie:before { content: "\e06f"; } +.icon-chart-scatter:before { content: "\e48e"; } +.icon-chart-spline:before { content: "\e611"; } +.icon-check-check:before { content: "\e391"; } +.icon-check:before { content: "\e070"; } +.icon-chef-hat:before { content: "\e2ab"; } +.icon-cherry:before { content: "\e353"; } +.icon-chevron-down:before { content: "\e071"; } +.icon-chevron-first:before { content: "\e242"; } +.icon-chevron-last:before { content: "\e243"; } +.icon-chevron-left:before { content: "\e072"; } +.icon-chevron-right:before { content: "\e073"; } +.icon-chevron-up:before { content: "\e074"; } +.icon-chevrons-down-up:before { content: "\e227"; } +.icon-chevrons-down:before { content: "\e075"; } +.icon-chevrons-left-right-ellipsis:before { content: "\e623"; } +.icon-chevrons-left-right:before { content: "\e292"; } +.icon-chevrons-left:before { content: "\e076"; } +.icon-chevrons-right-left:before { content: "\e293"; } +.icon-chevrons-right:before { content: "\e077"; } +.icon-chevrons-up-down:before { content: "\e210"; } +.icon-chevrons-up:before { content: "\e078"; } +.icon-chrome:before { content: "\e079"; } +.icon-church:before { content: "\e3e4"; } +.icon-cigarette-off:before { content: "\e2c6"; } +.icon-cigarette:before { content: "\e2c5"; } +.icon-circle-alert:before { content: "\e07b"; } +.icon-circle-arrow-down:before { content: "\e07c"; } +.icon-circle-arrow-left:before { content: "\e07d"; } +.icon-circle-arrow-out-down-left:before { content: "\e3fb"; } +.icon-circle-arrow-out-down-right:before { content: "\e3fc"; } +.icon-circle-arrow-out-up-left:before { content: "\e3fd"; } +.icon-circle-arrow-out-up-right:before { content: "\e3fe"; } +.icon-circle-arrow-right:before { content: "\e07e"; } +.icon-circle-arrow-up:before { content: "\e07f"; } +.icon-circle-check-big:before { content: "\e080"; } +.icon-circle-check:before { content: "\e225"; } +.icon-circle-chevron-down:before { content: "\e4e1"; } +.icon-circle-chevron-left:before { content: "\e4e2"; } +.icon-circle-chevron-right:before { content: "\e4e3"; } +.icon-circle-chevron-up:before { content: "\e4e4"; } +.icon-circle-dashed:before { content: "\e4b4"; } +.icon-circle-divide:before { content: "\e081"; } +.icon-circle-dollar-sign:before { content: "\e481"; } +.icon-circle-dot-dashed:before { content: "\e4b5"; } +.icon-circle-dot:before { content: "\e348"; } +.icon-circle-ellipsis:before { content: "\e349"; } +.icon-circle-equal:before { content: "\e404"; } +.icon-circle-fading-arrow-up:before { content: "\e61c"; } +.icon-circle-fading-plus:before { content: "\e5c0"; } +.icon-circle-gauge:before { content: "\e4e5"; } +.icon-circle-help:before { content: "\e082"; } +.icon-circle-minus:before { content: "\e083"; } +.icon-circle-off:before { content: "\e405"; } +.icon-circle-parking-off:before { content: "\e3cd"; } +.icon-circle-parking:before { content: "\e3cc"; } +.icon-circle-pause:before { content: "\e084"; } +.icon-circle-percent:before { content: "\e51e"; } +.icon-circle-play:before { content: "\e085"; } +.icon-circle-plus:before { content: "\e086"; } +.icon-circle-power:before { content: "\e554"; } +.icon-circle-slash-2:before { content: "\e212"; } +.icon-circle-slash:before { content: "\e406"; } +.icon-circle-small:before { content: "\e644"; } +.icon-circle-stop:before { content: "\e087"; } +.icon-circle-user-round:before { content: "\e466"; } +.icon-circle-user:before { content: "\e465"; } +.icon-circle-x:before { content: "\e088"; } +.icon-circle:before { content: "\e07a"; } +.icon-circuit-board:before { content: "\e407"; } +.icon-citrus:before { content: "\e378"; } +.icon-clapperboard:before { content: "\e29a"; } +.icon-clipboard-check:before { content: "\e218"; } +.icon-clipboard-copy:before { content: "\e224"; } +.icon-clipboard-list:before { content: "\e08a"; } +.icon-clipboard-minus:before { content: "\e5c2"; } +.icon-clipboard-paste:before { content: "\e3eb"; } +.icon-clipboard-pen-line:before { content: "\e307"; } +.icon-clipboard-pen:before { content: "\e306"; } +.icon-clipboard-plus:before { content: "\e5c3"; } +.icon-clipboard-type:before { content: "\e308"; } +.icon-clipboard-x:before { content: "\e221"; } +.icon-clipboard:before { content: "\e089"; } +.icon-clock-1:before { content: "\e24a"; } +.icon-clock-10:before { content: "\e24b"; } +.icon-clock-11:before { content: "\e24c"; } +.icon-clock-12:before { content: "\e24d"; } +.icon-clock-2:before { content: "\e24e"; } +.icon-clock-3:before { content: "\e24f"; } +.icon-clock-4:before { content: "\e250"; } +.icon-clock-5:before { content: "\e251"; } +.icon-clock-6:before { content: "\e252"; } +.icon-clock-7:before { content: "\e253"; } +.icon-clock-8:before { content: "\e254"; } +.icon-clock-9:before { content: "\e255"; } +.icon-clock-alert:before { content: "\e62e"; } +.icon-clock-arrow-down:before { content: "\e604"; } +.icon-clock-arrow-up:before { content: "\e605"; } +.icon-clock:before { content: "\e08b"; } +.icon-cloud-alert:before { content: "\e637"; } +.icon-cloud-cog:before { content: "\e309"; } +.icon-cloud-download:before { content: "\e08d"; } +.icon-cloud-drizzle:before { content: "\e08e"; } +.icon-cloud-fog:before { content: "\e213"; } +.icon-cloud-hail:before { content: "\e08f"; } +.icon-cloud-lightning:before { content: "\e090"; } +.icon-cloud-moon-rain:before { content: "\e2f9"; } +.icon-cloud-moon:before { content: "\e214"; } +.icon-cloud-off:before { content: "\e091"; } +.icon-cloud-rain-wind:before { content: "\e093"; } +.icon-cloud-rain:before { content: "\e092"; } +.icon-cloud-snow:before { content: "\e094"; } +.icon-cloud-sun-rain:before { content: "\e2fa"; } +.icon-cloud-sun:before { content: "\e215"; } +.icon-cloud-upload:before { content: "\e095"; } +.icon-cloud:before { content: "\e08c"; } +.icon-cloudy:before { content: "\e216"; } +.icon-clover:before { content: "\e096"; } +.icon-club:before { content: "\e49a"; } +.icon-code-xml:before { content: "\e205"; } +.icon-code:before { content: "\e097"; } +.icon-codepen:before { content: "\e098"; } +.icon-codesandbox:before { content: "\e099"; } +.icon-coffee:before { content: "\e09a"; } +.icon-cog:before { content: "\e30a"; } +.icon-coins:before { content: "\e09b"; } +.icon-columns-2:before { content: "\e09c"; } +.icon-columns-3:before { content: "\e09d"; } +.icon-columns-4:before { content: "\e58d"; } +.icon-combine:before { content: "\e450"; } +.icon-command:before { content: "\e09e"; } +.icon-compass:before { content: "\e09f"; } +.icon-component:before { content: "\e2ac"; } +.icon-computer:before { content: "\e4e8"; } +.icon-concierge-bell:before { content: "\e37b"; } +.icon-cone:before { content: "\e527"; } +.icon-construction:before { content: "\e3b7"; } +.icon-contact-round:before { content: "\e467"; } +.icon-contact:before { content: "\e0a0"; } +.icon-container:before { content: "\e4d9"; } +.icon-contrast:before { content: "\e0a1"; } +.icon-cookie:before { content: "\e26a"; } +.icon-cooking-pot:before { content: "\e588"; } +.icon-copy-check:before { content: "\e3ff"; } +.icon-copy-minus:before { content: "\e400"; } +.icon-copy-plus:before { content: "\e401"; } +.icon-copy-slash:before { content: "\e402"; } +.icon-copy-x:before { content: "\e403"; } +.icon-copy:before { content: "\e0a2"; } +.icon-copyleft:before { content: "\e0a3"; } +.icon-copyright:before { content: "\e0a4"; } +.icon-corner-down-left:before { content: "\e0a5"; } +.icon-corner-down-right:before { content: "\e0a6"; } +.icon-corner-left-down:before { content: "\e0a7"; } +.icon-corner-left-up:before { content: "\e0a8"; } +.icon-corner-right-down:before { content: "\e0a9"; } +.icon-corner-right-up:before { content: "\e0aa"; } +.icon-corner-up-left:before { content: "\e0ab"; } +.icon-corner-up-right:before { content: "\e0ac"; } +.icon-cpu:before { content: "\e0ad"; } +.icon-creative-commons:before { content: "\e3b5"; } +.icon-credit-card:before { content: "\e0ae"; } +.icon-croissant:before { content: "\e2ad"; } +.icon-crop:before { content: "\e0af"; } +.icon-cross:before { content: "\e1e4"; } +.icon-crosshair:before { content: "\e0b0"; } +.icon-crown:before { content: "\e1d5"; } +.icon-cuboid:before { content: "\e528"; } +.icon-cup-soda:before { content: "\e2d0"; } +.icon-currency:before { content: "\e22f"; } +.icon-cylinder:before { content: "\e529"; } +.icon-dam:before { content: "\e60a"; } +.icon-database-backup:before { content: "\e3ae"; } +.icon-database-zap:before { content: "\e50f"; } +.icon-database:before { content: "\e0b1"; } +.icon-delete:before { content: "\e0b2"; } +.icon-dessert:before { content: "\e4bf"; } +.icon-diameter:before { content: "\e52a"; } +.icon-diamond-minus:before { content: "\e5e5"; } +.icon-diamond-percent:before { content: "\e51f"; } +.icon-diamond-plus:before { content: "\e5e6"; } +.icon-diamond:before { content: "\e2d1"; } +.icon-dice-1:before { content: "\e286"; } +.icon-dice-2:before { content: "\e287"; } +.icon-dice-3:before { content: "\e288"; } +.icon-dice-4:before { content: "\e289"; } +.icon-dice-5:before { content: "\e28a"; } +.icon-dice-6:before { content: "\e28b"; } +.icon-dices:before { content: "\e2c4"; } +.icon-diff:before { content: "\e30b"; } +.icon-disc-2:before { content: "\e3fa"; } +.icon-disc-3:before { content: "\e498"; } +.icon-disc-album:before { content: "\e560"; } +.icon-disc:before { content: "\e0b3"; } +.icon-divide:before { content: "\e0b4"; } +.icon-dna-off:before { content: "\e397"; } +.icon-dna:before { content: "\e396"; } +.icon-dock:before { content: "\e5d7"; } +.icon-dog:before { content: "\e390"; } +.icon-dollar-sign:before { content: "\e0b5"; } +.icon-donut:before { content: "\e4c0"; } +.icon-door-closed:before { content: "\e3d8"; } +.icon-door-open:before { content: "\e3d9"; } +.icon-dot:before { content: "\e453"; } +.icon-download:before { content: "\e0b6"; } +.icon-drafting-compass:before { content: "\e52b"; } +.icon-drama:before { content: "\e525"; } +.icon-dribbble:before { content: "\e0b7"; } +.icon-drill:before { content: "\e591"; } +.icon-droplet-off:before { content: "\e63c"; } +.icon-droplet:before { content: "\e0b8"; } +.icon-droplets:before { content: "\e0b9"; } +.icon-drum:before { content: "\e561"; } +.icon-drumstick:before { content: "\e25a"; } +.icon-dumbbell:before { content: "\e3a4"; } +.icon-ear-off:before { content: "\e386"; } +.icon-ear:before { content: "\e385"; } +.icon-earth-lock:before { content: "\e5d0"; } +.icon-earth:before { content: "\e1f2"; } +.icon-eclipse:before { content: "\e5a1"; } +.icon-egg-fried:before { content: "\e354"; } +.icon-egg-off:before { content: "\e398"; } +.icon-egg:before { content: "\e25c"; } +.icon-ellipsis-vertical:before { content: "\e0bb"; } +.icon-ellipsis:before { content: "\e0ba"; } +.icon-equal-approximately:before { content: "\e638"; } +.icon-equal-not:before { content: "\e1bd"; } +.icon-equal:before { content: "\e1bc"; } +.icon-eraser:before { content: "\e28e"; } +.icon-ethernet-port:before { content: "\e624"; } +.icon-euro:before { content: "\e0bc"; } +.icon-expand:before { content: "\e219"; } +.icon-external-link:before { content: "\e0bd"; } +.icon-eye-closed:before { content: "\e632"; } +.icon-eye-off:before { content: "\e0bf"; } +.icon-eye:before { content: "\e0be"; } +.icon-facebook:before { content: "\e0c0"; } +.icon-factory:before { content: "\e29e"; } +.icon-fan:before { content: "\e37c"; } +.icon-fast-forward:before { content: "\e0c1"; } +.icon-feather:before { content: "\e0c2"; } +.icon-fence:before { content: "\e586"; } +.icon-ferris-wheel:before { content: "\e483"; } +.icon-figma:before { content: "\e0c3"; } +.icon-file-archive:before { content: "\e30c"; } +.icon-file-audio-2:before { content: "\e30e"; } +.icon-file-audio:before { content: "\e30d"; } +.icon-file-axis-3d:before { content: "\e30f"; } +.icon-file-badge-2:before { content: "\e311"; } +.icon-file-badge:before { content: "\e310"; } +.icon-file-box:before { content: "\e312"; } +.icon-file-chart-column-increasing:before { content: "\e314"; } +.icon-file-chart-column:before { content: "\e313"; } +.icon-file-chart-line:before { content: "\e315"; } +.icon-file-chart-pie:before { content: "\e316"; } +.icon-file-check-2:before { content: "\e0c6"; } +.icon-file-check:before { content: "\e0c5"; } +.icon-file-clock:before { content: "\e317"; } +.icon-file-code-2:before { content: "\e462"; } +.icon-file-code:before { content: "\e0c7"; } +.icon-file-cog:before { content: "\e318"; } +.icon-file-diff:before { content: "\e319"; } +.icon-file-digit:before { content: "\e0c8"; } +.icon-file-down:before { content: "\e31a"; } +.icon-file-heart:before { content: "\e31b"; } +.icon-file-image:before { content: "\e31c"; } +.icon-file-input:before { content: "\e0c9"; } +.icon-file-json-2:before { content: "\e36f"; } +.icon-file-json:before { content: "\e36e"; } +.icon-file-key-2:before { content: "\e31e"; } +.icon-file-key:before { content: "\e31d"; } +.icon-file-lock-2:before { content: "\e320"; } +.icon-file-lock:before { content: "\e31f"; } +.icon-file-minus-2:before { content: "\e0cb"; } +.icon-file-minus:before { content: "\e0ca"; } +.icon-file-music:before { content: "\e562"; } +.icon-file-output:before { content: "\e0cc"; } +.icon-file-pen-line:before { content: "\e322"; } +.icon-file-pen:before { content: "\e321"; } +.icon-file-plus-2:before { content: "\e0ce"; } +.icon-file-plus:before { content: "\e0cd"; } +.icon-file-question:before { content: "\e323"; } +.icon-file-scan:before { content: "\e324"; } +.icon-file-search-2:before { content: "\e325"; } +.icon-file-search:before { content: "\e0cf"; } +.icon-file-sliders:before { content: "\e5a4"; } +.icon-file-spreadsheet:before { content: "\e326"; } +.icon-file-stack:before { content: "\e4a5"; } +.icon-file-symlink:before { content: "\e327"; } +.icon-file-terminal:before { content: "\e328"; } +.icon-file-text:before { content: "\e0d0"; } +.icon-file-type-2:before { content: "\e370"; } +.icon-file-type:before { content: "\e329"; } +.icon-file-up:before { content: "\e32a"; } +.icon-file-user:before { content: "\e631"; } +.icon-file-video-2:before { content: "\e32c"; } +.icon-file-video:before { content: "\e32b"; } +.icon-file-volume-2:before { content: "\e32e"; } +.icon-file-volume:before { content: "\e32d"; } +.icon-file-warning:before { content: "\e32f"; } +.icon-file-x-2:before { content: "\e0d2"; } +.icon-file-x:before { content: "\e0d1"; } +.icon-file:before { content: "\e0c4"; } +.icon-files:before { content: "\e0d3"; } +.icon-film:before { content: "\e0d4"; } +.icon-filter-x:before { content: "\e3b8"; } +.icon-filter:before { content: "\e0d5"; } +.icon-fingerprint:before { content: "\e2ca"; } +.icon-fire-extinguisher:before { content: "\e582"; } +.icon-fish-off:before { content: "\e3b3"; } +.icon-fish-symbol:before { content: "\e4f8"; } +.icon-fish:before { content: "\e3a9"; } +.icon-flag-off:before { content: "\e291"; } +.icon-flag-triangle-left:before { content: "\e236"; } +.icon-flag-triangle-right:before { content: "\e237"; } +.icon-flag:before { content: "\e0d6"; } +.icon-flame-kindling:before { content: "\e53e"; } +.icon-flame:before { content: "\e0d7"; } +.icon-flashlight-off:before { content: "\e0d9"; } +.icon-flashlight:before { content: "\e0d8"; } +.icon-flask-conical-off:before { content: "\e399"; } +.icon-flask-conical:before { content: "\e0da"; } +.icon-flask-round:before { content: "\e0db"; } +.icon-flip-horizontal-2:before { content: "\e361"; } +.icon-flip-horizontal:before { content: "\e360"; } +.icon-flip-vertical-2:before { content: "\e363"; } +.icon-flip-vertical:before { content: "\e362"; } +.icon-flower-2:before { content: "\e2d3"; } +.icon-flower:before { content: "\e2d2"; } +.icon-focus:before { content: "\e29d"; } +.icon-fold-horizontal:before { content: "\e43f"; } +.icon-fold-vertical:before { content: "\e440"; } +.icon-folder-archive:before { content: "\e330"; } +.icon-folder-check:before { content: "\e331"; } +.icon-folder-clock:before { content: "\e332"; } +.icon-folder-closed:before { content: "\e333"; } +.icon-folder-code:before { content: "\e5ff"; } +.icon-folder-cog:before { content: "\e334"; } +.icon-folder-dot:before { content: "\e4c9"; } +.icon-folder-down:before { content: "\e335"; } +.icon-folder-git-2:before { content: "\e40e"; } +.icon-folder-git:before { content: "\e40d"; } +.icon-folder-heart:before { content: "\e336"; } +.icon-folder-input:before { content: "\e337"; } +.icon-folder-kanban:before { content: "\e4ca"; } +.icon-folder-key:before { content: "\e338"; } +.icon-folder-lock:before { content: "\e339"; } +.icon-folder-minus:before { content: "\e0dd"; } +.icon-folder-open-dot:before { content: "\e4cb"; } +.icon-folder-open:before { content: "\e246"; } +.icon-folder-output:before { content: "\e33a"; } +.icon-folder-pen:before { content: "\e33b"; } +.icon-folder-plus:before { content: "\e0de"; } +.icon-folder-root:before { content: "\e4cc"; } +.icon-folder-search-2:before { content: "\e33d"; } +.icon-folder-search:before { content: "\e33c"; } +.icon-folder-symlink:before { content: "\e33e"; } +.icon-folder-sync:before { content: "\e4cd"; } +.icon-folder-tree:before { content: "\e33f"; } +.icon-folder-up:before { content: "\e340"; } +.icon-folder-x:before { content: "\e341"; } +.icon-folder:before { content: "\e0dc"; } +.icon-folders:before { content: "\e342"; } +.icon-footprints:before { content: "\e3bc"; } +.icon-forklift:before { content: "\e3c4"; } +.icon-forward:before { content: "\e228"; } +.icon-frame:before { content: "\e290"; } +.icon-framer:before { content: "\e0df"; } +.icon-frown:before { content: "\e0e0"; } +.icon-fuel:before { content: "\e2ae"; } +.icon-fullscreen:before { content: "\e538"; } +.icon-gallery-horizontal-end:before { content: "\e4d3"; } +.icon-gallery-horizontal:before { content: "\e4d2"; } +.icon-gallery-thumbnails:before { content: "\e4d4"; } +.icon-gallery-vertical-end:before { content: "\e4d6"; } +.icon-gallery-vertical:before { content: "\e4d5"; } +.icon-gamepad-2:before { content: "\e0e2"; } +.icon-gamepad:before { content: "\e0e1"; } +.icon-gauge:before { content: "\e1be"; } +.icon-gavel:before { content: "\e0e3"; } +.icon-gem:before { content: "\e241"; } +.icon-ghost:before { content: "\e20d"; } +.icon-gift:before { content: "\e0e4"; } +.icon-git-branch-plus:before { content: "\e1f3"; } +.icon-git-branch:before { content: "\e0e5"; } +.icon-git-commit-horizontal:before { content: "\e0e6"; } +.icon-git-commit-vertical:before { content: "\e556"; } +.icon-git-compare-arrows:before { content: "\e557"; } +.icon-git-compare:before { content: "\e35c"; } +.icon-git-fork:before { content: "\e28c"; } +.icon-git-graph:before { content: "\e558"; } +.icon-git-merge:before { content: "\e0e7"; } +.icon-git-pull-request-arrow:before { content: "\e559"; } +.icon-git-pull-request-closed:before { content: "\e35d"; } +.icon-git-pull-request-create-arrow:before { content: "\e55b"; } +.icon-git-pull-request-create:before { content: "\e55a"; } +.icon-git-pull-request-draft:before { content: "\e35e"; } +.icon-git-pull-request:before { content: "\e0e8"; } +.icon-github:before { content: "\e0e9"; } +.icon-gitlab:before { content: "\e0ea"; } +.icon-glass-water:before { content: "\e2d4"; } +.icon-glasses:before { content: "\e20c"; } +.icon-globe-lock:before { content: "\e5d1"; } +.icon-globe:before { content: "\e0eb"; } +.icon-goal:before { content: "\e4a9"; } +.icon-grab:before { content: "\e1e5"; } +.icon-graduation-cap:before { content: "\e233"; } +.icon-grape:before { content: "\e355"; } +.icon-grid-2x2-check:before { content: "\e5e8"; } +.icon-grid-2x2-plus:before { content: "\e62c"; } +.icon-grid-2x2-x:before { content: "\e5e9"; } +.icon-grid-2x2:before { content: "\e503"; } +.icon-grid-3x3:before { content: "\e0ec"; } +.icon-grip-horizontal:before { content: "\e0ed"; } +.icon-grip-vertical:before { content: "\e0ee"; } +.icon-grip:before { content: "\e3b4"; } +.icon-group:before { content: "\e468"; } +.icon-guitar:before { content: "\e563"; } +.icon-ham:before { content: "\e5db"; } +.icon-hammer:before { content: "\e0ef"; } +.icon-hand-coins:before { content: "\e5bc"; } +.icon-hand-heart:before { content: "\e5bd"; } +.icon-hand-helping:before { content: "\e3bb"; } +.icon-hand-metal:before { content: "\e22b"; } +.icon-hand-platter:before { content: "\e5be"; } +.icon-hand:before { content: "\e1d6"; } +.icon-handshake:before { content: "\e5c4"; } +.icon-hard-drive-download:before { content: "\e4e9"; } +.icon-hard-drive-upload:before { content: "\e4ea"; } +.icon-hard-drive:before { content: "\e0f0"; } +.icon-hard-hat:before { content: "\e0f1"; } +.icon-hash:before { content: "\e0f2"; } +.icon-haze:before { content: "\e0f3"; } +.icon-hdmi-port:before { content: "\e4eb"; } +.icon-heading-1:before { content: "\e388"; } +.icon-heading-2:before { content: "\e389"; } +.icon-heading-3:before { content: "\e38a"; } +.icon-heading-4:before { content: "\e38b"; } +.icon-heading-5:before { content: "\e38c"; } +.icon-heading-6:before { content: "\e38d"; } +.icon-heading:before { content: "\e387"; } +.icon-headphone-off:before { content: "\e62d"; } +.icon-headphones:before { content: "\e0f4"; } +.icon-headset:before { content: "\e5c1"; } +.icon-heart-crack:before { content: "\e2d5"; } +.icon-heart-handshake:before { content: "\e2d6"; } +.icon-heart-off:before { content: "\e294"; } +.icon-heart-pulse:before { content: "\e371"; } +.icon-heart:before { content: "\e0f5"; } +.icon-heater:before { content: "\e592"; } +.icon-hexagon:before { content: "\e0f6"; } +.icon-highlighter:before { content: "\e0f7"; } +.icon-history:before { content: "\e1f4"; } +.icon-hop-off:before { content: "\e39b"; } +.icon-hop:before { content: "\e39a"; } +.icon-hospital:before { content: "\e5dc"; } +.icon-hotel:before { content: "\e3e5"; } +.icon-hourglass:before { content: "\e295"; } +.icon-house-plug:before { content: "\e5f4"; } +.icon-house-plus:before { content: "\e5f5"; } +.icon-house-wifi:before { content: "\e640"; } +.icon-house:before { content: "\e0f8"; } +.icon-ice-cream-bowl:before { content: "\e3aa"; } +.icon-ice-cream-cone:before { content: "\e356"; } +.icon-id-card:before { content: "\e61b"; } +.icon-image-down:before { content: "\e540"; } +.icon-image-minus:before { content: "\e1f5"; } +.icon-image-off:before { content: "\e1bf"; } +.icon-image-play:before { content: "\e5e3"; } +.icon-image-plus:before { content: "\e1f6"; } +.icon-image-up:before { content: "\e5cf"; } +.icon-image-upscale:before { content: "\e63b"; } +.icon-image:before { content: "\e0f9"; } +.icon-images:before { content: "\e5c8"; } +.icon-import:before { content: "\e22e"; } +.icon-inbox:before { content: "\e0fa"; } +.icon-indent-decrease:before { content: "\e0fb"; } +.icon-indent-increase:before { content: "\e0fc"; } +.icon-indian-rupee:before { content: "\e0fd"; } +.icon-infinity:before { content: "\e1e6"; } +.icon-info:before { content: "\e0fe"; } +.icon-inspection-panel:before { content: "\e587"; } +.icon-instagram:before { content: "\e0ff"; } +.icon-italic:before { content: "\e100"; } +.icon-iteration-ccw:before { content: "\e427"; } +.icon-iteration-cw:before { content: "\e428"; } +.icon-japanese-yen:before { content: "\e101"; } +.icon-joystick:before { content: "\e358"; } +.icon-kanban:before { content: "\e4e0"; } +.icon-key-round:before { content: "\e4a7"; } +.icon-key-square:before { content: "\e4a8"; } +.icon-key:before { content: "\e102"; } +.icon-keyboard-music:before { content: "\e564"; } +.icon-keyboard-off:before { content: "\e5e2"; } +.icon-keyboard:before { content: "\e283"; } +.icon-lamp-ceiling:before { content: "\e2d8"; } +.icon-lamp-desk:before { content: "\e2d9"; } +.icon-lamp-floor:before { content: "\e2da"; } +.icon-lamp-wall-down:before { content: "\e2db"; } +.icon-lamp-wall-up:before { content: "\e2dc"; } +.icon-lamp:before { content: "\e2d7"; } +.icon-land-plot:before { content: "\e52c"; } +.icon-landmark:before { content: "\e239"; } +.icon-languages:before { content: "\e103"; } +.icon-laptop-minimal-check:before { content: "\e636"; } +.icon-laptop-minimal:before { content: "\e1d7"; } +.icon-laptop:before { content: "\e1cc"; } +.icon-lasso-select:before { content: "\e1ce"; } +.icon-lasso:before { content: "\e1cd"; } +.icon-laugh:before { content: "\e2ff"; } +.icon-layers-2:before { content: "\e52e"; } +.icon-layers:before { content: "\e52d"; } +.icon-layout-dashboard:before { content: "\e1c0"; } +.icon-layout-grid:before { content: "\e104"; } +.icon-layout-list:before { content: "\e1d8"; } +.icon-layout-panel-left:before { content: "\e474"; } +.icon-layout-panel-top:before { content: "\e475"; } +.icon-layout-template:before { content: "\e206"; } +.icon-leaf:before { content: "\e2dd"; } +.icon-leafy-green:before { content: "\e473"; } +.icon-lectern:before { content: "\e5ed"; } +.icon-letter-text:before { content: "\e609"; } +.icon-library-big:before { content: "\e552"; } +.icon-library:before { content: "\e105"; } +.icon-life-buoy:before { content: "\e106"; } +.icon-ligature:before { content: "\e43e"; } +.icon-lightbulb-off:before { content: "\e207"; } +.icon-lightbulb:before { content: "\e1c1"; } +.icon-link-2-off:before { content: "\e109"; } +.icon-link-2:before { content: "\e108"; } +.icon-link:before { content: "\e107"; } +.icon-linkedin:before { content: "\e10a"; } +.icon-list-check:before { content: "\e5fe"; } +.icon-list-checks:before { content: "\e1cf"; } +.icon-list-collapse:before { content: "\e59f"; } +.icon-list-end:before { content: "\e2de"; } +.icon-list-filter-plus:before { content: "\e63d"; } +.icon-list-filter:before { content: "\e464"; } +.icon-list-minus:before { content: "\e23d"; } +.icon-list-music:before { content: "\e2df"; } +.icon-list-ordered:before { content: "\e1d0"; } +.icon-list-plus:before { content: "\e23e"; } +.icon-list-restart:before { content: "\e456"; } +.icon-list-start:before { content: "\e2e0"; } +.icon-list-todo:before { content: "\e4c7"; } +.icon-list-tree:before { content: "\e40c"; } +.icon-list-video:before { content: "\e2e1"; } +.icon-list-x:before { content: "\e23f"; } +.icon-list:before { content: "\e10b"; } +.icon-loader-circle:before { content: "\e10d"; } +.icon-loader-pinwheel:before { content: "\e5ea"; } +.icon-loader:before { content: "\e10c"; } +.icon-locate-fixed:before { content: "\e1da"; } +.icon-locate-off:before { content: "\e281"; } +.icon-locate:before { content: "\e1d9"; } +.icon-lock-keyhole-open:before { content: "\e536"; } +.icon-lock-keyhole:before { content: "\e535"; } +.icon-lock-open:before { content: "\e10f"; } +.icon-lock:before { content: "\e10e"; } +.icon-log-in:before { content: "\e110"; } +.icon-log-out:before { content: "\e111"; } +.icon-logs:before { content: "\e5f8"; } +.icon-lollipop:before { content: "\e4c1"; } +.icon-luggage:before { content: "\e2c9"; } +.icon-magnet:before { content: "\e2b4"; } +.icon-mail-check:before { content: "\e364"; } +.icon-mail-minus:before { content: "\e365"; } +.icon-mail-open:before { content: "\e366"; } +.icon-mail-plus:before { content: "\e367"; } +.icon-mail-question:before { content: "\e368"; } +.icon-mail-search:before { content: "\e369"; } +.icon-mail-warning:before { content: "\e36a"; } +.icon-mail-x:before { content: "\e36b"; } +.icon-mail:before { content: "\e112"; } +.icon-mailbox:before { content: "\e3d7"; } +.icon-mails:before { content: "\e36c"; } +.icon-map-pin-check-inside:before { content: "\e614"; } +.icon-map-pin-check:before { content: "\e613"; } +.icon-map-pin-house:before { content: "\e620"; } +.icon-map-pin-minus-inside:before { content: "\e616"; } +.icon-map-pin-minus:before { content: "\e615"; } +.icon-map-pin-off:before { content: "\e2a5"; } +.icon-map-pin-plus-inside:before { content: "\e618"; } +.icon-map-pin-plus:before { content: "\e617"; } +.icon-map-pin-x-inside:before { content: "\e61a"; } +.icon-map-pin-x:before { content: "\e619"; } +.icon-map-pin:before { content: "\e114"; } +.icon-map-pinned:before { content: "\e541"; } +.icon-map-plus:before { content: "\e643"; } +.icon-map:before { content: "\e113"; } +.icon-mars-stroke:before { content: "\e646"; } +.icon-mars:before { content: "\e645"; } +.icon-martini:before { content: "\e2e2"; } +.icon-maximize-2:before { content: "\e116"; } +.icon-maximize:before { content: "\e115"; } +.icon-medal:before { content: "\e372"; } +.icon-megaphone-off:before { content: "\e373"; } +.icon-megaphone:before { content: "\e234"; } +.icon-meh:before { content: "\e117"; } +.icon-memory-stick:before { content: "\e449"; } +.icon-menu:before { content: "\e118"; } +.icon-merge:before { content: "\e443"; } +.icon-message-circle-code:before { content: "\e566"; } +.icon-message-circle-dashed:before { content: "\e567"; } +.icon-message-circle-heart:before { content: "\e568"; } +.icon-message-circle-more:before { content: "\e569"; } +.icon-message-circle-off:before { content: "\e56a"; } +.icon-message-circle-plus:before { content: "\e56b"; } +.icon-message-circle-question:before { content: "\e56c"; } +.icon-message-circle-reply:before { content: "\e56d"; } +.icon-message-circle-warning:before { content: "\e56e"; } +.icon-message-circle-x:before { content: "\e56f"; } +.icon-message-circle:before { content: "\e119"; } +.icon-message-square-code:before { content: "\e570"; } +.icon-message-square-dashed:before { content: "\e40f"; } +.icon-message-square-diff:before { content: "\e571"; } +.icon-message-square-dot:before { content: "\e572"; } +.icon-message-square-heart:before { content: "\e573"; } +.icon-message-square-lock:before { content: "\e630"; } +.icon-message-square-more:before { content: "\e574"; } +.icon-message-square-off:before { content: "\e575"; } +.icon-message-square-plus:before { content: "\e410"; } +.icon-message-square-quote:before { content: "\e576"; } +.icon-message-square-reply:before { content: "\e577"; } +.icon-message-square-share:before { content: "\e578"; } +.icon-message-square-text:before { content: "\e579"; } +.icon-message-square-warning:before { content: "\e57a"; } +.icon-message-square-x:before { content: "\e57b"; } +.icon-message-square:before { content: "\e11a"; } +.icon-messages-square:before { content: "\e411"; } +.icon-mic-off:before { content: "\e11c"; } +.icon-mic-vocal:before { content: "\e34c"; } +.icon-mic:before { content: "\e11b"; } +.icon-microchip:before { content: "\e61e"; } +.icon-microscope:before { content: "\e2e3"; } +.icon-microwave:before { content: "\e37d"; } +.icon-milestone:before { content: "\e297"; } +.icon-milk-off:before { content: "\e39d"; } +.icon-milk:before { content: "\e39c"; } +.icon-minimize-2:before { content: "\e11e"; } +.icon-minimize:before { content: "\e11d"; } +.icon-minus:before { content: "\e11f"; } +.icon-monitor-check:before { content: "\e486"; } +.icon-monitor-cog:before { content: "\e607"; } +.icon-monitor-dot:before { content: "\e487"; } +.icon-monitor-down:before { content: "\e425"; } +.icon-monitor-off:before { content: "\e1db"; } +.icon-monitor-pause:before { content: "\e488"; } +.icon-monitor-play:before { content: "\e489"; } +.icon-monitor-smartphone:before { content: "\e3a5"; } +.icon-monitor-speaker:before { content: "\e20f"; } +.icon-monitor-stop:before { content: "\e48a"; } +.icon-monitor-up:before { content: "\e426"; } +.icon-monitor-x:before { content: "\e48b"; } +.icon-monitor:before { content: "\e120"; } +.icon-moon-star:before { content: "\e414"; } +.icon-moon:before { content: "\e121"; } +.icon-mountain-snow:before { content: "\e231"; } +.icon-mountain:before { content: "\e230"; } +.icon-mouse-off:before { content: "\e5df"; } +.icon-mouse-pointer-2:before { content: "\e1c2"; } +.icon-mouse-pointer-ban:before { content: "\e5eb"; } +.icon-mouse-pointer-click:before { content: "\e123"; } +.icon-mouse-pointer:before { content: "\e122"; } +.icon-mouse:before { content: "\e28d"; } +.icon-move-3d:before { content: "\e2e4"; } +.icon-move-diagonal-2:before { content: "\e1c4"; } +.icon-move-diagonal:before { content: "\e1c3"; } +.icon-move-down-left:before { content: "\e491"; } +.icon-move-down-right:before { content: "\e492"; } +.icon-move-down:before { content: "\e490"; } +.icon-move-horizontal:before { content: "\e1c5"; } +.icon-move-left:before { content: "\e493"; } +.icon-move-right:before { content: "\e494"; } +.icon-move-up-left:before { content: "\e496"; } +.icon-move-up-right:before { content: "\e497"; } +.icon-move-up:before { content: "\e495"; } +.icon-move-vertical:before { content: "\e1c6"; } +.icon-move:before { content: "\e124"; } +.icon-music-2:before { content: "\e34d"; } +.icon-music-3:before { content: "\e34e"; } +.icon-music-4:before { content: "\e34f"; } +.icon-music:before { content: "\e125"; } +.icon-navigation-2-off:before { content: "\e2a6"; } +.icon-navigation-2:before { content: "\e127"; } +.icon-navigation-off:before { content: "\e2a7"; } +.icon-navigation:before { content: "\e126"; } +.icon-network:before { content: "\e128"; } +.icon-newspaper:before { content: "\e34b"; } +.icon-nfc:before { content: "\e3c6"; } +.icon-non-binary:before { content: "\e647"; } +.icon-notebook-pen:before { content: "\e59a"; } +.icon-notebook-tabs:before { content: "\e59b"; } +.icon-notebook-text:before { content: "\e59c"; } +.icon-notebook:before { content: "\e599"; } +.icon-notepad-text-dashed:before { content: "\e59e"; } +.icon-notepad-text:before { content: "\e59d"; } +.icon-nut-off:before { content: "\e39f"; } +.icon-nut:before { content: "\e39e"; } +.icon-octagon-alert:before { content: "\e12a"; } +.icon-octagon-minus:before { content: "\e62b"; } +.icon-octagon-pause:before { content: "\e21a"; } +.icon-octagon-x:before { content: "\e12b"; } +.icon-octagon:before { content: "\e129"; } +.icon-omega:before { content: "\e61d"; } +.icon-option:before { content: "\e1f7"; } +.icon-orbit:before { content: "\e3ea"; } +.icon-origami:before { content: "\e5e7"; } +.icon-package-2:before { content: "\e343"; } +.icon-package-check:before { content: "\e265"; } +.icon-package-minus:before { content: "\e266"; } +.icon-package-open:before { content: "\e2cb"; } +.icon-package-plus:before { content: "\e267"; } +.icon-package-search:before { content: "\e268"; } +.icon-package-x:before { content: "\e269"; } +.icon-package:before { content: "\e12c"; } +.icon-paint-bucket:before { content: "\e2e5"; } +.icon-paint-roller:before { content: "\e5a2"; } +.icon-paintbrush-vertical:before { content: "\e2e7"; } +.icon-paintbrush:before { content: "\e2e6"; } +.icon-palette:before { content: "\e1dc"; } +.icon-panel-bottom-close:before { content: "\e431"; } +.icon-panel-bottom-dashed:before { content: "\e432"; } +.icon-panel-bottom-open:before { content: "\e433"; } +.icon-panel-bottom:before { content: "\e430"; } +.icon-panel-left-close:before { content: "\e21b"; } +.icon-panel-left-dashed:before { content: "\e434"; } +.icon-panel-left-open:before { content: "\e21c"; } +.icon-panel-left:before { content: "\e12d"; } +.icon-panel-right-close:before { content: "\e436"; } +.icon-panel-right-dashed:before { content: "\e437"; } +.icon-panel-right-open:before { content: "\e438"; } +.icon-panel-right:before { content: "\e435"; } +.icon-panel-top-close:before { content: "\e43a"; } +.icon-panel-top-dashed:before { content: "\e43b"; } +.icon-panel-top-open:before { content: "\e43c"; } +.icon-panel-top:before { content: "\e439"; } +.icon-panels-left-bottom:before { content: "\e12e"; } +.icon-panels-right-bottom:before { content: "\e58c"; } +.icon-panels-top-left:before { content: "\e12f"; } +.icon-paperclip:before { content: "\e130"; } +.icon-parentheses:before { content: "\e448"; } +.icon-parking-meter:before { content: "\e504"; } +.icon-party-popper:before { content: "\e346"; } +.icon-pause:before { content: "\e131"; } +.icon-paw-print:before { content: "\e4f9"; } +.icon-pc-case:before { content: "\e44a"; } +.icon-pen-line:before { content: "\e133"; } +.icon-pen-off:before { content: "\e5f2"; } +.icon-pen-tool:before { content: "\e134"; } +.icon-pen:before { content: "\e132"; } +.icon-pencil-line:before { content: "\e4f4"; } +.icon-pencil-off:before { content: "\e5f3"; } +.icon-pencil-ruler:before { content: "\e4f5"; } +.icon-pencil:before { content: "\e1f8"; } +.icon-pentagon:before { content: "\e52f"; } +.icon-percent:before { content: "\e135"; } +.icon-person-standing:before { content: "\e21d"; } +.icon-philippine-peso:before { content: "\e608"; } +.icon-phone-call:before { content: "\e137"; } +.icon-phone-forwarded:before { content: "\e138"; } +.icon-phone-incoming:before { content: "\e139"; } +.icon-phone-missed:before { content: "\e13a"; } +.icon-phone-off:before { content: "\e13b"; } +.icon-phone-outgoing:before { content: "\e13c"; } +.icon-phone:before { content: "\e136"; } +.icon-pi:before { content: "\e476"; } +.icon-piano:before { content: "\e565"; } +.icon-pickaxe:before { content: "\e5ca"; } +.icon-picture-in-picture-2:before { content: "\e3b2"; } +.icon-picture-in-picture:before { content: "\e3b1"; } +.icon-piggy-bank:before { content: "\e13d"; } +.icon-pilcrow-left:before { content: "\e5e0"; } +.icon-pilcrow-right:before { content: "\e5e1"; } +.icon-pilcrow:before { content: "\e3a6"; } +.icon-pill-bottle:before { content: "\e5ee"; } +.icon-pill:before { content: "\e3c0"; } +.icon-pin-off:before { content: "\e2b5"; } +.icon-pin:before { content: "\e258"; } +.icon-pipette:before { content: "\e13e"; } +.icon-pizza:before { content: "\e357"; } +.icon-plane-landing:before { content: "\e3d0"; } +.icon-plane-takeoff:before { content: "\e3d1"; } +.icon-plane:before { content: "\e1dd"; } +.icon-play:before { content: "\e13f"; } +.icon-plug-2:before { content: "\e383"; } +.icon-plug-zap:before { content: "\e460"; } +.icon-plug:before { content: "\e382"; } +.icon-plus:before { content: "\e140"; } +.icon-pocket-knife:before { content: "\e4a4"; } +.icon-pocket:before { content: "\e141"; } +.icon-podcast:before { content: "\e1f9"; } +.icon-pointer-off:before { content: "\e583"; } +.icon-pointer:before { content: "\e1e7"; } +.icon-popcorn:before { content: "\e4c2"; } +.icon-popsicle:before { content: "\e4c3"; } +.icon-pound-sterling:before { content: "\e142"; } +.icon-power-off:before { content: "\e208"; } +.icon-power:before { content: "\e143"; } +.icon-presentation:before { content: "\e4b2"; } +.icon-printer-check:before { content: "\e5f9"; } +.icon-printer:before { content: "\e144"; } +.icon-projector:before { content: "\e4b3"; } +.icon-proportions:before { content: "\e5d3"; } +.icon-puzzle:before { content: "\e29b"; } +.icon-pyramid:before { content: "\e530"; } +.icon-qr-code:before { content: "\e1de"; } +.icon-quote:before { content: "\e238"; } +.icon-rabbit:before { content: "\e4fa"; } +.icon-radar:before { content: "\e49b"; } +.icon-radiation:before { content: "\e446"; } +.icon-radical:before { content: "\e5c6"; } +.icon-radio-receiver:before { content: "\e1fa"; } +.icon-radio-tower:before { content: "\e408"; } +.icon-radio:before { content: "\e145"; } +.icon-radius:before { content: "\e531"; } +.icon-rail-symbol:before { content: "\e505"; } +.icon-rainbow:before { content: "\e4c6"; } +.icon-rat:before { content: "\e3ef"; } +.icon-ratio:before { content: "\e4ec"; } +.icon-receipt-cent:before { content: "\e5a9"; } +.icon-receipt-euro:before { content: "\e5aa"; } +.icon-receipt-indian-rupee:before { content: "\e5ab"; } +.icon-receipt-japanese-yen:before { content: "\e5ac"; } +.icon-receipt-pound-sterling:before { content: "\e5ad"; } +.icon-receipt-russian-ruble:before { content: "\e5ae"; } +.icon-receipt-swiss-franc:before { content: "\e5af"; } +.icon-receipt-text:before { content: "\e5b0"; } +.icon-receipt:before { content: "\e3d6"; } +.icon-rectangle-ellipsis:before { content: "\e21e"; } +.icon-rectangle-horizontal:before { content: "\e379"; } +.icon-rectangle-vertical:before { content: "\e37a"; } +.icon-recycle:before { content: "\e2e8"; } +.icon-redo-2:before { content: "\e29f"; } +.icon-redo-dot:before { content: "\e454"; } +.icon-redo:before { content: "\e146"; } +.icon-refresh-ccw-dot:before { content: "\e4b6"; } +.icon-refresh-ccw:before { content: "\e147"; } +.icon-refresh-cw-off:before { content: "\e49c"; } +.icon-refresh-cw:before { content: "\e148"; } +.icon-refrigerator:before { content: "\e37e"; } +.icon-regex:before { content: "\e1fb"; } +.icon-remove-formatting:before { content: "\e3b6"; } +.icon-repeat-1:before { content: "\e1fc"; } +.icon-repeat-2:before { content: "\e415"; } +.icon-repeat:before { content: "\e149"; } +.icon-replace-all:before { content: "\e3df"; } +.icon-replace:before { content: "\e3de"; } +.icon-reply-all:before { content: "\e22a"; } +.icon-reply:before { content: "\e229"; } +.icon-rewind:before { content: "\e14a"; } +.icon-ribbon:before { content: "\e55c"; } +.icon-rocket:before { content: "\e285"; } +.icon-rocking-chair:before { content: "\e232"; } +.icon-roller-coaster:before { content: "\e484"; } +.icon-rotate-3d:before { content: "\e2e9"; } +.icon-rotate-ccw-square:before { content: "\e5d4"; } +.icon-rotate-ccw:before { content: "\e14b"; } +.icon-rotate-cw-square:before { content: "\e5d5"; } +.icon-rotate-cw:before { content: "\e14c"; } +.icon-route-off:before { content: "\e543"; } +.icon-route:before { content: "\e542"; } +.icon-router:before { content: "\e3c2"; } +.icon-rows-2:before { content: "\e43d"; } +.icon-rows-3:before { content: "\e58e"; } +.icon-rows-4:before { content: "\e58f"; } +.icon-rss:before { content: "\e14d"; } +.icon-ruler:before { content: "\e14e"; } +.icon-russian-ruble:before { content: "\e14f"; } +.icon-sailboat:before { content: "\e381"; } +.icon-salad:before { content: "\e3ab"; } +.icon-sandwich:before { content: "\e3ac"; } +.icon-satellite-dish:before { content: "\e44c"; } +.icon-satellite:before { content: "\e44b"; } +.icon-save-all:before { content: "\e413"; } +.icon-save-off:before { content: "\e5f7"; } +.icon-save:before { content: "\e150"; } +.icon-scale-3d:before { content: "\e2ea"; } +.icon-scale:before { content: "\e211"; } +.icon-scaling:before { content: "\e2eb"; } +.icon-scan-barcode:before { content: "\e539"; } +.icon-scan-eye:before { content: "\e53a"; } +.icon-scan-face:before { content: "\e374"; } +.icon-scan-heart:before { content: "\e63e"; } +.icon-scan-line:before { content: "\e257"; } +.icon-scan-qr-code:before { content: "\e5fa"; } +.icon-scan-search:before { content: "\e53b"; } +.icon-scan-text:before { content: "\e53c"; } +.icon-scan:before { content: "\e256"; } +.icon-school:before { content: "\e3e6"; } +.icon-scissors-line-dashed:before { content: "\e4ed"; } +.icon-scissors:before { content: "\e151"; } +.icon-screen-share-off:before { content: "\e153"; } +.icon-screen-share:before { content: "\e152"; } +.icon-scroll-text:before { content: "\e463"; } +.icon-scroll:before { content: "\e2ec"; } +.icon-search-check:before { content: "\e4ae"; } +.icon-search-code:before { content: "\e4af"; } +.icon-search-slash:before { content: "\e4b0"; } +.icon-search-x:before { content: "\e4b1"; } +.icon-search:before { content: "\e154"; } +.icon-section:before { content: "\e5ec"; } +.icon-send-horizontal:before { content: "\e4f6"; } +.icon-send-to-back:before { content: "\e4f7"; } +.icon-send:before { content: "\e155"; } +.icon-separator-horizontal:before { content: "\e1c7"; } +.icon-separator-vertical:before { content: "\e1c8"; } +.icon-server-cog:before { content: "\e344"; } +.icon-server-crash:before { content: "\e1e8"; } +.icon-server-off:before { content: "\e1e9"; } +.icon-server:before { content: "\e156"; } +.icon-settings-2:before { content: "\e244"; } +.icon-settings:before { content: "\e157"; } +.icon-shapes:before { content: "\e4b7"; } +.icon-share-2:before { content: "\e159"; } +.icon-share:before { content: "\e158"; } +.icon-sheet:before { content: "\e15a"; } +.icon-shell:before { content: "\e4fb"; } +.icon-shield-alert:before { content: "\e1fd"; } +.icon-shield-ban:before { content: "\e15c"; } +.icon-shield-check:before { content: "\e1fe"; } +.icon-shield-ellipsis:before { content: "\e51a"; } +.icon-shield-half:before { content: "\e51b"; } +.icon-shield-minus:before { content: "\e51c"; } +.icon-shield-off:before { content: "\e15d"; } +.icon-shield-plus:before { content: "\e51d"; } +.icon-shield-question:before { content: "\e412"; } +.icon-shield-user:before { content: "\e64b"; } +.icon-shield-x:before { content: "\e1ff"; } +.icon-shield:before { content: "\e15b"; } +.icon-ship-wheel:before { content: "\e506"; } +.icon-ship:before { content: "\e3bd"; } +.icon-shirt:before { content: "\e1c9"; } +.icon-shopping-bag:before { content: "\e15e"; } +.icon-shopping-basket:before { content: "\e4ee"; } +.icon-shopping-cart:before { content: "\e15f"; } +.icon-shovel:before { content: "\e160"; } +.icon-shower-head:before { content: "\e37f"; } +.icon-shrink:before { content: "\e21f"; } +.icon-shrub:before { content: "\e2ed"; } +.icon-shuffle:before { content: "\e161"; } +.icon-sigma:before { content: "\e200"; } +.icon-signal-high:before { content: "\e25f"; } +.icon-signal-low:before { content: "\e260"; } +.icon-signal-medium:before { content: "\e261"; } +.icon-signal-zero:before { content: "\e262"; } +.icon-signal:before { content: "\e25e"; } +.icon-signature:before { content: "\e5f6"; } +.icon-signpost-big:before { content: "\e545"; } +.icon-signpost:before { content: "\e544"; } +.icon-siren:before { content: "\e2ee"; } +.icon-skip-back:before { content: "\e162"; } +.icon-skip-forward:before { content: "\e163"; } +.icon-skull:before { content: "\e220"; } +.icon-slack:before { content: "\e164"; } +.icon-slash:before { content: "\e521"; } +.icon-slice:before { content: "\e2ef"; } +.icon-sliders-horizontal:before { content: "\e299"; } +.icon-sliders-vertical:before { content: "\e165"; } +.icon-smartphone-charging:before { content: "\e22d"; } +.icon-smartphone-nfc:before { content: "\e3c7"; } +.icon-smartphone:before { content: "\e166"; } +.icon-smile-plus:before { content: "\e300"; } +.icon-smile:before { content: "\e167"; } +.icon-snail:before { content: "\e4fc"; } +.icon-snowflake:before { content: "\e168"; } +.icon-sofa:before { content: "\e2c3"; } +.icon-soup:before { content: "\e3ad"; } +.icon-space:before { content: "\e3e0"; } +.icon-spade:before { content: "\e49d"; } +.icon-sparkle:before { content: "\e482"; } +.icon-sparkles:before { content: "\e416"; } +.icon-speaker:before { content: "\e169"; } +.icon-speech:before { content: "\e522"; } +.icon-spell-check-2:before { content: "\e49f"; } +.icon-spell-check:before { content: "\e49e"; } +.icon-spline:before { content: "\e38e"; } +.icon-split:before { content: "\e444"; } +.icon-spray-can:before { content: "\e499"; } +.icon-sprout:before { content: "\e1ea"; } +.icon-square-activity:before { content: "\e4b8"; } +.icon-square-arrow-down-left:before { content: "\e4b9"; } +.icon-square-arrow-down-right:before { content: "\e4ba"; } +.icon-square-arrow-down:before { content: "\e42b"; } +.icon-square-arrow-left:before { content: "\e42c"; } +.icon-square-arrow-out-down-left:before { content: "\e5a5"; } +.icon-square-arrow-out-down-right:before { content: "\e5a6"; } +.icon-square-arrow-out-up-left:before { content: "\e5a7"; } +.icon-square-arrow-out-up-right:before { content: "\e5a8"; } +.icon-square-arrow-right:before { content: "\e42d"; } +.icon-square-arrow-up-left:before { content: "\e4bb"; } +.icon-square-arrow-up-right:before { content: "\e4bc"; } +.icon-square-arrow-up:before { content: "\e42e"; } +.icon-square-asterisk:before { content: "\e16b"; } +.icon-square-bottom-dashed-scissors:before { content: "\e4ef"; } +.icon-square-chart-gantt:before { content: "\e16c"; } +.icon-square-check-big:before { content: "\e16d"; } +.icon-square-check:before { content: "\e55d"; } +.icon-square-chevron-down:before { content: "\e3d2"; } +.icon-square-chevron-left:before { content: "\e3d3"; } +.icon-square-chevron-right:before { content: "\e3d4"; } +.icon-square-chevron-up:before { content: "\e3d5"; } +.icon-square-code:before { content: "\e16e"; } +.icon-square-dashed-bottom-code:before { content: "\e4c5"; } +.icon-square-dashed-bottom:before { content: "\e4c4"; } +.icon-square-dashed-kanban:before { content: "\e16f"; } +.icon-square-dashed-mouse-pointer:before { content: "\e50d"; } +.icon-square-dashed:before { content: "\e1ca"; } +.icon-square-divide:before { content: "\e170"; } +.icon-square-dot:before { content: "\e171"; } +.icon-square-equal:before { content: "\e172"; } +.icon-square-function:before { content: "\e22c"; } +.icon-square-kanban:before { content: "\e173"; } +.icon-square-library:before { content: "\e553"; } +.icon-square-m:before { content: "\e507"; } +.icon-square-menu:before { content: "\e457"; } +.icon-square-minus:before { content: "\e174"; } +.icon-square-mouse-pointer:before { content: "\e201"; } +.icon-square-parking-off:before { content: "\e3cf"; } +.icon-square-parking:before { content: "\e3ce"; } +.icon-square-pen:before { content: "\e175"; } +.icon-square-percent:before { content: "\e520"; } +.icon-square-pi:before { content: "\e48c"; } +.icon-square-pilcrow:before { content: "\e48f"; } +.icon-square-play:before { content: "\e485"; } +.icon-square-plus:before { content: "\e176"; } +.icon-square-power:before { content: "\e555"; } +.icon-square-radical:before { content: "\e5c7"; } +.icon-square-round-corner:before { content: "\e64c"; } +.icon-square-scissors:before { content: "\e4f0"; } +.icon-square-sigma:before { content: "\e48d"; } +.icon-square-slash:before { content: "\e177"; } +.icon-square-split-horizontal:before { content: "\e3b9"; } +.icon-square-split-vertical:before { content: "\e3ba"; } +.icon-square-square:before { content: "\e612"; } +.icon-square-stack:before { content: "\e4a6"; } +.icon-square-terminal:before { content: "\e209"; } +.icon-square-user-round:before { content: "\e46a"; } +.icon-square-user:before { content: "\e469"; } +.icon-square-x:before { content: "\e178"; } +.icon-square:before { content: "\e16a"; } +.icon-squircle:before { content: "\e57e"; } +.icon-squirrel:before { content: "\e4a3"; } +.icon-stamp:before { content: "\e3be"; } +.icon-star-half:before { content: "\e20a"; } +.icon-star-off:before { content: "\e2af"; } +.icon-star:before { content: "\e179"; } +.icon-step-back:before { content: "\e3ec"; } +.icon-step-forward:before { content: "\e3ed"; } +.icon-stethoscope:before { content: "\e2f0"; } +.icon-sticker:before { content: "\e301"; } +.icon-sticky-note:before { content: "\e302"; } +.icon-store:before { content: "\e3e7"; } +.icon-stretch-horizontal:before { content: "\e27b"; } +.icon-stretch-vertical:before { content: "\e27c"; } +.icon-strikethrough:before { content: "\e17a"; } +.icon-subscript:before { content: "\e25b"; } +.icon-sun-dim:before { content: "\e298"; } +.icon-sun-medium:before { content: "\e2b0"; } +.icon-sun-moon:before { content: "\e2b1"; } +.icon-sun-snow:before { content: "\e375"; } +.icon-sun:before { content: "\e17b"; } +.icon-sunrise:before { content: "\e17c"; } +.icon-sunset:before { content: "\e17d"; } +.icon-superscript:before { content: "\e25d"; } +.icon-swatch-book:before { content: "\e5a3"; } +.icon-swiss-franc:before { content: "\e17e"; } +.icon-switch-camera:before { content: "\e17f"; } +.icon-sword:before { content: "\e2b2"; } +.icon-swords:before { content: "\e2b3"; } +.icon-syringe:before { content: "\e2f1"; } +.icon-table-2:before { content: "\e2f8"; } +.icon-table-cells-merge:before { content: "\e5cb"; } +.icon-table-cells-split:before { content: "\e5cc"; } +.icon-table-columns-split:before { content: "\e5cd"; } +.icon-table-of-contents:before { content: "\e622"; } +.icon-table-properties:before { content: "\e4df"; } +.icon-table-rows-split:before { content: "\e5ce"; } +.icon-table:before { content: "\e180"; } +.icon-tablet-smartphone:before { content: "\e50e"; } +.icon-tablet:before { content: "\e181"; } +.icon-tablets:before { content: "\e3c1"; } +.icon-tag:before { content: "\e182"; } +.icon-tags:before { content: "\e35f"; } +.icon-tally-1:before { content: "\e4da"; } +.icon-tally-2:before { content: "\e4db"; } +.icon-tally-3:before { content: "\e4dc"; } +.icon-tally-4:before { content: "\e4dd"; } +.icon-tally-5:before { content: "\e4de"; } +.icon-tangent:before { content: "\e532"; } +.icon-target:before { content: "\e183"; } +.icon-telescope:before { content: "\e5c9"; } +.icon-tent-tree:before { content: "\e53f"; } +.icon-tent:before { content: "\e226"; } +.icon-terminal:before { content: "\e184"; } +.icon-test-tube-diagonal:before { content: "\e40a"; } +.icon-test-tube:before { content: "\e409"; } +.icon-test-tubes:before { content: "\e40b"; } +.icon-text-cursor-input:before { content: "\e264"; } +.icon-text-cursor:before { content: "\e263"; } +.icon-text-quote:before { content: "\e4a2"; } +.icon-text-search:before { content: "\e5b1"; } +.icon-text-select:before { content: "\e3e1"; } +.icon-text:before { content: "\e3ee"; } +.icon-theater:before { content: "\e526"; } +.icon-thermometer-snowflake:before { content: "\e186"; } +.icon-thermometer-sun:before { content: "\e187"; } +.icon-thermometer:before { content: "\e185"; } +.icon-thumbs-down:before { content: "\e188"; } +.icon-thumbs-up:before { content: "\e189"; } +.icon-ticket-check:before { content: "\e5b2"; } +.icon-ticket-minus:before { content: "\e5b3"; } +.icon-ticket-percent:before { content: "\e5b4"; } +.icon-ticket-plus:before { content: "\e5b5"; } +.icon-ticket-slash:before { content: "\e5b6"; } +.icon-ticket-x:before { content: "\e5b7"; } +.icon-ticket:before { content: "\e20e"; } +.icon-tickets-plane:before { content: "\e627"; } +.icon-tickets:before { content: "\e626"; } +.icon-timer-off:before { content: "\e248"; } +.icon-timer-reset:before { content: "\e235"; } +.icon-timer:before { content: "\e1df"; } +.icon-toggle-left:before { content: "\e18a"; } +.icon-toggle-right:before { content: "\e18b"; } +.icon-toilet:before { content: "\e639"; } +.icon-tornado:before { content: "\e217"; } +.icon-torus:before { content: "\e533"; } +.icon-touchpad-off:before { content: "\e44e"; } +.icon-touchpad:before { content: "\e44d"; } +.icon-tower-control:before { content: "\e3bf"; } +.icon-toy-brick:before { content: "\e34a"; } +.icon-tractor:before { content: "\e508"; } +.icon-traffic-cone:before { content: "\e509"; } +.icon-train-front-tunnel:before { content: "\e50b"; } +.icon-train-front:before { content: "\e50a"; } +.icon-train-track:before { content: "\e50c"; } +.icon-tram-front:before { content: "\e2a8"; } +.icon-transgender:before { content: "\e648"; } +.icon-trash-2:before { content: "\e18d"; } +.icon-trash:before { content: "\e18c"; } +.icon-tree-deciduous:before { content: "\e2f2"; } +.icon-tree-palm:before { content: "\e280"; } +.icon-tree-pine:before { content: "\e2f3"; } +.icon-trees:before { content: "\e2f4"; } +.icon-trello:before { content: "\e18e"; } +.icon-trending-down:before { content: "\e18f"; } +.icon-trending-up-down:before { content: "\e629"; } +.icon-trending-up:before { content: "\e190"; } +.icon-triangle-alert:before { content: "\e192"; } +.icon-triangle-dashed:before { content: "\e641"; } +.icon-triangle-right:before { content: "\e4f1"; } +.icon-triangle:before { content: "\e191"; } +.icon-trophy:before { content: "\e376"; } +.icon-truck:before { content: "\e193"; } +.icon-turtle:before { content: "\e4fd"; } +.icon-tv-minimal-play:before { content: "\e5f0"; } +.icon-tv-minimal:before { content: "\e202"; } +.icon-tv:before { content: "\e194"; } +.icon-twitch:before { content: "\e195"; } +.icon-twitter:before { content: "\e196"; } +.icon-type-outline:before { content: "\e606"; } +.icon-type:before { content: "\e197"; } +.icon-umbrella-off:before { content: "\e547"; } +.icon-umbrella:before { content: "\e198"; } +.icon-underline:before { content: "\e199"; } +.icon-undo-2:before { content: "\e2a0"; } +.icon-undo-dot:before { content: "\e455"; } +.icon-undo:before { content: "\e19a"; } +.icon-unfold-horizontal:before { content: "\e441"; } +.icon-unfold-vertical:before { content: "\e442"; } +.icon-ungroup:before { content: "\e46b"; } +.icon-university:before { content: "\e3e8"; } +.icon-unlink-2:before { content: "\e19c"; } +.icon-unlink:before { content: "\e19b"; } +.icon-unplug:before { content: "\e461"; } +.icon-upload:before { content: "\e19d"; } +.icon-usb:before { content: "\e359"; } +.icon-user-check:before { content: "\e19f"; } +.icon-user-cog:before { content: "\e345"; } +.icon-user-minus:before { content: "\e1a0"; } +.icon-user-pen:before { content: "\e600"; } +.icon-user-plus:before { content: "\e1a1"; } +.icon-user-round-check:before { content: "\e46d"; } +.icon-user-round-cog:before { content: "\e46e"; } +.icon-user-round-minus:before { content: "\e46f"; } +.icon-user-round-pen:before { content: "\e601"; } +.icon-user-round-plus:before { content: "\e470"; } +.icon-user-round-search:before { content: "\e57c"; } +.icon-user-round-x:before { content: "\e471"; } +.icon-user-round:before { content: "\e46c"; } +.icon-user-search:before { content: "\e57d"; } +.icon-user-x:before { content: "\e1a2"; } +.icon-user:before { content: "\e19e"; } +.icon-users-round:before { content: "\e472"; } +.icon-users:before { content: "\e1a3"; } +.icon-utensils-crossed:before { content: "\e2f6"; } +.icon-utensils:before { content: "\e2f5"; } +.icon-utility-pole:before { content: "\e3c5"; } +.icon-variable:before { content: "\e477"; } +.icon-vault:before { content: "\e593"; } +.icon-vegan:before { content: "\e3a0"; } +.icon-venetian-mask:before { content: "\e2a9"; } +.icon-venus-and-mars:before { content: "\e64a"; } +.icon-venus:before { content: "\e649"; } +.icon-vibrate-off:before { content: "\e29c"; } +.icon-vibrate:before { content: "\e222"; } +.icon-video-off:before { content: "\e1a5"; } +.icon-video:before { content: "\e1a4"; } +.icon-videotape:before { content: "\e4cf"; } +.icon-view:before { content: "\e1a6"; } +.icon-voicemail:before { content: "\e1a7"; } +.icon-volleyball:before { content: "\e633"; } +.icon-volume-1:before { content: "\e1a9"; } +.icon-volume-2:before { content: "\e1aa"; } +.icon-volume-off:before { content: "\e62a"; } +.icon-volume-x:before { content: "\e1ab"; } +.icon-volume:before { content: "\e1a8"; } +.icon-vote:before { content: "\e3b0"; } +.icon-wallet-cards:before { content: "\e4d0"; } +.icon-wallet-minimal:before { content: "\e4d1"; } +.icon-wallet:before { content: "\e203"; } +.icon-wallpaper:before { content: "\e44f"; } +.icon-wand-sparkles:before { content: "\e35a"; } +.icon-wand:before { content: "\e245"; } +.icon-warehouse:before { content: "\e3e9"; } +.icon-washing-machine:before { content: "\e594"; } +.icon-watch:before { content: "\e1ac"; } +.icon-waves-ladder:before { content: "\e63f"; } +.icon-waves:before { content: "\e282"; } +.icon-waypoints:before { content: "\e546"; } +.icon-webcam:before { content: "\e204"; } +.icon-webhook-off:before { content: "\e5bb"; } +.icon-webhook:before { content: "\e377"; } +.icon-weight:before { content: "\e534"; } +.icon-wheat-off:before { content: "\e3a2"; } +.icon-wheat:before { content: "\e3a1"; } +.icon-whole-word:before { content: "\e3e2"; } +.icon-wifi-high:before { content: "\e5fb"; } +.icon-wifi-low:before { content: "\e5fc"; } +.icon-wifi-off:before { content: "\e1ae"; } +.icon-wifi-zero:before { content: "\e5fd"; } +.icon-wifi:before { content: "\e1ad"; } +.icon-wind-arrow-down:before { content: "\e635"; } +.icon-wind:before { content: "\e1af"; } +.icon-wine-off:before { content: "\e3a3"; } +.icon-wine:before { content: "\e2f7"; } +.icon-workflow:before { content: "\e429"; } +.icon-worm:before { content: "\e5de"; } +.icon-wrap-text:before { content: "\e247"; } +.icon-wrench:before { content: "\e1b0"; } +.icon-x:before { content: "\e1b1"; } +.icon-youtube:before { content: "\e1b2"; } +.icon-zap-off:before { content: "\e1b4"; } +.icon-zap:before { content: "\e1b3"; } +.icon-zoom-in:before { content: "\e1b5"; } +.icon-zoom-out:before { content: "\e1b6"; } + + +$icon-a-arrow-down: '\e589'; +$icon-a-arrow-up: '\e58a'; +$icon-a-large-small: '\e58b'; +$icon-accessibility: '\e296'; +$icon-activity: '\e038'; +$icon-air-vent: '\e350'; +$icon-airplay: '\e039'; +$icon-alarm-clock-check: '\e1eb'; +$icon-alarm-clock-minus: '\e1ec'; +$icon-alarm-clock-off: '\e23a'; +$icon-alarm-clock-plus: '\e1ed'; +$icon-alarm-clock: '\e03a'; +$icon-alarm-smoke: '\e57f'; +$icon-album: '\e03b'; +$icon-align-center-horizontal: '\e26b'; +$icon-align-center-vertical: '\e26c'; +$icon-align-center: '\e03c'; +$icon-align-end-horizontal: '\e26d'; +$icon-align-end-vertical: '\e26e'; +$icon-align-horizontal-distribute-center: '\e03d'; +$icon-align-horizontal-distribute-end: '\e03e'; +$icon-align-horizontal-distribute-start: '\e03f'; +$icon-align-horizontal-justify-center: '\e271'; +$icon-align-horizontal-justify-end: '\e272'; +$icon-align-horizontal-justify-start: '\e273'; +$icon-align-horizontal-space-around: '\e274'; +$icon-align-horizontal-space-between: '\e275'; +$icon-align-justify: '\e040'; +$icon-align-left: '\e041'; +$icon-align-right: '\e042'; +$icon-align-start-horizontal: '\e26f'; +$icon-align-start-vertical: '\e270'; +$icon-align-vertical-distribute-center: '\e27d'; +$icon-align-vertical-distribute-end: '\e27e'; +$icon-align-vertical-distribute-start: '\e27f'; +$icon-align-vertical-justify-center: '\e276'; +$icon-align-vertical-justify-end: '\e277'; +$icon-align-vertical-justify-start: '\e278'; +$icon-align-vertical-space-around: '\e279'; +$icon-align-vertical-space-between: '\e27a'; +$icon-ambulance: '\e5bf'; +$icon-ampersand: '\e4a0'; +$icon-ampersands: '\e4a1'; +$icon-amphora: '\e61f'; +$icon-anchor: '\e043'; +$icon-angry: '\e2fb'; +$icon-annoyed: '\e2fc'; +$icon-antenna: '\e4e6'; +$icon-anvil: '\e584'; +$icon-aperture: '\e044'; +$icon-app-window-mac: '\e5d6'; +$icon-app-window: '\e42a'; +$icon-apple: '\e351'; +$icon-archive-restore: '\e2cc'; +$icon-archive-x: '\e510'; +$icon-archive: '\e045'; +$icon-armchair: '\e2bf'; +$icon-arrow-big-down-dash: '\e421'; +$icon-arrow-big-down: '\e1e0'; +$icon-arrow-big-left-dash: '\e422'; +$icon-arrow-big-left: '\e1e1'; +$icon-arrow-big-right-dash: '\e423'; +$icon-arrow-big-right: '\e1e2'; +$icon-arrow-big-up-dash: '\e424'; +$icon-arrow-big-up: '\e1e3'; +$icon-arrow-down-0-1: '\e417'; +$icon-arrow-down-1-0: '\e418'; +$icon-arrow-down-a-z: '\e419'; +$icon-arrow-down-from-line: '\e458'; +$icon-arrow-down-left: '\e047'; +$icon-arrow-down-narrow-wide: '\e048'; +$icon-arrow-down-right: '\e049'; +$icon-arrow-down-to-dot: '\e451'; +$icon-arrow-down-to-line: '\e459'; +$icon-arrow-down-up: '\e04a'; +$icon-arrow-down-wide-narrow: '\e04b'; +$icon-arrow-down-z-a: '\e41a'; +$icon-arrow-down: '\e046'; +$icon-arrow-left-from-line: '\e45a'; +$icon-arrow-left-right: '\e249'; +$icon-arrow-left-to-line: '\e45b'; +$icon-arrow-left: '\e04c'; +$icon-arrow-right-from-line: '\e45c'; +$icon-arrow-right-left: '\e41b'; +$icon-arrow-right-to-line: '\e45d'; +$icon-arrow-right: '\e04d'; +$icon-arrow-up-0-1: '\e41c'; +$icon-arrow-up-1-0: '\e41d'; +$icon-arrow-up-a-z: '\e41e'; +$icon-arrow-up-down: '\e380'; +$icon-arrow-up-from-dot: '\e452'; +$icon-arrow-up-from-line: '\e45e'; +$icon-arrow-up-left: '\e04f'; +$icon-arrow-up-narrow-wide: '\e050'; +$icon-arrow-up-right: '\e051'; +$icon-arrow-up-to-line: '\e45f'; +$icon-arrow-up-wide-narrow: '\e41f'; +$icon-arrow-up-z-a: '\e420'; +$icon-arrow-up: '\e04e'; +$icon-arrows-up-from-line: '\e4d8'; +$icon-asterisk: '\e1ee'; +$icon-at-sign: '\e052'; +$icon-atom: '\e3da'; +$icon-audio-lines: '\e55e'; +$icon-audio-waveform: '\e55f'; +$icon-award: '\e053'; +$icon-axe: '\e054'; +$icon-axis-3d: '\e2fd'; +$icon-baby: '\e2cd'; +$icon-backpack: '\e2c7'; +$icon-badge-alert: '\e479'; +$icon-badge-cent: '\e513'; +$icon-badge-check: '\e240'; +$icon-badge-dollar-sign: '\e47a'; +$icon-badge-euro: '\e514'; +$icon-badge-help: '\e47b'; +$icon-badge-indian-rupee: '\e515'; +$icon-badge-info: '\e47c'; +$icon-badge-japanese-yen: '\e516'; +$icon-badge-minus: '\e47d'; +$icon-badge-percent: '\e47e'; +$icon-badge-plus: '\e47f'; +$icon-badge-pound-sterling: '\e517'; +$icon-badge-russian-ruble: '\e518'; +$icon-badge-swiss-franc: '\e519'; +$icon-badge-x: '\e480'; +$icon-badge: '\e478'; +$icon-baggage-claim: '\e2c8'; +$icon-ban: '\e055'; +$icon-banana: '\e352'; +$icon-bandage: '\e621'; +$icon-banknote: '\e056'; +$icon-barcode: '\e537'; +$icon-baseline: '\e284'; +$icon-bath: '\e2aa'; +$icon-battery-charging: '\e058'; +$icon-battery-full: '\e059'; +$icon-battery-low: '\e05a'; +$icon-battery-medium: '\e05b'; +$icon-battery-plus: '\e642'; +$icon-battery-warning: '\e3af'; +$icon-battery: '\e057'; +$icon-beaker: '\e05c'; +$icon-bean-off: '\e393'; +$icon-bean: '\e392'; +$icon-bed-double: '\e2c1'; +$icon-bed-single: '\e2c2'; +$icon-bed: '\e2c0'; +$icon-beef: '\e3a8'; +$icon-beer-off: '\e5dd'; +$icon-beer: '\e2ce'; +$icon-bell-dot: '\e42f'; +$icon-bell-electric: '\e580'; +$icon-bell-minus: '\e1ef'; +$icon-bell-off: '\e05e'; +$icon-bell-plus: '\e1f0'; +$icon-bell-ring: '\e223'; +$icon-bell: '\e05d'; +$icon-between-horizontal-end: '\e595'; +$icon-between-horizontal-start: '\e596'; +$icon-between-vertical-end: '\e597'; +$icon-between-vertical-start: '\e598'; +$icon-biceps-flexed: '\e5ef'; +$icon-bike: '\e1d1'; +$icon-binary: '\e1f1'; +$icon-binoculars: '\e625'; +$icon-biohazard: '\e445'; +$icon-bird: '\e3c8'; +$icon-bitcoin: '\e05f'; +$icon-blend: '\e5a0'; +$icon-blinds: '\e3c3'; +$icon-blocks: '\e4fe'; +$icon-bluetooth-connected: '\e1b7'; +$icon-bluetooth-off: '\e1b8'; +$icon-bluetooth-searching: '\e1b9'; +$icon-bluetooth: '\e060'; +$icon-bold: '\e061'; +$icon-bolt: '\e590'; +$icon-bomb: '\e2fe'; +$icon-bone: '\e35b'; +$icon-book-a: '\e548'; +$icon-book-audio: '\e549'; +$icon-book-check: '\e54a'; +$icon-book-copy: '\e3f0'; +$icon-book-dashed: '\e3f1'; +$icon-book-down: '\e3f2'; +$icon-book-headphones: '\e54b'; +$icon-book-heart: '\e54c'; +$icon-book-image: '\e54d'; +$icon-book-key: '\e3f3'; +$icon-book-lock: '\e3f4'; +$icon-book-marked: '\e3f5'; +$icon-book-minus: '\e3f6'; +$icon-book-open-check: '\e384'; +$icon-book-open-text: '\e54e'; +$icon-book-open: '\e063'; +$icon-book-plus: '\e3f7'; +$icon-book-text: '\e54f'; +$icon-book-type: '\e550'; +$icon-book-up-2: '\e4aa'; +$icon-book-up: '\e3f8'; +$icon-book-user: '\e551'; +$icon-book-x: '\e3f9'; +$icon-book: '\e062'; +$icon-bookmark-check: '\e523'; +$icon-bookmark-minus: '\e23b'; +$icon-bookmark-plus: '\e23c'; +$icon-bookmark-x: '\e524'; +$icon-bookmark: '\e064'; +$icon-boom-box: '\e4f2'; +$icon-bot-message-square: '\e5d2'; +$icon-bot-off: '\e5e4'; +$icon-bot: '\e1ba'; +$icon-box: '\e065'; +$icon-boxes: '\e2cf'; +$icon-braces: '\e36d'; +$icon-brackets: '\e447'; +$icon-brain-circuit: '\e3ca'; +$icon-brain-cog: '\e3cb'; +$icon-brain: '\e3c9'; +$icon-brick-wall: '\e585'; +$icon-briefcase-business: '\e5d9'; +$icon-briefcase-conveyor-belt: '\e62f'; +$icon-briefcase-medical: '\e5da'; +$icon-briefcase: '\e066'; +$icon-bring-to-front: '\e4f3'; +$icon-brush: '\e1d2'; +$icon-bug-off: '\e511'; +$icon-bug-play: '\e512'; +$icon-bug: '\e20b'; +$icon-building-2: '\e28f'; +$icon-building: '\e1cb'; +$icon-bus-front: '\e4ff'; +$icon-bus: '\e1d3'; +$icon-cable-car: '\e500'; +$icon-cable: '\e4e7'; +$icon-cake-slice: '\e4bd'; +$icon-cake: '\e347'; +$icon-calculator: '\e1bb'; +$icon-calendar-1: '\e634'; +$icon-calendar-arrow-down: '\e602'; +$icon-calendar-arrow-up: '\e603'; +$icon-calendar-check-2: '\e2b7'; +$icon-calendar-check: '\e2b6'; +$icon-calendar-clock: '\e303'; +$icon-calendar-cog: '\e5f1'; +$icon-calendar-days: '\e2b8'; +$icon-calendar-fold: '\e5b8'; +$icon-calendar-heart: '\e304'; +$icon-calendar-minus-2: '\e5b9'; +$icon-calendar-minus: '\e2b9'; +$icon-calendar-off: '\e2ba'; +$icon-calendar-plus-2: '\e5ba'; +$icon-calendar-plus: '\e2bb'; +$icon-calendar-range: '\e2bc'; +$icon-calendar-search: '\e305'; +$icon-calendar-sync: '\e63a'; +$icon-calendar-x-2: '\e2be'; +$icon-calendar-x: '\e2bd'; +$icon-calendar: '\e067'; +$icon-camera-off: '\e069'; +$icon-camera: '\e068'; +$icon-candy-cane: '\e4be'; +$icon-candy-off: '\e395'; +$icon-candy: '\e394'; +$icon-cannabis: '\e5d8'; +$icon-captions-off: '\e5c5'; +$icon-captions: '\e3a7'; +$icon-car-front: '\e501'; +$icon-car-taxi-front: '\e502'; +$icon-car: '\e1d4'; +$icon-caravan: '\e53d'; +$icon-carrot: '\e259'; +$icon-case-lower: '\e3db'; +$icon-case-sensitive: '\e3dc'; +$icon-case-upper: '\e3dd'; +$icon-cassette-tape: '\e4ce'; +$icon-cast: '\e06a'; +$icon-castle: '\e3e3'; +$icon-cat: '\e38f'; +$icon-cctv: '\e581'; +$icon-chart-area: '\e4d7'; +$icon-chart-bar-big: '\e4ab'; +$icon-chart-bar-decreasing: '\e60b'; +$icon-chart-bar-increasing: '\e60c'; +$icon-chart-bar-stacked: '\e60d'; +$icon-chart-bar: '\e2a1'; +$icon-chart-candlestick: '\e4ac'; +$icon-chart-column-big: '\e4ad'; +$icon-chart-column-decreasing: '\e06b'; +$icon-chart-column-increasing: '\e2a3'; +$icon-chart-column-stacked: '\e60e'; +$icon-chart-column: '\e2a2'; +$icon-chart-gantt: '\e628'; +$icon-chart-line: '\e2a4'; +$icon-chart-network: '\e60f'; +$icon-chart-no-axes-column-decreasing: '\e06d'; +$icon-chart-no-axes-column-increasing: '\e06e'; +$icon-chart-no-axes-column: '\e06c'; +$icon-chart-no-axes-combined: '\e610'; +$icon-chart-no-axes-gantt: '\e4c8'; +$icon-chart-pie: '\e06f'; +$icon-chart-scatter: '\e48e'; +$icon-chart-spline: '\e611'; +$icon-check-check: '\e391'; +$icon-check: '\e070'; +$icon-chef-hat: '\e2ab'; +$icon-cherry: '\e353'; +$icon-chevron-down: '\e071'; +$icon-chevron-first: '\e242'; +$icon-chevron-last: '\e243'; +$icon-chevron-left: '\e072'; +$icon-chevron-right: '\e073'; +$icon-chevron-up: '\e074'; +$icon-chevrons-down-up: '\e227'; +$icon-chevrons-down: '\e075'; +$icon-chevrons-left-right-ellipsis: '\e623'; +$icon-chevrons-left-right: '\e292'; +$icon-chevrons-left: '\e076'; +$icon-chevrons-right-left: '\e293'; +$icon-chevrons-right: '\e077'; +$icon-chevrons-up-down: '\e210'; +$icon-chevrons-up: '\e078'; +$icon-chrome: '\e079'; +$icon-church: '\e3e4'; +$icon-cigarette-off: '\e2c6'; +$icon-cigarette: '\e2c5'; +$icon-circle-alert: '\e07b'; +$icon-circle-arrow-down: '\e07c'; +$icon-circle-arrow-left: '\e07d'; +$icon-circle-arrow-out-down-left: '\e3fb'; +$icon-circle-arrow-out-down-right: '\e3fc'; +$icon-circle-arrow-out-up-left: '\e3fd'; +$icon-circle-arrow-out-up-right: '\e3fe'; +$icon-circle-arrow-right: '\e07e'; +$icon-circle-arrow-up: '\e07f'; +$icon-circle-check-big: '\e080'; +$icon-circle-check: '\e225'; +$icon-circle-chevron-down: '\e4e1'; +$icon-circle-chevron-left: '\e4e2'; +$icon-circle-chevron-right: '\e4e3'; +$icon-circle-chevron-up: '\e4e4'; +$icon-circle-dashed: '\e4b4'; +$icon-circle-divide: '\e081'; +$icon-circle-dollar-sign: '\e481'; +$icon-circle-dot-dashed: '\e4b5'; +$icon-circle-dot: '\e348'; +$icon-circle-ellipsis: '\e349'; +$icon-circle-equal: '\e404'; +$icon-circle-fading-arrow-up: '\e61c'; +$icon-circle-fading-plus: '\e5c0'; +$icon-circle-gauge: '\e4e5'; +$icon-circle-help: '\e082'; +$icon-circle-minus: '\e083'; +$icon-circle-off: '\e405'; +$icon-circle-parking-off: '\e3cd'; +$icon-circle-parking: '\e3cc'; +$icon-circle-pause: '\e084'; +$icon-circle-percent: '\e51e'; +$icon-circle-play: '\e085'; +$icon-circle-plus: '\e086'; +$icon-circle-power: '\e554'; +$icon-circle-slash-2: '\e212'; +$icon-circle-slash: '\e406'; +$icon-circle-small: '\e644'; +$icon-circle-stop: '\e087'; +$icon-circle-user-round: '\e466'; +$icon-circle-user: '\e465'; +$icon-circle-x: '\e088'; +$icon-circle: '\e07a'; +$icon-circuit-board: '\e407'; +$icon-citrus: '\e378'; +$icon-clapperboard: '\e29a'; +$icon-clipboard-check: '\e218'; +$icon-clipboard-copy: '\e224'; +$icon-clipboard-list: '\e08a'; +$icon-clipboard-minus: '\e5c2'; +$icon-clipboard-paste: '\e3eb'; +$icon-clipboard-pen-line: '\e307'; +$icon-clipboard-pen: '\e306'; +$icon-clipboard-plus: '\e5c3'; +$icon-clipboard-type: '\e308'; +$icon-clipboard-x: '\e221'; +$icon-clipboard: '\e089'; +$icon-clock-1: '\e24a'; +$icon-clock-10: '\e24b'; +$icon-clock-11: '\e24c'; +$icon-clock-12: '\e24d'; +$icon-clock-2: '\e24e'; +$icon-clock-3: '\e24f'; +$icon-clock-4: '\e250'; +$icon-clock-5: '\e251'; +$icon-clock-6: '\e252'; +$icon-clock-7: '\e253'; +$icon-clock-8: '\e254'; +$icon-clock-9: '\e255'; +$icon-clock-alert: '\e62e'; +$icon-clock-arrow-down: '\e604'; +$icon-clock-arrow-up: '\e605'; +$icon-clock: '\e08b'; +$icon-cloud-alert: '\e637'; +$icon-cloud-cog: '\e309'; +$icon-cloud-download: '\e08d'; +$icon-cloud-drizzle: '\e08e'; +$icon-cloud-fog: '\e213'; +$icon-cloud-hail: '\e08f'; +$icon-cloud-lightning: '\e090'; +$icon-cloud-moon-rain: '\e2f9'; +$icon-cloud-moon: '\e214'; +$icon-cloud-off: '\e091'; +$icon-cloud-rain-wind: '\e093'; +$icon-cloud-rain: '\e092'; +$icon-cloud-snow: '\e094'; +$icon-cloud-sun-rain: '\e2fa'; +$icon-cloud-sun: '\e215'; +$icon-cloud-upload: '\e095'; +$icon-cloud: '\e08c'; +$icon-cloudy: '\e216'; +$icon-clover: '\e096'; +$icon-club: '\e49a'; +$icon-code-xml: '\e205'; +$icon-code: '\e097'; +$icon-codepen: '\e098'; +$icon-codesandbox: '\e099'; +$icon-coffee: '\e09a'; +$icon-cog: '\e30a'; +$icon-coins: '\e09b'; +$icon-columns-2: '\e09c'; +$icon-columns-3: '\e09d'; +$icon-columns-4: '\e58d'; +$icon-combine: '\e450'; +$icon-command: '\e09e'; +$icon-compass: '\e09f'; +$icon-component: '\e2ac'; +$icon-computer: '\e4e8'; +$icon-concierge-bell: '\e37b'; +$icon-cone: '\e527'; +$icon-construction: '\e3b7'; +$icon-contact-round: '\e467'; +$icon-contact: '\e0a0'; +$icon-container: '\e4d9'; +$icon-contrast: '\e0a1'; +$icon-cookie: '\e26a'; +$icon-cooking-pot: '\e588'; +$icon-copy-check: '\e3ff'; +$icon-copy-minus: '\e400'; +$icon-copy-plus: '\e401'; +$icon-copy-slash: '\e402'; +$icon-copy-x: '\e403'; +$icon-copy: '\e0a2'; +$icon-copyleft: '\e0a3'; +$icon-copyright: '\e0a4'; +$icon-corner-down-left: '\e0a5'; +$icon-corner-down-right: '\e0a6'; +$icon-corner-left-down: '\e0a7'; +$icon-corner-left-up: '\e0a8'; +$icon-corner-right-down: '\e0a9'; +$icon-corner-right-up: '\e0aa'; +$icon-corner-up-left: '\e0ab'; +$icon-corner-up-right: '\e0ac'; +$icon-cpu: '\e0ad'; +$icon-creative-commons: '\e3b5'; +$icon-credit-card: '\e0ae'; +$icon-croissant: '\e2ad'; +$icon-crop: '\e0af'; +$icon-cross: '\e1e4'; +$icon-crosshair: '\e0b0'; +$icon-crown: '\e1d5'; +$icon-cuboid: '\e528'; +$icon-cup-soda: '\e2d0'; +$icon-currency: '\e22f'; +$icon-cylinder: '\e529'; +$icon-dam: '\e60a'; +$icon-database-backup: '\e3ae'; +$icon-database-zap: '\e50f'; +$icon-database: '\e0b1'; +$icon-delete: '\e0b2'; +$icon-dessert: '\e4bf'; +$icon-diameter: '\e52a'; +$icon-diamond-minus: '\e5e5'; +$icon-diamond-percent: '\e51f'; +$icon-diamond-plus: '\e5e6'; +$icon-diamond: '\e2d1'; +$icon-dice-1: '\e286'; +$icon-dice-2: '\e287'; +$icon-dice-3: '\e288'; +$icon-dice-4: '\e289'; +$icon-dice-5: '\e28a'; +$icon-dice-6: '\e28b'; +$icon-dices: '\e2c4'; +$icon-diff: '\e30b'; +$icon-disc-2: '\e3fa'; +$icon-disc-3: '\e498'; +$icon-disc-album: '\e560'; +$icon-disc: '\e0b3'; +$icon-divide: '\e0b4'; +$icon-dna-off: '\e397'; +$icon-dna: '\e396'; +$icon-dock: '\e5d7'; +$icon-dog: '\e390'; +$icon-dollar-sign: '\e0b5'; +$icon-donut: '\e4c0'; +$icon-door-closed: '\e3d8'; +$icon-door-open: '\e3d9'; +$icon-dot: '\e453'; +$icon-download: '\e0b6'; +$icon-drafting-compass: '\e52b'; +$icon-drama: '\e525'; +$icon-dribbble: '\e0b7'; +$icon-drill: '\e591'; +$icon-droplet-off: '\e63c'; +$icon-droplet: '\e0b8'; +$icon-droplets: '\e0b9'; +$icon-drum: '\e561'; +$icon-drumstick: '\e25a'; +$icon-dumbbell: '\e3a4'; +$icon-ear-off: '\e386'; +$icon-ear: '\e385'; +$icon-earth-lock: '\e5d0'; +$icon-earth: '\e1f2'; +$icon-eclipse: '\e5a1'; +$icon-egg-fried: '\e354'; +$icon-egg-off: '\e398'; +$icon-egg: '\e25c'; +$icon-ellipsis-vertical: '\e0bb'; +$icon-ellipsis: '\e0ba'; +$icon-equal-approximately: '\e638'; +$icon-equal-not: '\e1bd'; +$icon-equal: '\e1bc'; +$icon-eraser: '\e28e'; +$icon-ethernet-port: '\e624'; +$icon-euro: '\e0bc'; +$icon-expand: '\e219'; +$icon-external-link: '\e0bd'; +$icon-eye-closed: '\e632'; +$icon-eye-off: '\e0bf'; +$icon-eye: '\e0be'; +$icon-facebook: '\e0c0'; +$icon-factory: '\e29e'; +$icon-fan: '\e37c'; +$icon-fast-forward: '\e0c1'; +$icon-feather: '\e0c2'; +$icon-fence: '\e586'; +$icon-ferris-wheel: '\e483'; +$icon-figma: '\e0c3'; +$icon-file-archive: '\e30c'; +$icon-file-audio-2: '\e30e'; +$icon-file-audio: '\e30d'; +$icon-file-axis-3d: '\e30f'; +$icon-file-badge-2: '\e311'; +$icon-file-badge: '\e310'; +$icon-file-box: '\e312'; +$icon-file-chart-column-increasing: '\e314'; +$icon-file-chart-column: '\e313'; +$icon-file-chart-line: '\e315'; +$icon-file-chart-pie: '\e316'; +$icon-file-check-2: '\e0c6'; +$icon-file-check: '\e0c5'; +$icon-file-clock: '\e317'; +$icon-file-code-2: '\e462'; +$icon-file-code: '\e0c7'; +$icon-file-cog: '\e318'; +$icon-file-diff: '\e319'; +$icon-file-digit: '\e0c8'; +$icon-file-down: '\e31a'; +$icon-file-heart: '\e31b'; +$icon-file-image: '\e31c'; +$icon-file-input: '\e0c9'; +$icon-file-json-2: '\e36f'; +$icon-file-json: '\e36e'; +$icon-file-key-2: '\e31e'; +$icon-file-key: '\e31d'; +$icon-file-lock-2: '\e320'; +$icon-file-lock: '\e31f'; +$icon-file-minus-2: '\e0cb'; +$icon-file-minus: '\e0ca'; +$icon-file-music: '\e562'; +$icon-file-output: '\e0cc'; +$icon-file-pen-line: '\e322'; +$icon-file-pen: '\e321'; +$icon-file-plus-2: '\e0ce'; +$icon-file-plus: '\e0cd'; +$icon-file-question: '\e323'; +$icon-file-scan: '\e324'; +$icon-file-search-2: '\e325'; +$icon-file-search: '\e0cf'; +$icon-file-sliders: '\e5a4'; +$icon-file-spreadsheet: '\e326'; +$icon-file-stack: '\e4a5'; +$icon-file-symlink: '\e327'; +$icon-file-terminal: '\e328'; +$icon-file-text: '\e0d0'; +$icon-file-type-2: '\e370'; +$icon-file-type: '\e329'; +$icon-file-up: '\e32a'; +$icon-file-user: '\e631'; +$icon-file-video-2: '\e32c'; +$icon-file-video: '\e32b'; +$icon-file-volume-2: '\e32e'; +$icon-file-volume: '\e32d'; +$icon-file-warning: '\e32f'; +$icon-file-x-2: '\e0d2'; +$icon-file-x: '\e0d1'; +$icon-file: '\e0c4'; +$icon-files: '\e0d3'; +$icon-film: '\e0d4'; +$icon-filter-x: '\e3b8'; +$icon-filter: '\e0d5'; +$icon-fingerprint: '\e2ca'; +$icon-fire-extinguisher: '\e582'; +$icon-fish-off: '\e3b3'; +$icon-fish-symbol: '\e4f8'; +$icon-fish: '\e3a9'; +$icon-flag-off: '\e291'; +$icon-flag-triangle-left: '\e236'; +$icon-flag-triangle-right: '\e237'; +$icon-flag: '\e0d6'; +$icon-flame-kindling: '\e53e'; +$icon-flame: '\e0d7'; +$icon-flashlight-off: '\e0d9'; +$icon-flashlight: '\e0d8'; +$icon-flask-conical-off: '\e399'; +$icon-flask-conical: '\e0da'; +$icon-flask-round: '\e0db'; +$icon-flip-horizontal-2: '\e361'; +$icon-flip-horizontal: '\e360'; +$icon-flip-vertical-2: '\e363'; +$icon-flip-vertical: '\e362'; +$icon-flower-2: '\e2d3'; +$icon-flower: '\e2d2'; +$icon-focus: '\e29d'; +$icon-fold-horizontal: '\e43f'; +$icon-fold-vertical: '\e440'; +$icon-folder-archive: '\e330'; +$icon-folder-check: '\e331'; +$icon-folder-clock: '\e332'; +$icon-folder-closed: '\e333'; +$icon-folder-code: '\e5ff'; +$icon-folder-cog: '\e334'; +$icon-folder-dot: '\e4c9'; +$icon-folder-down: '\e335'; +$icon-folder-git-2: '\e40e'; +$icon-folder-git: '\e40d'; +$icon-folder-heart: '\e336'; +$icon-folder-input: '\e337'; +$icon-folder-kanban: '\e4ca'; +$icon-folder-key: '\e338'; +$icon-folder-lock: '\e339'; +$icon-folder-minus: '\e0dd'; +$icon-folder-open-dot: '\e4cb'; +$icon-folder-open: '\e246'; +$icon-folder-output: '\e33a'; +$icon-folder-pen: '\e33b'; +$icon-folder-plus: '\e0de'; +$icon-folder-root: '\e4cc'; +$icon-folder-search-2: '\e33d'; +$icon-folder-search: '\e33c'; +$icon-folder-symlink: '\e33e'; +$icon-folder-sync: '\e4cd'; +$icon-folder-tree: '\e33f'; +$icon-folder-up: '\e340'; +$icon-folder-x: '\e341'; +$icon-folder: '\e0dc'; +$icon-folders: '\e342'; +$icon-footprints: '\e3bc'; +$icon-forklift: '\e3c4'; +$icon-forward: '\e228'; +$icon-frame: '\e290'; +$icon-framer: '\e0df'; +$icon-frown: '\e0e0'; +$icon-fuel: '\e2ae'; +$icon-fullscreen: '\e538'; +$icon-gallery-horizontal-end: '\e4d3'; +$icon-gallery-horizontal: '\e4d2'; +$icon-gallery-thumbnails: '\e4d4'; +$icon-gallery-vertical-end: '\e4d6'; +$icon-gallery-vertical: '\e4d5'; +$icon-gamepad-2: '\e0e2'; +$icon-gamepad: '\e0e1'; +$icon-gauge: '\e1be'; +$icon-gavel: '\e0e3'; +$icon-gem: '\e241'; +$icon-ghost: '\e20d'; +$icon-gift: '\e0e4'; +$icon-git-branch-plus: '\e1f3'; +$icon-git-branch: '\e0e5'; +$icon-git-commit-horizontal: '\e0e6'; +$icon-git-commit-vertical: '\e556'; +$icon-git-compare-arrows: '\e557'; +$icon-git-compare: '\e35c'; +$icon-git-fork: '\e28c'; +$icon-git-graph: '\e558'; +$icon-git-merge: '\e0e7'; +$icon-git-pull-request-arrow: '\e559'; +$icon-git-pull-request-closed: '\e35d'; +$icon-git-pull-request-create-arrow: '\e55b'; +$icon-git-pull-request-create: '\e55a'; +$icon-git-pull-request-draft: '\e35e'; +$icon-git-pull-request: '\e0e8'; +$icon-github: '\e0e9'; +$icon-gitlab: '\e0ea'; +$icon-glass-water: '\e2d4'; +$icon-glasses: '\e20c'; +$icon-globe-lock: '\e5d1'; +$icon-globe: '\e0eb'; +$icon-goal: '\e4a9'; +$icon-grab: '\e1e5'; +$icon-graduation-cap: '\e233'; +$icon-grape: '\e355'; +$icon-grid-2x2-check: '\e5e8'; +$icon-grid-2x2-plus: '\e62c'; +$icon-grid-2x2-x: '\e5e9'; +$icon-grid-2x2: '\e503'; +$icon-grid-3x3: '\e0ec'; +$icon-grip-horizontal: '\e0ed'; +$icon-grip-vertical: '\e0ee'; +$icon-grip: '\e3b4'; +$icon-group: '\e468'; +$icon-guitar: '\e563'; +$icon-ham: '\e5db'; +$icon-hammer: '\e0ef'; +$icon-hand-coins: '\e5bc'; +$icon-hand-heart: '\e5bd'; +$icon-hand-helping: '\e3bb'; +$icon-hand-metal: '\e22b'; +$icon-hand-platter: '\e5be'; +$icon-hand: '\e1d6'; +$icon-handshake: '\e5c4'; +$icon-hard-drive-download: '\e4e9'; +$icon-hard-drive-upload: '\e4ea'; +$icon-hard-drive: '\e0f0'; +$icon-hard-hat: '\e0f1'; +$icon-hash: '\e0f2'; +$icon-haze: '\e0f3'; +$icon-hdmi-port: '\e4eb'; +$icon-heading-1: '\e388'; +$icon-heading-2: '\e389'; +$icon-heading-3: '\e38a'; +$icon-heading-4: '\e38b'; +$icon-heading-5: '\e38c'; +$icon-heading-6: '\e38d'; +$icon-heading: '\e387'; +$icon-headphone-off: '\e62d'; +$icon-headphones: '\e0f4'; +$icon-headset: '\e5c1'; +$icon-heart-crack: '\e2d5'; +$icon-heart-handshake: '\e2d6'; +$icon-heart-off: '\e294'; +$icon-heart-pulse: '\e371'; +$icon-heart: '\e0f5'; +$icon-heater: '\e592'; +$icon-hexagon: '\e0f6'; +$icon-highlighter: '\e0f7'; +$icon-history: '\e1f4'; +$icon-hop-off: '\e39b'; +$icon-hop: '\e39a'; +$icon-hospital: '\e5dc'; +$icon-hotel: '\e3e5'; +$icon-hourglass: '\e295'; +$icon-house-plug: '\e5f4'; +$icon-house-plus: '\e5f5'; +$icon-house-wifi: '\e640'; +$icon-house: '\e0f8'; +$icon-ice-cream-bowl: '\e3aa'; +$icon-ice-cream-cone: '\e356'; +$icon-id-card: '\e61b'; +$icon-image-down: '\e540'; +$icon-image-minus: '\e1f5'; +$icon-image-off: '\e1bf'; +$icon-image-play: '\e5e3'; +$icon-image-plus: '\e1f6'; +$icon-image-up: '\e5cf'; +$icon-image-upscale: '\e63b'; +$icon-image: '\e0f9'; +$icon-images: '\e5c8'; +$icon-import: '\e22e'; +$icon-inbox: '\e0fa'; +$icon-indent-decrease: '\e0fb'; +$icon-indent-increase: '\e0fc'; +$icon-indian-rupee: '\e0fd'; +$icon-infinity: '\e1e6'; +$icon-info: '\e0fe'; +$icon-inspection-panel: '\e587'; +$icon-instagram: '\e0ff'; +$icon-italic: '\e100'; +$icon-iteration-ccw: '\e427'; +$icon-iteration-cw: '\e428'; +$icon-japanese-yen: '\e101'; +$icon-joystick: '\e358'; +$icon-kanban: '\e4e0'; +$icon-key-round: '\e4a7'; +$icon-key-square: '\e4a8'; +$icon-key: '\e102'; +$icon-keyboard-music: '\e564'; +$icon-keyboard-off: '\e5e2'; +$icon-keyboard: '\e283'; +$icon-lamp-ceiling: '\e2d8'; +$icon-lamp-desk: '\e2d9'; +$icon-lamp-floor: '\e2da'; +$icon-lamp-wall-down: '\e2db'; +$icon-lamp-wall-up: '\e2dc'; +$icon-lamp: '\e2d7'; +$icon-land-plot: '\e52c'; +$icon-landmark: '\e239'; +$icon-languages: '\e103'; +$icon-laptop-minimal-check: '\e636'; +$icon-laptop-minimal: '\e1d7'; +$icon-laptop: '\e1cc'; +$icon-lasso-select: '\e1ce'; +$icon-lasso: '\e1cd'; +$icon-laugh: '\e2ff'; +$icon-layers-2: '\e52e'; +$icon-layers: '\e52d'; +$icon-layout-dashboard: '\e1c0'; +$icon-layout-grid: '\e104'; +$icon-layout-list: '\e1d8'; +$icon-layout-panel-left: '\e474'; +$icon-layout-panel-top: '\e475'; +$icon-layout-template: '\e206'; +$icon-leaf: '\e2dd'; +$icon-leafy-green: '\e473'; +$icon-lectern: '\e5ed'; +$icon-letter-text: '\e609'; +$icon-library-big: '\e552'; +$icon-library: '\e105'; +$icon-life-buoy: '\e106'; +$icon-ligature: '\e43e'; +$icon-lightbulb-off: '\e207'; +$icon-lightbulb: '\e1c1'; +$icon-link-2-off: '\e109'; +$icon-link-2: '\e108'; +$icon-link: '\e107'; +$icon-linkedin: '\e10a'; +$icon-list-check: '\e5fe'; +$icon-list-checks: '\e1cf'; +$icon-list-collapse: '\e59f'; +$icon-list-end: '\e2de'; +$icon-list-filter-plus: '\e63d'; +$icon-list-filter: '\e464'; +$icon-list-minus: '\e23d'; +$icon-list-music: '\e2df'; +$icon-list-ordered: '\e1d0'; +$icon-list-plus: '\e23e'; +$icon-list-restart: '\e456'; +$icon-list-start: '\e2e0'; +$icon-list-todo: '\e4c7'; +$icon-list-tree: '\e40c'; +$icon-list-video: '\e2e1'; +$icon-list-x: '\e23f'; +$icon-list: '\e10b'; +$icon-loader-circle: '\e10d'; +$icon-loader-pinwheel: '\e5ea'; +$icon-loader: '\e10c'; +$icon-locate-fixed: '\e1da'; +$icon-locate-off: '\e281'; +$icon-locate: '\e1d9'; +$icon-lock-keyhole-open: '\e536'; +$icon-lock-keyhole: '\e535'; +$icon-lock-open: '\e10f'; +$icon-lock: '\e10e'; +$icon-log-in: '\e110'; +$icon-log-out: '\e111'; +$icon-logs: '\e5f8'; +$icon-lollipop: '\e4c1'; +$icon-luggage: '\e2c9'; +$icon-magnet: '\e2b4'; +$icon-mail-check: '\e364'; +$icon-mail-minus: '\e365'; +$icon-mail-open: '\e366'; +$icon-mail-plus: '\e367'; +$icon-mail-question: '\e368'; +$icon-mail-search: '\e369'; +$icon-mail-warning: '\e36a'; +$icon-mail-x: '\e36b'; +$icon-mail: '\e112'; +$icon-mailbox: '\e3d7'; +$icon-mails: '\e36c'; +$icon-map-pin-check-inside: '\e614'; +$icon-map-pin-check: '\e613'; +$icon-map-pin-house: '\e620'; +$icon-map-pin-minus-inside: '\e616'; +$icon-map-pin-minus: '\e615'; +$icon-map-pin-off: '\e2a5'; +$icon-map-pin-plus-inside: '\e618'; +$icon-map-pin-plus: '\e617'; +$icon-map-pin-x-inside: '\e61a'; +$icon-map-pin-x: '\e619'; +$icon-map-pin: '\e114'; +$icon-map-pinned: '\e541'; +$icon-map-plus: '\e643'; +$icon-map: '\e113'; +$icon-mars-stroke: '\e646'; +$icon-mars: '\e645'; +$icon-martini: '\e2e2'; +$icon-maximize-2: '\e116'; +$icon-maximize: '\e115'; +$icon-medal: '\e372'; +$icon-megaphone-off: '\e373'; +$icon-megaphone: '\e234'; +$icon-meh: '\e117'; +$icon-memory-stick: '\e449'; +$icon-menu: '\e118'; +$icon-merge: '\e443'; +$icon-message-circle-code: '\e566'; +$icon-message-circle-dashed: '\e567'; +$icon-message-circle-heart: '\e568'; +$icon-message-circle-more: '\e569'; +$icon-message-circle-off: '\e56a'; +$icon-message-circle-plus: '\e56b'; +$icon-message-circle-question: '\e56c'; +$icon-message-circle-reply: '\e56d'; +$icon-message-circle-warning: '\e56e'; +$icon-message-circle-x: '\e56f'; +$icon-message-circle: '\e119'; +$icon-message-square-code: '\e570'; +$icon-message-square-dashed: '\e40f'; +$icon-message-square-diff: '\e571'; +$icon-message-square-dot: '\e572'; +$icon-message-square-heart: '\e573'; +$icon-message-square-lock: '\e630'; +$icon-message-square-more: '\e574'; +$icon-message-square-off: '\e575'; +$icon-message-square-plus: '\e410'; +$icon-message-square-quote: '\e576'; +$icon-message-square-reply: '\e577'; +$icon-message-square-share: '\e578'; +$icon-message-square-text: '\e579'; +$icon-message-square-warning: '\e57a'; +$icon-message-square-x: '\e57b'; +$icon-message-square: '\e11a'; +$icon-messages-square: '\e411'; +$icon-mic-off: '\e11c'; +$icon-mic-vocal: '\e34c'; +$icon-mic: '\e11b'; +$icon-microchip: '\e61e'; +$icon-microscope: '\e2e3'; +$icon-microwave: '\e37d'; +$icon-milestone: '\e297'; +$icon-milk-off: '\e39d'; +$icon-milk: '\e39c'; +$icon-minimize-2: '\e11e'; +$icon-minimize: '\e11d'; +$icon-minus: '\e11f'; +$icon-monitor-check: '\e486'; +$icon-monitor-cog: '\e607'; +$icon-monitor-dot: '\e487'; +$icon-monitor-down: '\e425'; +$icon-monitor-off: '\e1db'; +$icon-monitor-pause: '\e488'; +$icon-monitor-play: '\e489'; +$icon-monitor-smartphone: '\e3a5'; +$icon-monitor-speaker: '\e20f'; +$icon-monitor-stop: '\e48a'; +$icon-monitor-up: '\e426'; +$icon-monitor-x: '\e48b'; +$icon-monitor: '\e120'; +$icon-moon-star: '\e414'; +$icon-moon: '\e121'; +$icon-mountain-snow: '\e231'; +$icon-mountain: '\e230'; +$icon-mouse-off: '\e5df'; +$icon-mouse-pointer-2: '\e1c2'; +$icon-mouse-pointer-ban: '\e5eb'; +$icon-mouse-pointer-click: '\e123'; +$icon-mouse-pointer: '\e122'; +$icon-mouse: '\e28d'; +$icon-move-3d: '\e2e4'; +$icon-move-diagonal-2: '\e1c4'; +$icon-move-diagonal: '\e1c3'; +$icon-move-down-left: '\e491'; +$icon-move-down-right: '\e492'; +$icon-move-down: '\e490'; +$icon-move-horizontal: '\e1c5'; +$icon-move-left: '\e493'; +$icon-move-right: '\e494'; +$icon-move-up-left: '\e496'; +$icon-move-up-right: '\e497'; +$icon-move-up: '\e495'; +$icon-move-vertical: '\e1c6'; +$icon-move: '\e124'; +$icon-music-2: '\e34d'; +$icon-music-3: '\e34e'; +$icon-music-4: '\e34f'; +$icon-music: '\e125'; +$icon-navigation-2-off: '\e2a6'; +$icon-navigation-2: '\e127'; +$icon-navigation-off: '\e2a7'; +$icon-navigation: '\e126'; +$icon-network: '\e128'; +$icon-newspaper: '\e34b'; +$icon-nfc: '\e3c6'; +$icon-non-binary: '\e647'; +$icon-notebook-pen: '\e59a'; +$icon-notebook-tabs: '\e59b'; +$icon-notebook-text: '\e59c'; +$icon-notebook: '\e599'; +$icon-notepad-text-dashed: '\e59e'; +$icon-notepad-text: '\e59d'; +$icon-nut-off: '\e39f'; +$icon-nut: '\e39e'; +$icon-octagon-alert: '\e12a'; +$icon-octagon-minus: '\e62b'; +$icon-octagon-pause: '\e21a'; +$icon-octagon-x: '\e12b'; +$icon-octagon: '\e129'; +$icon-omega: '\e61d'; +$icon-option: '\e1f7'; +$icon-orbit: '\e3ea'; +$icon-origami: '\e5e7'; +$icon-package-2: '\e343'; +$icon-package-check: '\e265'; +$icon-package-minus: '\e266'; +$icon-package-open: '\e2cb'; +$icon-package-plus: '\e267'; +$icon-package-search: '\e268'; +$icon-package-x: '\e269'; +$icon-package: '\e12c'; +$icon-paint-bucket: '\e2e5'; +$icon-paint-roller: '\e5a2'; +$icon-paintbrush-vertical: '\e2e7'; +$icon-paintbrush: '\e2e6'; +$icon-palette: '\e1dc'; +$icon-panel-bottom-close: '\e431'; +$icon-panel-bottom-dashed: '\e432'; +$icon-panel-bottom-open: '\e433'; +$icon-panel-bottom: '\e430'; +$icon-panel-left-close: '\e21b'; +$icon-panel-left-dashed: '\e434'; +$icon-panel-left-open: '\e21c'; +$icon-panel-left: '\e12d'; +$icon-panel-right-close: '\e436'; +$icon-panel-right-dashed: '\e437'; +$icon-panel-right-open: '\e438'; +$icon-panel-right: '\e435'; +$icon-panel-top-close: '\e43a'; +$icon-panel-top-dashed: '\e43b'; +$icon-panel-top-open: '\e43c'; +$icon-panel-top: '\e439'; +$icon-panels-left-bottom: '\e12e'; +$icon-panels-right-bottom: '\e58c'; +$icon-panels-top-left: '\e12f'; +$icon-paperclip: '\e130'; +$icon-parentheses: '\e448'; +$icon-parking-meter: '\e504'; +$icon-party-popper: '\e346'; +$icon-pause: '\e131'; +$icon-paw-print: '\e4f9'; +$icon-pc-case: '\e44a'; +$icon-pen-line: '\e133'; +$icon-pen-off: '\e5f2'; +$icon-pen-tool: '\e134'; +$icon-pen: '\e132'; +$icon-pencil-line: '\e4f4'; +$icon-pencil-off: '\e5f3'; +$icon-pencil-ruler: '\e4f5'; +$icon-pencil: '\e1f8'; +$icon-pentagon: '\e52f'; +$icon-percent: '\e135'; +$icon-person-standing: '\e21d'; +$icon-philippine-peso: '\e608'; +$icon-phone-call: '\e137'; +$icon-phone-forwarded: '\e138'; +$icon-phone-incoming: '\e139'; +$icon-phone-missed: '\e13a'; +$icon-phone-off: '\e13b'; +$icon-phone-outgoing: '\e13c'; +$icon-phone: '\e136'; +$icon-pi: '\e476'; +$icon-piano: '\e565'; +$icon-pickaxe: '\e5ca'; +$icon-picture-in-picture-2: '\e3b2'; +$icon-picture-in-picture: '\e3b1'; +$icon-piggy-bank: '\e13d'; +$icon-pilcrow-left: '\e5e0'; +$icon-pilcrow-right: '\e5e1'; +$icon-pilcrow: '\e3a6'; +$icon-pill-bottle: '\e5ee'; +$icon-pill: '\e3c0'; +$icon-pin-off: '\e2b5'; +$icon-pin: '\e258'; +$icon-pipette: '\e13e'; +$icon-pizza: '\e357'; +$icon-plane-landing: '\e3d0'; +$icon-plane-takeoff: '\e3d1'; +$icon-plane: '\e1dd'; +$icon-play: '\e13f'; +$icon-plug-2: '\e383'; +$icon-plug-zap: '\e460'; +$icon-plug: '\e382'; +$icon-plus: '\e140'; +$icon-pocket-knife: '\e4a4'; +$icon-pocket: '\e141'; +$icon-podcast: '\e1f9'; +$icon-pointer-off: '\e583'; +$icon-pointer: '\e1e7'; +$icon-popcorn: '\e4c2'; +$icon-popsicle: '\e4c3'; +$icon-pound-sterling: '\e142'; +$icon-power-off: '\e208'; +$icon-power: '\e143'; +$icon-presentation: '\e4b2'; +$icon-printer-check: '\e5f9'; +$icon-printer: '\e144'; +$icon-projector: '\e4b3'; +$icon-proportions: '\e5d3'; +$icon-puzzle: '\e29b'; +$icon-pyramid: '\e530'; +$icon-qr-code: '\e1de'; +$icon-quote: '\e238'; +$icon-rabbit: '\e4fa'; +$icon-radar: '\e49b'; +$icon-radiation: '\e446'; +$icon-radical: '\e5c6'; +$icon-radio-receiver: '\e1fa'; +$icon-radio-tower: '\e408'; +$icon-radio: '\e145'; +$icon-radius: '\e531'; +$icon-rail-symbol: '\e505'; +$icon-rainbow: '\e4c6'; +$icon-rat: '\e3ef'; +$icon-ratio: '\e4ec'; +$icon-receipt-cent: '\e5a9'; +$icon-receipt-euro: '\e5aa'; +$icon-receipt-indian-rupee: '\e5ab'; +$icon-receipt-japanese-yen: '\e5ac'; +$icon-receipt-pound-sterling: '\e5ad'; +$icon-receipt-russian-ruble: '\e5ae'; +$icon-receipt-swiss-franc: '\e5af'; +$icon-receipt-text: '\e5b0'; +$icon-receipt: '\e3d6'; +$icon-rectangle-ellipsis: '\e21e'; +$icon-rectangle-horizontal: '\e379'; +$icon-rectangle-vertical: '\e37a'; +$icon-recycle: '\e2e8'; +$icon-redo-2: '\e29f'; +$icon-redo-dot: '\e454'; +$icon-redo: '\e146'; +$icon-refresh-ccw-dot: '\e4b6'; +$icon-refresh-ccw: '\e147'; +$icon-refresh-cw-off: '\e49c'; +$icon-refresh-cw: '\e148'; +$icon-refrigerator: '\e37e'; +$icon-regex: '\e1fb'; +$icon-remove-formatting: '\e3b6'; +$icon-repeat-1: '\e1fc'; +$icon-repeat-2: '\e415'; +$icon-repeat: '\e149'; +$icon-replace-all: '\e3df'; +$icon-replace: '\e3de'; +$icon-reply-all: '\e22a'; +$icon-reply: '\e229'; +$icon-rewind: '\e14a'; +$icon-ribbon: '\e55c'; +$icon-rocket: '\e285'; +$icon-rocking-chair: '\e232'; +$icon-roller-coaster: '\e484'; +$icon-rotate-3d: '\e2e9'; +$icon-rotate-ccw-square: '\e5d4'; +$icon-rotate-ccw: '\e14b'; +$icon-rotate-cw-square: '\e5d5'; +$icon-rotate-cw: '\e14c'; +$icon-route-off: '\e543'; +$icon-route: '\e542'; +$icon-router: '\e3c2'; +$icon-rows-2: '\e43d'; +$icon-rows-3: '\e58e'; +$icon-rows-4: '\e58f'; +$icon-rss: '\e14d'; +$icon-ruler: '\e14e'; +$icon-russian-ruble: '\e14f'; +$icon-sailboat: '\e381'; +$icon-salad: '\e3ab'; +$icon-sandwich: '\e3ac'; +$icon-satellite-dish: '\e44c'; +$icon-satellite: '\e44b'; +$icon-save-all: '\e413'; +$icon-save-off: '\e5f7'; +$icon-save: '\e150'; +$icon-scale-3d: '\e2ea'; +$icon-scale: '\e211'; +$icon-scaling: '\e2eb'; +$icon-scan-barcode: '\e539'; +$icon-scan-eye: '\e53a'; +$icon-scan-face: '\e374'; +$icon-scan-heart: '\e63e'; +$icon-scan-line: '\e257'; +$icon-scan-qr-code: '\e5fa'; +$icon-scan-search: '\e53b'; +$icon-scan-text: '\e53c'; +$icon-scan: '\e256'; +$icon-school: '\e3e6'; +$icon-scissors-line-dashed: '\e4ed'; +$icon-scissors: '\e151'; +$icon-screen-share-off: '\e153'; +$icon-screen-share: '\e152'; +$icon-scroll-text: '\e463'; +$icon-scroll: '\e2ec'; +$icon-search-check: '\e4ae'; +$icon-search-code: '\e4af'; +$icon-search-slash: '\e4b0'; +$icon-search-x: '\e4b1'; +$icon-search: '\e154'; +$icon-section: '\e5ec'; +$icon-send-horizontal: '\e4f6'; +$icon-send-to-back: '\e4f7'; +$icon-send: '\e155'; +$icon-separator-horizontal: '\e1c7'; +$icon-separator-vertical: '\e1c8'; +$icon-server-cog: '\e344'; +$icon-server-crash: '\e1e8'; +$icon-server-off: '\e1e9'; +$icon-server: '\e156'; +$icon-settings-2: '\e244'; +$icon-settings: '\e157'; +$icon-shapes: '\e4b7'; +$icon-share-2: '\e159'; +$icon-share: '\e158'; +$icon-sheet: '\e15a'; +$icon-shell: '\e4fb'; +$icon-shield-alert: '\e1fd'; +$icon-shield-ban: '\e15c'; +$icon-shield-check: '\e1fe'; +$icon-shield-ellipsis: '\e51a'; +$icon-shield-half: '\e51b'; +$icon-shield-minus: '\e51c'; +$icon-shield-off: '\e15d'; +$icon-shield-plus: '\e51d'; +$icon-shield-question: '\e412'; +$icon-shield-user: '\e64b'; +$icon-shield-x: '\e1ff'; +$icon-shield: '\e15b'; +$icon-ship-wheel: '\e506'; +$icon-ship: '\e3bd'; +$icon-shirt: '\e1c9'; +$icon-shopping-bag: '\e15e'; +$icon-shopping-basket: '\e4ee'; +$icon-shopping-cart: '\e15f'; +$icon-shovel: '\e160'; +$icon-shower-head: '\e37f'; +$icon-shrink: '\e21f'; +$icon-shrub: '\e2ed'; +$icon-shuffle: '\e161'; +$icon-sigma: '\e200'; +$icon-signal-high: '\e25f'; +$icon-signal-low: '\e260'; +$icon-signal-medium: '\e261'; +$icon-signal-zero: '\e262'; +$icon-signal: '\e25e'; +$icon-signature: '\e5f6'; +$icon-signpost-big: '\e545'; +$icon-signpost: '\e544'; +$icon-siren: '\e2ee'; +$icon-skip-back: '\e162'; +$icon-skip-forward: '\e163'; +$icon-skull: '\e220'; +$icon-slack: '\e164'; +$icon-slash: '\e521'; +$icon-slice: '\e2ef'; +$icon-sliders-horizontal: '\e299'; +$icon-sliders-vertical: '\e165'; +$icon-smartphone-charging: '\e22d'; +$icon-smartphone-nfc: '\e3c7'; +$icon-smartphone: '\e166'; +$icon-smile-plus: '\e300'; +$icon-smile: '\e167'; +$icon-snail: '\e4fc'; +$icon-snowflake: '\e168'; +$icon-sofa: '\e2c3'; +$icon-soup: '\e3ad'; +$icon-space: '\e3e0'; +$icon-spade: '\e49d'; +$icon-sparkle: '\e482'; +$icon-sparkles: '\e416'; +$icon-speaker: '\e169'; +$icon-speech: '\e522'; +$icon-spell-check-2: '\e49f'; +$icon-spell-check: '\e49e'; +$icon-spline: '\e38e'; +$icon-split: '\e444'; +$icon-spray-can: '\e499'; +$icon-sprout: '\e1ea'; +$icon-square-activity: '\e4b8'; +$icon-square-arrow-down-left: '\e4b9'; +$icon-square-arrow-down-right: '\e4ba'; +$icon-square-arrow-down: '\e42b'; +$icon-square-arrow-left: '\e42c'; +$icon-square-arrow-out-down-left: '\e5a5'; +$icon-square-arrow-out-down-right: '\e5a6'; +$icon-square-arrow-out-up-left: '\e5a7'; +$icon-square-arrow-out-up-right: '\e5a8'; +$icon-square-arrow-right: '\e42d'; +$icon-square-arrow-up-left: '\e4bb'; +$icon-square-arrow-up-right: '\e4bc'; +$icon-square-arrow-up: '\e42e'; +$icon-square-asterisk: '\e16b'; +$icon-square-bottom-dashed-scissors: '\e4ef'; +$icon-square-chart-gantt: '\e16c'; +$icon-square-check-big: '\e16d'; +$icon-square-check: '\e55d'; +$icon-square-chevron-down: '\e3d2'; +$icon-square-chevron-left: '\e3d3'; +$icon-square-chevron-right: '\e3d4'; +$icon-square-chevron-up: '\e3d5'; +$icon-square-code: '\e16e'; +$icon-square-dashed-bottom-code: '\e4c5'; +$icon-square-dashed-bottom: '\e4c4'; +$icon-square-dashed-kanban: '\e16f'; +$icon-square-dashed-mouse-pointer: '\e50d'; +$icon-square-dashed: '\e1ca'; +$icon-square-divide: '\e170'; +$icon-square-dot: '\e171'; +$icon-square-equal: '\e172'; +$icon-square-function: '\e22c'; +$icon-square-kanban: '\e173'; +$icon-square-library: '\e553'; +$icon-square-m: '\e507'; +$icon-square-menu: '\e457'; +$icon-square-minus: '\e174'; +$icon-square-mouse-pointer: '\e201'; +$icon-square-parking-off: '\e3cf'; +$icon-square-parking: '\e3ce'; +$icon-square-pen: '\e175'; +$icon-square-percent: '\e520'; +$icon-square-pi: '\e48c'; +$icon-square-pilcrow: '\e48f'; +$icon-square-play: '\e485'; +$icon-square-plus: '\e176'; +$icon-square-power: '\e555'; +$icon-square-radical: '\e5c7'; +$icon-square-round-corner: '\e64c'; +$icon-square-scissors: '\e4f0'; +$icon-square-sigma: '\e48d'; +$icon-square-slash: '\e177'; +$icon-square-split-horizontal: '\e3b9'; +$icon-square-split-vertical: '\e3ba'; +$icon-square-square: '\e612'; +$icon-square-stack: '\e4a6'; +$icon-square-terminal: '\e209'; +$icon-square-user-round: '\e46a'; +$icon-square-user: '\e469'; +$icon-square-x: '\e178'; +$icon-square: '\e16a'; +$icon-squircle: '\e57e'; +$icon-squirrel: '\e4a3'; +$icon-stamp: '\e3be'; +$icon-star-half: '\e20a'; +$icon-star-off: '\e2af'; +$icon-star: '\e179'; +$icon-step-back: '\e3ec'; +$icon-step-forward: '\e3ed'; +$icon-stethoscope: '\e2f0'; +$icon-sticker: '\e301'; +$icon-sticky-note: '\e302'; +$icon-store: '\e3e7'; +$icon-stretch-horizontal: '\e27b'; +$icon-stretch-vertical: '\e27c'; +$icon-strikethrough: '\e17a'; +$icon-subscript: '\e25b'; +$icon-sun-dim: '\e298'; +$icon-sun-medium: '\e2b0'; +$icon-sun-moon: '\e2b1'; +$icon-sun-snow: '\e375'; +$icon-sun: '\e17b'; +$icon-sunrise: '\e17c'; +$icon-sunset: '\e17d'; +$icon-superscript: '\e25d'; +$icon-swatch-book: '\e5a3'; +$icon-swiss-franc: '\e17e'; +$icon-switch-camera: '\e17f'; +$icon-sword: '\e2b2'; +$icon-swords: '\e2b3'; +$icon-syringe: '\e2f1'; +$icon-table-2: '\e2f8'; +$icon-table-cells-merge: '\e5cb'; +$icon-table-cells-split: '\e5cc'; +$icon-table-columns-split: '\e5cd'; +$icon-table-of-contents: '\e622'; +$icon-table-properties: '\e4df'; +$icon-table-rows-split: '\e5ce'; +$icon-table: '\e180'; +$icon-tablet-smartphone: '\e50e'; +$icon-tablet: '\e181'; +$icon-tablets: '\e3c1'; +$icon-tag: '\e182'; +$icon-tags: '\e35f'; +$icon-tally-1: '\e4da'; +$icon-tally-2: '\e4db'; +$icon-tally-3: '\e4dc'; +$icon-tally-4: '\e4dd'; +$icon-tally-5: '\e4de'; +$icon-tangent: '\e532'; +$icon-target: '\e183'; +$icon-telescope: '\e5c9'; +$icon-tent-tree: '\e53f'; +$icon-tent: '\e226'; +$icon-terminal: '\e184'; +$icon-test-tube-diagonal: '\e40a'; +$icon-test-tube: '\e409'; +$icon-test-tubes: '\e40b'; +$icon-text-cursor-input: '\e264'; +$icon-text-cursor: '\e263'; +$icon-text-quote: '\e4a2'; +$icon-text-search: '\e5b1'; +$icon-text-select: '\e3e1'; +$icon-text: '\e3ee'; +$icon-theater: '\e526'; +$icon-thermometer-snowflake: '\e186'; +$icon-thermometer-sun: '\e187'; +$icon-thermometer: '\e185'; +$icon-thumbs-down: '\e188'; +$icon-thumbs-up: '\e189'; +$icon-ticket-check: '\e5b2'; +$icon-ticket-minus: '\e5b3'; +$icon-ticket-percent: '\e5b4'; +$icon-ticket-plus: '\e5b5'; +$icon-ticket-slash: '\e5b6'; +$icon-ticket-x: '\e5b7'; +$icon-ticket: '\e20e'; +$icon-tickets-plane: '\e627'; +$icon-tickets: '\e626'; +$icon-timer-off: '\e248'; +$icon-timer-reset: '\e235'; +$icon-timer: '\e1df'; +$icon-toggle-left: '\e18a'; +$icon-toggle-right: '\e18b'; +$icon-toilet: '\e639'; +$icon-tornado: '\e217'; +$icon-torus: '\e533'; +$icon-touchpad-off: '\e44e'; +$icon-touchpad: '\e44d'; +$icon-tower-control: '\e3bf'; +$icon-toy-brick: '\e34a'; +$icon-tractor: '\e508'; +$icon-traffic-cone: '\e509'; +$icon-train-front-tunnel: '\e50b'; +$icon-train-front: '\e50a'; +$icon-train-track: '\e50c'; +$icon-tram-front: '\e2a8'; +$icon-transgender: '\e648'; +$icon-trash-2: '\e18d'; +$icon-trash: '\e18c'; +$icon-tree-deciduous: '\e2f2'; +$icon-tree-palm: '\e280'; +$icon-tree-pine: '\e2f3'; +$icon-trees: '\e2f4'; +$icon-trello: '\e18e'; +$icon-trending-down: '\e18f'; +$icon-trending-up-down: '\e629'; +$icon-trending-up: '\e190'; +$icon-triangle-alert: '\e192'; +$icon-triangle-dashed: '\e641'; +$icon-triangle-right: '\e4f1'; +$icon-triangle: '\e191'; +$icon-trophy: '\e376'; +$icon-truck: '\e193'; +$icon-turtle: '\e4fd'; +$icon-tv-minimal-play: '\e5f0'; +$icon-tv-minimal: '\e202'; +$icon-tv: '\e194'; +$icon-twitch: '\e195'; +$icon-twitter: '\e196'; +$icon-type-outline: '\e606'; +$icon-type: '\e197'; +$icon-umbrella-off: '\e547'; +$icon-umbrella: '\e198'; +$icon-underline: '\e199'; +$icon-undo-2: '\e2a0'; +$icon-undo-dot: '\e455'; +$icon-undo: '\e19a'; +$icon-unfold-horizontal: '\e441'; +$icon-unfold-vertical: '\e442'; +$icon-ungroup: '\e46b'; +$icon-university: '\e3e8'; +$icon-unlink-2: '\e19c'; +$icon-unlink: '\e19b'; +$icon-unplug: '\e461'; +$icon-upload: '\e19d'; +$icon-usb: '\e359'; +$icon-user-check: '\e19f'; +$icon-user-cog: '\e345'; +$icon-user-minus: '\e1a0'; +$icon-user-pen: '\e600'; +$icon-user-plus: '\e1a1'; +$icon-user-round-check: '\e46d'; +$icon-user-round-cog: '\e46e'; +$icon-user-round-minus: '\e46f'; +$icon-user-round-pen: '\e601'; +$icon-user-round-plus: '\e470'; +$icon-user-round-search: '\e57c'; +$icon-user-round-x: '\e471'; +$icon-user-round: '\e46c'; +$icon-user-search: '\e57d'; +$icon-user-x: '\e1a2'; +$icon-user: '\e19e'; +$icon-users-round: '\e472'; +$icon-users: '\e1a3'; +$icon-utensils-crossed: '\e2f6'; +$icon-utensils: '\e2f5'; +$icon-utility-pole: '\e3c5'; +$icon-variable: '\e477'; +$icon-vault: '\e593'; +$icon-vegan: '\e3a0'; +$icon-venetian-mask: '\e2a9'; +$icon-venus-and-mars: '\e64a'; +$icon-venus: '\e649'; +$icon-vibrate-off: '\e29c'; +$icon-vibrate: '\e222'; +$icon-video-off: '\e1a5'; +$icon-video: '\e1a4'; +$icon-videotape: '\e4cf'; +$icon-view: '\e1a6'; +$icon-voicemail: '\e1a7'; +$icon-volleyball: '\e633'; +$icon-volume-1: '\e1a9'; +$icon-volume-2: '\e1aa'; +$icon-volume-off: '\e62a'; +$icon-volume-x: '\e1ab'; +$icon-volume: '\e1a8'; +$icon-vote: '\e3b0'; +$icon-wallet-cards: '\e4d0'; +$icon-wallet-minimal: '\e4d1'; +$icon-wallet: '\e203'; +$icon-wallpaper: '\e44f'; +$icon-wand-sparkles: '\e35a'; +$icon-wand: '\e245'; +$icon-warehouse: '\e3e9'; +$icon-washing-machine: '\e594'; +$icon-watch: '\e1ac'; +$icon-waves-ladder: '\e63f'; +$icon-waves: '\e282'; +$icon-waypoints: '\e546'; +$icon-webcam: '\e204'; +$icon-webhook-off: '\e5bb'; +$icon-webhook: '\e377'; +$icon-weight: '\e534'; +$icon-wheat-off: '\e3a2'; +$icon-wheat: '\e3a1'; +$icon-whole-word: '\e3e2'; +$icon-wifi-high: '\e5fb'; +$icon-wifi-low: '\e5fc'; +$icon-wifi-off: '\e1ae'; +$icon-wifi-zero: '\e5fd'; +$icon-wifi: '\e1ad'; +$icon-wind-arrow-down: '\e635'; +$icon-wind: '\e1af'; +$icon-wine-off: '\e3a3'; +$icon-wine: '\e2f7'; +$icon-workflow: '\e429'; +$icon-worm: '\e5de'; +$icon-wrap-text: '\e247'; +$icon-wrench: '\e1b0'; +$icon-x: '\e1b1'; +$icon-youtube: '\e1b2'; +$icon-zap-off: '\e1b4'; +$icon-zap: '\e1b3'; +$icon-zoom-in: '\e1b5'; +$icon-zoom-out: '\e1b6'; diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.styl b/third_party/shadcn_flutter/icons/lucide/lucide.styl new file mode 100644 index 00000000..f474a74b --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/lucide.styl @@ -0,0 +1,3133 @@ +@font-face {font-family: "lucide"; + src: url('lucide.eot?t=1741351670382'); /* IE9*/ + src: url('lucide.eot?t=1741351670382#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url("lucide.woff2?t=1741351670382") format("woff2"), + url("lucide.woff?t=1741351670382") format("woff"), + url('lucide.ttf?t=1741351670382') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + url('lucide.svg?t=1741351670382#lucide') format('svg'); /* iOS 4.1- */ +} + +[class^="icon-"], [class*=" icon-"] { + font-family: 'lucide' !important;font-size: inherit; + font-style:normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +.icon-a-arrow-down:before { content: "\e589"; } +.icon-a-arrow-up:before { content: "\e58a"; } +.icon-a-large-small:before { content: "\e58b"; } +.icon-accessibility:before { content: "\e296"; } +.icon-activity:before { content: "\e038"; } +.icon-air-vent:before { content: "\e350"; } +.icon-airplay:before { content: "\e039"; } +.icon-alarm-clock-check:before { content: "\e1eb"; } +.icon-alarm-clock-minus:before { content: "\e1ec"; } +.icon-alarm-clock-off:before { content: "\e23a"; } +.icon-alarm-clock-plus:before { content: "\e1ed"; } +.icon-alarm-clock:before { content: "\e03a"; } +.icon-alarm-smoke:before { content: "\e57f"; } +.icon-album:before { content: "\e03b"; } +.icon-align-center-horizontal:before { content: "\e26b"; } +.icon-align-center-vertical:before { content: "\e26c"; } +.icon-align-center:before { content: "\e03c"; } +.icon-align-end-horizontal:before { content: "\e26d"; } +.icon-align-end-vertical:before { content: "\e26e"; } +.icon-align-horizontal-distribute-center:before { content: "\e03d"; } +.icon-align-horizontal-distribute-end:before { content: "\e03e"; } +.icon-align-horizontal-distribute-start:before { content: "\e03f"; } +.icon-align-horizontal-justify-center:before { content: "\e271"; } +.icon-align-horizontal-justify-end:before { content: "\e272"; } +.icon-align-horizontal-justify-start:before { content: "\e273"; } +.icon-align-horizontal-space-around:before { content: "\e274"; } +.icon-align-horizontal-space-between:before { content: "\e275"; } +.icon-align-justify:before { content: "\e040"; } +.icon-align-left:before { content: "\e041"; } +.icon-align-right:before { content: "\e042"; } +.icon-align-start-horizontal:before { content: "\e26f"; } +.icon-align-start-vertical:before { content: "\e270"; } +.icon-align-vertical-distribute-center:before { content: "\e27d"; } +.icon-align-vertical-distribute-end:before { content: "\e27e"; } +.icon-align-vertical-distribute-start:before { content: "\e27f"; } +.icon-align-vertical-justify-center:before { content: "\e276"; } +.icon-align-vertical-justify-end:before { content: "\e277"; } +.icon-align-vertical-justify-start:before { content: "\e278"; } +.icon-align-vertical-space-around:before { content: "\e279"; } +.icon-align-vertical-space-between:before { content: "\e27a"; } +.icon-ambulance:before { content: "\e5bf"; } +.icon-ampersand:before { content: "\e4a0"; } +.icon-ampersands:before { content: "\e4a1"; } +.icon-amphora:before { content: "\e61f"; } +.icon-anchor:before { content: "\e043"; } +.icon-angry:before { content: "\e2fb"; } +.icon-annoyed:before { content: "\e2fc"; } +.icon-antenna:before { content: "\e4e6"; } +.icon-anvil:before { content: "\e584"; } +.icon-aperture:before { content: "\e044"; } +.icon-app-window-mac:before { content: "\e5d6"; } +.icon-app-window:before { content: "\e42a"; } +.icon-apple:before { content: "\e351"; } +.icon-archive-restore:before { content: "\e2cc"; } +.icon-archive-x:before { content: "\e510"; } +.icon-archive:before { content: "\e045"; } +.icon-armchair:before { content: "\e2bf"; } +.icon-arrow-big-down-dash:before { content: "\e421"; } +.icon-arrow-big-down:before { content: "\e1e0"; } +.icon-arrow-big-left-dash:before { content: "\e422"; } +.icon-arrow-big-left:before { content: "\e1e1"; } +.icon-arrow-big-right-dash:before { content: "\e423"; } +.icon-arrow-big-right:before { content: "\e1e2"; } +.icon-arrow-big-up-dash:before { content: "\e424"; } +.icon-arrow-big-up:before { content: "\e1e3"; } +.icon-arrow-down-0-1:before { content: "\e417"; } +.icon-arrow-down-1-0:before { content: "\e418"; } +.icon-arrow-down-a-z:before { content: "\e419"; } +.icon-arrow-down-from-line:before { content: "\e458"; } +.icon-arrow-down-left:before { content: "\e047"; } +.icon-arrow-down-narrow-wide:before { content: "\e048"; } +.icon-arrow-down-right:before { content: "\e049"; } +.icon-arrow-down-to-dot:before { content: "\e451"; } +.icon-arrow-down-to-line:before { content: "\e459"; } +.icon-arrow-down-up:before { content: "\e04a"; } +.icon-arrow-down-wide-narrow:before { content: "\e04b"; } +.icon-arrow-down-z-a:before { content: "\e41a"; } +.icon-arrow-down:before { content: "\e046"; } +.icon-arrow-left-from-line:before { content: "\e45a"; } +.icon-arrow-left-right:before { content: "\e249"; } +.icon-arrow-left-to-line:before { content: "\e45b"; } +.icon-arrow-left:before { content: "\e04c"; } +.icon-arrow-right-from-line:before { content: "\e45c"; } +.icon-arrow-right-left:before { content: "\e41b"; } +.icon-arrow-right-to-line:before { content: "\e45d"; } +.icon-arrow-right:before { content: "\e04d"; } +.icon-arrow-up-0-1:before { content: "\e41c"; } +.icon-arrow-up-1-0:before { content: "\e41d"; } +.icon-arrow-up-a-z:before { content: "\e41e"; } +.icon-arrow-up-down:before { content: "\e380"; } +.icon-arrow-up-from-dot:before { content: "\e452"; } +.icon-arrow-up-from-line:before { content: "\e45e"; } +.icon-arrow-up-left:before { content: "\e04f"; } +.icon-arrow-up-narrow-wide:before { content: "\e050"; } +.icon-arrow-up-right:before { content: "\e051"; } +.icon-arrow-up-to-line:before { content: "\e45f"; } +.icon-arrow-up-wide-narrow:before { content: "\e41f"; } +.icon-arrow-up-z-a:before { content: "\e420"; } +.icon-arrow-up:before { content: "\e04e"; } +.icon-arrows-up-from-line:before { content: "\e4d8"; } +.icon-asterisk:before { content: "\e1ee"; } +.icon-at-sign:before { content: "\e052"; } +.icon-atom:before { content: "\e3da"; } +.icon-audio-lines:before { content: "\e55e"; } +.icon-audio-waveform:before { content: "\e55f"; } +.icon-award:before { content: "\e053"; } +.icon-axe:before { content: "\e054"; } +.icon-axis-3d:before { content: "\e2fd"; } +.icon-baby:before { content: "\e2cd"; } +.icon-backpack:before { content: "\e2c7"; } +.icon-badge-alert:before { content: "\e479"; } +.icon-badge-cent:before { content: "\e513"; } +.icon-badge-check:before { content: "\e240"; } +.icon-badge-dollar-sign:before { content: "\e47a"; } +.icon-badge-euro:before { content: "\e514"; } +.icon-badge-help:before { content: "\e47b"; } +.icon-badge-indian-rupee:before { content: "\e515"; } +.icon-badge-info:before { content: "\e47c"; } +.icon-badge-japanese-yen:before { content: "\e516"; } +.icon-badge-minus:before { content: "\e47d"; } +.icon-badge-percent:before { content: "\e47e"; } +.icon-badge-plus:before { content: "\e47f"; } +.icon-badge-pound-sterling:before { content: "\e517"; } +.icon-badge-russian-ruble:before { content: "\e518"; } +.icon-badge-swiss-franc:before { content: "\e519"; } +.icon-badge-x:before { content: "\e480"; } +.icon-badge:before { content: "\e478"; } +.icon-baggage-claim:before { content: "\e2c8"; } +.icon-ban:before { content: "\e055"; } +.icon-banana:before { content: "\e352"; } +.icon-bandage:before { content: "\e621"; } +.icon-banknote:before { content: "\e056"; } +.icon-barcode:before { content: "\e537"; } +.icon-baseline:before { content: "\e284"; } +.icon-bath:before { content: "\e2aa"; } +.icon-battery-charging:before { content: "\e058"; } +.icon-battery-full:before { content: "\e059"; } +.icon-battery-low:before { content: "\e05a"; } +.icon-battery-medium:before { content: "\e05b"; } +.icon-battery-plus:before { content: "\e642"; } +.icon-battery-warning:before { content: "\e3af"; } +.icon-battery:before { content: "\e057"; } +.icon-beaker:before { content: "\e05c"; } +.icon-bean-off:before { content: "\e393"; } +.icon-bean:before { content: "\e392"; } +.icon-bed-double:before { content: "\e2c1"; } +.icon-bed-single:before { content: "\e2c2"; } +.icon-bed:before { content: "\e2c0"; } +.icon-beef:before { content: "\e3a8"; } +.icon-beer-off:before { content: "\e5dd"; } +.icon-beer:before { content: "\e2ce"; } +.icon-bell-dot:before { content: "\e42f"; } +.icon-bell-electric:before { content: "\e580"; } +.icon-bell-minus:before { content: "\e1ef"; } +.icon-bell-off:before { content: "\e05e"; } +.icon-bell-plus:before { content: "\e1f0"; } +.icon-bell-ring:before { content: "\e223"; } +.icon-bell:before { content: "\e05d"; } +.icon-between-horizontal-end:before { content: "\e595"; } +.icon-between-horizontal-start:before { content: "\e596"; } +.icon-between-vertical-end:before { content: "\e597"; } +.icon-between-vertical-start:before { content: "\e598"; } +.icon-biceps-flexed:before { content: "\e5ef"; } +.icon-bike:before { content: "\e1d1"; } +.icon-binary:before { content: "\e1f1"; } +.icon-binoculars:before { content: "\e625"; } +.icon-biohazard:before { content: "\e445"; } +.icon-bird:before { content: "\e3c8"; } +.icon-bitcoin:before { content: "\e05f"; } +.icon-blend:before { content: "\e5a0"; } +.icon-blinds:before { content: "\e3c3"; } +.icon-blocks:before { content: "\e4fe"; } +.icon-bluetooth-connected:before { content: "\e1b7"; } +.icon-bluetooth-off:before { content: "\e1b8"; } +.icon-bluetooth-searching:before { content: "\e1b9"; } +.icon-bluetooth:before { content: "\e060"; } +.icon-bold:before { content: "\e061"; } +.icon-bolt:before { content: "\e590"; } +.icon-bomb:before { content: "\e2fe"; } +.icon-bone:before { content: "\e35b"; } +.icon-book-a:before { content: "\e548"; } +.icon-book-audio:before { content: "\e549"; } +.icon-book-check:before { content: "\e54a"; } +.icon-book-copy:before { content: "\e3f0"; } +.icon-book-dashed:before { content: "\e3f1"; } +.icon-book-down:before { content: "\e3f2"; } +.icon-book-headphones:before { content: "\e54b"; } +.icon-book-heart:before { content: "\e54c"; } +.icon-book-image:before { content: "\e54d"; } +.icon-book-key:before { content: "\e3f3"; } +.icon-book-lock:before { content: "\e3f4"; } +.icon-book-marked:before { content: "\e3f5"; } +.icon-book-minus:before { content: "\e3f6"; } +.icon-book-open-check:before { content: "\e384"; } +.icon-book-open-text:before { content: "\e54e"; } +.icon-book-open:before { content: "\e063"; } +.icon-book-plus:before { content: "\e3f7"; } +.icon-book-text:before { content: "\e54f"; } +.icon-book-type:before { content: "\e550"; } +.icon-book-up-2:before { content: "\e4aa"; } +.icon-book-up:before { content: "\e3f8"; } +.icon-book-user:before { content: "\e551"; } +.icon-book-x:before { content: "\e3f9"; } +.icon-book:before { content: "\e062"; } +.icon-bookmark-check:before { content: "\e523"; } +.icon-bookmark-minus:before { content: "\e23b"; } +.icon-bookmark-plus:before { content: "\e23c"; } +.icon-bookmark-x:before { content: "\e524"; } +.icon-bookmark:before { content: "\e064"; } +.icon-boom-box:before { content: "\e4f2"; } +.icon-bot-message-square:before { content: "\e5d2"; } +.icon-bot-off:before { content: "\e5e4"; } +.icon-bot:before { content: "\e1ba"; } +.icon-box:before { content: "\e065"; } +.icon-boxes:before { content: "\e2cf"; } +.icon-braces:before { content: "\e36d"; } +.icon-brackets:before { content: "\e447"; } +.icon-brain-circuit:before { content: "\e3ca"; } +.icon-brain-cog:before { content: "\e3cb"; } +.icon-brain:before { content: "\e3c9"; } +.icon-brick-wall:before { content: "\e585"; } +.icon-briefcase-business:before { content: "\e5d9"; } +.icon-briefcase-conveyor-belt:before { content: "\e62f"; } +.icon-briefcase-medical:before { content: "\e5da"; } +.icon-briefcase:before { content: "\e066"; } +.icon-bring-to-front:before { content: "\e4f3"; } +.icon-brush:before { content: "\e1d2"; } +.icon-bug-off:before { content: "\e511"; } +.icon-bug-play:before { content: "\e512"; } +.icon-bug:before { content: "\e20b"; } +.icon-building-2:before { content: "\e28f"; } +.icon-building:before { content: "\e1cb"; } +.icon-bus-front:before { content: "\e4ff"; } +.icon-bus:before { content: "\e1d3"; } +.icon-cable-car:before { content: "\e500"; } +.icon-cable:before { content: "\e4e7"; } +.icon-cake-slice:before { content: "\e4bd"; } +.icon-cake:before { content: "\e347"; } +.icon-calculator:before { content: "\e1bb"; } +.icon-calendar-1:before { content: "\e634"; } +.icon-calendar-arrow-down:before { content: "\e602"; } +.icon-calendar-arrow-up:before { content: "\e603"; } +.icon-calendar-check-2:before { content: "\e2b7"; } +.icon-calendar-check:before { content: "\e2b6"; } +.icon-calendar-clock:before { content: "\e303"; } +.icon-calendar-cog:before { content: "\e5f1"; } +.icon-calendar-days:before { content: "\e2b8"; } +.icon-calendar-fold:before { content: "\e5b8"; } +.icon-calendar-heart:before { content: "\e304"; } +.icon-calendar-minus-2:before { content: "\e5b9"; } +.icon-calendar-minus:before { content: "\e2b9"; } +.icon-calendar-off:before { content: "\e2ba"; } +.icon-calendar-plus-2:before { content: "\e5ba"; } +.icon-calendar-plus:before { content: "\e2bb"; } +.icon-calendar-range:before { content: "\e2bc"; } +.icon-calendar-search:before { content: "\e305"; } +.icon-calendar-sync:before { content: "\e63a"; } +.icon-calendar-x-2:before { content: "\e2be"; } +.icon-calendar-x:before { content: "\e2bd"; } +.icon-calendar:before { content: "\e067"; } +.icon-camera-off:before { content: "\e069"; } +.icon-camera:before { content: "\e068"; } +.icon-candy-cane:before { content: "\e4be"; } +.icon-candy-off:before { content: "\e395"; } +.icon-candy:before { content: "\e394"; } +.icon-cannabis:before { content: "\e5d8"; } +.icon-captions-off:before { content: "\e5c5"; } +.icon-captions:before { content: "\e3a7"; } +.icon-car-front:before { content: "\e501"; } +.icon-car-taxi-front:before { content: "\e502"; } +.icon-car:before { content: "\e1d4"; } +.icon-caravan:before { content: "\e53d"; } +.icon-carrot:before { content: "\e259"; } +.icon-case-lower:before { content: "\e3db"; } +.icon-case-sensitive:before { content: "\e3dc"; } +.icon-case-upper:before { content: "\e3dd"; } +.icon-cassette-tape:before { content: "\e4ce"; } +.icon-cast:before { content: "\e06a"; } +.icon-castle:before { content: "\e3e3"; } +.icon-cat:before { content: "\e38f"; } +.icon-cctv:before { content: "\e581"; } +.icon-chart-area:before { content: "\e4d7"; } +.icon-chart-bar-big:before { content: "\e4ab"; } +.icon-chart-bar-decreasing:before { content: "\e60b"; } +.icon-chart-bar-increasing:before { content: "\e60c"; } +.icon-chart-bar-stacked:before { content: "\e60d"; } +.icon-chart-bar:before { content: "\e2a1"; } +.icon-chart-candlestick:before { content: "\e4ac"; } +.icon-chart-column-big:before { content: "\e4ad"; } +.icon-chart-column-decreasing:before { content: "\e06b"; } +.icon-chart-column-increasing:before { content: "\e2a3"; } +.icon-chart-column-stacked:before { content: "\e60e"; } +.icon-chart-column:before { content: "\e2a2"; } +.icon-chart-gantt:before { content: "\e628"; } +.icon-chart-line:before { content: "\e2a4"; } +.icon-chart-network:before { content: "\e60f"; } +.icon-chart-no-axes-column-decreasing:before { content: "\e06d"; } +.icon-chart-no-axes-column-increasing:before { content: "\e06e"; } +.icon-chart-no-axes-column:before { content: "\e06c"; } +.icon-chart-no-axes-combined:before { content: "\e610"; } +.icon-chart-no-axes-gantt:before { content: "\e4c8"; } +.icon-chart-pie:before { content: "\e06f"; } +.icon-chart-scatter:before { content: "\e48e"; } +.icon-chart-spline:before { content: "\e611"; } +.icon-check-check:before { content: "\e391"; } +.icon-check:before { content: "\e070"; } +.icon-chef-hat:before { content: "\e2ab"; } +.icon-cherry:before { content: "\e353"; } +.icon-chevron-down:before { content: "\e071"; } +.icon-chevron-first:before { content: "\e242"; } +.icon-chevron-last:before { content: "\e243"; } +.icon-chevron-left:before { content: "\e072"; } +.icon-chevron-right:before { content: "\e073"; } +.icon-chevron-up:before { content: "\e074"; } +.icon-chevrons-down-up:before { content: "\e227"; } +.icon-chevrons-down:before { content: "\e075"; } +.icon-chevrons-left-right-ellipsis:before { content: "\e623"; } +.icon-chevrons-left-right:before { content: "\e292"; } +.icon-chevrons-left:before { content: "\e076"; } +.icon-chevrons-right-left:before { content: "\e293"; } +.icon-chevrons-right:before { content: "\e077"; } +.icon-chevrons-up-down:before { content: "\e210"; } +.icon-chevrons-up:before { content: "\e078"; } +.icon-chrome:before { content: "\e079"; } +.icon-church:before { content: "\e3e4"; } +.icon-cigarette-off:before { content: "\e2c6"; } +.icon-cigarette:before { content: "\e2c5"; } +.icon-circle-alert:before { content: "\e07b"; } +.icon-circle-arrow-down:before { content: "\e07c"; } +.icon-circle-arrow-left:before { content: "\e07d"; } +.icon-circle-arrow-out-down-left:before { content: "\e3fb"; } +.icon-circle-arrow-out-down-right:before { content: "\e3fc"; } +.icon-circle-arrow-out-up-left:before { content: "\e3fd"; } +.icon-circle-arrow-out-up-right:before { content: "\e3fe"; } +.icon-circle-arrow-right:before { content: "\e07e"; } +.icon-circle-arrow-up:before { content: "\e07f"; } +.icon-circle-check-big:before { content: "\e080"; } +.icon-circle-check:before { content: "\e225"; } +.icon-circle-chevron-down:before { content: "\e4e1"; } +.icon-circle-chevron-left:before { content: "\e4e2"; } +.icon-circle-chevron-right:before { content: "\e4e3"; } +.icon-circle-chevron-up:before { content: "\e4e4"; } +.icon-circle-dashed:before { content: "\e4b4"; } +.icon-circle-divide:before { content: "\e081"; } +.icon-circle-dollar-sign:before { content: "\e481"; } +.icon-circle-dot-dashed:before { content: "\e4b5"; } +.icon-circle-dot:before { content: "\e348"; } +.icon-circle-ellipsis:before { content: "\e349"; } +.icon-circle-equal:before { content: "\e404"; } +.icon-circle-fading-arrow-up:before { content: "\e61c"; } +.icon-circle-fading-plus:before { content: "\e5c0"; } +.icon-circle-gauge:before { content: "\e4e5"; } +.icon-circle-help:before { content: "\e082"; } +.icon-circle-minus:before { content: "\e083"; } +.icon-circle-off:before { content: "\e405"; } +.icon-circle-parking-off:before { content: "\e3cd"; } +.icon-circle-parking:before { content: "\e3cc"; } +.icon-circle-pause:before { content: "\e084"; } +.icon-circle-percent:before { content: "\e51e"; } +.icon-circle-play:before { content: "\e085"; } +.icon-circle-plus:before { content: "\e086"; } +.icon-circle-power:before { content: "\e554"; } +.icon-circle-slash-2:before { content: "\e212"; } +.icon-circle-slash:before { content: "\e406"; } +.icon-circle-small:before { content: "\e644"; } +.icon-circle-stop:before { content: "\e087"; } +.icon-circle-user-round:before { content: "\e466"; } +.icon-circle-user:before { content: "\e465"; } +.icon-circle-x:before { content: "\e088"; } +.icon-circle:before { content: "\e07a"; } +.icon-circuit-board:before { content: "\e407"; } +.icon-citrus:before { content: "\e378"; } +.icon-clapperboard:before { content: "\e29a"; } +.icon-clipboard-check:before { content: "\e218"; } +.icon-clipboard-copy:before { content: "\e224"; } +.icon-clipboard-list:before { content: "\e08a"; } +.icon-clipboard-minus:before { content: "\e5c2"; } +.icon-clipboard-paste:before { content: "\e3eb"; } +.icon-clipboard-pen-line:before { content: "\e307"; } +.icon-clipboard-pen:before { content: "\e306"; } +.icon-clipboard-plus:before { content: "\e5c3"; } +.icon-clipboard-type:before { content: "\e308"; } +.icon-clipboard-x:before { content: "\e221"; } +.icon-clipboard:before { content: "\e089"; } +.icon-clock-1:before { content: "\e24a"; } +.icon-clock-10:before { content: "\e24b"; } +.icon-clock-11:before { content: "\e24c"; } +.icon-clock-12:before { content: "\e24d"; } +.icon-clock-2:before { content: "\e24e"; } +.icon-clock-3:before { content: "\e24f"; } +.icon-clock-4:before { content: "\e250"; } +.icon-clock-5:before { content: "\e251"; } +.icon-clock-6:before { content: "\e252"; } +.icon-clock-7:before { content: "\e253"; } +.icon-clock-8:before { content: "\e254"; } +.icon-clock-9:before { content: "\e255"; } +.icon-clock-alert:before { content: "\e62e"; } +.icon-clock-arrow-down:before { content: "\e604"; } +.icon-clock-arrow-up:before { content: "\e605"; } +.icon-clock:before { content: "\e08b"; } +.icon-cloud-alert:before { content: "\e637"; } +.icon-cloud-cog:before { content: "\e309"; } +.icon-cloud-download:before { content: "\e08d"; } +.icon-cloud-drizzle:before { content: "\e08e"; } +.icon-cloud-fog:before { content: "\e213"; } +.icon-cloud-hail:before { content: "\e08f"; } +.icon-cloud-lightning:before { content: "\e090"; } +.icon-cloud-moon-rain:before { content: "\e2f9"; } +.icon-cloud-moon:before { content: "\e214"; } +.icon-cloud-off:before { content: "\e091"; } +.icon-cloud-rain-wind:before { content: "\e093"; } +.icon-cloud-rain:before { content: "\e092"; } +.icon-cloud-snow:before { content: "\e094"; } +.icon-cloud-sun-rain:before { content: "\e2fa"; } +.icon-cloud-sun:before { content: "\e215"; } +.icon-cloud-upload:before { content: "\e095"; } +.icon-cloud:before { content: "\e08c"; } +.icon-cloudy:before { content: "\e216"; } +.icon-clover:before { content: "\e096"; } +.icon-club:before { content: "\e49a"; } +.icon-code-xml:before { content: "\e205"; } +.icon-code:before { content: "\e097"; } +.icon-codepen:before { content: "\e098"; } +.icon-codesandbox:before { content: "\e099"; } +.icon-coffee:before { content: "\e09a"; } +.icon-cog:before { content: "\e30a"; } +.icon-coins:before { content: "\e09b"; } +.icon-columns-2:before { content: "\e09c"; } +.icon-columns-3:before { content: "\e09d"; } +.icon-columns-4:before { content: "\e58d"; } +.icon-combine:before { content: "\e450"; } +.icon-command:before { content: "\e09e"; } +.icon-compass:before { content: "\e09f"; } +.icon-component:before { content: "\e2ac"; } +.icon-computer:before { content: "\e4e8"; } +.icon-concierge-bell:before { content: "\e37b"; } +.icon-cone:before { content: "\e527"; } +.icon-construction:before { content: "\e3b7"; } +.icon-contact-round:before { content: "\e467"; } +.icon-contact:before { content: "\e0a0"; } +.icon-container:before { content: "\e4d9"; } +.icon-contrast:before { content: "\e0a1"; } +.icon-cookie:before { content: "\e26a"; } +.icon-cooking-pot:before { content: "\e588"; } +.icon-copy-check:before { content: "\e3ff"; } +.icon-copy-minus:before { content: "\e400"; } +.icon-copy-plus:before { content: "\e401"; } +.icon-copy-slash:before { content: "\e402"; } +.icon-copy-x:before { content: "\e403"; } +.icon-copy:before { content: "\e0a2"; } +.icon-copyleft:before { content: "\e0a3"; } +.icon-copyright:before { content: "\e0a4"; } +.icon-corner-down-left:before { content: "\e0a5"; } +.icon-corner-down-right:before { content: "\e0a6"; } +.icon-corner-left-down:before { content: "\e0a7"; } +.icon-corner-left-up:before { content: "\e0a8"; } +.icon-corner-right-down:before { content: "\e0a9"; } +.icon-corner-right-up:before { content: "\e0aa"; } +.icon-corner-up-left:before { content: "\e0ab"; } +.icon-corner-up-right:before { content: "\e0ac"; } +.icon-cpu:before { content: "\e0ad"; } +.icon-creative-commons:before { content: "\e3b5"; } +.icon-credit-card:before { content: "\e0ae"; } +.icon-croissant:before { content: "\e2ad"; } +.icon-crop:before { content: "\e0af"; } +.icon-cross:before { content: "\e1e4"; } +.icon-crosshair:before { content: "\e0b0"; } +.icon-crown:before { content: "\e1d5"; } +.icon-cuboid:before { content: "\e528"; } +.icon-cup-soda:before { content: "\e2d0"; } +.icon-currency:before { content: "\e22f"; } +.icon-cylinder:before { content: "\e529"; } +.icon-dam:before { content: "\e60a"; } +.icon-database-backup:before { content: "\e3ae"; } +.icon-database-zap:before { content: "\e50f"; } +.icon-database:before { content: "\e0b1"; } +.icon-delete:before { content: "\e0b2"; } +.icon-dessert:before { content: "\e4bf"; } +.icon-diameter:before { content: "\e52a"; } +.icon-diamond-minus:before { content: "\e5e5"; } +.icon-diamond-percent:before { content: "\e51f"; } +.icon-diamond-plus:before { content: "\e5e6"; } +.icon-diamond:before { content: "\e2d1"; } +.icon-dice-1:before { content: "\e286"; } +.icon-dice-2:before { content: "\e287"; } +.icon-dice-3:before { content: "\e288"; } +.icon-dice-4:before { content: "\e289"; } +.icon-dice-5:before { content: "\e28a"; } +.icon-dice-6:before { content: "\e28b"; } +.icon-dices:before { content: "\e2c4"; } +.icon-diff:before { content: "\e30b"; } +.icon-disc-2:before { content: "\e3fa"; } +.icon-disc-3:before { content: "\e498"; } +.icon-disc-album:before { content: "\e560"; } +.icon-disc:before { content: "\e0b3"; } +.icon-divide:before { content: "\e0b4"; } +.icon-dna-off:before { content: "\e397"; } +.icon-dna:before { content: "\e396"; } +.icon-dock:before { content: "\e5d7"; } +.icon-dog:before { content: "\e390"; } +.icon-dollar-sign:before { content: "\e0b5"; } +.icon-donut:before { content: "\e4c0"; } +.icon-door-closed:before { content: "\e3d8"; } +.icon-door-open:before { content: "\e3d9"; } +.icon-dot:before { content: "\e453"; } +.icon-download:before { content: "\e0b6"; } +.icon-drafting-compass:before { content: "\e52b"; } +.icon-drama:before { content: "\e525"; } +.icon-dribbble:before { content: "\e0b7"; } +.icon-drill:before { content: "\e591"; } +.icon-droplet-off:before { content: "\e63c"; } +.icon-droplet:before { content: "\e0b8"; } +.icon-droplets:before { content: "\e0b9"; } +.icon-drum:before { content: "\e561"; } +.icon-drumstick:before { content: "\e25a"; } +.icon-dumbbell:before { content: "\e3a4"; } +.icon-ear-off:before { content: "\e386"; } +.icon-ear:before { content: "\e385"; } +.icon-earth-lock:before { content: "\e5d0"; } +.icon-earth:before { content: "\e1f2"; } +.icon-eclipse:before { content: "\e5a1"; } +.icon-egg-fried:before { content: "\e354"; } +.icon-egg-off:before { content: "\e398"; } +.icon-egg:before { content: "\e25c"; } +.icon-ellipsis-vertical:before { content: "\e0bb"; } +.icon-ellipsis:before { content: "\e0ba"; } +.icon-equal-approximately:before { content: "\e638"; } +.icon-equal-not:before { content: "\e1bd"; } +.icon-equal:before { content: "\e1bc"; } +.icon-eraser:before { content: "\e28e"; } +.icon-ethernet-port:before { content: "\e624"; } +.icon-euro:before { content: "\e0bc"; } +.icon-expand:before { content: "\e219"; } +.icon-external-link:before { content: "\e0bd"; } +.icon-eye-closed:before { content: "\e632"; } +.icon-eye-off:before { content: "\e0bf"; } +.icon-eye:before { content: "\e0be"; } +.icon-facebook:before { content: "\e0c0"; } +.icon-factory:before { content: "\e29e"; } +.icon-fan:before { content: "\e37c"; } +.icon-fast-forward:before { content: "\e0c1"; } +.icon-feather:before { content: "\e0c2"; } +.icon-fence:before { content: "\e586"; } +.icon-ferris-wheel:before { content: "\e483"; } +.icon-figma:before { content: "\e0c3"; } +.icon-file-archive:before { content: "\e30c"; } +.icon-file-audio-2:before { content: "\e30e"; } +.icon-file-audio:before { content: "\e30d"; } +.icon-file-axis-3d:before { content: "\e30f"; } +.icon-file-badge-2:before { content: "\e311"; } +.icon-file-badge:before { content: "\e310"; } +.icon-file-box:before { content: "\e312"; } +.icon-file-chart-column-increasing:before { content: "\e314"; } +.icon-file-chart-column:before { content: "\e313"; } +.icon-file-chart-line:before { content: "\e315"; } +.icon-file-chart-pie:before { content: "\e316"; } +.icon-file-check-2:before { content: "\e0c6"; } +.icon-file-check:before { content: "\e0c5"; } +.icon-file-clock:before { content: "\e317"; } +.icon-file-code-2:before { content: "\e462"; } +.icon-file-code:before { content: "\e0c7"; } +.icon-file-cog:before { content: "\e318"; } +.icon-file-diff:before { content: "\e319"; } +.icon-file-digit:before { content: "\e0c8"; } +.icon-file-down:before { content: "\e31a"; } +.icon-file-heart:before { content: "\e31b"; } +.icon-file-image:before { content: "\e31c"; } +.icon-file-input:before { content: "\e0c9"; } +.icon-file-json-2:before { content: "\e36f"; } +.icon-file-json:before { content: "\e36e"; } +.icon-file-key-2:before { content: "\e31e"; } +.icon-file-key:before { content: "\e31d"; } +.icon-file-lock-2:before { content: "\e320"; } +.icon-file-lock:before { content: "\e31f"; } +.icon-file-minus-2:before { content: "\e0cb"; } +.icon-file-minus:before { content: "\e0ca"; } +.icon-file-music:before { content: "\e562"; } +.icon-file-output:before { content: "\e0cc"; } +.icon-file-pen-line:before { content: "\e322"; } +.icon-file-pen:before { content: "\e321"; } +.icon-file-plus-2:before { content: "\e0ce"; } +.icon-file-plus:before { content: "\e0cd"; } +.icon-file-question:before { content: "\e323"; } +.icon-file-scan:before { content: "\e324"; } +.icon-file-search-2:before { content: "\e325"; } +.icon-file-search:before { content: "\e0cf"; } +.icon-file-sliders:before { content: "\e5a4"; } +.icon-file-spreadsheet:before { content: "\e326"; } +.icon-file-stack:before { content: "\e4a5"; } +.icon-file-symlink:before { content: "\e327"; } +.icon-file-terminal:before { content: "\e328"; } +.icon-file-text:before { content: "\e0d0"; } +.icon-file-type-2:before { content: "\e370"; } +.icon-file-type:before { content: "\e329"; } +.icon-file-up:before { content: "\e32a"; } +.icon-file-user:before { content: "\e631"; } +.icon-file-video-2:before { content: "\e32c"; } +.icon-file-video:before { content: "\e32b"; } +.icon-file-volume-2:before { content: "\e32e"; } +.icon-file-volume:before { content: "\e32d"; } +.icon-file-warning:before { content: "\e32f"; } +.icon-file-x-2:before { content: "\e0d2"; } +.icon-file-x:before { content: "\e0d1"; } +.icon-file:before { content: "\e0c4"; } +.icon-files:before { content: "\e0d3"; } +.icon-film:before { content: "\e0d4"; } +.icon-filter-x:before { content: "\e3b8"; } +.icon-filter:before { content: "\e0d5"; } +.icon-fingerprint:before { content: "\e2ca"; } +.icon-fire-extinguisher:before { content: "\e582"; } +.icon-fish-off:before { content: "\e3b3"; } +.icon-fish-symbol:before { content: "\e4f8"; } +.icon-fish:before { content: "\e3a9"; } +.icon-flag-off:before { content: "\e291"; } +.icon-flag-triangle-left:before { content: "\e236"; } +.icon-flag-triangle-right:before { content: "\e237"; } +.icon-flag:before { content: "\e0d6"; } +.icon-flame-kindling:before { content: "\e53e"; } +.icon-flame:before { content: "\e0d7"; } +.icon-flashlight-off:before { content: "\e0d9"; } +.icon-flashlight:before { content: "\e0d8"; } +.icon-flask-conical-off:before { content: "\e399"; } +.icon-flask-conical:before { content: "\e0da"; } +.icon-flask-round:before { content: "\e0db"; } +.icon-flip-horizontal-2:before { content: "\e361"; } +.icon-flip-horizontal:before { content: "\e360"; } +.icon-flip-vertical-2:before { content: "\e363"; } +.icon-flip-vertical:before { content: "\e362"; } +.icon-flower-2:before { content: "\e2d3"; } +.icon-flower:before { content: "\e2d2"; } +.icon-focus:before { content: "\e29d"; } +.icon-fold-horizontal:before { content: "\e43f"; } +.icon-fold-vertical:before { content: "\e440"; } +.icon-folder-archive:before { content: "\e330"; } +.icon-folder-check:before { content: "\e331"; } +.icon-folder-clock:before { content: "\e332"; } +.icon-folder-closed:before { content: "\e333"; } +.icon-folder-code:before { content: "\e5ff"; } +.icon-folder-cog:before { content: "\e334"; } +.icon-folder-dot:before { content: "\e4c9"; } +.icon-folder-down:before { content: "\e335"; } +.icon-folder-git-2:before { content: "\e40e"; } +.icon-folder-git:before { content: "\e40d"; } +.icon-folder-heart:before { content: "\e336"; } +.icon-folder-input:before { content: "\e337"; } +.icon-folder-kanban:before { content: "\e4ca"; } +.icon-folder-key:before { content: "\e338"; } +.icon-folder-lock:before { content: "\e339"; } +.icon-folder-minus:before { content: "\e0dd"; } +.icon-folder-open-dot:before { content: "\e4cb"; } +.icon-folder-open:before { content: "\e246"; } +.icon-folder-output:before { content: "\e33a"; } +.icon-folder-pen:before { content: "\e33b"; } +.icon-folder-plus:before { content: "\e0de"; } +.icon-folder-root:before { content: "\e4cc"; } +.icon-folder-search-2:before { content: "\e33d"; } +.icon-folder-search:before { content: "\e33c"; } +.icon-folder-symlink:before { content: "\e33e"; } +.icon-folder-sync:before { content: "\e4cd"; } +.icon-folder-tree:before { content: "\e33f"; } +.icon-folder-up:before { content: "\e340"; } +.icon-folder-x:before { content: "\e341"; } +.icon-folder:before { content: "\e0dc"; } +.icon-folders:before { content: "\e342"; } +.icon-footprints:before { content: "\e3bc"; } +.icon-forklift:before { content: "\e3c4"; } +.icon-forward:before { content: "\e228"; } +.icon-frame:before { content: "\e290"; } +.icon-framer:before { content: "\e0df"; } +.icon-frown:before { content: "\e0e0"; } +.icon-fuel:before { content: "\e2ae"; } +.icon-fullscreen:before { content: "\e538"; } +.icon-gallery-horizontal-end:before { content: "\e4d3"; } +.icon-gallery-horizontal:before { content: "\e4d2"; } +.icon-gallery-thumbnails:before { content: "\e4d4"; } +.icon-gallery-vertical-end:before { content: "\e4d6"; } +.icon-gallery-vertical:before { content: "\e4d5"; } +.icon-gamepad-2:before { content: "\e0e2"; } +.icon-gamepad:before { content: "\e0e1"; } +.icon-gauge:before { content: "\e1be"; } +.icon-gavel:before { content: "\e0e3"; } +.icon-gem:before { content: "\e241"; } +.icon-ghost:before { content: "\e20d"; } +.icon-gift:before { content: "\e0e4"; } +.icon-git-branch-plus:before { content: "\e1f3"; } +.icon-git-branch:before { content: "\e0e5"; } +.icon-git-commit-horizontal:before { content: "\e0e6"; } +.icon-git-commit-vertical:before { content: "\e556"; } +.icon-git-compare-arrows:before { content: "\e557"; } +.icon-git-compare:before { content: "\e35c"; } +.icon-git-fork:before { content: "\e28c"; } +.icon-git-graph:before { content: "\e558"; } +.icon-git-merge:before { content: "\e0e7"; } +.icon-git-pull-request-arrow:before { content: "\e559"; } +.icon-git-pull-request-closed:before { content: "\e35d"; } +.icon-git-pull-request-create-arrow:before { content: "\e55b"; } +.icon-git-pull-request-create:before { content: "\e55a"; } +.icon-git-pull-request-draft:before { content: "\e35e"; } +.icon-git-pull-request:before { content: "\e0e8"; } +.icon-github:before { content: "\e0e9"; } +.icon-gitlab:before { content: "\e0ea"; } +.icon-glass-water:before { content: "\e2d4"; } +.icon-glasses:before { content: "\e20c"; } +.icon-globe-lock:before { content: "\e5d1"; } +.icon-globe:before { content: "\e0eb"; } +.icon-goal:before { content: "\e4a9"; } +.icon-grab:before { content: "\e1e5"; } +.icon-graduation-cap:before { content: "\e233"; } +.icon-grape:before { content: "\e355"; } +.icon-grid-2x2-check:before { content: "\e5e8"; } +.icon-grid-2x2-plus:before { content: "\e62c"; } +.icon-grid-2x2-x:before { content: "\e5e9"; } +.icon-grid-2x2:before { content: "\e503"; } +.icon-grid-3x3:before { content: "\e0ec"; } +.icon-grip-horizontal:before { content: "\e0ed"; } +.icon-grip-vertical:before { content: "\e0ee"; } +.icon-grip:before { content: "\e3b4"; } +.icon-group:before { content: "\e468"; } +.icon-guitar:before { content: "\e563"; } +.icon-ham:before { content: "\e5db"; } +.icon-hammer:before { content: "\e0ef"; } +.icon-hand-coins:before { content: "\e5bc"; } +.icon-hand-heart:before { content: "\e5bd"; } +.icon-hand-helping:before { content: "\e3bb"; } +.icon-hand-metal:before { content: "\e22b"; } +.icon-hand-platter:before { content: "\e5be"; } +.icon-hand:before { content: "\e1d6"; } +.icon-handshake:before { content: "\e5c4"; } +.icon-hard-drive-download:before { content: "\e4e9"; } +.icon-hard-drive-upload:before { content: "\e4ea"; } +.icon-hard-drive:before { content: "\e0f0"; } +.icon-hard-hat:before { content: "\e0f1"; } +.icon-hash:before { content: "\e0f2"; } +.icon-haze:before { content: "\e0f3"; } +.icon-hdmi-port:before { content: "\e4eb"; } +.icon-heading-1:before { content: "\e388"; } +.icon-heading-2:before { content: "\e389"; } +.icon-heading-3:before { content: "\e38a"; } +.icon-heading-4:before { content: "\e38b"; } +.icon-heading-5:before { content: "\e38c"; } +.icon-heading-6:before { content: "\e38d"; } +.icon-heading:before { content: "\e387"; } +.icon-headphone-off:before { content: "\e62d"; } +.icon-headphones:before { content: "\e0f4"; } +.icon-headset:before { content: "\e5c1"; } +.icon-heart-crack:before { content: "\e2d5"; } +.icon-heart-handshake:before { content: "\e2d6"; } +.icon-heart-off:before { content: "\e294"; } +.icon-heart-pulse:before { content: "\e371"; } +.icon-heart:before { content: "\e0f5"; } +.icon-heater:before { content: "\e592"; } +.icon-hexagon:before { content: "\e0f6"; } +.icon-highlighter:before { content: "\e0f7"; } +.icon-history:before { content: "\e1f4"; } +.icon-hop-off:before { content: "\e39b"; } +.icon-hop:before { content: "\e39a"; } +.icon-hospital:before { content: "\e5dc"; } +.icon-hotel:before { content: "\e3e5"; } +.icon-hourglass:before { content: "\e295"; } +.icon-house-plug:before { content: "\e5f4"; } +.icon-house-plus:before { content: "\e5f5"; } +.icon-house-wifi:before { content: "\e640"; } +.icon-house:before { content: "\e0f8"; } +.icon-ice-cream-bowl:before { content: "\e3aa"; } +.icon-ice-cream-cone:before { content: "\e356"; } +.icon-id-card:before { content: "\e61b"; } +.icon-image-down:before { content: "\e540"; } +.icon-image-minus:before { content: "\e1f5"; } +.icon-image-off:before { content: "\e1bf"; } +.icon-image-play:before { content: "\e5e3"; } +.icon-image-plus:before { content: "\e1f6"; } +.icon-image-up:before { content: "\e5cf"; } +.icon-image-upscale:before { content: "\e63b"; } +.icon-image:before { content: "\e0f9"; } +.icon-images:before { content: "\e5c8"; } +.icon-import:before { content: "\e22e"; } +.icon-inbox:before { content: "\e0fa"; } +.icon-indent-decrease:before { content: "\e0fb"; } +.icon-indent-increase:before { content: "\e0fc"; } +.icon-indian-rupee:before { content: "\e0fd"; } +.icon-infinity:before { content: "\e1e6"; } +.icon-info:before { content: "\e0fe"; } +.icon-inspection-panel:before { content: "\e587"; } +.icon-instagram:before { content: "\e0ff"; } +.icon-italic:before { content: "\e100"; } +.icon-iteration-ccw:before { content: "\e427"; } +.icon-iteration-cw:before { content: "\e428"; } +.icon-japanese-yen:before { content: "\e101"; } +.icon-joystick:before { content: "\e358"; } +.icon-kanban:before { content: "\e4e0"; } +.icon-key-round:before { content: "\e4a7"; } +.icon-key-square:before { content: "\e4a8"; } +.icon-key:before { content: "\e102"; } +.icon-keyboard-music:before { content: "\e564"; } +.icon-keyboard-off:before { content: "\e5e2"; } +.icon-keyboard:before { content: "\e283"; } +.icon-lamp-ceiling:before { content: "\e2d8"; } +.icon-lamp-desk:before { content: "\e2d9"; } +.icon-lamp-floor:before { content: "\e2da"; } +.icon-lamp-wall-down:before { content: "\e2db"; } +.icon-lamp-wall-up:before { content: "\e2dc"; } +.icon-lamp:before { content: "\e2d7"; } +.icon-land-plot:before { content: "\e52c"; } +.icon-landmark:before { content: "\e239"; } +.icon-languages:before { content: "\e103"; } +.icon-laptop-minimal-check:before { content: "\e636"; } +.icon-laptop-minimal:before { content: "\e1d7"; } +.icon-laptop:before { content: "\e1cc"; } +.icon-lasso-select:before { content: "\e1ce"; } +.icon-lasso:before { content: "\e1cd"; } +.icon-laugh:before { content: "\e2ff"; } +.icon-layers-2:before { content: "\e52e"; } +.icon-layers:before { content: "\e52d"; } +.icon-layout-dashboard:before { content: "\e1c0"; } +.icon-layout-grid:before { content: "\e104"; } +.icon-layout-list:before { content: "\e1d8"; } +.icon-layout-panel-left:before { content: "\e474"; } +.icon-layout-panel-top:before { content: "\e475"; } +.icon-layout-template:before { content: "\e206"; } +.icon-leaf:before { content: "\e2dd"; } +.icon-leafy-green:before { content: "\e473"; } +.icon-lectern:before { content: "\e5ed"; } +.icon-letter-text:before { content: "\e609"; } +.icon-library-big:before { content: "\e552"; } +.icon-library:before { content: "\e105"; } +.icon-life-buoy:before { content: "\e106"; } +.icon-ligature:before { content: "\e43e"; } +.icon-lightbulb-off:before { content: "\e207"; } +.icon-lightbulb:before { content: "\e1c1"; } +.icon-link-2-off:before { content: "\e109"; } +.icon-link-2:before { content: "\e108"; } +.icon-link:before { content: "\e107"; } +.icon-linkedin:before { content: "\e10a"; } +.icon-list-check:before { content: "\e5fe"; } +.icon-list-checks:before { content: "\e1cf"; } +.icon-list-collapse:before { content: "\e59f"; } +.icon-list-end:before { content: "\e2de"; } +.icon-list-filter-plus:before { content: "\e63d"; } +.icon-list-filter:before { content: "\e464"; } +.icon-list-minus:before { content: "\e23d"; } +.icon-list-music:before { content: "\e2df"; } +.icon-list-ordered:before { content: "\e1d0"; } +.icon-list-plus:before { content: "\e23e"; } +.icon-list-restart:before { content: "\e456"; } +.icon-list-start:before { content: "\e2e0"; } +.icon-list-todo:before { content: "\e4c7"; } +.icon-list-tree:before { content: "\e40c"; } +.icon-list-video:before { content: "\e2e1"; } +.icon-list-x:before { content: "\e23f"; } +.icon-list:before { content: "\e10b"; } +.icon-loader-circle:before { content: "\e10d"; } +.icon-loader-pinwheel:before { content: "\e5ea"; } +.icon-loader:before { content: "\e10c"; } +.icon-locate-fixed:before { content: "\e1da"; } +.icon-locate-off:before { content: "\e281"; } +.icon-locate:before { content: "\e1d9"; } +.icon-lock-keyhole-open:before { content: "\e536"; } +.icon-lock-keyhole:before { content: "\e535"; } +.icon-lock-open:before { content: "\e10f"; } +.icon-lock:before { content: "\e10e"; } +.icon-log-in:before { content: "\e110"; } +.icon-log-out:before { content: "\e111"; } +.icon-logs:before { content: "\e5f8"; } +.icon-lollipop:before { content: "\e4c1"; } +.icon-luggage:before { content: "\e2c9"; } +.icon-magnet:before { content: "\e2b4"; } +.icon-mail-check:before { content: "\e364"; } +.icon-mail-minus:before { content: "\e365"; } +.icon-mail-open:before { content: "\e366"; } +.icon-mail-plus:before { content: "\e367"; } +.icon-mail-question:before { content: "\e368"; } +.icon-mail-search:before { content: "\e369"; } +.icon-mail-warning:before { content: "\e36a"; } +.icon-mail-x:before { content: "\e36b"; } +.icon-mail:before { content: "\e112"; } +.icon-mailbox:before { content: "\e3d7"; } +.icon-mails:before { content: "\e36c"; } +.icon-map-pin-check-inside:before { content: "\e614"; } +.icon-map-pin-check:before { content: "\e613"; } +.icon-map-pin-house:before { content: "\e620"; } +.icon-map-pin-minus-inside:before { content: "\e616"; } +.icon-map-pin-minus:before { content: "\e615"; } +.icon-map-pin-off:before { content: "\e2a5"; } +.icon-map-pin-plus-inside:before { content: "\e618"; } +.icon-map-pin-plus:before { content: "\e617"; } +.icon-map-pin-x-inside:before { content: "\e61a"; } +.icon-map-pin-x:before { content: "\e619"; } +.icon-map-pin:before { content: "\e114"; } +.icon-map-pinned:before { content: "\e541"; } +.icon-map-plus:before { content: "\e643"; } +.icon-map:before { content: "\e113"; } +.icon-mars-stroke:before { content: "\e646"; } +.icon-mars:before { content: "\e645"; } +.icon-martini:before { content: "\e2e2"; } +.icon-maximize-2:before { content: "\e116"; } +.icon-maximize:before { content: "\e115"; } +.icon-medal:before { content: "\e372"; } +.icon-megaphone-off:before { content: "\e373"; } +.icon-megaphone:before { content: "\e234"; } +.icon-meh:before { content: "\e117"; } +.icon-memory-stick:before { content: "\e449"; } +.icon-menu:before { content: "\e118"; } +.icon-merge:before { content: "\e443"; } +.icon-message-circle-code:before { content: "\e566"; } +.icon-message-circle-dashed:before { content: "\e567"; } +.icon-message-circle-heart:before { content: "\e568"; } +.icon-message-circle-more:before { content: "\e569"; } +.icon-message-circle-off:before { content: "\e56a"; } +.icon-message-circle-plus:before { content: "\e56b"; } +.icon-message-circle-question:before { content: "\e56c"; } +.icon-message-circle-reply:before { content: "\e56d"; } +.icon-message-circle-warning:before { content: "\e56e"; } +.icon-message-circle-x:before { content: "\e56f"; } +.icon-message-circle:before { content: "\e119"; } +.icon-message-square-code:before { content: "\e570"; } +.icon-message-square-dashed:before { content: "\e40f"; } +.icon-message-square-diff:before { content: "\e571"; } +.icon-message-square-dot:before { content: "\e572"; } +.icon-message-square-heart:before { content: "\e573"; } +.icon-message-square-lock:before { content: "\e630"; } +.icon-message-square-more:before { content: "\e574"; } +.icon-message-square-off:before { content: "\e575"; } +.icon-message-square-plus:before { content: "\e410"; } +.icon-message-square-quote:before { content: "\e576"; } +.icon-message-square-reply:before { content: "\e577"; } +.icon-message-square-share:before { content: "\e578"; } +.icon-message-square-text:before { content: "\e579"; } +.icon-message-square-warning:before { content: "\e57a"; } +.icon-message-square-x:before { content: "\e57b"; } +.icon-message-square:before { content: "\e11a"; } +.icon-messages-square:before { content: "\e411"; } +.icon-mic-off:before { content: "\e11c"; } +.icon-mic-vocal:before { content: "\e34c"; } +.icon-mic:before { content: "\e11b"; } +.icon-microchip:before { content: "\e61e"; } +.icon-microscope:before { content: "\e2e3"; } +.icon-microwave:before { content: "\e37d"; } +.icon-milestone:before { content: "\e297"; } +.icon-milk-off:before { content: "\e39d"; } +.icon-milk:before { content: "\e39c"; } +.icon-minimize-2:before { content: "\e11e"; } +.icon-minimize:before { content: "\e11d"; } +.icon-minus:before { content: "\e11f"; } +.icon-monitor-check:before { content: "\e486"; } +.icon-monitor-cog:before { content: "\e607"; } +.icon-monitor-dot:before { content: "\e487"; } +.icon-monitor-down:before { content: "\e425"; } +.icon-monitor-off:before { content: "\e1db"; } +.icon-monitor-pause:before { content: "\e488"; } +.icon-monitor-play:before { content: "\e489"; } +.icon-monitor-smartphone:before { content: "\e3a5"; } +.icon-monitor-speaker:before { content: "\e20f"; } +.icon-monitor-stop:before { content: "\e48a"; } +.icon-monitor-up:before { content: "\e426"; } +.icon-monitor-x:before { content: "\e48b"; } +.icon-monitor:before { content: "\e120"; } +.icon-moon-star:before { content: "\e414"; } +.icon-moon:before { content: "\e121"; } +.icon-mountain-snow:before { content: "\e231"; } +.icon-mountain:before { content: "\e230"; } +.icon-mouse-off:before { content: "\e5df"; } +.icon-mouse-pointer-2:before { content: "\e1c2"; } +.icon-mouse-pointer-ban:before { content: "\e5eb"; } +.icon-mouse-pointer-click:before { content: "\e123"; } +.icon-mouse-pointer:before { content: "\e122"; } +.icon-mouse:before { content: "\e28d"; } +.icon-move-3d:before { content: "\e2e4"; } +.icon-move-diagonal-2:before { content: "\e1c4"; } +.icon-move-diagonal:before { content: "\e1c3"; } +.icon-move-down-left:before { content: "\e491"; } +.icon-move-down-right:before { content: "\e492"; } +.icon-move-down:before { content: "\e490"; } +.icon-move-horizontal:before { content: "\e1c5"; } +.icon-move-left:before { content: "\e493"; } +.icon-move-right:before { content: "\e494"; } +.icon-move-up-left:before { content: "\e496"; } +.icon-move-up-right:before { content: "\e497"; } +.icon-move-up:before { content: "\e495"; } +.icon-move-vertical:before { content: "\e1c6"; } +.icon-move:before { content: "\e124"; } +.icon-music-2:before { content: "\e34d"; } +.icon-music-3:before { content: "\e34e"; } +.icon-music-4:before { content: "\e34f"; } +.icon-music:before { content: "\e125"; } +.icon-navigation-2-off:before { content: "\e2a6"; } +.icon-navigation-2:before { content: "\e127"; } +.icon-navigation-off:before { content: "\e2a7"; } +.icon-navigation:before { content: "\e126"; } +.icon-network:before { content: "\e128"; } +.icon-newspaper:before { content: "\e34b"; } +.icon-nfc:before { content: "\e3c6"; } +.icon-non-binary:before { content: "\e647"; } +.icon-notebook-pen:before { content: "\e59a"; } +.icon-notebook-tabs:before { content: "\e59b"; } +.icon-notebook-text:before { content: "\e59c"; } +.icon-notebook:before { content: "\e599"; } +.icon-notepad-text-dashed:before { content: "\e59e"; } +.icon-notepad-text:before { content: "\e59d"; } +.icon-nut-off:before { content: "\e39f"; } +.icon-nut:before { content: "\e39e"; } +.icon-octagon-alert:before { content: "\e12a"; } +.icon-octagon-minus:before { content: "\e62b"; } +.icon-octagon-pause:before { content: "\e21a"; } +.icon-octagon-x:before { content: "\e12b"; } +.icon-octagon:before { content: "\e129"; } +.icon-omega:before { content: "\e61d"; } +.icon-option:before { content: "\e1f7"; } +.icon-orbit:before { content: "\e3ea"; } +.icon-origami:before { content: "\e5e7"; } +.icon-package-2:before { content: "\e343"; } +.icon-package-check:before { content: "\e265"; } +.icon-package-minus:before { content: "\e266"; } +.icon-package-open:before { content: "\e2cb"; } +.icon-package-plus:before { content: "\e267"; } +.icon-package-search:before { content: "\e268"; } +.icon-package-x:before { content: "\e269"; } +.icon-package:before { content: "\e12c"; } +.icon-paint-bucket:before { content: "\e2e5"; } +.icon-paint-roller:before { content: "\e5a2"; } +.icon-paintbrush-vertical:before { content: "\e2e7"; } +.icon-paintbrush:before { content: "\e2e6"; } +.icon-palette:before { content: "\e1dc"; } +.icon-panel-bottom-close:before { content: "\e431"; } +.icon-panel-bottom-dashed:before { content: "\e432"; } +.icon-panel-bottom-open:before { content: "\e433"; } +.icon-panel-bottom:before { content: "\e430"; } +.icon-panel-left-close:before { content: "\e21b"; } +.icon-panel-left-dashed:before { content: "\e434"; } +.icon-panel-left-open:before { content: "\e21c"; } +.icon-panel-left:before { content: "\e12d"; } +.icon-panel-right-close:before { content: "\e436"; } +.icon-panel-right-dashed:before { content: "\e437"; } +.icon-panel-right-open:before { content: "\e438"; } +.icon-panel-right:before { content: "\e435"; } +.icon-panel-top-close:before { content: "\e43a"; } +.icon-panel-top-dashed:before { content: "\e43b"; } +.icon-panel-top-open:before { content: "\e43c"; } +.icon-panel-top:before { content: "\e439"; } +.icon-panels-left-bottom:before { content: "\e12e"; } +.icon-panels-right-bottom:before { content: "\e58c"; } +.icon-panels-top-left:before { content: "\e12f"; } +.icon-paperclip:before { content: "\e130"; } +.icon-parentheses:before { content: "\e448"; } +.icon-parking-meter:before { content: "\e504"; } +.icon-party-popper:before { content: "\e346"; } +.icon-pause:before { content: "\e131"; } +.icon-paw-print:before { content: "\e4f9"; } +.icon-pc-case:before { content: "\e44a"; } +.icon-pen-line:before { content: "\e133"; } +.icon-pen-off:before { content: "\e5f2"; } +.icon-pen-tool:before { content: "\e134"; } +.icon-pen:before { content: "\e132"; } +.icon-pencil-line:before { content: "\e4f4"; } +.icon-pencil-off:before { content: "\e5f3"; } +.icon-pencil-ruler:before { content: "\e4f5"; } +.icon-pencil:before { content: "\e1f8"; } +.icon-pentagon:before { content: "\e52f"; } +.icon-percent:before { content: "\e135"; } +.icon-person-standing:before { content: "\e21d"; } +.icon-philippine-peso:before { content: "\e608"; } +.icon-phone-call:before { content: "\e137"; } +.icon-phone-forwarded:before { content: "\e138"; } +.icon-phone-incoming:before { content: "\e139"; } +.icon-phone-missed:before { content: "\e13a"; } +.icon-phone-off:before { content: "\e13b"; } +.icon-phone-outgoing:before { content: "\e13c"; } +.icon-phone:before { content: "\e136"; } +.icon-pi:before { content: "\e476"; } +.icon-piano:before { content: "\e565"; } +.icon-pickaxe:before { content: "\e5ca"; } +.icon-picture-in-picture-2:before { content: "\e3b2"; } +.icon-picture-in-picture:before { content: "\e3b1"; } +.icon-piggy-bank:before { content: "\e13d"; } +.icon-pilcrow-left:before { content: "\e5e0"; } +.icon-pilcrow-right:before { content: "\e5e1"; } +.icon-pilcrow:before { content: "\e3a6"; } +.icon-pill-bottle:before { content: "\e5ee"; } +.icon-pill:before { content: "\e3c0"; } +.icon-pin-off:before { content: "\e2b5"; } +.icon-pin:before { content: "\e258"; } +.icon-pipette:before { content: "\e13e"; } +.icon-pizza:before { content: "\e357"; } +.icon-plane-landing:before { content: "\e3d0"; } +.icon-plane-takeoff:before { content: "\e3d1"; } +.icon-plane:before { content: "\e1dd"; } +.icon-play:before { content: "\e13f"; } +.icon-plug-2:before { content: "\e383"; } +.icon-plug-zap:before { content: "\e460"; } +.icon-plug:before { content: "\e382"; } +.icon-plus:before { content: "\e140"; } +.icon-pocket-knife:before { content: "\e4a4"; } +.icon-pocket:before { content: "\e141"; } +.icon-podcast:before { content: "\e1f9"; } +.icon-pointer-off:before { content: "\e583"; } +.icon-pointer:before { content: "\e1e7"; } +.icon-popcorn:before { content: "\e4c2"; } +.icon-popsicle:before { content: "\e4c3"; } +.icon-pound-sterling:before { content: "\e142"; } +.icon-power-off:before { content: "\e208"; } +.icon-power:before { content: "\e143"; } +.icon-presentation:before { content: "\e4b2"; } +.icon-printer-check:before { content: "\e5f9"; } +.icon-printer:before { content: "\e144"; } +.icon-projector:before { content: "\e4b3"; } +.icon-proportions:before { content: "\e5d3"; } +.icon-puzzle:before { content: "\e29b"; } +.icon-pyramid:before { content: "\e530"; } +.icon-qr-code:before { content: "\e1de"; } +.icon-quote:before { content: "\e238"; } +.icon-rabbit:before { content: "\e4fa"; } +.icon-radar:before { content: "\e49b"; } +.icon-radiation:before { content: "\e446"; } +.icon-radical:before { content: "\e5c6"; } +.icon-radio-receiver:before { content: "\e1fa"; } +.icon-radio-tower:before { content: "\e408"; } +.icon-radio:before { content: "\e145"; } +.icon-radius:before { content: "\e531"; } +.icon-rail-symbol:before { content: "\e505"; } +.icon-rainbow:before { content: "\e4c6"; } +.icon-rat:before { content: "\e3ef"; } +.icon-ratio:before { content: "\e4ec"; } +.icon-receipt-cent:before { content: "\e5a9"; } +.icon-receipt-euro:before { content: "\e5aa"; } +.icon-receipt-indian-rupee:before { content: "\e5ab"; } +.icon-receipt-japanese-yen:before { content: "\e5ac"; } +.icon-receipt-pound-sterling:before { content: "\e5ad"; } +.icon-receipt-russian-ruble:before { content: "\e5ae"; } +.icon-receipt-swiss-franc:before { content: "\e5af"; } +.icon-receipt-text:before { content: "\e5b0"; } +.icon-receipt:before { content: "\e3d6"; } +.icon-rectangle-ellipsis:before { content: "\e21e"; } +.icon-rectangle-horizontal:before { content: "\e379"; } +.icon-rectangle-vertical:before { content: "\e37a"; } +.icon-recycle:before { content: "\e2e8"; } +.icon-redo-2:before { content: "\e29f"; } +.icon-redo-dot:before { content: "\e454"; } +.icon-redo:before { content: "\e146"; } +.icon-refresh-ccw-dot:before { content: "\e4b6"; } +.icon-refresh-ccw:before { content: "\e147"; } +.icon-refresh-cw-off:before { content: "\e49c"; } +.icon-refresh-cw:before { content: "\e148"; } +.icon-refrigerator:before { content: "\e37e"; } +.icon-regex:before { content: "\e1fb"; } +.icon-remove-formatting:before { content: "\e3b6"; } +.icon-repeat-1:before { content: "\e1fc"; } +.icon-repeat-2:before { content: "\e415"; } +.icon-repeat:before { content: "\e149"; } +.icon-replace-all:before { content: "\e3df"; } +.icon-replace:before { content: "\e3de"; } +.icon-reply-all:before { content: "\e22a"; } +.icon-reply:before { content: "\e229"; } +.icon-rewind:before { content: "\e14a"; } +.icon-ribbon:before { content: "\e55c"; } +.icon-rocket:before { content: "\e285"; } +.icon-rocking-chair:before { content: "\e232"; } +.icon-roller-coaster:before { content: "\e484"; } +.icon-rotate-3d:before { content: "\e2e9"; } +.icon-rotate-ccw-square:before { content: "\e5d4"; } +.icon-rotate-ccw:before { content: "\e14b"; } +.icon-rotate-cw-square:before { content: "\e5d5"; } +.icon-rotate-cw:before { content: "\e14c"; } +.icon-route-off:before { content: "\e543"; } +.icon-route:before { content: "\e542"; } +.icon-router:before { content: "\e3c2"; } +.icon-rows-2:before { content: "\e43d"; } +.icon-rows-3:before { content: "\e58e"; } +.icon-rows-4:before { content: "\e58f"; } +.icon-rss:before { content: "\e14d"; } +.icon-ruler:before { content: "\e14e"; } +.icon-russian-ruble:before { content: "\e14f"; } +.icon-sailboat:before { content: "\e381"; } +.icon-salad:before { content: "\e3ab"; } +.icon-sandwich:before { content: "\e3ac"; } +.icon-satellite-dish:before { content: "\e44c"; } +.icon-satellite:before { content: "\e44b"; } +.icon-save-all:before { content: "\e413"; } +.icon-save-off:before { content: "\e5f7"; } +.icon-save:before { content: "\e150"; } +.icon-scale-3d:before { content: "\e2ea"; } +.icon-scale:before { content: "\e211"; } +.icon-scaling:before { content: "\e2eb"; } +.icon-scan-barcode:before { content: "\e539"; } +.icon-scan-eye:before { content: "\e53a"; } +.icon-scan-face:before { content: "\e374"; } +.icon-scan-heart:before { content: "\e63e"; } +.icon-scan-line:before { content: "\e257"; } +.icon-scan-qr-code:before { content: "\e5fa"; } +.icon-scan-search:before { content: "\e53b"; } +.icon-scan-text:before { content: "\e53c"; } +.icon-scan:before { content: "\e256"; } +.icon-school:before { content: "\e3e6"; } +.icon-scissors-line-dashed:before { content: "\e4ed"; } +.icon-scissors:before { content: "\e151"; } +.icon-screen-share-off:before { content: "\e153"; } +.icon-screen-share:before { content: "\e152"; } +.icon-scroll-text:before { content: "\e463"; } +.icon-scroll:before { content: "\e2ec"; } +.icon-search-check:before { content: "\e4ae"; } +.icon-search-code:before { content: "\e4af"; } +.icon-search-slash:before { content: "\e4b0"; } +.icon-search-x:before { content: "\e4b1"; } +.icon-search:before { content: "\e154"; } +.icon-section:before { content: "\e5ec"; } +.icon-send-horizontal:before { content: "\e4f6"; } +.icon-send-to-back:before { content: "\e4f7"; } +.icon-send:before { content: "\e155"; } +.icon-separator-horizontal:before { content: "\e1c7"; } +.icon-separator-vertical:before { content: "\e1c8"; } +.icon-server-cog:before { content: "\e344"; } +.icon-server-crash:before { content: "\e1e8"; } +.icon-server-off:before { content: "\e1e9"; } +.icon-server:before { content: "\e156"; } +.icon-settings-2:before { content: "\e244"; } +.icon-settings:before { content: "\e157"; } +.icon-shapes:before { content: "\e4b7"; } +.icon-share-2:before { content: "\e159"; } +.icon-share:before { content: "\e158"; } +.icon-sheet:before { content: "\e15a"; } +.icon-shell:before { content: "\e4fb"; } +.icon-shield-alert:before { content: "\e1fd"; } +.icon-shield-ban:before { content: "\e15c"; } +.icon-shield-check:before { content: "\e1fe"; } +.icon-shield-ellipsis:before { content: "\e51a"; } +.icon-shield-half:before { content: "\e51b"; } +.icon-shield-minus:before { content: "\e51c"; } +.icon-shield-off:before { content: "\e15d"; } +.icon-shield-plus:before { content: "\e51d"; } +.icon-shield-question:before { content: "\e412"; } +.icon-shield-user:before { content: "\e64b"; } +.icon-shield-x:before { content: "\e1ff"; } +.icon-shield:before { content: "\e15b"; } +.icon-ship-wheel:before { content: "\e506"; } +.icon-ship:before { content: "\e3bd"; } +.icon-shirt:before { content: "\e1c9"; } +.icon-shopping-bag:before { content: "\e15e"; } +.icon-shopping-basket:before { content: "\e4ee"; } +.icon-shopping-cart:before { content: "\e15f"; } +.icon-shovel:before { content: "\e160"; } +.icon-shower-head:before { content: "\e37f"; } +.icon-shrink:before { content: "\e21f"; } +.icon-shrub:before { content: "\e2ed"; } +.icon-shuffle:before { content: "\e161"; } +.icon-sigma:before { content: "\e200"; } +.icon-signal-high:before { content: "\e25f"; } +.icon-signal-low:before { content: "\e260"; } +.icon-signal-medium:before { content: "\e261"; } +.icon-signal-zero:before { content: "\e262"; } +.icon-signal:before { content: "\e25e"; } +.icon-signature:before { content: "\e5f6"; } +.icon-signpost-big:before { content: "\e545"; } +.icon-signpost:before { content: "\e544"; } +.icon-siren:before { content: "\e2ee"; } +.icon-skip-back:before { content: "\e162"; } +.icon-skip-forward:before { content: "\e163"; } +.icon-skull:before { content: "\e220"; } +.icon-slack:before { content: "\e164"; } +.icon-slash:before { content: "\e521"; } +.icon-slice:before { content: "\e2ef"; } +.icon-sliders-horizontal:before { content: "\e299"; } +.icon-sliders-vertical:before { content: "\e165"; } +.icon-smartphone-charging:before { content: "\e22d"; } +.icon-smartphone-nfc:before { content: "\e3c7"; } +.icon-smartphone:before { content: "\e166"; } +.icon-smile-plus:before { content: "\e300"; } +.icon-smile:before { content: "\e167"; } +.icon-snail:before { content: "\e4fc"; } +.icon-snowflake:before { content: "\e168"; } +.icon-sofa:before { content: "\e2c3"; } +.icon-soup:before { content: "\e3ad"; } +.icon-space:before { content: "\e3e0"; } +.icon-spade:before { content: "\e49d"; } +.icon-sparkle:before { content: "\e482"; } +.icon-sparkles:before { content: "\e416"; } +.icon-speaker:before { content: "\e169"; } +.icon-speech:before { content: "\e522"; } +.icon-spell-check-2:before { content: "\e49f"; } +.icon-spell-check:before { content: "\e49e"; } +.icon-spline:before { content: "\e38e"; } +.icon-split:before { content: "\e444"; } +.icon-spray-can:before { content: "\e499"; } +.icon-sprout:before { content: "\e1ea"; } +.icon-square-activity:before { content: "\e4b8"; } +.icon-square-arrow-down-left:before { content: "\e4b9"; } +.icon-square-arrow-down-right:before { content: "\e4ba"; } +.icon-square-arrow-down:before { content: "\e42b"; } +.icon-square-arrow-left:before { content: "\e42c"; } +.icon-square-arrow-out-down-left:before { content: "\e5a5"; } +.icon-square-arrow-out-down-right:before { content: "\e5a6"; } +.icon-square-arrow-out-up-left:before { content: "\e5a7"; } +.icon-square-arrow-out-up-right:before { content: "\e5a8"; } +.icon-square-arrow-right:before { content: "\e42d"; } +.icon-square-arrow-up-left:before { content: "\e4bb"; } +.icon-square-arrow-up-right:before { content: "\e4bc"; } +.icon-square-arrow-up:before { content: "\e42e"; } +.icon-square-asterisk:before { content: "\e16b"; } +.icon-square-bottom-dashed-scissors:before { content: "\e4ef"; } +.icon-square-chart-gantt:before { content: "\e16c"; } +.icon-square-check-big:before { content: "\e16d"; } +.icon-square-check:before { content: "\e55d"; } +.icon-square-chevron-down:before { content: "\e3d2"; } +.icon-square-chevron-left:before { content: "\e3d3"; } +.icon-square-chevron-right:before { content: "\e3d4"; } +.icon-square-chevron-up:before { content: "\e3d5"; } +.icon-square-code:before { content: "\e16e"; } +.icon-square-dashed-bottom-code:before { content: "\e4c5"; } +.icon-square-dashed-bottom:before { content: "\e4c4"; } +.icon-square-dashed-kanban:before { content: "\e16f"; } +.icon-square-dashed-mouse-pointer:before { content: "\e50d"; } +.icon-square-dashed:before { content: "\e1ca"; } +.icon-square-divide:before { content: "\e170"; } +.icon-square-dot:before { content: "\e171"; } +.icon-square-equal:before { content: "\e172"; } +.icon-square-function:before { content: "\e22c"; } +.icon-square-kanban:before { content: "\e173"; } +.icon-square-library:before { content: "\e553"; } +.icon-square-m:before { content: "\e507"; } +.icon-square-menu:before { content: "\e457"; } +.icon-square-minus:before { content: "\e174"; } +.icon-square-mouse-pointer:before { content: "\e201"; } +.icon-square-parking-off:before { content: "\e3cf"; } +.icon-square-parking:before { content: "\e3ce"; } +.icon-square-pen:before { content: "\e175"; } +.icon-square-percent:before { content: "\e520"; } +.icon-square-pi:before { content: "\e48c"; } +.icon-square-pilcrow:before { content: "\e48f"; } +.icon-square-play:before { content: "\e485"; } +.icon-square-plus:before { content: "\e176"; } +.icon-square-power:before { content: "\e555"; } +.icon-square-radical:before { content: "\e5c7"; } +.icon-square-round-corner:before { content: "\e64c"; } +.icon-square-scissors:before { content: "\e4f0"; } +.icon-square-sigma:before { content: "\e48d"; } +.icon-square-slash:before { content: "\e177"; } +.icon-square-split-horizontal:before { content: "\e3b9"; } +.icon-square-split-vertical:before { content: "\e3ba"; } +.icon-square-square:before { content: "\e612"; } +.icon-square-stack:before { content: "\e4a6"; } +.icon-square-terminal:before { content: "\e209"; } +.icon-square-user-round:before { content: "\e46a"; } +.icon-square-user:before { content: "\e469"; } +.icon-square-x:before { content: "\e178"; } +.icon-square:before { content: "\e16a"; } +.icon-squircle:before { content: "\e57e"; } +.icon-squirrel:before { content: "\e4a3"; } +.icon-stamp:before { content: "\e3be"; } +.icon-star-half:before { content: "\e20a"; } +.icon-star-off:before { content: "\e2af"; } +.icon-star:before { content: "\e179"; } +.icon-step-back:before { content: "\e3ec"; } +.icon-step-forward:before { content: "\e3ed"; } +.icon-stethoscope:before { content: "\e2f0"; } +.icon-sticker:before { content: "\e301"; } +.icon-sticky-note:before { content: "\e302"; } +.icon-store:before { content: "\e3e7"; } +.icon-stretch-horizontal:before { content: "\e27b"; } +.icon-stretch-vertical:before { content: "\e27c"; } +.icon-strikethrough:before { content: "\e17a"; } +.icon-subscript:before { content: "\e25b"; } +.icon-sun-dim:before { content: "\e298"; } +.icon-sun-medium:before { content: "\e2b0"; } +.icon-sun-moon:before { content: "\e2b1"; } +.icon-sun-snow:before { content: "\e375"; } +.icon-sun:before { content: "\e17b"; } +.icon-sunrise:before { content: "\e17c"; } +.icon-sunset:before { content: "\e17d"; } +.icon-superscript:before { content: "\e25d"; } +.icon-swatch-book:before { content: "\e5a3"; } +.icon-swiss-franc:before { content: "\e17e"; } +.icon-switch-camera:before { content: "\e17f"; } +.icon-sword:before { content: "\e2b2"; } +.icon-swords:before { content: "\e2b3"; } +.icon-syringe:before { content: "\e2f1"; } +.icon-table-2:before { content: "\e2f8"; } +.icon-table-cells-merge:before { content: "\e5cb"; } +.icon-table-cells-split:before { content: "\e5cc"; } +.icon-table-columns-split:before { content: "\e5cd"; } +.icon-table-of-contents:before { content: "\e622"; } +.icon-table-properties:before { content: "\e4df"; } +.icon-table-rows-split:before { content: "\e5ce"; } +.icon-table:before { content: "\e180"; } +.icon-tablet-smartphone:before { content: "\e50e"; } +.icon-tablet:before { content: "\e181"; } +.icon-tablets:before { content: "\e3c1"; } +.icon-tag:before { content: "\e182"; } +.icon-tags:before { content: "\e35f"; } +.icon-tally-1:before { content: "\e4da"; } +.icon-tally-2:before { content: "\e4db"; } +.icon-tally-3:before { content: "\e4dc"; } +.icon-tally-4:before { content: "\e4dd"; } +.icon-tally-5:before { content: "\e4de"; } +.icon-tangent:before { content: "\e532"; } +.icon-target:before { content: "\e183"; } +.icon-telescope:before { content: "\e5c9"; } +.icon-tent-tree:before { content: "\e53f"; } +.icon-tent:before { content: "\e226"; } +.icon-terminal:before { content: "\e184"; } +.icon-test-tube-diagonal:before { content: "\e40a"; } +.icon-test-tube:before { content: "\e409"; } +.icon-test-tubes:before { content: "\e40b"; } +.icon-text-cursor-input:before { content: "\e264"; } +.icon-text-cursor:before { content: "\e263"; } +.icon-text-quote:before { content: "\e4a2"; } +.icon-text-search:before { content: "\e5b1"; } +.icon-text-select:before { content: "\e3e1"; } +.icon-text:before { content: "\e3ee"; } +.icon-theater:before { content: "\e526"; } +.icon-thermometer-snowflake:before { content: "\e186"; } +.icon-thermometer-sun:before { content: "\e187"; } +.icon-thermometer:before { content: "\e185"; } +.icon-thumbs-down:before { content: "\e188"; } +.icon-thumbs-up:before { content: "\e189"; } +.icon-ticket-check:before { content: "\e5b2"; } +.icon-ticket-minus:before { content: "\e5b3"; } +.icon-ticket-percent:before { content: "\e5b4"; } +.icon-ticket-plus:before { content: "\e5b5"; } +.icon-ticket-slash:before { content: "\e5b6"; } +.icon-ticket-x:before { content: "\e5b7"; } +.icon-ticket:before { content: "\e20e"; } +.icon-tickets-plane:before { content: "\e627"; } +.icon-tickets:before { content: "\e626"; } +.icon-timer-off:before { content: "\e248"; } +.icon-timer-reset:before { content: "\e235"; } +.icon-timer:before { content: "\e1df"; } +.icon-toggle-left:before { content: "\e18a"; } +.icon-toggle-right:before { content: "\e18b"; } +.icon-toilet:before { content: "\e639"; } +.icon-tornado:before { content: "\e217"; } +.icon-torus:before { content: "\e533"; } +.icon-touchpad-off:before { content: "\e44e"; } +.icon-touchpad:before { content: "\e44d"; } +.icon-tower-control:before { content: "\e3bf"; } +.icon-toy-brick:before { content: "\e34a"; } +.icon-tractor:before { content: "\e508"; } +.icon-traffic-cone:before { content: "\e509"; } +.icon-train-front-tunnel:before { content: "\e50b"; } +.icon-train-front:before { content: "\e50a"; } +.icon-train-track:before { content: "\e50c"; } +.icon-tram-front:before { content: "\e2a8"; } +.icon-transgender:before { content: "\e648"; } +.icon-trash-2:before { content: "\e18d"; } +.icon-trash:before { content: "\e18c"; } +.icon-tree-deciduous:before { content: "\e2f2"; } +.icon-tree-palm:before { content: "\e280"; } +.icon-tree-pine:before { content: "\e2f3"; } +.icon-trees:before { content: "\e2f4"; } +.icon-trello:before { content: "\e18e"; } +.icon-trending-down:before { content: "\e18f"; } +.icon-trending-up-down:before { content: "\e629"; } +.icon-trending-up:before { content: "\e190"; } +.icon-triangle-alert:before { content: "\e192"; } +.icon-triangle-dashed:before { content: "\e641"; } +.icon-triangle-right:before { content: "\e4f1"; } +.icon-triangle:before { content: "\e191"; } +.icon-trophy:before { content: "\e376"; } +.icon-truck:before { content: "\e193"; } +.icon-turtle:before { content: "\e4fd"; } +.icon-tv-minimal-play:before { content: "\e5f0"; } +.icon-tv-minimal:before { content: "\e202"; } +.icon-tv:before { content: "\e194"; } +.icon-twitch:before { content: "\e195"; } +.icon-twitter:before { content: "\e196"; } +.icon-type-outline:before { content: "\e606"; } +.icon-type:before { content: "\e197"; } +.icon-umbrella-off:before { content: "\e547"; } +.icon-umbrella:before { content: "\e198"; } +.icon-underline:before { content: "\e199"; } +.icon-undo-2:before { content: "\e2a0"; } +.icon-undo-dot:before { content: "\e455"; } +.icon-undo:before { content: "\e19a"; } +.icon-unfold-horizontal:before { content: "\e441"; } +.icon-unfold-vertical:before { content: "\e442"; } +.icon-ungroup:before { content: "\e46b"; } +.icon-university:before { content: "\e3e8"; } +.icon-unlink-2:before { content: "\e19c"; } +.icon-unlink:before { content: "\e19b"; } +.icon-unplug:before { content: "\e461"; } +.icon-upload:before { content: "\e19d"; } +.icon-usb:before { content: "\e359"; } +.icon-user-check:before { content: "\e19f"; } +.icon-user-cog:before { content: "\e345"; } +.icon-user-minus:before { content: "\e1a0"; } +.icon-user-pen:before { content: "\e600"; } +.icon-user-plus:before { content: "\e1a1"; } +.icon-user-round-check:before { content: "\e46d"; } +.icon-user-round-cog:before { content: "\e46e"; } +.icon-user-round-minus:before { content: "\e46f"; } +.icon-user-round-pen:before { content: "\e601"; } +.icon-user-round-plus:before { content: "\e470"; } +.icon-user-round-search:before { content: "\e57c"; } +.icon-user-round-x:before { content: "\e471"; } +.icon-user-round:before { content: "\e46c"; } +.icon-user-search:before { content: "\e57d"; } +.icon-user-x:before { content: "\e1a2"; } +.icon-user:before { content: "\e19e"; } +.icon-users-round:before { content: "\e472"; } +.icon-users:before { content: "\e1a3"; } +.icon-utensils-crossed:before { content: "\e2f6"; } +.icon-utensils:before { content: "\e2f5"; } +.icon-utility-pole:before { content: "\e3c5"; } +.icon-variable:before { content: "\e477"; } +.icon-vault:before { content: "\e593"; } +.icon-vegan:before { content: "\e3a0"; } +.icon-venetian-mask:before { content: "\e2a9"; } +.icon-venus-and-mars:before { content: "\e64a"; } +.icon-venus:before { content: "\e649"; } +.icon-vibrate-off:before { content: "\e29c"; } +.icon-vibrate:before { content: "\e222"; } +.icon-video-off:before { content: "\e1a5"; } +.icon-video:before { content: "\e1a4"; } +.icon-videotape:before { content: "\e4cf"; } +.icon-view:before { content: "\e1a6"; } +.icon-voicemail:before { content: "\e1a7"; } +.icon-volleyball:before { content: "\e633"; } +.icon-volume-1:before { content: "\e1a9"; } +.icon-volume-2:before { content: "\e1aa"; } +.icon-volume-off:before { content: "\e62a"; } +.icon-volume-x:before { content: "\e1ab"; } +.icon-volume:before { content: "\e1a8"; } +.icon-vote:before { content: "\e3b0"; } +.icon-wallet-cards:before { content: "\e4d0"; } +.icon-wallet-minimal:before { content: "\e4d1"; } +.icon-wallet:before { content: "\e203"; } +.icon-wallpaper:before { content: "\e44f"; } +.icon-wand-sparkles:before { content: "\e35a"; } +.icon-wand:before { content: "\e245"; } +.icon-warehouse:before { content: "\e3e9"; } +.icon-washing-machine:before { content: "\e594"; } +.icon-watch:before { content: "\e1ac"; } +.icon-waves-ladder:before { content: "\e63f"; } +.icon-waves:before { content: "\e282"; } +.icon-waypoints:before { content: "\e546"; } +.icon-webcam:before { content: "\e204"; } +.icon-webhook-off:before { content: "\e5bb"; } +.icon-webhook:before { content: "\e377"; } +.icon-weight:before { content: "\e534"; } +.icon-wheat-off:before { content: "\e3a2"; } +.icon-wheat:before { content: "\e3a1"; } +.icon-whole-word:before { content: "\e3e2"; } +.icon-wifi-high:before { content: "\e5fb"; } +.icon-wifi-low:before { content: "\e5fc"; } +.icon-wifi-off:before { content: "\e1ae"; } +.icon-wifi-zero:before { content: "\e5fd"; } +.icon-wifi:before { content: "\e1ad"; } +.icon-wind-arrow-down:before { content: "\e635"; } +.icon-wind:before { content: "\e1af"; } +.icon-wine-off:before { content: "\e3a3"; } +.icon-wine:before { content: "\e2f7"; } +.icon-workflow:before { content: "\e429"; } +.icon-worm:before { content: "\e5de"; } +.icon-wrap-text:before { content: "\e247"; } +.icon-wrench:before { content: "\e1b0"; } +.icon-x:before { content: "\e1b1"; } +.icon-youtube:before { content: "\e1b2"; } +.icon-zap-off:before { content: "\e1b4"; } +.icon-zap:before { content: "\e1b3"; } +.icon-zoom-in:before { content: "\e1b5"; } +.icon-zoom-out:before { content: "\e1b6"; } + + +$icon-a-arrow-down = '\e589' +$icon-a-arrow-up = '\e58a' +$icon-a-large-small = '\e58b' +$icon-accessibility = '\e296' +$icon-activity = '\e038' +$icon-air-vent = '\e350' +$icon-airplay = '\e039' +$icon-alarm-clock-check = '\e1eb' +$icon-alarm-clock-minus = '\e1ec' +$icon-alarm-clock-off = '\e23a' +$icon-alarm-clock-plus = '\e1ed' +$icon-alarm-clock = '\e03a' +$icon-alarm-smoke = '\e57f' +$icon-album = '\e03b' +$icon-align-center-horizontal = '\e26b' +$icon-align-center-vertical = '\e26c' +$icon-align-center = '\e03c' +$icon-align-end-horizontal = '\e26d' +$icon-align-end-vertical = '\e26e' +$icon-align-horizontal-distribute-center = '\e03d' +$icon-align-horizontal-distribute-end = '\e03e' +$icon-align-horizontal-distribute-start = '\e03f' +$icon-align-horizontal-justify-center = '\e271' +$icon-align-horizontal-justify-end = '\e272' +$icon-align-horizontal-justify-start = '\e273' +$icon-align-horizontal-space-around = '\e274' +$icon-align-horizontal-space-between = '\e275' +$icon-align-justify = '\e040' +$icon-align-left = '\e041' +$icon-align-right = '\e042' +$icon-align-start-horizontal = '\e26f' +$icon-align-start-vertical = '\e270' +$icon-align-vertical-distribute-center = '\e27d' +$icon-align-vertical-distribute-end = '\e27e' +$icon-align-vertical-distribute-start = '\e27f' +$icon-align-vertical-justify-center = '\e276' +$icon-align-vertical-justify-end = '\e277' +$icon-align-vertical-justify-start = '\e278' +$icon-align-vertical-space-around = '\e279' +$icon-align-vertical-space-between = '\e27a' +$icon-ambulance = '\e5bf' +$icon-ampersand = '\e4a0' +$icon-ampersands = '\e4a1' +$icon-amphora = '\e61f' +$icon-anchor = '\e043' +$icon-angry = '\e2fb' +$icon-annoyed = '\e2fc' +$icon-antenna = '\e4e6' +$icon-anvil = '\e584' +$icon-aperture = '\e044' +$icon-app-window-mac = '\e5d6' +$icon-app-window = '\e42a' +$icon-apple = '\e351' +$icon-archive-restore = '\e2cc' +$icon-archive-x = '\e510' +$icon-archive = '\e045' +$icon-armchair = '\e2bf' +$icon-arrow-big-down-dash = '\e421' +$icon-arrow-big-down = '\e1e0' +$icon-arrow-big-left-dash = '\e422' +$icon-arrow-big-left = '\e1e1' +$icon-arrow-big-right-dash = '\e423' +$icon-arrow-big-right = '\e1e2' +$icon-arrow-big-up-dash = '\e424' +$icon-arrow-big-up = '\e1e3' +$icon-arrow-down-0-1 = '\e417' +$icon-arrow-down-1-0 = '\e418' +$icon-arrow-down-a-z = '\e419' +$icon-arrow-down-from-line = '\e458' +$icon-arrow-down-left = '\e047' +$icon-arrow-down-narrow-wide = '\e048' +$icon-arrow-down-right = '\e049' +$icon-arrow-down-to-dot = '\e451' +$icon-arrow-down-to-line = '\e459' +$icon-arrow-down-up = '\e04a' +$icon-arrow-down-wide-narrow = '\e04b' +$icon-arrow-down-z-a = '\e41a' +$icon-arrow-down = '\e046' +$icon-arrow-left-from-line = '\e45a' +$icon-arrow-left-right = '\e249' +$icon-arrow-left-to-line = '\e45b' +$icon-arrow-left = '\e04c' +$icon-arrow-right-from-line = '\e45c' +$icon-arrow-right-left = '\e41b' +$icon-arrow-right-to-line = '\e45d' +$icon-arrow-right = '\e04d' +$icon-arrow-up-0-1 = '\e41c' +$icon-arrow-up-1-0 = '\e41d' +$icon-arrow-up-a-z = '\e41e' +$icon-arrow-up-down = '\e380' +$icon-arrow-up-from-dot = '\e452' +$icon-arrow-up-from-line = '\e45e' +$icon-arrow-up-left = '\e04f' +$icon-arrow-up-narrow-wide = '\e050' +$icon-arrow-up-right = '\e051' +$icon-arrow-up-to-line = '\e45f' +$icon-arrow-up-wide-narrow = '\e41f' +$icon-arrow-up-z-a = '\e420' +$icon-arrow-up = '\e04e' +$icon-arrows-up-from-line = '\e4d8' +$icon-asterisk = '\e1ee' +$icon-at-sign = '\e052' +$icon-atom = '\e3da' +$icon-audio-lines = '\e55e' +$icon-audio-waveform = '\e55f' +$icon-award = '\e053' +$icon-axe = '\e054' +$icon-axis-3d = '\e2fd' +$icon-baby = '\e2cd' +$icon-backpack = '\e2c7' +$icon-badge-alert = '\e479' +$icon-badge-cent = '\e513' +$icon-badge-check = '\e240' +$icon-badge-dollar-sign = '\e47a' +$icon-badge-euro = '\e514' +$icon-badge-help = '\e47b' +$icon-badge-indian-rupee = '\e515' +$icon-badge-info = '\e47c' +$icon-badge-japanese-yen = '\e516' +$icon-badge-minus = '\e47d' +$icon-badge-percent = '\e47e' +$icon-badge-plus = '\e47f' +$icon-badge-pound-sterling = '\e517' +$icon-badge-russian-ruble = '\e518' +$icon-badge-swiss-franc = '\e519' +$icon-badge-x = '\e480' +$icon-badge = '\e478' +$icon-baggage-claim = '\e2c8' +$icon-ban = '\e055' +$icon-banana = '\e352' +$icon-bandage = '\e621' +$icon-banknote = '\e056' +$icon-barcode = '\e537' +$icon-baseline = '\e284' +$icon-bath = '\e2aa' +$icon-battery-charging = '\e058' +$icon-battery-full = '\e059' +$icon-battery-low = '\e05a' +$icon-battery-medium = '\e05b' +$icon-battery-plus = '\e642' +$icon-battery-warning = '\e3af' +$icon-battery = '\e057' +$icon-beaker = '\e05c' +$icon-bean-off = '\e393' +$icon-bean = '\e392' +$icon-bed-double = '\e2c1' +$icon-bed-single = '\e2c2' +$icon-bed = '\e2c0' +$icon-beef = '\e3a8' +$icon-beer-off = '\e5dd' +$icon-beer = '\e2ce' +$icon-bell-dot = '\e42f' +$icon-bell-electric = '\e580' +$icon-bell-minus = '\e1ef' +$icon-bell-off = '\e05e' +$icon-bell-plus = '\e1f0' +$icon-bell-ring = '\e223' +$icon-bell = '\e05d' +$icon-between-horizontal-end = '\e595' +$icon-between-horizontal-start = '\e596' +$icon-between-vertical-end = '\e597' +$icon-between-vertical-start = '\e598' +$icon-biceps-flexed = '\e5ef' +$icon-bike = '\e1d1' +$icon-binary = '\e1f1' +$icon-binoculars = '\e625' +$icon-biohazard = '\e445' +$icon-bird = '\e3c8' +$icon-bitcoin = '\e05f' +$icon-blend = '\e5a0' +$icon-blinds = '\e3c3' +$icon-blocks = '\e4fe' +$icon-bluetooth-connected = '\e1b7' +$icon-bluetooth-off = '\e1b8' +$icon-bluetooth-searching = '\e1b9' +$icon-bluetooth = '\e060' +$icon-bold = '\e061' +$icon-bolt = '\e590' +$icon-bomb = '\e2fe' +$icon-bone = '\e35b' +$icon-book-a = '\e548' +$icon-book-audio = '\e549' +$icon-book-check = '\e54a' +$icon-book-copy = '\e3f0' +$icon-book-dashed = '\e3f1' +$icon-book-down = '\e3f2' +$icon-book-headphones = '\e54b' +$icon-book-heart = '\e54c' +$icon-book-image = '\e54d' +$icon-book-key = '\e3f3' +$icon-book-lock = '\e3f4' +$icon-book-marked = '\e3f5' +$icon-book-minus = '\e3f6' +$icon-book-open-check = '\e384' +$icon-book-open-text = '\e54e' +$icon-book-open = '\e063' +$icon-book-plus = '\e3f7' +$icon-book-text = '\e54f' +$icon-book-type = '\e550' +$icon-book-up-2 = '\e4aa' +$icon-book-up = '\e3f8' +$icon-book-user = '\e551' +$icon-book-x = '\e3f9' +$icon-book = '\e062' +$icon-bookmark-check = '\e523' +$icon-bookmark-minus = '\e23b' +$icon-bookmark-plus = '\e23c' +$icon-bookmark-x = '\e524' +$icon-bookmark = '\e064' +$icon-boom-box = '\e4f2' +$icon-bot-message-square = '\e5d2' +$icon-bot-off = '\e5e4' +$icon-bot = '\e1ba' +$icon-box = '\e065' +$icon-boxes = '\e2cf' +$icon-braces = '\e36d' +$icon-brackets = '\e447' +$icon-brain-circuit = '\e3ca' +$icon-brain-cog = '\e3cb' +$icon-brain = '\e3c9' +$icon-brick-wall = '\e585' +$icon-briefcase-business = '\e5d9' +$icon-briefcase-conveyor-belt = '\e62f' +$icon-briefcase-medical = '\e5da' +$icon-briefcase = '\e066' +$icon-bring-to-front = '\e4f3' +$icon-brush = '\e1d2' +$icon-bug-off = '\e511' +$icon-bug-play = '\e512' +$icon-bug = '\e20b' +$icon-building-2 = '\e28f' +$icon-building = '\e1cb' +$icon-bus-front = '\e4ff' +$icon-bus = '\e1d3' +$icon-cable-car = '\e500' +$icon-cable = '\e4e7' +$icon-cake-slice = '\e4bd' +$icon-cake = '\e347' +$icon-calculator = '\e1bb' +$icon-calendar-1 = '\e634' +$icon-calendar-arrow-down = '\e602' +$icon-calendar-arrow-up = '\e603' +$icon-calendar-check-2 = '\e2b7' +$icon-calendar-check = '\e2b6' +$icon-calendar-clock = '\e303' +$icon-calendar-cog = '\e5f1' +$icon-calendar-days = '\e2b8' +$icon-calendar-fold = '\e5b8' +$icon-calendar-heart = '\e304' +$icon-calendar-minus-2 = '\e5b9' +$icon-calendar-minus = '\e2b9' +$icon-calendar-off = '\e2ba' +$icon-calendar-plus-2 = '\e5ba' +$icon-calendar-plus = '\e2bb' +$icon-calendar-range = '\e2bc' +$icon-calendar-search = '\e305' +$icon-calendar-sync = '\e63a' +$icon-calendar-x-2 = '\e2be' +$icon-calendar-x = '\e2bd' +$icon-calendar = '\e067' +$icon-camera-off = '\e069' +$icon-camera = '\e068' +$icon-candy-cane = '\e4be' +$icon-candy-off = '\e395' +$icon-candy = '\e394' +$icon-cannabis = '\e5d8' +$icon-captions-off = '\e5c5' +$icon-captions = '\e3a7' +$icon-car-front = '\e501' +$icon-car-taxi-front = '\e502' +$icon-car = '\e1d4' +$icon-caravan = '\e53d' +$icon-carrot = '\e259' +$icon-case-lower = '\e3db' +$icon-case-sensitive = '\e3dc' +$icon-case-upper = '\e3dd' +$icon-cassette-tape = '\e4ce' +$icon-cast = '\e06a' +$icon-castle = '\e3e3' +$icon-cat = '\e38f' +$icon-cctv = '\e581' +$icon-chart-area = '\e4d7' +$icon-chart-bar-big = '\e4ab' +$icon-chart-bar-decreasing = '\e60b' +$icon-chart-bar-increasing = '\e60c' +$icon-chart-bar-stacked = '\e60d' +$icon-chart-bar = '\e2a1' +$icon-chart-candlestick = '\e4ac' +$icon-chart-column-big = '\e4ad' +$icon-chart-column-decreasing = '\e06b' +$icon-chart-column-increasing = '\e2a3' +$icon-chart-column-stacked = '\e60e' +$icon-chart-column = '\e2a2' +$icon-chart-gantt = '\e628' +$icon-chart-line = '\e2a4' +$icon-chart-network = '\e60f' +$icon-chart-no-axes-column-decreasing = '\e06d' +$icon-chart-no-axes-column-increasing = '\e06e' +$icon-chart-no-axes-column = '\e06c' +$icon-chart-no-axes-combined = '\e610' +$icon-chart-no-axes-gantt = '\e4c8' +$icon-chart-pie = '\e06f' +$icon-chart-scatter = '\e48e' +$icon-chart-spline = '\e611' +$icon-check-check = '\e391' +$icon-check = '\e070' +$icon-chef-hat = '\e2ab' +$icon-cherry = '\e353' +$icon-chevron-down = '\e071' +$icon-chevron-first = '\e242' +$icon-chevron-last = '\e243' +$icon-chevron-left = '\e072' +$icon-chevron-right = '\e073' +$icon-chevron-up = '\e074' +$icon-chevrons-down-up = '\e227' +$icon-chevrons-down = '\e075' +$icon-chevrons-left-right-ellipsis = '\e623' +$icon-chevrons-left-right = '\e292' +$icon-chevrons-left = '\e076' +$icon-chevrons-right-left = '\e293' +$icon-chevrons-right = '\e077' +$icon-chevrons-up-down = '\e210' +$icon-chevrons-up = '\e078' +$icon-chrome = '\e079' +$icon-church = '\e3e4' +$icon-cigarette-off = '\e2c6' +$icon-cigarette = '\e2c5' +$icon-circle-alert = '\e07b' +$icon-circle-arrow-down = '\e07c' +$icon-circle-arrow-left = '\e07d' +$icon-circle-arrow-out-down-left = '\e3fb' +$icon-circle-arrow-out-down-right = '\e3fc' +$icon-circle-arrow-out-up-left = '\e3fd' +$icon-circle-arrow-out-up-right = '\e3fe' +$icon-circle-arrow-right = '\e07e' +$icon-circle-arrow-up = '\e07f' +$icon-circle-check-big = '\e080' +$icon-circle-check = '\e225' +$icon-circle-chevron-down = '\e4e1' +$icon-circle-chevron-left = '\e4e2' +$icon-circle-chevron-right = '\e4e3' +$icon-circle-chevron-up = '\e4e4' +$icon-circle-dashed = '\e4b4' +$icon-circle-divide = '\e081' +$icon-circle-dollar-sign = '\e481' +$icon-circle-dot-dashed = '\e4b5' +$icon-circle-dot = '\e348' +$icon-circle-ellipsis = '\e349' +$icon-circle-equal = '\e404' +$icon-circle-fading-arrow-up = '\e61c' +$icon-circle-fading-plus = '\e5c0' +$icon-circle-gauge = '\e4e5' +$icon-circle-help = '\e082' +$icon-circle-minus = '\e083' +$icon-circle-off = '\e405' +$icon-circle-parking-off = '\e3cd' +$icon-circle-parking = '\e3cc' +$icon-circle-pause = '\e084' +$icon-circle-percent = '\e51e' +$icon-circle-play = '\e085' +$icon-circle-plus = '\e086' +$icon-circle-power = '\e554' +$icon-circle-slash-2 = '\e212' +$icon-circle-slash = '\e406' +$icon-circle-small = '\e644' +$icon-circle-stop = '\e087' +$icon-circle-user-round = '\e466' +$icon-circle-user = '\e465' +$icon-circle-x = '\e088' +$icon-circle = '\e07a' +$icon-circuit-board = '\e407' +$icon-citrus = '\e378' +$icon-clapperboard = '\e29a' +$icon-clipboard-check = '\e218' +$icon-clipboard-copy = '\e224' +$icon-clipboard-list = '\e08a' +$icon-clipboard-minus = '\e5c2' +$icon-clipboard-paste = '\e3eb' +$icon-clipboard-pen-line = '\e307' +$icon-clipboard-pen = '\e306' +$icon-clipboard-plus = '\e5c3' +$icon-clipboard-type = '\e308' +$icon-clipboard-x = '\e221' +$icon-clipboard = '\e089' +$icon-clock-1 = '\e24a' +$icon-clock-10 = '\e24b' +$icon-clock-11 = '\e24c' +$icon-clock-12 = '\e24d' +$icon-clock-2 = '\e24e' +$icon-clock-3 = '\e24f' +$icon-clock-4 = '\e250' +$icon-clock-5 = '\e251' +$icon-clock-6 = '\e252' +$icon-clock-7 = '\e253' +$icon-clock-8 = '\e254' +$icon-clock-9 = '\e255' +$icon-clock-alert = '\e62e' +$icon-clock-arrow-down = '\e604' +$icon-clock-arrow-up = '\e605' +$icon-clock = '\e08b' +$icon-cloud-alert = '\e637' +$icon-cloud-cog = '\e309' +$icon-cloud-download = '\e08d' +$icon-cloud-drizzle = '\e08e' +$icon-cloud-fog = '\e213' +$icon-cloud-hail = '\e08f' +$icon-cloud-lightning = '\e090' +$icon-cloud-moon-rain = '\e2f9' +$icon-cloud-moon = '\e214' +$icon-cloud-off = '\e091' +$icon-cloud-rain-wind = '\e093' +$icon-cloud-rain = '\e092' +$icon-cloud-snow = '\e094' +$icon-cloud-sun-rain = '\e2fa' +$icon-cloud-sun = '\e215' +$icon-cloud-upload = '\e095' +$icon-cloud = '\e08c' +$icon-cloudy = '\e216' +$icon-clover = '\e096' +$icon-club = '\e49a' +$icon-code-xml = '\e205' +$icon-code = '\e097' +$icon-codepen = '\e098' +$icon-codesandbox = '\e099' +$icon-coffee = '\e09a' +$icon-cog = '\e30a' +$icon-coins = '\e09b' +$icon-columns-2 = '\e09c' +$icon-columns-3 = '\e09d' +$icon-columns-4 = '\e58d' +$icon-combine = '\e450' +$icon-command = '\e09e' +$icon-compass = '\e09f' +$icon-component = '\e2ac' +$icon-computer = '\e4e8' +$icon-concierge-bell = '\e37b' +$icon-cone = '\e527' +$icon-construction = '\e3b7' +$icon-contact-round = '\e467' +$icon-contact = '\e0a0' +$icon-container = '\e4d9' +$icon-contrast = '\e0a1' +$icon-cookie = '\e26a' +$icon-cooking-pot = '\e588' +$icon-copy-check = '\e3ff' +$icon-copy-minus = '\e400' +$icon-copy-plus = '\e401' +$icon-copy-slash = '\e402' +$icon-copy-x = '\e403' +$icon-copy = '\e0a2' +$icon-copyleft = '\e0a3' +$icon-copyright = '\e0a4' +$icon-corner-down-left = '\e0a5' +$icon-corner-down-right = '\e0a6' +$icon-corner-left-down = '\e0a7' +$icon-corner-left-up = '\e0a8' +$icon-corner-right-down = '\e0a9' +$icon-corner-right-up = '\e0aa' +$icon-corner-up-left = '\e0ab' +$icon-corner-up-right = '\e0ac' +$icon-cpu = '\e0ad' +$icon-creative-commons = '\e3b5' +$icon-credit-card = '\e0ae' +$icon-croissant = '\e2ad' +$icon-crop = '\e0af' +$icon-cross = '\e1e4' +$icon-crosshair = '\e0b0' +$icon-crown = '\e1d5' +$icon-cuboid = '\e528' +$icon-cup-soda = '\e2d0' +$icon-currency = '\e22f' +$icon-cylinder = '\e529' +$icon-dam = '\e60a' +$icon-database-backup = '\e3ae' +$icon-database-zap = '\e50f' +$icon-database = '\e0b1' +$icon-delete = '\e0b2' +$icon-dessert = '\e4bf' +$icon-diameter = '\e52a' +$icon-diamond-minus = '\e5e5' +$icon-diamond-percent = '\e51f' +$icon-diamond-plus = '\e5e6' +$icon-diamond = '\e2d1' +$icon-dice-1 = '\e286' +$icon-dice-2 = '\e287' +$icon-dice-3 = '\e288' +$icon-dice-4 = '\e289' +$icon-dice-5 = '\e28a' +$icon-dice-6 = '\e28b' +$icon-dices = '\e2c4' +$icon-diff = '\e30b' +$icon-disc-2 = '\e3fa' +$icon-disc-3 = '\e498' +$icon-disc-album = '\e560' +$icon-disc = '\e0b3' +$icon-divide = '\e0b4' +$icon-dna-off = '\e397' +$icon-dna = '\e396' +$icon-dock = '\e5d7' +$icon-dog = '\e390' +$icon-dollar-sign = '\e0b5' +$icon-donut = '\e4c0' +$icon-door-closed = '\e3d8' +$icon-door-open = '\e3d9' +$icon-dot = '\e453' +$icon-download = '\e0b6' +$icon-drafting-compass = '\e52b' +$icon-drama = '\e525' +$icon-dribbble = '\e0b7' +$icon-drill = '\e591' +$icon-droplet-off = '\e63c' +$icon-droplet = '\e0b8' +$icon-droplets = '\e0b9' +$icon-drum = '\e561' +$icon-drumstick = '\e25a' +$icon-dumbbell = '\e3a4' +$icon-ear-off = '\e386' +$icon-ear = '\e385' +$icon-earth-lock = '\e5d0' +$icon-earth = '\e1f2' +$icon-eclipse = '\e5a1' +$icon-egg-fried = '\e354' +$icon-egg-off = '\e398' +$icon-egg = '\e25c' +$icon-ellipsis-vertical = '\e0bb' +$icon-ellipsis = '\e0ba' +$icon-equal-approximately = '\e638' +$icon-equal-not = '\e1bd' +$icon-equal = '\e1bc' +$icon-eraser = '\e28e' +$icon-ethernet-port = '\e624' +$icon-euro = '\e0bc' +$icon-expand = '\e219' +$icon-external-link = '\e0bd' +$icon-eye-closed = '\e632' +$icon-eye-off = '\e0bf' +$icon-eye = '\e0be' +$icon-facebook = '\e0c0' +$icon-factory = '\e29e' +$icon-fan = '\e37c' +$icon-fast-forward = '\e0c1' +$icon-feather = '\e0c2' +$icon-fence = '\e586' +$icon-ferris-wheel = '\e483' +$icon-figma = '\e0c3' +$icon-file-archive = '\e30c' +$icon-file-audio-2 = '\e30e' +$icon-file-audio = '\e30d' +$icon-file-axis-3d = '\e30f' +$icon-file-badge-2 = '\e311' +$icon-file-badge = '\e310' +$icon-file-box = '\e312' +$icon-file-chart-column-increasing = '\e314' +$icon-file-chart-column = '\e313' +$icon-file-chart-line = '\e315' +$icon-file-chart-pie = '\e316' +$icon-file-check-2 = '\e0c6' +$icon-file-check = '\e0c5' +$icon-file-clock = '\e317' +$icon-file-code-2 = '\e462' +$icon-file-code = '\e0c7' +$icon-file-cog = '\e318' +$icon-file-diff = '\e319' +$icon-file-digit = '\e0c8' +$icon-file-down = '\e31a' +$icon-file-heart = '\e31b' +$icon-file-image = '\e31c' +$icon-file-input = '\e0c9' +$icon-file-json-2 = '\e36f' +$icon-file-json = '\e36e' +$icon-file-key-2 = '\e31e' +$icon-file-key = '\e31d' +$icon-file-lock-2 = '\e320' +$icon-file-lock = '\e31f' +$icon-file-minus-2 = '\e0cb' +$icon-file-minus = '\e0ca' +$icon-file-music = '\e562' +$icon-file-output = '\e0cc' +$icon-file-pen-line = '\e322' +$icon-file-pen = '\e321' +$icon-file-plus-2 = '\e0ce' +$icon-file-plus = '\e0cd' +$icon-file-question = '\e323' +$icon-file-scan = '\e324' +$icon-file-search-2 = '\e325' +$icon-file-search = '\e0cf' +$icon-file-sliders = '\e5a4' +$icon-file-spreadsheet = '\e326' +$icon-file-stack = '\e4a5' +$icon-file-symlink = '\e327' +$icon-file-terminal = '\e328' +$icon-file-text = '\e0d0' +$icon-file-type-2 = '\e370' +$icon-file-type = '\e329' +$icon-file-up = '\e32a' +$icon-file-user = '\e631' +$icon-file-video-2 = '\e32c' +$icon-file-video = '\e32b' +$icon-file-volume-2 = '\e32e' +$icon-file-volume = '\e32d' +$icon-file-warning = '\e32f' +$icon-file-x-2 = '\e0d2' +$icon-file-x = '\e0d1' +$icon-file = '\e0c4' +$icon-files = '\e0d3' +$icon-film = '\e0d4' +$icon-filter-x = '\e3b8' +$icon-filter = '\e0d5' +$icon-fingerprint = '\e2ca' +$icon-fire-extinguisher = '\e582' +$icon-fish-off = '\e3b3' +$icon-fish-symbol = '\e4f8' +$icon-fish = '\e3a9' +$icon-flag-off = '\e291' +$icon-flag-triangle-left = '\e236' +$icon-flag-triangle-right = '\e237' +$icon-flag = '\e0d6' +$icon-flame-kindling = '\e53e' +$icon-flame = '\e0d7' +$icon-flashlight-off = '\e0d9' +$icon-flashlight = '\e0d8' +$icon-flask-conical-off = '\e399' +$icon-flask-conical = '\e0da' +$icon-flask-round = '\e0db' +$icon-flip-horizontal-2 = '\e361' +$icon-flip-horizontal = '\e360' +$icon-flip-vertical-2 = '\e363' +$icon-flip-vertical = '\e362' +$icon-flower-2 = '\e2d3' +$icon-flower = '\e2d2' +$icon-focus = '\e29d' +$icon-fold-horizontal = '\e43f' +$icon-fold-vertical = '\e440' +$icon-folder-archive = '\e330' +$icon-folder-check = '\e331' +$icon-folder-clock = '\e332' +$icon-folder-closed = '\e333' +$icon-folder-code = '\e5ff' +$icon-folder-cog = '\e334' +$icon-folder-dot = '\e4c9' +$icon-folder-down = '\e335' +$icon-folder-git-2 = '\e40e' +$icon-folder-git = '\e40d' +$icon-folder-heart = '\e336' +$icon-folder-input = '\e337' +$icon-folder-kanban = '\e4ca' +$icon-folder-key = '\e338' +$icon-folder-lock = '\e339' +$icon-folder-minus = '\e0dd' +$icon-folder-open-dot = '\e4cb' +$icon-folder-open = '\e246' +$icon-folder-output = '\e33a' +$icon-folder-pen = '\e33b' +$icon-folder-plus = '\e0de' +$icon-folder-root = '\e4cc' +$icon-folder-search-2 = '\e33d' +$icon-folder-search = '\e33c' +$icon-folder-symlink = '\e33e' +$icon-folder-sync = '\e4cd' +$icon-folder-tree = '\e33f' +$icon-folder-up = '\e340' +$icon-folder-x = '\e341' +$icon-folder = '\e0dc' +$icon-folders = '\e342' +$icon-footprints = '\e3bc' +$icon-forklift = '\e3c4' +$icon-forward = '\e228' +$icon-frame = '\e290' +$icon-framer = '\e0df' +$icon-frown = '\e0e0' +$icon-fuel = '\e2ae' +$icon-fullscreen = '\e538' +$icon-gallery-horizontal-end = '\e4d3' +$icon-gallery-horizontal = '\e4d2' +$icon-gallery-thumbnails = '\e4d4' +$icon-gallery-vertical-end = '\e4d6' +$icon-gallery-vertical = '\e4d5' +$icon-gamepad-2 = '\e0e2' +$icon-gamepad = '\e0e1' +$icon-gauge = '\e1be' +$icon-gavel = '\e0e3' +$icon-gem = '\e241' +$icon-ghost = '\e20d' +$icon-gift = '\e0e4' +$icon-git-branch-plus = '\e1f3' +$icon-git-branch = '\e0e5' +$icon-git-commit-horizontal = '\e0e6' +$icon-git-commit-vertical = '\e556' +$icon-git-compare-arrows = '\e557' +$icon-git-compare = '\e35c' +$icon-git-fork = '\e28c' +$icon-git-graph = '\e558' +$icon-git-merge = '\e0e7' +$icon-git-pull-request-arrow = '\e559' +$icon-git-pull-request-closed = '\e35d' +$icon-git-pull-request-create-arrow = '\e55b' +$icon-git-pull-request-create = '\e55a' +$icon-git-pull-request-draft = '\e35e' +$icon-git-pull-request = '\e0e8' +$icon-github = '\e0e9' +$icon-gitlab = '\e0ea' +$icon-glass-water = '\e2d4' +$icon-glasses = '\e20c' +$icon-globe-lock = '\e5d1' +$icon-globe = '\e0eb' +$icon-goal = '\e4a9' +$icon-grab = '\e1e5' +$icon-graduation-cap = '\e233' +$icon-grape = '\e355' +$icon-grid-2x2-check = '\e5e8' +$icon-grid-2x2-plus = '\e62c' +$icon-grid-2x2-x = '\e5e9' +$icon-grid-2x2 = '\e503' +$icon-grid-3x3 = '\e0ec' +$icon-grip-horizontal = '\e0ed' +$icon-grip-vertical = '\e0ee' +$icon-grip = '\e3b4' +$icon-group = '\e468' +$icon-guitar = '\e563' +$icon-ham = '\e5db' +$icon-hammer = '\e0ef' +$icon-hand-coins = '\e5bc' +$icon-hand-heart = '\e5bd' +$icon-hand-helping = '\e3bb' +$icon-hand-metal = '\e22b' +$icon-hand-platter = '\e5be' +$icon-hand = '\e1d6' +$icon-handshake = '\e5c4' +$icon-hard-drive-download = '\e4e9' +$icon-hard-drive-upload = '\e4ea' +$icon-hard-drive = '\e0f0' +$icon-hard-hat = '\e0f1' +$icon-hash = '\e0f2' +$icon-haze = '\e0f3' +$icon-hdmi-port = '\e4eb' +$icon-heading-1 = '\e388' +$icon-heading-2 = '\e389' +$icon-heading-3 = '\e38a' +$icon-heading-4 = '\e38b' +$icon-heading-5 = '\e38c' +$icon-heading-6 = '\e38d' +$icon-heading = '\e387' +$icon-headphone-off = '\e62d' +$icon-headphones = '\e0f4' +$icon-headset = '\e5c1' +$icon-heart-crack = '\e2d5' +$icon-heart-handshake = '\e2d6' +$icon-heart-off = '\e294' +$icon-heart-pulse = '\e371' +$icon-heart = '\e0f5' +$icon-heater = '\e592' +$icon-hexagon = '\e0f6' +$icon-highlighter = '\e0f7' +$icon-history = '\e1f4' +$icon-hop-off = '\e39b' +$icon-hop = '\e39a' +$icon-hospital = '\e5dc' +$icon-hotel = '\e3e5' +$icon-hourglass = '\e295' +$icon-house-plug = '\e5f4' +$icon-house-plus = '\e5f5' +$icon-house-wifi = '\e640' +$icon-house = '\e0f8' +$icon-ice-cream-bowl = '\e3aa' +$icon-ice-cream-cone = '\e356' +$icon-id-card = '\e61b' +$icon-image-down = '\e540' +$icon-image-minus = '\e1f5' +$icon-image-off = '\e1bf' +$icon-image-play = '\e5e3' +$icon-image-plus = '\e1f6' +$icon-image-up = '\e5cf' +$icon-image-upscale = '\e63b' +$icon-image = '\e0f9' +$icon-images = '\e5c8' +$icon-import = '\e22e' +$icon-inbox = '\e0fa' +$icon-indent-decrease = '\e0fb' +$icon-indent-increase = '\e0fc' +$icon-indian-rupee = '\e0fd' +$icon-infinity = '\e1e6' +$icon-info = '\e0fe' +$icon-inspection-panel = '\e587' +$icon-instagram = '\e0ff' +$icon-italic = '\e100' +$icon-iteration-ccw = '\e427' +$icon-iteration-cw = '\e428' +$icon-japanese-yen = '\e101' +$icon-joystick = '\e358' +$icon-kanban = '\e4e0' +$icon-key-round = '\e4a7' +$icon-key-square = '\e4a8' +$icon-key = '\e102' +$icon-keyboard-music = '\e564' +$icon-keyboard-off = '\e5e2' +$icon-keyboard = '\e283' +$icon-lamp-ceiling = '\e2d8' +$icon-lamp-desk = '\e2d9' +$icon-lamp-floor = '\e2da' +$icon-lamp-wall-down = '\e2db' +$icon-lamp-wall-up = '\e2dc' +$icon-lamp = '\e2d7' +$icon-land-plot = '\e52c' +$icon-landmark = '\e239' +$icon-languages = '\e103' +$icon-laptop-minimal-check = '\e636' +$icon-laptop-minimal = '\e1d7' +$icon-laptop = '\e1cc' +$icon-lasso-select = '\e1ce' +$icon-lasso = '\e1cd' +$icon-laugh = '\e2ff' +$icon-layers-2 = '\e52e' +$icon-layers = '\e52d' +$icon-layout-dashboard = '\e1c0' +$icon-layout-grid = '\e104' +$icon-layout-list = '\e1d8' +$icon-layout-panel-left = '\e474' +$icon-layout-panel-top = '\e475' +$icon-layout-template = '\e206' +$icon-leaf = '\e2dd' +$icon-leafy-green = '\e473' +$icon-lectern = '\e5ed' +$icon-letter-text = '\e609' +$icon-library-big = '\e552' +$icon-library = '\e105' +$icon-life-buoy = '\e106' +$icon-ligature = '\e43e' +$icon-lightbulb-off = '\e207' +$icon-lightbulb = '\e1c1' +$icon-link-2-off = '\e109' +$icon-link-2 = '\e108' +$icon-link = '\e107' +$icon-linkedin = '\e10a' +$icon-list-check = '\e5fe' +$icon-list-checks = '\e1cf' +$icon-list-collapse = '\e59f' +$icon-list-end = '\e2de' +$icon-list-filter-plus = '\e63d' +$icon-list-filter = '\e464' +$icon-list-minus = '\e23d' +$icon-list-music = '\e2df' +$icon-list-ordered = '\e1d0' +$icon-list-plus = '\e23e' +$icon-list-restart = '\e456' +$icon-list-start = '\e2e0' +$icon-list-todo = '\e4c7' +$icon-list-tree = '\e40c' +$icon-list-video = '\e2e1' +$icon-list-x = '\e23f' +$icon-list = '\e10b' +$icon-loader-circle = '\e10d' +$icon-loader-pinwheel = '\e5ea' +$icon-loader = '\e10c' +$icon-locate-fixed = '\e1da' +$icon-locate-off = '\e281' +$icon-locate = '\e1d9' +$icon-lock-keyhole-open = '\e536' +$icon-lock-keyhole = '\e535' +$icon-lock-open = '\e10f' +$icon-lock = '\e10e' +$icon-log-in = '\e110' +$icon-log-out = '\e111' +$icon-logs = '\e5f8' +$icon-lollipop = '\e4c1' +$icon-luggage = '\e2c9' +$icon-magnet = '\e2b4' +$icon-mail-check = '\e364' +$icon-mail-minus = '\e365' +$icon-mail-open = '\e366' +$icon-mail-plus = '\e367' +$icon-mail-question = '\e368' +$icon-mail-search = '\e369' +$icon-mail-warning = '\e36a' +$icon-mail-x = '\e36b' +$icon-mail = '\e112' +$icon-mailbox = '\e3d7' +$icon-mails = '\e36c' +$icon-map-pin-check-inside = '\e614' +$icon-map-pin-check = '\e613' +$icon-map-pin-house = '\e620' +$icon-map-pin-minus-inside = '\e616' +$icon-map-pin-minus = '\e615' +$icon-map-pin-off = '\e2a5' +$icon-map-pin-plus-inside = '\e618' +$icon-map-pin-plus = '\e617' +$icon-map-pin-x-inside = '\e61a' +$icon-map-pin-x = '\e619' +$icon-map-pin = '\e114' +$icon-map-pinned = '\e541' +$icon-map-plus = '\e643' +$icon-map = '\e113' +$icon-mars-stroke = '\e646' +$icon-mars = '\e645' +$icon-martini = '\e2e2' +$icon-maximize-2 = '\e116' +$icon-maximize = '\e115' +$icon-medal = '\e372' +$icon-megaphone-off = '\e373' +$icon-megaphone = '\e234' +$icon-meh = '\e117' +$icon-memory-stick = '\e449' +$icon-menu = '\e118' +$icon-merge = '\e443' +$icon-message-circle-code = '\e566' +$icon-message-circle-dashed = '\e567' +$icon-message-circle-heart = '\e568' +$icon-message-circle-more = '\e569' +$icon-message-circle-off = '\e56a' +$icon-message-circle-plus = '\e56b' +$icon-message-circle-question = '\e56c' +$icon-message-circle-reply = '\e56d' +$icon-message-circle-warning = '\e56e' +$icon-message-circle-x = '\e56f' +$icon-message-circle = '\e119' +$icon-message-square-code = '\e570' +$icon-message-square-dashed = '\e40f' +$icon-message-square-diff = '\e571' +$icon-message-square-dot = '\e572' +$icon-message-square-heart = '\e573' +$icon-message-square-lock = '\e630' +$icon-message-square-more = '\e574' +$icon-message-square-off = '\e575' +$icon-message-square-plus = '\e410' +$icon-message-square-quote = '\e576' +$icon-message-square-reply = '\e577' +$icon-message-square-share = '\e578' +$icon-message-square-text = '\e579' +$icon-message-square-warning = '\e57a' +$icon-message-square-x = '\e57b' +$icon-message-square = '\e11a' +$icon-messages-square = '\e411' +$icon-mic-off = '\e11c' +$icon-mic-vocal = '\e34c' +$icon-mic = '\e11b' +$icon-microchip = '\e61e' +$icon-microscope = '\e2e3' +$icon-microwave = '\e37d' +$icon-milestone = '\e297' +$icon-milk-off = '\e39d' +$icon-milk = '\e39c' +$icon-minimize-2 = '\e11e' +$icon-minimize = '\e11d' +$icon-minus = '\e11f' +$icon-monitor-check = '\e486' +$icon-monitor-cog = '\e607' +$icon-monitor-dot = '\e487' +$icon-monitor-down = '\e425' +$icon-monitor-off = '\e1db' +$icon-monitor-pause = '\e488' +$icon-monitor-play = '\e489' +$icon-monitor-smartphone = '\e3a5' +$icon-monitor-speaker = '\e20f' +$icon-monitor-stop = '\e48a' +$icon-monitor-up = '\e426' +$icon-monitor-x = '\e48b' +$icon-monitor = '\e120' +$icon-moon-star = '\e414' +$icon-moon = '\e121' +$icon-mountain-snow = '\e231' +$icon-mountain = '\e230' +$icon-mouse-off = '\e5df' +$icon-mouse-pointer-2 = '\e1c2' +$icon-mouse-pointer-ban = '\e5eb' +$icon-mouse-pointer-click = '\e123' +$icon-mouse-pointer = '\e122' +$icon-mouse = '\e28d' +$icon-move-3d = '\e2e4' +$icon-move-diagonal-2 = '\e1c4' +$icon-move-diagonal = '\e1c3' +$icon-move-down-left = '\e491' +$icon-move-down-right = '\e492' +$icon-move-down = '\e490' +$icon-move-horizontal = '\e1c5' +$icon-move-left = '\e493' +$icon-move-right = '\e494' +$icon-move-up-left = '\e496' +$icon-move-up-right = '\e497' +$icon-move-up = '\e495' +$icon-move-vertical = '\e1c6' +$icon-move = '\e124' +$icon-music-2 = '\e34d' +$icon-music-3 = '\e34e' +$icon-music-4 = '\e34f' +$icon-music = '\e125' +$icon-navigation-2-off = '\e2a6' +$icon-navigation-2 = '\e127' +$icon-navigation-off = '\e2a7' +$icon-navigation = '\e126' +$icon-network = '\e128' +$icon-newspaper = '\e34b' +$icon-nfc = '\e3c6' +$icon-non-binary = '\e647' +$icon-notebook-pen = '\e59a' +$icon-notebook-tabs = '\e59b' +$icon-notebook-text = '\e59c' +$icon-notebook = '\e599' +$icon-notepad-text-dashed = '\e59e' +$icon-notepad-text = '\e59d' +$icon-nut-off = '\e39f' +$icon-nut = '\e39e' +$icon-octagon-alert = '\e12a' +$icon-octagon-minus = '\e62b' +$icon-octagon-pause = '\e21a' +$icon-octagon-x = '\e12b' +$icon-octagon = '\e129' +$icon-omega = '\e61d' +$icon-option = '\e1f7' +$icon-orbit = '\e3ea' +$icon-origami = '\e5e7' +$icon-package-2 = '\e343' +$icon-package-check = '\e265' +$icon-package-minus = '\e266' +$icon-package-open = '\e2cb' +$icon-package-plus = '\e267' +$icon-package-search = '\e268' +$icon-package-x = '\e269' +$icon-package = '\e12c' +$icon-paint-bucket = '\e2e5' +$icon-paint-roller = '\e5a2' +$icon-paintbrush-vertical = '\e2e7' +$icon-paintbrush = '\e2e6' +$icon-palette = '\e1dc' +$icon-panel-bottom-close = '\e431' +$icon-panel-bottom-dashed = '\e432' +$icon-panel-bottom-open = '\e433' +$icon-panel-bottom = '\e430' +$icon-panel-left-close = '\e21b' +$icon-panel-left-dashed = '\e434' +$icon-panel-left-open = '\e21c' +$icon-panel-left = '\e12d' +$icon-panel-right-close = '\e436' +$icon-panel-right-dashed = '\e437' +$icon-panel-right-open = '\e438' +$icon-panel-right = '\e435' +$icon-panel-top-close = '\e43a' +$icon-panel-top-dashed = '\e43b' +$icon-panel-top-open = '\e43c' +$icon-panel-top = '\e439' +$icon-panels-left-bottom = '\e12e' +$icon-panels-right-bottom = '\e58c' +$icon-panels-top-left = '\e12f' +$icon-paperclip = '\e130' +$icon-parentheses = '\e448' +$icon-parking-meter = '\e504' +$icon-party-popper = '\e346' +$icon-pause = '\e131' +$icon-paw-print = '\e4f9' +$icon-pc-case = '\e44a' +$icon-pen-line = '\e133' +$icon-pen-off = '\e5f2' +$icon-pen-tool = '\e134' +$icon-pen = '\e132' +$icon-pencil-line = '\e4f4' +$icon-pencil-off = '\e5f3' +$icon-pencil-ruler = '\e4f5' +$icon-pencil = '\e1f8' +$icon-pentagon = '\e52f' +$icon-percent = '\e135' +$icon-person-standing = '\e21d' +$icon-philippine-peso = '\e608' +$icon-phone-call = '\e137' +$icon-phone-forwarded = '\e138' +$icon-phone-incoming = '\e139' +$icon-phone-missed = '\e13a' +$icon-phone-off = '\e13b' +$icon-phone-outgoing = '\e13c' +$icon-phone = '\e136' +$icon-pi = '\e476' +$icon-piano = '\e565' +$icon-pickaxe = '\e5ca' +$icon-picture-in-picture-2 = '\e3b2' +$icon-picture-in-picture = '\e3b1' +$icon-piggy-bank = '\e13d' +$icon-pilcrow-left = '\e5e0' +$icon-pilcrow-right = '\e5e1' +$icon-pilcrow = '\e3a6' +$icon-pill-bottle = '\e5ee' +$icon-pill = '\e3c0' +$icon-pin-off = '\e2b5' +$icon-pin = '\e258' +$icon-pipette = '\e13e' +$icon-pizza = '\e357' +$icon-plane-landing = '\e3d0' +$icon-plane-takeoff = '\e3d1' +$icon-plane = '\e1dd' +$icon-play = '\e13f' +$icon-plug-2 = '\e383' +$icon-plug-zap = '\e460' +$icon-plug = '\e382' +$icon-plus = '\e140' +$icon-pocket-knife = '\e4a4' +$icon-pocket = '\e141' +$icon-podcast = '\e1f9' +$icon-pointer-off = '\e583' +$icon-pointer = '\e1e7' +$icon-popcorn = '\e4c2' +$icon-popsicle = '\e4c3' +$icon-pound-sterling = '\e142' +$icon-power-off = '\e208' +$icon-power = '\e143' +$icon-presentation = '\e4b2' +$icon-printer-check = '\e5f9' +$icon-printer = '\e144' +$icon-projector = '\e4b3' +$icon-proportions = '\e5d3' +$icon-puzzle = '\e29b' +$icon-pyramid = '\e530' +$icon-qr-code = '\e1de' +$icon-quote = '\e238' +$icon-rabbit = '\e4fa' +$icon-radar = '\e49b' +$icon-radiation = '\e446' +$icon-radical = '\e5c6' +$icon-radio-receiver = '\e1fa' +$icon-radio-tower = '\e408' +$icon-radio = '\e145' +$icon-radius = '\e531' +$icon-rail-symbol = '\e505' +$icon-rainbow = '\e4c6' +$icon-rat = '\e3ef' +$icon-ratio = '\e4ec' +$icon-receipt-cent = '\e5a9' +$icon-receipt-euro = '\e5aa' +$icon-receipt-indian-rupee = '\e5ab' +$icon-receipt-japanese-yen = '\e5ac' +$icon-receipt-pound-sterling = '\e5ad' +$icon-receipt-russian-ruble = '\e5ae' +$icon-receipt-swiss-franc = '\e5af' +$icon-receipt-text = '\e5b0' +$icon-receipt = '\e3d6' +$icon-rectangle-ellipsis = '\e21e' +$icon-rectangle-horizontal = '\e379' +$icon-rectangle-vertical = '\e37a' +$icon-recycle = '\e2e8' +$icon-redo-2 = '\e29f' +$icon-redo-dot = '\e454' +$icon-redo = '\e146' +$icon-refresh-ccw-dot = '\e4b6' +$icon-refresh-ccw = '\e147' +$icon-refresh-cw-off = '\e49c' +$icon-refresh-cw = '\e148' +$icon-refrigerator = '\e37e' +$icon-regex = '\e1fb' +$icon-remove-formatting = '\e3b6' +$icon-repeat-1 = '\e1fc' +$icon-repeat-2 = '\e415' +$icon-repeat = '\e149' +$icon-replace-all = '\e3df' +$icon-replace = '\e3de' +$icon-reply-all = '\e22a' +$icon-reply = '\e229' +$icon-rewind = '\e14a' +$icon-ribbon = '\e55c' +$icon-rocket = '\e285' +$icon-rocking-chair = '\e232' +$icon-roller-coaster = '\e484' +$icon-rotate-3d = '\e2e9' +$icon-rotate-ccw-square = '\e5d4' +$icon-rotate-ccw = '\e14b' +$icon-rotate-cw-square = '\e5d5' +$icon-rotate-cw = '\e14c' +$icon-route-off = '\e543' +$icon-route = '\e542' +$icon-router = '\e3c2' +$icon-rows-2 = '\e43d' +$icon-rows-3 = '\e58e' +$icon-rows-4 = '\e58f' +$icon-rss = '\e14d' +$icon-ruler = '\e14e' +$icon-russian-ruble = '\e14f' +$icon-sailboat = '\e381' +$icon-salad = '\e3ab' +$icon-sandwich = '\e3ac' +$icon-satellite-dish = '\e44c' +$icon-satellite = '\e44b' +$icon-save-all = '\e413' +$icon-save-off = '\e5f7' +$icon-save = '\e150' +$icon-scale-3d = '\e2ea' +$icon-scale = '\e211' +$icon-scaling = '\e2eb' +$icon-scan-barcode = '\e539' +$icon-scan-eye = '\e53a' +$icon-scan-face = '\e374' +$icon-scan-heart = '\e63e' +$icon-scan-line = '\e257' +$icon-scan-qr-code = '\e5fa' +$icon-scan-search = '\e53b' +$icon-scan-text = '\e53c' +$icon-scan = '\e256' +$icon-school = '\e3e6' +$icon-scissors-line-dashed = '\e4ed' +$icon-scissors = '\e151' +$icon-screen-share-off = '\e153' +$icon-screen-share = '\e152' +$icon-scroll-text = '\e463' +$icon-scroll = '\e2ec' +$icon-search-check = '\e4ae' +$icon-search-code = '\e4af' +$icon-search-slash = '\e4b0' +$icon-search-x = '\e4b1' +$icon-search = '\e154' +$icon-section = '\e5ec' +$icon-send-horizontal = '\e4f6' +$icon-send-to-back = '\e4f7' +$icon-send = '\e155' +$icon-separator-horizontal = '\e1c7' +$icon-separator-vertical = '\e1c8' +$icon-server-cog = '\e344' +$icon-server-crash = '\e1e8' +$icon-server-off = '\e1e9' +$icon-server = '\e156' +$icon-settings-2 = '\e244' +$icon-settings = '\e157' +$icon-shapes = '\e4b7' +$icon-share-2 = '\e159' +$icon-share = '\e158' +$icon-sheet = '\e15a' +$icon-shell = '\e4fb' +$icon-shield-alert = '\e1fd' +$icon-shield-ban = '\e15c' +$icon-shield-check = '\e1fe' +$icon-shield-ellipsis = '\e51a' +$icon-shield-half = '\e51b' +$icon-shield-minus = '\e51c' +$icon-shield-off = '\e15d' +$icon-shield-plus = '\e51d' +$icon-shield-question = '\e412' +$icon-shield-user = '\e64b' +$icon-shield-x = '\e1ff' +$icon-shield = '\e15b' +$icon-ship-wheel = '\e506' +$icon-ship = '\e3bd' +$icon-shirt = '\e1c9' +$icon-shopping-bag = '\e15e' +$icon-shopping-basket = '\e4ee' +$icon-shopping-cart = '\e15f' +$icon-shovel = '\e160' +$icon-shower-head = '\e37f' +$icon-shrink = '\e21f' +$icon-shrub = '\e2ed' +$icon-shuffle = '\e161' +$icon-sigma = '\e200' +$icon-signal-high = '\e25f' +$icon-signal-low = '\e260' +$icon-signal-medium = '\e261' +$icon-signal-zero = '\e262' +$icon-signal = '\e25e' +$icon-signature = '\e5f6' +$icon-signpost-big = '\e545' +$icon-signpost = '\e544' +$icon-siren = '\e2ee' +$icon-skip-back = '\e162' +$icon-skip-forward = '\e163' +$icon-skull = '\e220' +$icon-slack = '\e164' +$icon-slash = '\e521' +$icon-slice = '\e2ef' +$icon-sliders-horizontal = '\e299' +$icon-sliders-vertical = '\e165' +$icon-smartphone-charging = '\e22d' +$icon-smartphone-nfc = '\e3c7' +$icon-smartphone = '\e166' +$icon-smile-plus = '\e300' +$icon-smile = '\e167' +$icon-snail = '\e4fc' +$icon-snowflake = '\e168' +$icon-sofa = '\e2c3' +$icon-soup = '\e3ad' +$icon-space = '\e3e0' +$icon-spade = '\e49d' +$icon-sparkle = '\e482' +$icon-sparkles = '\e416' +$icon-speaker = '\e169' +$icon-speech = '\e522' +$icon-spell-check-2 = '\e49f' +$icon-spell-check = '\e49e' +$icon-spline = '\e38e' +$icon-split = '\e444' +$icon-spray-can = '\e499' +$icon-sprout = '\e1ea' +$icon-square-activity = '\e4b8' +$icon-square-arrow-down-left = '\e4b9' +$icon-square-arrow-down-right = '\e4ba' +$icon-square-arrow-down = '\e42b' +$icon-square-arrow-left = '\e42c' +$icon-square-arrow-out-down-left = '\e5a5' +$icon-square-arrow-out-down-right = '\e5a6' +$icon-square-arrow-out-up-left = '\e5a7' +$icon-square-arrow-out-up-right = '\e5a8' +$icon-square-arrow-right = '\e42d' +$icon-square-arrow-up-left = '\e4bb' +$icon-square-arrow-up-right = '\e4bc' +$icon-square-arrow-up = '\e42e' +$icon-square-asterisk = '\e16b' +$icon-square-bottom-dashed-scissors = '\e4ef' +$icon-square-chart-gantt = '\e16c' +$icon-square-check-big = '\e16d' +$icon-square-check = '\e55d' +$icon-square-chevron-down = '\e3d2' +$icon-square-chevron-left = '\e3d3' +$icon-square-chevron-right = '\e3d4' +$icon-square-chevron-up = '\e3d5' +$icon-square-code = '\e16e' +$icon-square-dashed-bottom-code = '\e4c5' +$icon-square-dashed-bottom = '\e4c4' +$icon-square-dashed-kanban = '\e16f' +$icon-square-dashed-mouse-pointer = '\e50d' +$icon-square-dashed = '\e1ca' +$icon-square-divide = '\e170' +$icon-square-dot = '\e171' +$icon-square-equal = '\e172' +$icon-square-function = '\e22c' +$icon-square-kanban = '\e173' +$icon-square-library = '\e553' +$icon-square-m = '\e507' +$icon-square-menu = '\e457' +$icon-square-minus = '\e174' +$icon-square-mouse-pointer = '\e201' +$icon-square-parking-off = '\e3cf' +$icon-square-parking = '\e3ce' +$icon-square-pen = '\e175' +$icon-square-percent = '\e520' +$icon-square-pi = '\e48c' +$icon-square-pilcrow = '\e48f' +$icon-square-play = '\e485' +$icon-square-plus = '\e176' +$icon-square-power = '\e555' +$icon-square-radical = '\e5c7' +$icon-square-round-corner = '\e64c' +$icon-square-scissors = '\e4f0' +$icon-square-sigma = '\e48d' +$icon-square-slash = '\e177' +$icon-square-split-horizontal = '\e3b9' +$icon-square-split-vertical = '\e3ba' +$icon-square-square = '\e612' +$icon-square-stack = '\e4a6' +$icon-square-terminal = '\e209' +$icon-square-user-round = '\e46a' +$icon-square-user = '\e469' +$icon-square-x = '\e178' +$icon-square = '\e16a' +$icon-squircle = '\e57e' +$icon-squirrel = '\e4a3' +$icon-stamp = '\e3be' +$icon-star-half = '\e20a' +$icon-star-off = '\e2af' +$icon-star = '\e179' +$icon-step-back = '\e3ec' +$icon-step-forward = '\e3ed' +$icon-stethoscope = '\e2f0' +$icon-sticker = '\e301' +$icon-sticky-note = '\e302' +$icon-store = '\e3e7' +$icon-stretch-horizontal = '\e27b' +$icon-stretch-vertical = '\e27c' +$icon-strikethrough = '\e17a' +$icon-subscript = '\e25b' +$icon-sun-dim = '\e298' +$icon-sun-medium = '\e2b0' +$icon-sun-moon = '\e2b1' +$icon-sun-snow = '\e375' +$icon-sun = '\e17b' +$icon-sunrise = '\e17c' +$icon-sunset = '\e17d' +$icon-superscript = '\e25d' +$icon-swatch-book = '\e5a3' +$icon-swiss-franc = '\e17e' +$icon-switch-camera = '\e17f' +$icon-sword = '\e2b2' +$icon-swords = '\e2b3' +$icon-syringe = '\e2f1' +$icon-table-2 = '\e2f8' +$icon-table-cells-merge = '\e5cb' +$icon-table-cells-split = '\e5cc' +$icon-table-columns-split = '\e5cd' +$icon-table-of-contents = '\e622' +$icon-table-properties = '\e4df' +$icon-table-rows-split = '\e5ce' +$icon-table = '\e180' +$icon-tablet-smartphone = '\e50e' +$icon-tablet = '\e181' +$icon-tablets = '\e3c1' +$icon-tag = '\e182' +$icon-tags = '\e35f' +$icon-tally-1 = '\e4da' +$icon-tally-2 = '\e4db' +$icon-tally-3 = '\e4dc' +$icon-tally-4 = '\e4dd' +$icon-tally-5 = '\e4de' +$icon-tangent = '\e532' +$icon-target = '\e183' +$icon-telescope = '\e5c9' +$icon-tent-tree = '\e53f' +$icon-tent = '\e226' +$icon-terminal = '\e184' +$icon-test-tube-diagonal = '\e40a' +$icon-test-tube = '\e409' +$icon-test-tubes = '\e40b' +$icon-text-cursor-input = '\e264' +$icon-text-cursor = '\e263' +$icon-text-quote = '\e4a2' +$icon-text-search = '\e5b1' +$icon-text-select = '\e3e1' +$icon-text = '\e3ee' +$icon-theater = '\e526' +$icon-thermometer-snowflake = '\e186' +$icon-thermometer-sun = '\e187' +$icon-thermometer = '\e185' +$icon-thumbs-down = '\e188' +$icon-thumbs-up = '\e189' +$icon-ticket-check = '\e5b2' +$icon-ticket-minus = '\e5b3' +$icon-ticket-percent = '\e5b4' +$icon-ticket-plus = '\e5b5' +$icon-ticket-slash = '\e5b6' +$icon-ticket-x = '\e5b7' +$icon-ticket = '\e20e' +$icon-tickets-plane = '\e627' +$icon-tickets = '\e626' +$icon-timer-off = '\e248' +$icon-timer-reset = '\e235' +$icon-timer = '\e1df' +$icon-toggle-left = '\e18a' +$icon-toggle-right = '\e18b' +$icon-toilet = '\e639' +$icon-tornado = '\e217' +$icon-torus = '\e533' +$icon-touchpad-off = '\e44e' +$icon-touchpad = '\e44d' +$icon-tower-control = '\e3bf' +$icon-toy-brick = '\e34a' +$icon-tractor = '\e508' +$icon-traffic-cone = '\e509' +$icon-train-front-tunnel = '\e50b' +$icon-train-front = '\e50a' +$icon-train-track = '\e50c' +$icon-tram-front = '\e2a8' +$icon-transgender = '\e648' +$icon-trash-2 = '\e18d' +$icon-trash = '\e18c' +$icon-tree-deciduous = '\e2f2' +$icon-tree-palm = '\e280' +$icon-tree-pine = '\e2f3' +$icon-trees = '\e2f4' +$icon-trello = '\e18e' +$icon-trending-down = '\e18f' +$icon-trending-up-down = '\e629' +$icon-trending-up = '\e190' +$icon-triangle-alert = '\e192' +$icon-triangle-dashed = '\e641' +$icon-triangle-right = '\e4f1' +$icon-triangle = '\e191' +$icon-trophy = '\e376' +$icon-truck = '\e193' +$icon-turtle = '\e4fd' +$icon-tv-minimal-play = '\e5f0' +$icon-tv-minimal = '\e202' +$icon-tv = '\e194' +$icon-twitch = '\e195' +$icon-twitter = '\e196' +$icon-type-outline = '\e606' +$icon-type = '\e197' +$icon-umbrella-off = '\e547' +$icon-umbrella = '\e198' +$icon-underline = '\e199' +$icon-undo-2 = '\e2a0' +$icon-undo-dot = '\e455' +$icon-undo = '\e19a' +$icon-unfold-horizontal = '\e441' +$icon-unfold-vertical = '\e442' +$icon-ungroup = '\e46b' +$icon-university = '\e3e8' +$icon-unlink-2 = '\e19c' +$icon-unlink = '\e19b' +$icon-unplug = '\e461' +$icon-upload = '\e19d' +$icon-usb = '\e359' +$icon-user-check = '\e19f' +$icon-user-cog = '\e345' +$icon-user-minus = '\e1a0' +$icon-user-pen = '\e600' +$icon-user-plus = '\e1a1' +$icon-user-round-check = '\e46d' +$icon-user-round-cog = '\e46e' +$icon-user-round-minus = '\e46f' +$icon-user-round-pen = '\e601' +$icon-user-round-plus = '\e470' +$icon-user-round-search = '\e57c' +$icon-user-round-x = '\e471' +$icon-user-round = '\e46c' +$icon-user-search = '\e57d' +$icon-user-x = '\e1a2' +$icon-user = '\e19e' +$icon-users-round = '\e472' +$icon-users = '\e1a3' +$icon-utensils-crossed = '\e2f6' +$icon-utensils = '\e2f5' +$icon-utility-pole = '\e3c5' +$icon-variable = '\e477' +$icon-vault = '\e593' +$icon-vegan = '\e3a0' +$icon-venetian-mask = '\e2a9' +$icon-venus-and-mars = '\e64a' +$icon-venus = '\e649' +$icon-vibrate-off = '\e29c' +$icon-vibrate = '\e222' +$icon-video-off = '\e1a5' +$icon-video = '\e1a4' +$icon-videotape = '\e4cf' +$icon-view = '\e1a6' +$icon-voicemail = '\e1a7' +$icon-volleyball = '\e633' +$icon-volume-1 = '\e1a9' +$icon-volume-2 = '\e1aa' +$icon-volume-off = '\e62a' +$icon-volume-x = '\e1ab' +$icon-volume = '\e1a8' +$icon-vote = '\e3b0' +$icon-wallet-cards = '\e4d0' +$icon-wallet-minimal = '\e4d1' +$icon-wallet = '\e203' +$icon-wallpaper = '\e44f' +$icon-wand-sparkles = '\e35a' +$icon-wand = '\e245' +$icon-warehouse = '\e3e9' +$icon-washing-machine = '\e594' +$icon-watch = '\e1ac' +$icon-waves-ladder = '\e63f' +$icon-waves = '\e282' +$icon-waypoints = '\e546' +$icon-webcam = '\e204' +$icon-webhook-off = '\e5bb' +$icon-webhook = '\e377' +$icon-weight = '\e534' +$icon-wheat-off = '\e3a2' +$icon-wheat = '\e3a1' +$icon-whole-word = '\e3e2' +$icon-wifi-high = '\e5fb' +$icon-wifi-low = '\e5fc' +$icon-wifi-off = '\e1ae' +$icon-wifi-zero = '\e5fd' +$icon-wifi = '\e1ad' +$icon-wind-arrow-down = '\e635' +$icon-wind = '\e1af' +$icon-wine-off = '\e3a3' +$icon-wine = '\e2f7' +$icon-workflow = '\e429' +$icon-worm = '\e5de' +$icon-wrap-text = '\e247' +$icon-wrench = '\e1b0' +$icon-x = '\e1b1' +$icon-youtube = '\e1b2' +$icon-zap-off = '\e1b4' +$icon-zap = '\e1b3' +$icon-zoom-in = '\e1b5' +$icon-zoom-out = '\e1b6' diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.svg b/third_party/shadcn_flutter/icons/lucide/lucide.svg new file mode 100644 index 00000000..e40c7cfb --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/lucide.svg @@ -0,0 +1,4683 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.symbol.svg b/third_party/shadcn_flutter/icons/lucide/lucide.symbol.svg new file mode 100644 index 00000000..7c71a5cf --- /dev/null +++ b/third_party/shadcn_flutter/icons/lucide/lucide.symbol.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/third_party/shadcn_flutter/icons/lucide/lucide.ttf b/third_party/shadcn_flutter/icons/lucide/lucide.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d12302c567ca4ebdadb9209dd872585444582a2b GIT binary patch literal 685840 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μ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 z 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