Releases: masastack/MASA.Blazor
v1.5.4
v1.6.0-beta.2
What's Changed
- 📝 docs: add upgrade-guide for v1.6.0 by @capdiem in #1946
- 💄 style(EnqueuedSnackbar): missing a class name by @capdiem in #1947
Full Changelog: 1.6.0-beta.1...1.6.0-beta.2
v1.6.0-beta.1
What's Changed
- refactor: merge all code from BlazorComponent and remove its dependencies by @capdiem in #1936
- feat(ECharts): add
Loading
parameter to control loading state by @capdiem in #1906 - fix(TextField): OnClick doesn't work by @capdiem in #1921
- feat(Divider): add the Length property to support custom line length by @capdiem in #1913
- Resolved some TODOs from the #1936 by @capdiem in #1939
- feat(Icon): add the TranstionShow prop to support the transition show condition by @capdiem in #1938
- docs(CustomHandler): remove whtie background by @capdiem in #1937
- feat(Form): the DisplayName will be recognized now after enabling i18n by @capdiem in #1940
- fix(Form): when using ObjectGraphDataAnnotationsValidator, error messages still exist when update value programmatically by @capdiem in #1941
- refactor(Data): remove the unused and unimplemented Locale property by @capdiem in #1942
- chore: revert some changes made in #1940 by @capdiem in #1943
- fix(Icon): svg's path doesn't work when assigned to the Icon prop by @capdiem in #1944
- fix: MasaBlazorOptions should be registered as Scoped by default by @capdiem in #1945
Full Changelog: 1.5.3...1.6.0-beta.1
v1.5.3
✨ Release notes
🔧 Bug Fixes
- PageContainer: failed to cache the dom. #1933
- I18n: Overwritting built-int locale resources doesn't work. masastack/BlazorComponent#621
📝 Docs
- Forgot setting the Exact and MatchPattern for sub item. #1926
- Update ComplexSelectionContent.razor. #1930
- Update Attributes.razor. #1929
Full Changelog: 1.5.2...1.5.3
v1.5.2
✨ Release notes
🔧 Bug Fixes
- Image: aspect ratio format error in Russian. #1908
- NavigationDrawer: bug caused by the order of Permanent and Temporary updates. #1911
♻ Refactor
- Pagination: merge code from BlazorComponent. #1907
- Picker: merge code from BlazorComponent. #1915, #1916
🧪 Labs
- PageStack: make page-stack events public. #1917
- StackPageBase: expose dispose method to subclass. #1909
📝 Docs
- Add 'Blazor Server memory usage is too high' to FAQs. #1910
Full Changelog: 1.5.1...1.5.2
v1.5.1
✨ Release notes
🔧 Bug Fixes
- ECharts: dbclick => dblclick. #1894
- ECharts: add showLoading and hideLoading public methods, thanks to @pigwing. #1903
- DataTable: Id parameter doesn't work. #1898
- NavigationDrawer: layout should change after the Permanent changed. #1899
- DataTable: The Class property in Headers doesn't work. #1901
♻ Refactor
- Breadcrumbs: merge code from BlazorComponent. #1905
📝 Docs
Full Changelog: 1.5.0...1.5.1
v1.5.0
Masa.Blazor.MauiDemo adds support for login and logout.
⬆️ Upgrade guide
- PageStack: The component was introduced in v1.4.0 to manage the page stack. In v1.5.0, we refactored it and introduced the
PageStackNavController
service to solve some potential problems and provide more complete functionality. - Icon: Remove the unnecessary
IsActive
parameter. - Border: Refactor using CSS approach.
- The
Rounded
andWrapperStyle
parameters are deleted. - The
Color
parameter only supports built-in primary, secondary, accent, surface, success, error, warning, info and standard CSS color values.- <MBorder Color="pink"></Border> + <MBorder Color="#e91e63"></Border>
- The
✨ Release notes
🚀 Features
-
Button: add
IconName
,LeftIconName
andRightIconName
to simplify the usage of icon buttons. #1863<!-- before --> <MButton Icon> <MIcon>mdi-abc</MIcon> </MButton> <!-- now --> <MButton IconName="mdi-abc" />
<!-- before --> <MButton> <MIcon Left>mdi-abc</MIcon> Button </MButton> <!-- now --> <MButton LeftIconName="mdi-abc">Button</MButton>
<!-- before --> <MButton> Button <MIcon Right>mdi-abc</MIcon> </MButton> <!-- now --> <MButton RightIconName="mdi-abc">Button</MButton>
-
Card: add sub-component parameter, includes
Title
,Subtitle
andText
. #1880<!-- before --> <MCard> <MCardTitle>Title</MCardTitle> <MCardSubtitle>Subtitle</MCardSubtitle> <MCardText>Small plates, salads & sandwiches - an intimate setting with 12 indoor seats plus patio seating.</MCardText> </MCard> <!-- now --> <MCard Title="Title" Subtitle="Subtitle" Text="Small plates, salads & sandwiches - an intimate setting with 12 indoor seats plus patio seating." />
-
DataTable: add support for cell ellipsis and custom cell content in
Headers
. #1844<!-- A quick preview of the 'Custom cell content' feature --> <!-- before --> <MDataTable TItem="Dessert" Headers="_headers" Items="_desserts" Class="elevation-1"> <ItemColContent> @if (context.Header.Value == nameof(Dessert.Calories)) { <MChip Color="@GetColor(context.Item.Calories)" Dark> @context.Item.Calories </MChip> } else { @context.Value } </ItemColContent> </MDataTable> <!-- now --> <MDataTable TItem="Dessert" Headers="_headers" Items="_desserts" Class="elevation-1" /> @code { private static RenderFragment CaloriesCell(Dessert dessert) => __builder => { <MChip Color="@GetColor(dessert.CCalories)" Dark> @dessert.Calories </MChip> }; private List<DataTableHeader<Dessert>> _headers = new List<DataTableHeader<Dessert>> { new() { Text = "Calories", Value = nameof(Dessert.Calories), CellRender = dessert => CaloriesCell(dessert) // 👈 }, ... } }
-
ListItem: add sub-component parameters, includes
Title
,Subtitle
,PrependAvatar
,PrependIcon
,AppendAvatar
andAppendIcon
. #1865<!-- before --> <MListItem> <MListItemAvatar> <MImage Src="http://..."></MImage> </MListItemAvatar> <MListItemContent> <MListItemTitle>Title</MListItemTitle> <MListItemSubtitle>Subtitle</MListItemSubtitle> </MListItemContent> <MListItemIcon> <MIcon>mdi-abc</MIcon> </MListItemIcon> </MListItem> <!-- now --> <MListItem Title="Title" Subtitle="Subtitle" PrependAvatar="http://..." AppendIcon="mdi-abc"> </MListItem>
-
Tabs: add support for setting the height and re-rendering the slider when switching RTL. #1851 #1875
-
Cascader: add support for custom delimiter. #1883
-
OptInput: add support for automatic focus the first input. #1874
🐛 Bug fixes
- AddMasaBlazor: forgot to set the lifetime for PopupProvider. #1877
- CarouselItem:
Href
doesn't work. #1888 - Menu: position error in dialog after using block scroll strategy. masastack/BlazorComponent#615
- SystemBar: missing
@attribtues
. #1876 - Xgplayer: invokeVoid error. #1878
- Dialog: always display scroll bar when using block strategy. #1889
♻️ Refactors
- Icon: remove the unnecessary
IsActive
parameter. #1873 - Rating: merge code from BlazorComponent. #1833
- Border: refactor using CSS approach. #1830
🧪 Labs
- PageStack: redesign the component. #1879 #1862
- PageStackNavController service for managing the navigation stack, provides
Push
,Pop
,GoBack
,Replace
,Clear
andGoToTab
methods.@inject PageStackNavController NavController <MButton OnClick="@(() => NavController.Push("/stack-page"))">Go to stack page</MButton>
- For the Push operation, you can add the built-in
data-page-stack-strategy="push"
attribute to the a tag or component to automatically push onto the stack when clicked.<a href="/stack-page" data-page-stack-strategy="push">Stack page</a> <MButton Href="/stack-page" data-page-stack-strategy>Stack page</MButton>
- PStackPageBase base class for stack pages, provides
OnPageActivated[Async]
andOnPageDeactivated[Async]
lifecycle methods.@inherit PStackPageBase @code { protected override void OnPageActivated(object? state) { // `state` comes from the parameter passed when the previous page calls GoBack } }
- PageStackNavController service for managing the navigation stack, provides
v1.5.0-beta.3
What's Changed
- 💄 style(Dialog): always display scroll bar when using block strategy by @capdiem in #1889
- 🐛 fix(CarouselItem): href doesn't work by @capdiem in #1888
- 🆕 feat(Cascader): add support for custom delimiter by @capdiem in #1883
- 🆕 feat(Card): Add subcomponent props: title, subtitle and text by @capdiem in #1880
Full Changelog: 1.5.0-beta.2...1.5.0-beta.3
v1.5.0-beta.2
What's Changed
- 🐛 fix(Tab): matching route is not highlighted correctly by @capdiem in #1875
- 🆕 feat(OptInput): add support for automatic focus the first input by @capdiem in #1874
- ♻ refactor(Icon): Remove the unnecessary IsActive parameter by @capdiem in #1873
- 🐛 fix: forgot to set the lifetime for PopupProvider by @capdiem in #1877
- 🐛 fix(SystemBar): missing @attribtues by @capdiem in #1876
- refactor(PageStack): redesign the component by @capdiem in #1879
- 🐛 fix(Xgplayer): invokeVoid error by @capdiem in #1878
Full Changelog: 1.5.0-beta.1...1.5.0-beta.2
v1.5.0-beta.1
What's Changed
- 🆕 (ListItem): Add sub-component props to simplify usage by @capdiem in #1865
- 🆕 (Button): simplify the usage of icon buttons by @capdiem in #1863
- 🆕 feat(Tabs): support setting the height and re-rendering the slider when switching RTL by @capdiem in #1851
- 🚚 refactor(Rating): merge code from BlazorComponent by @capdiem in #1833
- refactor(PageStack): add PageStackNavController to control the stack of cached pages by @capdiem in #1862
- 🆕 (DataTable): add support for cell ellipsis and custom cell content in
Headers
by @capdiem in #1844 - ⚡ refactor(Border): refactor using CSS approach by @capdiem in #1830
Full Changelog: 1.4.2...1.5.0-beta.1