carpenter_units 0.2.0 copy "carpenter_units: ^0.2.0" to clipboard
carpenter_units: ^0.2.0 copied to clipboard

Typed physical UI units for Carpenter tooling and runtimes.

example/lib/main.dart

import 'package:carpenter_units/carpenter_units.dart';
import 'package:flutter/material.dart';

void main() => runApp(const UnitsExampleApp());

class UnitsExampleApp extends StatelessWidget {
  const UnitsExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    const units = [Px(12), Rem(1.25), Em(.8), Milliseconds(200), Seconds(.5)];
    const lengthContext = LengthUnitContext(
      rootFontSize: 16,
      currentFontSize: 20,
    );

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('carpenter_units')),
        body: ListView(
          children: [
            for (final unit in units)
              ListTile(
                title: Text(unit.canonical),
                subtitle: Text(switch (unit) {
                  LengthUnit() => '${unit.resolve(lengthContext)} logical px',
                  TimeUnit() => unit.toDuration().toString(),
                }),
              ),
          ],
        ),
      ),
    );
  }
}
1
likes
0
points
253
downloads

Publisher

verified publisheralbizia.studio

Weekly Downloads

Typed physical UI units for Carpenter tooling and runtimes.

Repository (GitHub)
View/report issues

Topics

#units #design-system

License

unknown (license)

More

Packages that depend on carpenter_units