Requirements
Authenticate with pub.vyuh.tech first
`vyuh_property_system` is hosted on the private pub.vyuh.tech registry. Before running pub get, register a Bearer token issued by Vyuh Technologies based on your plan.
Run the one-time setup:
dart pub token add https://pub.vyuh.techDon't have a token yet? Email ask@vyuh.tech to request one. For full details (CI, Docker, rotation, troubleshooting), see the Pub Token Setup guide.
Add Dependencies
Add vyuh_property_system to your pubspec.yaml as a hosted dependency:
Then resolve dependencies:
Setup
Import
A single import gives you access to all property types, validators, conditions, collections, and the registry:
import 'package:vyuh_property_system/vyuh_property_system.dart';Optional: reactive_forms Interop
If you need direct access to reactive_forms types (e.g., ReactiveTextField, FormControl, FormGroup), use the opt-in interop import:
import 'package:vyuh_property_system/reactive_forms_interop.dart';This exposes extension methods like control.formControl and collection.formGroup for advanced scenarios.
Dependencies
The property system has a minimal dependency footprint:
| Dependency | Purpose |
|---|---|
flutter | Widget framework for property editors |
reactive_forms | Form control abstraction (wrapped internally) |
You do not need to import or configure reactive_forms yourself. The property system wraps it behind its own PropertyControl<T> abstraction.
Verify the Setup
Create a simple property to confirm everything works:
import 'package:vyuh_property_system/vyuh_property_system.dart';
void main() {
final title = StringProperty(
key: 'title',
label: 'Title',
defaultValue: 'Hello',
required: true,
);
print(title.value); // Hello
title.value = 'World';
print(title.value); // World
print(title.hasChanged); // true
print(title.toJson()); // World
}