**1.0.0**
This commit is contained in:
113
README.md
113
README.md
@@ -1,42 +1,77 @@
|
||||
## Atromic Extensions
|
||||
# Astromic Extensions
|
||||
|
||||
The extensions module of the **Astromic** Presentation System
|
||||
Developed, Maintained, and is property of Michael W. Aziz (Micazi)
|
||||
**The Foundation of the Astromic Presentation System.**
|
||||
|
||||
### Content
|
||||
A collection of high-performance Dart extensions designed to eliminate UI boilerplate and simplify RTL (Right-to-Left) layout logic.
|
||||
|
||||
- on _BorderDirectional_
|
||||
- **all()** : Generate a uniform border with one borderSide. ☑️
|
||||
- on _EdgeInsetsGeometry_
|
||||
- **copyWith()** ☑️
|
||||
- **resolveToDirectional()** : Automatically reverse the EdgeInsets based on the dynamic *TextDirection*. ☑️
|
||||
- on _List<E>_
|
||||
- **containsAll()** : Checker to see if a list contains all of the other list. ☑️
|
||||
- **getUnique()** : Get unique items only of a supplied list. ☑️
|
||||
- on _List<Map<T,B>>_
|
||||
- **mergeAllMaps()** : Merges a list of maps into one with a conditional functionality to approve the merge. ☑️
|
||||
- on _TextAlignVertical_
|
||||
- **toAlignment()** : convert a `TextAlignVertical` to an `Alignment` object. ☑️
|
||||
- on _BorderRadiusGeometry_
|
||||
- **copyWith()** ☑️
|
||||
- **resolveToDirectional()** : Automatically reverse the BorderRadius based on the dynamic *TextDirection*. ☑️
|
||||
- on _String_
|
||||
- **toColor()** : Parse a HexCode `String` into a `Color` object. ☑️
|
||||
- **capitalize()** : Capitalize the word. ☑️
|
||||
- **rich()** : Convert the string to a RichText Widget. ☑️
|
||||
- on _Widget_
|
||||
- **center**
|
||||
- **circular**
|
||||
- **align**
|
||||
- **positioned**
|
||||
- **sized**
|
||||
- **rotated**
|
||||
- **flipH**
|
||||
- **flipV**
|
||||
- **safeArea**
|
||||
- **opacity**
|
||||
- **padAll**
|
||||
- **padSymH**
|
||||
- **padSymV**
|
||||
- **padTop**
|
||||
- **padBot**
|
||||
---
|
||||
|
||||
## 🛠 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.
|
||||
|
||||
Reference in New Issue
Block a user