You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ] Run IvyFeatureTester with a positional record type and verify `DataTableBuilder.Remove()` renders remaining columns correctly
4
+
-[ ] Test with EF Core / database-backed `IQueryable` to confirm the expression tree translates to valid SQL (the default values for removed params should be excluded from the SELECT)
Copy file name to clipboardExpand all lines: AGENTS.md
+6-15Lines changed: 6 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ public class MyView : ViewBase
29
29
}
30
30
}
31
31
32
-
The topmost view in an Ivy application is called an [App](https://docs.ivy.app/onboarding/concepts/apps.md) and is decorated with the `[App]` attribute. The attribute uses **named parameters**: The attribute uses **named parameters**:
32
+
The topmost view in an Ivy application is called an [App](https://docs.ivy.app/onboarding/concepts/apps.md) and is decorated with the `[App]` attribute. The attribute uses **named parameters**:
The `Color()` attribute and extension methods on the `Box` widget have been renamed to `Background()` to more intuitively reflect what the property controls (the background color of the box).
- The property `Colors? Color` on `Box` is now `Colors? Background`.
11
+
- The fluent extension methods `Box.Color(Colors)` and `Box.Color(Colors, float)` are now `Box.Background(Colors)` and `Box.Background(Colors, float)`.
12
+
- If you were using `anything.WithCell().Color(...)`, switch to `anything.WithCell().Background(...)`.
13
+
14
+
**What remains unchanged:**
15
+
16
+
-`Text.Color(Colors)` and `Icon.Color(Colors)` function as before, changing the text/foreground color.
# API Change: Text.InlineCode() to Text.Monospaced()
2
+
3
+
## Description
4
+
The `Text.InlineCode()` factory method and its associated `TextVariant.InlineCode` have been renamed to `Text.Monospaced()` and `TextVariant.Monospaced`, respectively. This renaming is part of an effort to make the UI component library more semantically descriptive, as "monospaced" more accurately describes the visual rendering of the text than "inline code".
5
+
6
+
## How to Fix
7
+
If you encounter errors about `Text.InlineCode` not being found, update your code as follows:
8
+
- Change `Text.InlineCode("hello")` to `Text.Monospaced("hello")`
9
+
- Change `TextVariant.InlineCode` to `TextVariant.Monospaced`
10
+
11
+
## Verification
12
+
Ensure the UI renders the text in a monospace font by observing the frontend application or checking the generated HTML (`<code class="typography-code">`). No changes to string literals inside text blocks are strictly required unless they directly reference the API as an example.
As part of Issue #2512, the fluent `.Value<T>()` extension method has been completely removed from all input widgets in the Ivy Framework (e.g., `TextInput`, `SelectInput`, `NumberInput`, etc.).
4
+
5
+
**Reasoning:**
6
+
The `.Value()` method was incorrectly being used to set initial values inline directly on the widget, which conflicts with Ivy's state-driven architecture.
7
+
8
+
**Migration:**
9
+
Initial values should now be strictly managed through the `IState<T>` via the `UseState(initialValue)` hook. They can then be bound to inputs using the respective `.To[InputType]()` methods.
description: Rename input variant enums from plural to singular.
3
+
---
4
+
# Singular Enum Naming
5
+
6
+
## Summary
7
+
To maintain consistency across the Ivy Framework, 9 input variant enums have been renamed from plural (`*Variants`) to singular (`*Variant`). This aligns them with other standard styling enums like `ButtonVariant`, `BadgeVariant`, and `CalloutVariant`.
8
+
9
+
## Changes
10
+
11
+
The following enums have been renamed:
12
+
13
+
| Old (Plural) | New (Singular) |
14
+
|---|---|
15
+
|`TextInputVariants`|`TextInputVariant`|
16
+
|`SelectInputVariants`|`SelectInputVariant`|
17
+
|`NumberInputVariants`|`NumberInputVariant`|
18
+
|`FileInputVariants`|`FileInputVariant`|
19
+
|`FeedbackInputVariants`|`FeedbackInputVariant`|
20
+
|`DateTimeInputVariants`|`DateTimeInputVariant`|
21
+
|`ColorInputVariants`|`ColorInputVariant`|
22
+
|`CodeInputVariants`|`CodeInputVariant`|
23
+
|`BoolInputVariants`|`BoolInputVariant`|
24
+
25
+
## Refactoring Instructions
26
+
27
+
For downstream connection projects replacing these usages, you can perform a simple find-and-replace operation across your CSharp files.
28
+
29
+
1. Search for `TextInputVariants` and replace with `TextInputVariant`
30
+
2. Search for `SelectInputVariants` and replace with `SelectInputVariant`
31
+
3. Search for `NumberInputVariants` and replace with `NumberInputVariant`
32
+
4. Search for `FileInputVariants` and replace with `FileInputVariant`
33
+
5. Search for `FeedbackInputVariants` and replace with `FeedbackInputVariant`
34
+
6. Search for `DateTimeInputVariants` and replace with `DateTimeInputVariant`
35
+
7. Search for `ColorInputVariants` and replace with `ColorInputVariant`
36
+
8. Search for `CodeInputVariants` and replace with `CodeInputVariant`
37
+
9. Search for `BoolInputVariants` and replace with `BoolInputVariant`
We have significantly improved the Toast API to reduce misuse and support variants cleanly.
4
+
5
+
- Previously, the only way to send a destructive toast was to use `client.Error(Exception)`, which was unintuitive when you just wanted to display an error message.
6
+
- The `client.Toast(...)` extension methods now include an optional `ToastVariant` parameter.
7
+
- The supported variants are `Default`, `Destructive`, `Success`, `Warning`, and `Info`.
8
+
9
+
**Example:**
10
+
11
+
```csharp
12
+
// Previously you couldn't do this:
13
+
client.Toast("Invalid username or password", "Login Failed", ToastVariant.Destructive);
14
+
```
15
+
16
+
**Breaking Changes:**
17
+
If you previously injected complex custom structures that relied on the very specific internal shape of `ToasterMessage`, they might need an update to set the new `Variant` property properly, though binary compatibility expects `Default` by default.
0 commit comments