MASA.Blazor

Blazor UI component library based on Material Design. Support Blazor Server, Blazor WebAssembly and MAUI Blazor.

MIT License

Stars
1.1K
Committers
53

Bot releases are hidden (Show)

MASA.Blazor - v1.3.2

Published by capdiem 10 months ago

🚀 Features

  • Theme: support for more color roles. #531 #1707

🔧 Bug Fixes

  • RadioGroup: should not invoke ValueChanged after init. #534 #1714
  • Cascader: RTL doesn't work. #1705

🧪 Labs

  • Xgplayer: add OnFullscreenTouchend event callback for webview. #1708
  • Xgplayer: Expose the JS.InvokeVoidAsync method. #1709
  • Xgplayer: there's no fullscreen for music. #1713
  • XgMusicPlayer: should generate the audio tag. #1717

♻ Refactor

  • Datatable: calculate real width of col on colgroup item. #1715

📝 Docs

  • ListItemGroup: Update zh-CN.md. #1716

New Contributors

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.3.1...1.3.2

MASA.Blazor - v1.3.1

Published by capdiem 10 months ago

🔧 Bug Fixes

  • ♻ refactor(Icon): refactor the way of generating icon CSS and content and support for fa6 #1703
  • 🐛 fix(ProgressCircle): more than one parameter matching the name 'class' #1700

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.3.0...1.3.1

MASA.Blazor - v1.3.0

Published by capdiem 10 months ago

🚀 Features

  • bump Microsoft.AspNetCore.Components* from 8.0.0-rc to 8.0.0
  • DataTable: support for @bind-Expanded. #1687
  • Main: add a way to avoid the entry transition when first loading. #1693
  • Menu/Tooltip/Dialog: support for using the parameter Permenant to persist pop-up elements when using SSR. #516 #1664
  • PageTabs: support for closing tabs by middle click. #1689
  • Pagination: add HrefFormat parameter for SEO. #510 #1649
  • Ripple: support for setting center, circle and custom class. #515 #528 #1663
  • Treeview: add an new select type LeafButIndependentParent. #518
  • Treeview: open parent nodes of filtered node after filtering. #514

🔧 Bug Fixes

  • BaiduMap: the id of container element may be removed when component was disposed. #509 #1648
  • DataTable: compatible with net6.0. #1642
  • DataTable: CaptionContent should be wrapped in <caption>. #513
  • DataTable: the hover style is missing. #1686
  • ECharts: the first argument elOrString of init method may be null. #1690
  • Image: exception throws when changing src to null. #1641
  • Tabs: wrong arrow when RTL. #1667
  • TextField: wheel event should stop propagation when type is number. #1688

🧪 Labs

  • InteractiveTrigger: provide the ability to trigger interactive components when the user clicks.
  • PullRefresh: improve the performance. #1643
  • SsrThemeProvider: apply theme css to the head tag when using SSR. #1683
  • XgPlayer: a HTML5 video player component. #1685

♻ Refactor

  • Slider: move some event logic to JS interop. #511 #1656

📝 Docs

  • Update installation for Blazor Web App. #1694
  • Add docs about SSR. #1697
  • Fixed the example dynamic complication failure #1661

🗂️ Templates

  • Add template for Blazor Web App.
    • dotnet new masablazor -o ServerSsrApp
  • Update masablazor-maui template
    • net8.0 support
    • --no-web option to disable generating web project
    • --cdn option to use CDN for static icon and font files
    • --icon option to choose default icon set
  • Update other blazor templates to support net8.0, --cdn and --icon options.

🧩 Others

  • The official website of MASA has been refactor to SSR. masastack.com
  • The Masa Blazor Pro project has been refactor to Blazor web app(interactive globally). pro.masastack.com

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.2.2...v1.3.0

MASA.Blazor - v1.3.0-beta.7

Published by capdiem 10 months ago

What's Changed

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.3.0-beta.6...1.3.0-beta.7

MASA.Blazor - v1.3.0-beta.6

Published by capdiem 10 months ago

What's Changed

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.3.0-beta.5...1.3.0-beta.6

MASA.Blazor - v1.3.0-beta.5

Published by capdiem 10 months ago

What's Changed

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.3.0-beta.4...1.3.0-beta.5

MASA.Blazor - v1.3.0-beta.4

Published by capdiem 10 months ago

What's Changed

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.3.0-beta.3...1.3.0-beta.4

MASA.Blazor - v1.3.0-beta.3

Published by capdiem 11 months ago

What's Changed

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.3.0-beta.2...1.3.0-beta.3

MASA.Blazor - v1.3.0-beta.2

Published by capdiem 11 months ago

What's Changed

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/v1.3.0-beta.1...1.3.0-beta.2

MASA.Blazor - v1.3.0-beta.1

Published by capdiem 11 months ago

🚀 Features

  • Pagination: add HrefFormat parameter for SEO. #510 #1649
  • bump Microsoft.AspNetCore.Components* from 8.0.0-rc to 8.0.0
  • Menu/Tooltip/Dialog: support for using the parameter Permenant to persist pop-up elements when using SSR. #516 #1664
  • Treeview: add an new select type LeafButIndependentParent. #518
  • Treeview: open parent nodes of filtered node after filtering. #514

🔧 Bug Fixes

  • BaiduMap: the id of container element may be removed when component was disposed. #509 #1648
  • DataTable: compatible with net6.0. #1642
  • DataTable: CaptionContent should be wrapped in <caption>. #513
  • Image: exception throws when changing src to null. #1641
  • Ripple: support for SSR. #515 #1663
  • Tabs: wrong arrow when RTL. #1667

🧪 Labs

  • PullRefresh: Improve the performance. #1643

♻ Refactor

  • Slider: move some event logic to JS interop. #511 #1656

📝 Docs

  • Update installation for Blazor Web App. #1651
  • Fixed the example dynamic complication failure #1661

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.2.2...v1.3.0-beta.1

MASA.Blazor - v1.2.2

Published by capdiem 11 months ago

🔧 Bug Fixes

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.2.1...1.2.2

MASA.Blazor - v1.2.1

Published by capdiem 12 months ago

🔧 Bug Fixes

💄CSS

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.2.0...1.2.1

MASA.Blazor - v1.2.0

Published by capdiem 12 months ago

🆙 Upgrade guide

  • DataTable
    • The type of OnItemSelect was changed from Action<TItem, bool> to EventCallback<(TItem Item, bool Selected)>.
    • Removed the FixedRight property, now you can set the fixed position of the column through the Fixed property in the Headers.

🚀 Features

  • DataTable: Add OnItemExpand and update some event type. #1607
  • DataTable: Support for fixed multiple columns. #1625
  • Select: Add OnSelect parameter to replace OnSelectedItemUpdate. #1621

🔧 Bug Fixes

🧪 Labs

  • Drawflow: Do not dispose service when component disposed. #1617

📖 Docs

  • FAQ: Add 'I18n text not updated after language change'. #1616
  • Add version information to new features or components. #1627

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.1.1...1.2.0

MASA.Blazor - v1.1.1

Published by capdiem 12 months ago

🚀 Features

  • MDescriptions: add AlignCenter parameter, unregister item when disposed. #1603
  • MSlider/MRangeSlider: hide OnMouseDown/Up, add OnStart/End event callbacks. #1608
  • IntersectJSModule: support for observing selector and getting entries from event. #1609

🔧 Bug Fixes

🧪 Labs

New components

  • MSplitter: A simple and touch-ready panes splitter / resizer. #1602
  • MPullRefresh: Pull down to refresh, usually used in mobile apps. #1606

Others

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.1.0...1.1.1

MASA.Blazor - v1.1.0

Published by capdiem about 1 year ago

🚀 Features

💥 Breaking changes

🔧 Bug Fixes

🧪 Labs

Improvements and bug fixes

New components

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.0.4...1.1.0

MASA.Blazor - v1.0.4

Published by capdiem about 1 year ago

🚀 Features

Experimental components

Improvements

🔧 Bug Fixes

📖 Docs

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.0.3...1.0.4

MASA.Blazor - v1.0.3

Published by capdiem about 1 year ago

🔧 Bug Fixes

📖 Docs

New Contributors

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.0.2...1.0.3

MASA.Blazor - v1.0.2

Published by capdiem about 1 year ago

🚀 Features

Experimental components

Improvements

🔬 Refactors

🔧 Bug fixes

📖 Docs

Full Changelog: https://github.com/masastack/MASA.Blazor/compare/1.0.1...1.0.2

MASA.Blazor - v1.0.1

Published by capdiem about 1 year ago

🔧 Bug Fixes

📖 Docs

MASA.Blazor - v1.0.0

Published by capdiem over 1 year ago

🚀 Features

New components

  • BaiduMap: a map component base on BaiduMap Javascript API GL, thanks to @msnoshain!
  • DefaultsProvider: a component allows you to provide specific default prop values to components of your application.
  • Descriptions: a component that can display multiple fields.
  • EnqueuedSnackbars: a stackable snackbars.
  • Gridstack: a component for dashboard layout and creation base on gridstack.js.
  • MarkdownIt: a Markdown parser base on markdown-it.
  • MonacoEditor: a editor component base on MonacoEditor, thanks to @239573049!
  • SyntaxHighlight: use themes from prism or highlight.js to highlight the the source code.

Improvements

Components

  • Alert: support for Title parameter.
  • DataTable
    • dark supports for stripe (#880), closes #269.
    • Events and EventColor supports (#887), closes #82.
    • supports for click, dbclick and contextmenu on row (#1237), closes #1236.
    • supports for ItemClass with type of Func<TItem, string> (#1250), closes #1245.
  • DatePicker: localization enhancement (#1129).
  • Drawer: compatible with mobile (#1384).
  • ECharts
    • improve the way to update themes (#869), closes #246.
    • support for handling mouse events.
    • support for multi functions or lambda in option.
  • ErrorHandler: add DisablePopupIfErrorContentRender parameter (#1411).
  • Menu: Attach supports.
  • Modal: should reset loading state if an exception occurs on confirm (#1399), thanks to @1521967161.
  • Overlay: hide the scroll bar when the overlay shows (#1339), closes #1213.
  • Pagination: selected items don‘t show or exception in some scenarios (#1393), closes #1280.
  • Routable: add MatchPattern to routable component (#1409).
  • ProgressCircular: BackgroundColor supports (#804), closes #801.
  • Select: add Eager to force rendering Dom of content (#1364).
  • Slider: support for other numeric types including double (#1050)。
  • Stepper: support for lazy loading the DOM and Eager feature (#1362), clsoes #1359.

Infrastructure and services

  • Breakpoint add MobileChanged event handler (#1415).
  • I18n: an I18n component, easy to localization.
  • PopupService
    • support for show/hide ProgressCircular/ProgressLinear (#1334).
    • Prompt: change the build-in input component from MTextarea to MTextField (#1331), and support for focusing the input after opening (#1343).
  • RTL: RTL is fully supported (#1377).
  • Theme: support for dynamic theme modification, closes #929, thanks to @LittleFish-233.

💥 Breaking changes

  • Button: renamed the StopPropagation parameter to OnClickStopPropagatoin.
  • DataTable: the Align type of DataTable header changes to enum (#802), closes #712.
  • Checkbox/Switch: TrueValue and FalseValue supports, closes #710.
  • Confirm: PConfirm has now been removed, please use PopupService.Confirm instead.
  • InfiniteScroll: Now no longer needs to set the loading state through the additional HasMore parameter, but through the Status of the OnLoad event parameter to control it. Also, the component will automatically trigger the OnLoad event when it is first rendered.
  • Routable: The Linkage is renamed to Routable, and the affected components are MBreadcrumbs and MList.
  • Toasts: removed the PToasts component, and use the PEnqueuedSnackbars component instead.
  • PopupService: removed AlertAsyncToastAsync, and use EnqueueSnackbarAsync instead.
  • PageTabs: refactor and move PageTabs to presets.
  • Tab: Content is no longer capitalized by default, (#1222).
  • i18n: Instead of setting the default language in a localized JSON file via $Defaultculture , set it in the Locale option of the services.AddMasaBlazor (#1229).
  • Sidebar: It has been removed.

For details, please see the Upgrade Guide.

🔬 Refactors

  • The logic of registration and execution of activator events such as click, mouseenter, mouseleave, focus and blur has been moved to js. The scope of influence includes Tooltip, Menu, Hover, Dialog, BottomSheet, Drawer, Modal, PopupService and so on.
  • The implementation of outside-click has been moved to OutsideClickJSModule, and the scope of influence includes Dialog, BottomSheet, Drawer, Modal, PopupService, Autocomplete, Select and so on.

🔧 Bug fixes

  • App: throw when js invoked on pre-rendering, closes #846.
  • Autocomplete: The menu content obscures the input box in some cases (#1135), closes #1130.
  • Button: Elevation doesn't work (#828).
  • BottomNavigation: crashed when App is enable (#799), closes #774.
  • BottomNavigation: InputValue should update the application's bottom (#997), closes #996.
  • DatePicker: a exception throws when value change to MinValue (#1352), closes #1348.
  • DataTable
    • The style of FixedRight doesn't work at the first time (#1304), closes #1299.
    • HeaderColContent doesn't work on mobile (#1306).
    • Group text and column name no correct when grouping (#1311).
  • ExpansionPanels: components that wrap ExpansionPanel cannot be trigger, closes #843.
  • FileInput: HideInput doesn't work.
  • FileInput: IBrowserFile does not have an associated TypeConverter that supports conversion from a string (#1109), closes #1092.
  • Image: Src with parenthesis aren't recognized (#1115), closes #1114.
  • Markdown: custom upload options don't work (#1217), closes #1214.
  • PopupService: button position compatibility in confirm and prompt (#879), closes #874, thanks to @Yu-Core!
  • ProgressCircular: hex color code doesn't work, closes #910.
  • Radio: OnIcon and OffIcon don't work (#1263), closes #1262.
  • Rating: improves the performance (#1333), closes #1253.
  • Select: auto scroll to the active item when open at the 1st time (#1256), closes #1249.
  • Slider: get stuck when touchmove event invoked, closes #1041.
  • Stepper: the error label has a shadow (#871), closes #265.
  • Treeview: AppendContent should be exposed as a parameter (masastack/BlazorComponent#265), thanks to @tzm1119.
  • Treeview: conflict between ActiveClass and Color (#956), closes #954.

📖 Others

  • We have updated the document and UI, and thank all contributors for your help.
  • Added MASA Try site, online debugging component, thank you @239573049!

🚀 新特性

新增的组件

  • BaiduMap:一个基于 BaiduMap Javascript API GL 的地图组件,感谢 @msnoshain!
  • DefaultsProvider: 允许您为应用程序的组件提供特定的默认属性值。
  • Descriptions: 用于展示多个字段。
  • EnqueuedSnackbars: 可堆栈的消息条。
  • GridStack:基于 gridstack.js 的仪表板布局创建组件。
  • MarkdownIt:一个基于 markdown-it 的 Markdown 解析器。
  • MonacoEditor:一个基于MonacoEditor封装的编辑器,感谢 @239573049。
  • SyntaxHighlight:使用 prismhighlight.js 中的主题来高亮源代码。

改进和增强

组件

  • Alert:支持 Title 参数。
  • DataTable
    • 斑马纹支持暗主题 (#880),关闭 #269。
    • EventsEventColor 支持 (#887),关闭 #82。
    • 支持行的点击,双击和右键事件 (#1237), 关闭 #1236。
    • 支持类型为Func<TItem, string>ItemClass参数 (#1250), 关闭 #1245.
  • DatePicker:本地化增强 (#1129)。
  • Drawer: 兼容移动端 (#1384)。
  • ECharts
    • 改进主题更新方式 (#869),关闭 #246。
    • 支持处理鼠标事件。
    • 配置支持多个函数或lambda表达式。
  • ErrorHandler:增加 DisablePopupIfErrorContentRender 参数 (#1411)。
  • MenuAttach 支持。
  • Modal: 当确认后发生异常应重置加载状态 (#1399),感谢 @1521967161。
  • Overlay: 当遮罩显示时隐藏滚动条 (#1339), 关闭 #1213。
  • Pagination: 在特定情况下选择项无法显示 (#1393),关闭 #1280。
  • Routable: 给支持路由的组件增加 MatchPattern 参数 (#1409)。
  • ProgressCircularBackgroundColor 支持 (#804),关闭 #801。
  • Select: 增加 Eager 参数强制渲染内容的dom (#1364)。
  • Slider:支持其他数字类型,包括 double (#1050)。
  • Stepper: 支持懒加载和 Eager 特性 (#1362),关闭 #1359。

基础设施和服务

  • Breakpoint 新增 MobileChanged 事件 (#1415)。
  • I18n:国际化组件,轻松使用本地化。
  • PopupService
    • 支持显示和隐藏 PrgoressCircular 和 ProgressLinear 组件 (#1334)。
    • Prompt: 将内置的输入框组件从 MTextarea 改为 MTextField (#1331),并且支持弹出后自动聚焦到输入框 (#1343)。
  • RTL: 完全支持RTL (#1377)。
  • Theme:支持动态切换浅色和深色主题,关闭 #929,感谢 @LittleFish-233。

💥 破坏性更新

  • Button: 重命名 StopPropagationOnClickStopPropagatoin
  • DataTable:DataTable header 的 Align 类型变为枚举 (#802),关闭 #712。
  • Checkbox/SwitchTrueValueFalseValue 支持,关闭 #710。
  • ConfirmPConfirm 现在已被移除,请改用 PopupService.Confirm
  • i18n:删除了在本地化json文件中通过 $DefaultCulture 设置默认语言的方式,改为在 services.AddMasaBlazorLocale 选项中设置 (#1229)。
  • InfiniteScroll: 现在不需要通过额外的 HasMore 参数来设置加载的状态,而是通过 OnLoad 事件参数的 Status 来控制,一步到位。另外,组件在第一次呈现时会自动触发 OnLoad 事件。
  • PageTabs: 重构并将它移动到了预置组件类别中。
  • PopupService:移除了 AlertAsyncToastAsync,请使用 EnquueuSnackbarAsync 代替。
  • RoutableLinkage 重命名为 Routable,受影响的组件有 MBreadcrumbsMList
  • Tab:Tab的内容不再默认大写了 (#1222)。
  • Toasts:移除了 PToasts 组件,请使用 PEnqueuedSnackbars 组件代替。
  • Sidebar: 移除了该组件。

详情请查看升级指南

🔬 重构

  • clickmouseentermouseleavefocusblur等激活器事件的注册和执行逻辑已移至js。影响的范围包括 Tooltip、Menu、Hover、Dialog、BottomSheet、Drawer、Modal、PopupService 等组件。
  • outside-click 的实现移到了 OutsideClickJSModule,影响的范围包括 Dialog、BottomSheet、Drawer、Modal、PopupService、AutoComplete、Select等组件。

🔧 问题修复

  • App:在预渲染时调用js时抛出异常,关闭 #846。
  • ButtonElevation 不工作 (#828)。
  • Autocomplete: 菜单内容在某些情况下会遮挡输入框 (#1135), 关闭 #1130.
  • BottomNavigationApp 开启时崩溃 (#799),关闭 #774。
  • BottomNavigation: InputValue 应该更新应用程序的Bottom值 (#997), 关闭 #996.
  • DatePicker: 当设置值为 MinValue时会抛出异常 (#1352),关闭 #1348。
  • DataTable
    • 首次加载时 FixedRight 的样式不正确 (#1304),关闭 #1299。
    • HeaderColContent 在移动端不起作用 (#1306)。
    • 分组时组的文本和列名不正确 (#1311)。
  • ExpansionPanels:包装ExpansionPanel的组件不能被触发,关闭 #843。
  • FileInputHideInput 不起作用。
  • FileInputIBrowserFile 没有支持从string转换的关联TypeConverter (#1109), 关闭 #1092.
  • Image:无法识别带括号的Src (#1115), 关闭 #1114。
  • Markdown: 自定义Upload选项不起作用 (#1217), 关闭 #1214.
  • PopupService:确认提示中按钮位置兼容问题(#879),关闭 #874,感谢 @Yu-Core!
  • ProgressCircular: 十六进制颜色不起作用, 关闭 #910.
  • RadioOnIconOffIcon 不起作用 (#1263), 关闭 #1262。
  • Rating:增强性能 (#1333),关闭 #1253。
  • Select:第一次打开时自动滚动到活动项目 (#1256), 关闭 #1249。
  • Slider:调用 touchmove 事件时卡住,关闭 #1041.
  • Stepper:错误标签有阴影 (#871),关闭 #265。
  • TreeviewAppendContent 应该公开为参数(masastack/BlazorComponent#265),这要感谢 @tzm1119。
  • Treeview: 修复 ActiveClassColor 冲突的问题 (#956), 关闭 #954.

📖 其他

  • 我们更新了文档和UI,感谢各位贡献者朋友的帮助。
    • 增加了 常见问题 文档。
    • 增加了 双向性 文档。
    • 支持暗主题。
    • 完善了对锚点的支持。
  • 添加了 MASA Try 站点,在线调试组件,感谢 @239573049!