Skip to content

Commit 4fb329b

Browse files
feat(spark_css): add CssBackgroundSize type
Adds a new `CssBackgroundSize` sealed class to `spark_css` to support typed `background-size` property values. Includes support for: - Keywords: `cover`, `contain`, `auto`. - Single or double `CssLength` values. - Multiple background sizes (comma-separated). - Variables, raw values, and global keywords. Includes comprehensive tests in `packages/spark_css/test/css_background_size_test.dart`.
1 parent 1007f0c commit 4fb329b

2 files changed

Lines changed: 5 additions & 13 deletions

File tree

packages/spark_css/lib/src/css_types/css_background_size.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ sealed class CssBackgroundSize implements CssValue {
2525
_CssBackgroundSizeMultiple;
2626

2727
/// CSS variable reference.
28-
factory CssBackgroundSize.variable(String varName) = _CssBackgroundSizeVariable;
28+
factory CssBackgroundSize.variable(String varName) =
29+
_CssBackgroundSizeVariable;
2930

3031
/// Raw CSS value escape hatch.
3132
factory CssBackgroundSize.raw(String value) = _CssBackgroundSizeRaw;

packages/spark_css/test/css_background_size_test.dart

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,12 @@ void main() {
1616
CssBackgroundSize.size(CssLength.percent(50)).toCss(),
1717
equals('50%'),
1818
);
19-
expect(
20-
CssBackgroundSize.size(CssLength.auto).toCss(),
21-
equals('auto'),
22-
);
19+
expect(CssBackgroundSize.size(CssLength.auto).toCss(), equals('auto'));
2320
});
2421

2522
test('size factory outputs correct CSS with two values', () {
2623
expect(
27-
CssBackgroundSize.size(
28-
CssLength.percent(50),
29-
CssLength.auto,
30-
).toCss(),
24+
CssBackgroundSize.size(CssLength.percent(50), CssLength.auto).toCss(),
3125
equals('50% auto'),
3226
);
3327
expect(
@@ -65,10 +59,7 @@ void main() {
6559
});
6660

6761
test('raw outputs value as-is', () {
68-
expect(
69-
CssBackgroundSize.raw('100% 100%').toCss(),
70-
equals('100% 100%'),
71-
);
62+
expect(CssBackgroundSize.raw('100% 100%').toCss(), equals('100% 100%'));
7263
});
7364

7465
test('global outputs correct CSS', () {

0 commit comments

Comments
 (0)