* 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>
* 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>
* Minimal documentation for AttrsBuilder
* Minimal documentation for the StyleBuilder
* Add documentation for AttrsBuilder::attr
* Update doc for AtrsBuilder
* Minimal documentation for EventsListenerBuilder
* Documentation for AttrsBuilder::ref (copied from tutorial)
* Documentation for AttrsBuilder::prop
* Add docs for ElementScope and dom specific effects
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>