* feat(module:checkbox) Adds For/Id attrs
Moves the Id attr from the label to the input and
adds the For attr to the label for ADA.
* feat(module:checkbox) Remove blank line
Remove blank line from Button
* Updates CheckboxGroup unit tests.
* Updates case of for attr.
* feat(module:button) Adds AriaLabel Parameter
Adds in a Parameter for AriaLabel that's used as the value for the aria-label attribute on the button.
* feat(module:button) Adds AriaLabel Parameter
Updates zh-CN documentation and removes blank line.
* fix(module: form): remove `FormItem` from `Form` when it was disposed (#1901)
* pref(module: table): put fixed column style into js (#1897)
* pref(module: table): put fixed column style into js
* fix resize listener
* docs: Add building demo assets to the Readme (#1904)
* feat(module: table): add `CellData` for `CellRender` (#1907)
* docs: add dynamic table demo (#1908)
* feat(module: table): add dynamic data demo
* add scroll x
* fix(module: select): value no longer reset on datasource set (#1906)
* fix(module:select): value no longer reset on datasource set
* fix(module:select): dataSource change detection
* fix: improve datasource detection
add item & set value in SelectOption
* tests: scenario from issue #1207
* fix: DataSourceEqualityComparer default
* docs: Fixed typo (#1915)
* fix(module: input): Add stop propagation (#1917)
* docs(module: select): update coordinate demo (#1914)
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* fix(module: textarea): add rows parameter (#1920)
doc: adjust to match antD
tests: sizing tests
* test(module: select): Add some unit tests for Select (#1891)
* Add Select clear tests
* Add Select DataSource to null test
* Change the implement of Throw tests
* Change int to int?
* fix(module: button): loading icon styles (#1902)
* Fix loading icon styles
* Fix button render test
* feat(module: InputNumber): Add inputmode for mobile keyboard (#1923)
* perf: avoid memory leak issue of event listener (#1857)
* perf: avoid memory leak #1834
Avoid memory leak by remove the exclusive parameter and logic in the code block on AddEventListener method in DomEventService class.
The following are the components affected:
components/affix/Affix.razor.cs
components/anchor/Anchor.razor.cs
components/carousel/Carousel.razor.cs
components/core/Component/Overlay/Overlay.razor.cs
components/core/Component/Overlay/OverlayTrigger.razor.cs
components/core/JsInterop/DomEventService.cs
components/descriptions/Descriptions.razor.cs
components/dropdown/DropdownButton.cs
components/grid/Row.razor.cs
components/input/Input.cs
components/input/TextArea.razor.cs
components/layout/Sider.razor.cs
components/list/ListItem.razor.cs
components/select/Select.razor.cs
components/select/internal/SelectContent.razor.cs
components/slider/Slider.razor.cs
components/table/Table.razor.cs
components/tabs/Tabs.razor.cs
* fix override AddEventListener method in AntDesign.TestKit project
* add register/remove event listerner for exclusive use in DomEventService class
* move _dotNetObjects to DomEventListerner class/service, so that users not required to maintain it in each component.
* * move share/reuse dom event listerner methods to DomEventListerner class
* remove method 'AddEventListener' that no longer exists in DomEventService class in AntDesign.TestKit project
* * change the component referring to an IDomEventListerner interface instead of a concrete class,
so that the component can be tested via a mock TestDomEventListerner.
* introduce DisposeShared and Dispose method in DomEventListerner to ease user remove callback from DomEventListerner
* register IDomEventListerner into DI container instead of create manually
* fix FormatKey
* fix FormatKey
* fix tests
* fix test
* fix test
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* fix(module: textarea): replace wrong event (#1927)
* tests(module: textarea): include js function mock to avoid bunit exceptions (#1930)
* perf(module: overlay): positioning moved to js (#1848)
* fix(module:overlay): move postion calculation to js
fixes#1836
* docs: TriggerBoundaryAdjustMode explanation
* docs: select & datepicker got BoundaryAdjustmetMode
cleanup
* test: fixes
optimization & cleanup
* fix(module:overlay): recalculate overlay position when trigger resizes
* Minor clean-up
* fix(module:overlay): wait for Show to finish in Hide
* fix: prevent vertical scrollbar on overlay adding
* fix: extract waiting function
* fix: overlay not to repostion when trigger vanishes (menu issue)
* fix: scroll adjustment for position: fixed
* fix: on menu mode change, keep
* merge conflict fix
* fix: nominal calculation reset on failed adjustment
* fix: bugs
* test: exclude log method from test coverage in overlay.ts
* fix(module: table): It would be load twice at first time if pagesize is not 10 (#1933)
* fix(module: menu): collapsed menu title can't hide while use router link (#1934)
* fix(module: select): fix data source of type IEnumerable<object> (#1932)
* fix(module:select): fix data source of type IEnumerable<object>
* Update Select.razor.cs
* Update Select.OnDataSourceChangeTests.razor
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* feat(module: InputNumber): Add OnFocus event (#1931)
* Add on textbox focus
* Adjust naming
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* fix(module: list): resposive style doesn't work (#1937)
* docs: Update index.zh-CN.md (#1936)
Update document ConfigProvider global configuration example code
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* change log 0.9.4 (#1938)
* chore: test cs project to include test runner adapter (#1939)
test: add general overlay disposal method mock
Co-authored-by: Alan.Liu <lxyruanjian@126.com>
Co-authored-by: James Yeung <shunjiey@hotmail.com>
Co-authored-by: rabberbock <rabberbock@gmail.com>
Co-authored-by: Andrzej Bakun <anddrzejb@poczta.fm>
Co-authored-by: Chandan Rauniyar <chandankkrr@gmail.com>
Co-authored-by: Luke Parker [SSW] <10430890+Hona@users.noreply.github.com>
Co-authored-by: SmallY <45689960+iamSmallY@users.noreply.github.com>
Co-authored-by: Maksim <maksalmak@gmail.com>
Co-authored-by: Tony Yip <tonyyip1969@gmail.com>
Co-authored-by: SmRiley <45205313+SmRiley@users.noreply.github.com>
* feat(module:overlay): OverlayTrigger not bound to a div
* feat(module:overlay): OverlayTrigger not bound to a div
* feat(module:overlay): Logic transfer to single Overlay
* feat(module:overlay): remove obsolete duplication
* feat(module:Tooltip): Add for unbounded oncontextmenu event handler
* feat(module:tooltip): unbound js event listeners remove
* docs(module:tooltip): unbound explanation
* fix(module:button): attach Ref to top level html element @ref
* feat(module:dropdown&tooltip&popconfirm&popover): Overlay not bound to a div
* docs(module:dropdown&tooltip&popconfirm&popover): unbound explanation
* feat(module:OverlayTrigger): common logic relocation
* feat(module:overlaytrigger): Overlay not bound to a div
* feat(module:DatePicker): Overlay not bound to a div
* feat(module:select): Overlay not boud to div
* fix(module:select): onclickarrow event relocation
* fix(module:select): rename Show to OnArrowClick
* feat(module:avatar): Overlay not bound to a div
* docs(module:avatar): demo switch to unbound version
* feat(module:autocomplete): partial OverlayTrigger not bound to a div
* feat(module:slider): tooltip
* docs(module:slider): tooltip
* fix(module:overlay): add SetVisible method
* feat: set Ref where missing, performance
components register Ref when missing
IsFixed flag for CascadeValue changed
hard-code sequence numbers when using RenderTreeBuilder
Rate component use Tooltip Unbound version
Tabs test fix
* fix: revert changes (accidental)
* feat(module:upload): tooltip with unbound usage
* feat(module:table): column use of unbound tooltip
* feat(module:autocomplete):overlay unbound from div
* fix(module:upload): missing div restore
Co-authored-by: James Yeung <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>