Files
astromic_extensions/README.md
2026-01-08 14:39:34 +02:00

2.6 KiB

Astromic Extensions

The Foundation of the Astromic Presentation System.

A collection of high-performance Dart extensions designed to eliminate UI boilerplate and simplify RTL (Right-to-Left) layout logic.


🛠 Features & API Reference

Layout & Spacing

  • .resolveToDirectional() (EdgeInsetsGeometry): Automatically flips insets based on the current TextDirection.

  • .resolveToDirectional() (BorderRadiusGeometry): Reverses corner radii (e.g., top-left to top-right) for RTL support.

  • .copyWith() (EdgeInsetsGeometry): An additive copy method for combining geometries.

  • .padAll / .symH / .symV (num): Quick-access padding generators directly from numbers.

Widget Wrappers (Fluent UI)

  • Layout: .center(), .align(), .positioned(), .sized(), .rotated()

  • Transform: .flipH(), .flipV(), .opacity()

  • Spacing: .padAll(), .padSymH(), .padSymV(), .padTop(), .padBot()

  • Utility: .safeArea(), .circular()

Data & Styling Utilities

  • containsAll() (List<E>): Optimized O(n) check to see if a list contains all elements of another.

  • getUnique() (List<E>): Returns a list with duplicates removed using high-performance Set hashing.

  • mergeAllMaps() (List<Map>): Performs a conditional deep merge of map collections.

  • .toColor() (String): Parses Hex strings into Flutter Color objects.

  • .capitalize() (String): Standardizes string casing.

  • .rich() (String): Shorthand to convert a string directly into a RichText widget.

  • .toAlignment() (TextAlignVertical): Converts vertical text alignment to an Alignment object.


📦 Installation

dependencies:
  astromic_extensions:
    git:
      url: git.micazi.dev/micazi/astromic_extensions.git
      ref: main

🤝 Client Handoff & Continuity

To ensure project stability following the engagement, clients should follow these steps to secure a local version of this library:

  1. Mirror Repository: Clone this repository and re-upload it to your internal Git organization.

  2. Update Source: Update the pubspec.yaml in your application to point to your internal Git URL.

  3. Versioning: Always use a specific Git ref (tag or commit hash) to ensure build reproducibility.

Note: Access to the Micazi master repository is strictly controlled. Unauthorized redistribution of this source code is prohibited under the included LICENSE terms.


⚖️ License

Developed, Maintained, and property of Michael W. Aziz (Micazi). Refer to the LICENSE file for permitted use in client projects.