* web: Support for transition in CSS api.
* Use proper name for Transitions class, fix formatting.
* web: add ExperimentalComposeWebApi on transitions CSS API.
* web: Add documentation for transitions CSS API.
* fix: Apply all suggested changes.
* web: Add unit tests to transitions CSS API.
* fix: Update documentation with new methods names.
* Temporary deprecate 3 overloads of StyleScope.borderWidth
The reason is wrong parameter names. The behaviour is still correct.
The idea is to fix the parameter names in 2.0 (which is more appropriate for breaking changes)
* Apply better deprecation and replacement approach
* improve the deprecation message
* fix
* add tests for deprecated borderWidth
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
* web: update TagElement with tagName: String
Enable changing the tagName value. This will delete the initial html element and create a new one with a new tagName.
Cache ElementBuilder instances.
* add comments
* update PR according to discussion
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
* web: apply `classes` before all other attributes and properties
This mitigates "Flash of unstyled content"
* apply style {} before attr(...). Add more tests
* use val instead of var for classes
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
* web (breaking change): move top level functions for css selectors to new SelectorsScope
These functions don't need to be on top level because their purpose is to be used within StyleSheet
* web: update CSSSelector plus operator
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
* web: move DomApplier, GlobalSnapshotManager, JsMicrotasksDispatcher to dedicated module
This will allow reusing them in test-utils module.
* web: move TestUtils.kt to a dedicated module
Use test-utils module in web-core as a dependency
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
* web: make TextInput manage its view state
* web: make TextInput manage its view state
* web: make TextInput manage its view state
* web: add tests for controlled TextArea and RadioButton
* Add more tests for controlled and uncontrolled inputs
* Add more tests for controlled and uncontrolled inputs
* Update date input tests
* Update time input tests
* Update date input tests
* Add docs for controlled and unctontrolled input modes
* web: improve docs for controlled inputs
* web: make benchmark add1kItems run only 2 times instead of 3 (to prevent it from throwing timeout)
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
* web: add a tutorial for DomSideEffect
* web: add a tutorial for DomSideEffect (edits)
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>