Skip to content

Commit

Permalink
Merge pull request #16 from conceptadev/feat/divider
Browse files Browse the repository at this point in the history
divider component
  • Loading branch information
tilucasoli committed Feb 7, 2024
2 parents b52a5b0 + e29e0a6 commit e8f0a94
Show file tree
Hide file tree
Showing 12 changed files with 163 additions and 21 deletions.
1 change: 0 additions & 1 deletion demo/lib/components/avatar.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:mix/mix.dart';
import 'package:remix_ui/remix_ui.dart';
import 'package:widgetbook/widgetbook.dart';
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;

@widgetbook.UseCase(
Expand Down
25 changes: 25 additions & 0 deletions demo/lib/components/card.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import 'package:flutter/material.dart';
import 'package:mix/mix.dart';
import 'package:remix_ui/remix_ui.dart';
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;

@widgetbook.UseCase(
name: 'interactive playground',
type: RemixCard,
)
Widget buildCheckboxUseCase(BuildContext context) {
return const Center(
child: SizedBox(
width: 300,
child: RemixCard(
child: RemixListTile(
leading: RemixAvatar(
child: StyledText('LF'),
),
title: StyledText('Title'),
subtitle: StyledText('Subtitle'),
),
),
),
);
}
13 changes: 13 additions & 0 deletions demo/lib/components/divider.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'package:flutter/material.dart';
import 'package:remix_ui/remix_ui.dart';
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;

@widgetbook.UseCase(
name: 'interactive playground',
type: RemixDivider,
)
Widget buildCheckboxUseCase(BuildContext context) {
return const Center(
child: RemixDivider(),
);
}
42 changes: 34 additions & 8 deletions demo/lib/main.directories.g.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
import 'package:demo/components/avatar.dart' as _i2;
import 'package:demo/components/badge.dart' as _i3;
import 'package:demo/components/button.dart' as _i4;
import 'package:demo/components/checkbox.dart' as _i5;
import 'package:demo/components/list_tile.dart' as _i6;
import 'package:demo/components/radio.dart' as _i7;
import 'package:demo/components/switch.dart' as _i8;
import 'package:demo/components/card.dart' as _i5;
import 'package:demo/components/checkbox.dart' as _i6;
import 'package:demo/components/divider.dart' as _i7;
import 'package:demo/components/list_tile.dart' as _i8;
import 'package:demo/components/radio.dart' as _i9;
import 'package:demo/components/switch.dart' as _i10;
import 'package:widgetbook/widgetbook.dart' as _i1;

final directories = <_i1.WidgetbookNode>[
Expand Down Expand Up @@ -58,14 +60,38 @@ final directories = <_i1.WidgetbookNode>[
)
],
),
_i1.WidgetbookFolder(
name: 'card',
children: [
_i1.WidgetbookLeafComponent(
name: 'RemixCard',
useCase: _i1.WidgetbookUseCase(
name: 'interactive playground',
builder: _i5.buildCheckboxUseCase,
),
)
],
),
_i1.WidgetbookFolder(
name: 'checkbox',
children: [
_i1.WidgetbookLeafComponent(
name: 'RemixCheckbox',
useCase: _i1.WidgetbookUseCase(
name: 'interactive playground',
builder: _i5.buildCheckboxUseCase,
builder: _i6.buildCheckboxUseCase,
),
)
],
),
_i1.WidgetbookFolder(
name: 'divider',
children: [
_i1.WidgetbookLeafComponent(
name: 'RemixDivider',
useCase: _i1.WidgetbookUseCase(
name: 'interactive playground',
builder: _i7.buildCheckboxUseCase,
),
)
],
Expand All @@ -77,7 +103,7 @@ final directories = <_i1.WidgetbookNode>[
name: 'RemixListTile',
useCase: _i1.WidgetbookUseCase(
name: 'interactive playground',
builder: _i6.buildCheckboxUseCase,
builder: _i8.buildCheckboxUseCase,
),
)
],
Expand All @@ -89,7 +115,7 @@ final directories = <_i1.WidgetbookNode>[
name: 'RemixRadio',
useCase: _i1.WidgetbookUseCase(
name: 'interactive playground',
builder: _i7.buildRadioUseCase,
builder: _i9.buildRadioUseCase,
),
)
],
Expand All @@ -101,7 +127,7 @@ final directories = <_i1.WidgetbookNode>[
name: 'RemixSwitch',
useCase: _i1.WidgetbookUseCase(
name: 'interactive playground',
builder: _i8.buildRadioUseCase,
builder: _i10.buildRadioUseCase,
),
)
],
Expand Down
3 changes: 1 addition & 2 deletions demo/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ dependencies:
remix_ui:
path: ../

mix:
path: ../../mix
mix: 1.0.0-beta.6

dev_dependencies:
flutter_test:
Expand Down
1 change: 0 additions & 1 deletion lib/components/avatar/avatar.style.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:mix/mix.dart';

class AvatarStyles extends StyleRecipe<AvatarStyles> {
Expand Down
14 changes: 8 additions & 6 deletions lib/components/card/card.style.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,7 @@ class CardStyles extends StyleRecipe<CardStyles> {

factory CardStyles.defaults() {
return CardStyles(
container: Style(
box.padding(16),
box.elevation(1),
box.borderRadius(8),
box.color.white(),
),
container: _container(),
);
}

Expand Down Expand Up @@ -49,3 +44,10 @@ class CardStyles extends StyleRecipe<CardStyles> {
);
}
}

Style _container() => Style(
box.padding(16),
box.elevation(1),
box.borderRadius(8),
box.color.white(),
);
32 changes: 32 additions & 0 deletions lib/components/divider/divider.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import 'package:flutter/material.dart';
import 'package:mix/mix.dart';

import 'divider.style.dart';
import '../../utils/component_recipe.dart';

class RemixDivider extends StatelessWidget
implements RemixComponentRecipe<DividerStyles> {
const RemixDivider({
super.key,
this.style,
this.variants = const [],
});

@override
final DividerStyles? style;

@override
final List<Variant> variants;

DividerStyles buildStyle(List<Variant> variants) {
var styles = style == null ? DividerStyles.base() : style!;
return styles.applyVariants(variants);
}

@override
Widget build(BuildContext context) {
return Box(
style: buildStyle(variants).container,
);
}
}
45 changes: 45 additions & 0 deletions lib/components/divider/divider.style.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import 'package:mix/mix.dart';

class DividerStyles extends StyleRecipe<DividerStyles> {
const DividerStyles({
this.container = const Style.empty(),
});

final Style container;

factory DividerStyles.base() {
return DividerStyles(
container: _container(),
);
}

@override
DividerStyles applyVariants(List<Variant> variants) {
return DividerStyles(
container: container.applyVariants(variants),
);
}

@override
DividerStyles copyWith({
Style? container,
}) {
return DividerStyles(
container: this.container.merge(container),
);
}

@override
DividerStyles merge(DividerStyles? other) {
return copyWith(
container: other?.container,
);
}
}

Style _container() => Style(
box.margin.vertical(15),
box.height(2),
box.borderRadius(1),
box.color.grey.shade200(),
);
1 change: 0 additions & 1 deletion lib/components/list_tile/list_tile.style.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:mix/mix.dart';

class ListTileStyles extends StyleRecipe<ListTileStyles> {
Expand Down
4 changes: 4 additions & 0 deletions lib/remix_ui.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,7 @@ export 'components/badge/badge.dart';
export 'components/badge/badge.style.dart';
export 'components/list_tile/list_tile.dart';
export 'components/list_tile/list_tile.style.dart';
export 'components/divider/divider.dart';
export 'components/divider/divider.style.dart';
export 'components/card/card.dart';
export 'components/card/card.style.dart';
3 changes: 1 addition & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ environment:
dependencies:
flutter:
sdk: flutter
mix:
path: ../mix
mix: 1.0.0-beta.6

cupertino_icons: ^1.0.2
flutter_hooks: ^0.18.4
Expand Down

0 comments on commit e8f0a94

Please sign in to comment.