whisker-image 0.6.0

Network image component for Whisker — fetches HTTP(S) URLs and renders into a native image view (Kingfisher on iOS, Coil on Android) with built-in memory + disk caching.
Documentation
// `whisker-image` ModuleDefinition (Android).
//
// Mirrors `whisker-video`'s `VideoModule` shape — KSP scans this
// module's sources for any concrete `Module` subclass and emits the
// registration block into `WhiskerImageBehaviors.registerAll()`.
//
// The `WhiskerImageView` Lynx UI subclass this references lives in
// `WhiskerImageView.kt`. Same split on iOS (`ImageModule.swift` +
// `ImageView.swift`).

package rs.whisker.elements.image

import rs.whisker.runtime.Module
import rs.whisker.runtime.ModuleDefinition
import rs.whisker.runtime.WhiskerValue

class ImageModule : Module() {
    override fun definition() = ModuleDefinition {
        Name("Image")
        View(WhiskerImageView::class.java) {
            Prop("src") { view: WhiskerImageView, value ->
                view.setSrc(value.asString() ?: "")
            }
            Prop("mode") { view: WhiskerImageView, value ->
                view.setMode(value.asString() ?: "aspectFill")
            }
        }
    }
}