[DEV] Added infrastructure extension exports

This commit is contained in:
2024-10-02 13:04:47 +03:00
parent 4b330cb8d1
commit 664e03c0fe
9 changed files with 63 additions and 16 deletions

View File

@@ -0,0 +1,7 @@
import "package:flutter/painting.dart";
extension BorderExtension on BorderDirectional {
BorderDirectional all(BorderSide side) {
return BorderDirectional(top: side, bottom: side, start: side, end: side);
}
}

View File

@@ -0,0 +1,7 @@
export './border_extensions.dart';
export './insets_extension.dart';
export './list_extensions.dart';
export './misc_extensions.dart';
export './radius_extensions.dart';
export './string_extensions.dart';
export './transparent_image.dart';

View File

@@ -1,14 +1,12 @@
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
extension InsetsExtension on EdgeInsetsGeometry {
copyWith(EdgeInsetsGeometry g) => add(g);
//
EdgeInsetsDirectional resolveToDirectional(ui.TextDirection direction) {
EdgeInsetsDirectional resolveToDirectional(TextDirection direction) {
//
return EdgeInsetsDirectional.fromSTEB(direction == ui.TextDirection.ltr ? resolve(direction).left : resolve(direction).right, resolve(direction).top,
direction == ui.TextDirection.ltr ? resolve(direction).right : resolve(direction).left, resolve(direction).bottom);
return EdgeInsetsDirectional.fromSTEB(direction == TextDirection.ltr ? resolve(direction).left : resolve(direction).right, resolve(direction).top,
direction == TextDirection.ltr ? resolve(direction).right : resolve(direction).left, resolve(direction).bottom);
//
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/widgets.dart';
extension RadiusExtension on BorderRadiusGeometry {
copyWith(BorderRadiusGeometry g) => add(g);
//
BorderRadiusDirectional resolveToDirectional(TextDirection direction) {
//
return BorderRadiusDirectional.only(
topStart: direction == TextDirection.ltr ? resolve(direction).topLeft : resolve(direction).topRight,
topEnd: direction == TextDirection.rtl ? resolve(direction).topLeft : resolve(direction).topRight,
bottomEnd: direction == TextDirection.rtl ? resolve(direction).bottomRight : resolve(direction).bottomRight,
bottomStart: direction == TextDirection.ltr ? resolve(direction).bottomLeft : resolve(direction).bottomRight,
);
}
}

View File

@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
extension StringExtensions on String {
/// Parse the HexCode to color
Color get toColor {
if (this == '') return const Color(0xFF000000);
String hexColor = replaceAll('#', '');
hexColor = hexColor.replaceAll('0x', '');
hexColor = hexColor.padLeft(6, '0');
hexColor = hexColor.padLeft(8, 'F');
final int length = hexColor.length;
return Color(int.tryParse('0x${hexColor.substring(length - 8, length)}') ?? 0xFF000000);
}
/// Capitalize the first letter in a string.
String get capitalize {
return (length > 1) ? this[0].toUpperCase() + substring(1) : toUpperCase();
}
}

View File

@@ -6,3 +6,4 @@ export './src/Selectors/selectors.astromic.dart';
export './src/Toggles/toggles.astromic.dart';
export './src/Buttons/buttons.astromic.dart';
export './src/Fields/fields.astromic.dart';
export './Infrastructure/infrastructure.exports.dart';

View File

@@ -4,9 +4,9 @@
//s1 PACKAGES
//---------------
//s2 CORE
import 'package:astromic_mobile_elements/Infrastructure/insets_extension.dart';
import 'package:astromic_mobile_elements/Infrastructure/misc_extensions.dart';
import 'package:astromic_mobile_elements/astromic_mobile_elements.dart';
import '../../../Infrastructure/insets_extension.dart';
import '../../../Infrastructure/misc_extensions.dart';
import '../../../astromic_mobile_elements.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:intl/intl.dart' as intl;