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

78 lines
2.6 KiB
Markdown

# 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
```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.