* feat(module: confirm): support blocking to get the result of confirm
* refactor: change modalservice Confirm return value,add ConfirmAsync FUNC
* feat: add ConfirmService
* fix: button text
Co-authored-by: ElderJames <shunjiey@hotmail.com>
* feat(module: range-picker): support form
* fix(module: range-picker): has no default value in from
* fix: picker's close behaviour and range arrow's style is wrong
* feat(module: datepicker): change placeholder on mouse over
* style(module: datepicker): adjust range arrow
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* feat: add icon list for demo page of icon
* feat: add copy function for icon list
* feat: get existed icon
* feat: remove some blanks in list.razor
* feat: remove some blanks
* fix: default value is outline for icon list
* fix: click to copy for icon list
* feat: add async to load icon list
* feat: update iconlistService
* chore: update icons
* fix: icon load async
* feat: add application icons in IconlistServices
* fix: remove the exist icon from existed catogory if duplicated
* fix: add @key for list items
* fix: revert the change
Co-authored-by: ElderJames <shunjiey@hotmail.com>
* feat: badge ribbon
* fix: demo for ribbon
* docs: add chinese api doc for ribbon
* fix: scroll number style
Co-authored-by: ElderJames <shunjiey@hotmail.com>
**Problem:**
According to the current implementation of Blazor(dotnet/aspnetcore#16213 (comment)), it runs in single-thread mode. Thus the call to `System.Threading.Thread.Sleep` will block the UI thread as well. It means when clicking the button, the UI freezes.
For example, in button component, the UI will freeze of 500ms. It's a relatively small time, however Chrome do give a warning to this:
*[Violation] 'setTimeout' handler took 500ms*
**Changes:**
Use `Task.Delay` which is a kind of built-in timer from dotnet. It won't block the UI thread.
Co-authored-by: James Yeung <shunjiey@hotmail.com>
**Problem:**
According to the current implementation of Blazor(https://github.com/dotnet/aspnetcore/issues/16213#issuecomment-381124723), it runs in single-thread mode. Thus the call to `System.Threading.Thread.Sleep` will block the UI thread as well. It means when clicking the loading button, the UI freezes.
**Changes:**
Use `Task.Delay` which is a kind of built-in timer from dotnet. It won't block the UI thread.
*If we need to make more changes to make it happen in demo page, please let me know.*