* 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: workaround flaky CI test runner
* Move config path to test-utils/conf/karma.config.common.d
* Reusing same karma config everywhere aprt benchmarks
it looks like we can have only one karma config directory
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
Co-authored-by: Shagen Ogandzhanian <shagen.ogandzhanian@jetbrains.com>
* web (breaking change): Make CSSSelector constructors internal and move constant selectors instances to `SelectorsScope`
* web (breaking change): Make CSSSelectors classes internal
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>
Options were never actually applied and there was no way to use anything beside Options.DEFAULT
It's still possible to set options using k/js `addEventListener` on the element's reference
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>