This commit changes the default resource routing behaviour:
- It used to search for a file in the root directory (on a domain level)
- After this change, it will search for a file relatively to the current
url segment
Besides that, we add a small configuration to let developers change the
default behaviour when needed.
___
usage examples:
```kotlin
// 1
configureWebResources {
setResourceFactory { path -> urlResource("/myApp1/resources/$path") }
}
// 2
configureWebResources {
setResourcelFactory { path -> urlResource("https://mycdn.com/myApp1/res/$path") }
}
```
___
This will fix https://github.com/JetBrains/compose-multiplatform/issues/3413 (currently it bothers our users)
Dowgrading to Kotlin 1.8 will allow to use `components` in Kotlin 1.8 and Kotlin 1.9 projects (iOS, JS targets). Now it is supported only in Kotlin 1.9 projects.
* Simplify resource management for iOS
Introduces new a new task 'sync<FRAMEWORK_CLASSIFIER>ComposeIosResources',
which collects resources from all source sets, included in iOS targets.
With this change:
* CocoaPods integration does not require any configuration or calling 'pod install' after changing resources.
* Important: existing projects need to remove 'extraSpecAttributes["resources"] = ...' from build scripts, and rerun `./gradlew podInstall` once!
* Without CocoaPods, the resource directory should be added to XCode build phases once.
Resolves#3073Resolves#3113Resolves#3066
* First pass at adding Xml parsing support to js platform
Likely still need to add tests and samples
* Add JS to Parser Node and Element converter
Mirrors native impl by returning empty strings when content is unavailable
Moves MalformedXMLException out of native code, useful for common case.
* Remove unneeded null checks in Parser
Last commit handled null management
* Add newlines for code linter
* Fix namespaceUri bug
Undo accidental capture of localName
Also remove unneeded null check
* Undo grade.properies change
Had to disable webpack version number property to run sample
* Clean up NodeImpl comments
Corrected description
* Make NodeList impl lazy
Generates only when needed, serves cache after
* Fix and optimize image animation for 0 and 1 frames
* Change default frame duration to 10fps to match those of a browser
* Fix zero-size image with ImageBitmap.Blank
* Added animated image component
* Simplified network request
* Resource load is now done in the IO Dispatchers
* Renamed constant to express better its use
* Refactored animated image component to use the default Image component instead of creating our own component
* Added missing keys
* Created new module resources & adapted AnimatedImage to it
* Move compose
* Update kotlin version to 1.6.20
* Move compose + Update kotlin version to 1.6.21
* Move compose to include a fix for compose plugin (kjs specific)
Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
SplitPane by design, shouldn't have default visual representation, because it mostly depends on the design system (material, material3, etc)
Fixes https://github.com/JetBrains/compose-jb/issues/1975
RelNote:
SplitPane no longer depends on compose.material. Now, by default, SplitPane has invisible 0px splitter, not 1px black/white splitter as it was before. If you want to preserve the previous behaviour, specify a splitter explicitly:
```
HorizontalSplitPane(splitterState) {
splitter {
visiblePart {
Box(
Modifier
.height(1.dp)
.fillMaxHeight()
.background(MaterialTheme.colors.background)
)
}
}
}
```
* Fix components script compilation
* Add script to run Gradle with Compose properties set up
It's useful for running a single task in
the included Compose build.
* Set default JVM target to 11 if it is lower
* Update Compose submodule
Using one version of Gradle improves build
performance and dev experience by
reusing Gradle daemons, using less storage
& copying for Gradle cache, etc