# 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`): Optimized $O(n)$ check to see if a list contains all elements of another. * **getUnique()** (`List`): Returns a list with duplicates removed using high-performance Set hashing. * **mergeAllMaps()** (`List`): 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 ```yaml 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](LICENSE) file for permitted use in client projects.