Finish both-platform rendering, full component set, and Maven Central install - #1
Draft
AndroidPoet wants to merge 13 commits into
Draft
Finish both-platform rendering, full component set, and Maven Central install#1AndroidPoet wants to merge 13 commits into
AndroidPoet wants to merge 13 commits into
Conversation
…BackdropBridge seam
The iOS actual for LiquidToggle referenced Color.toUIColor() without importing it from the internal package, breaking compileKotlinIosSimulatorArm64. Add the missing import so the native UISwitch interop compiles and links.
LiquidSurface + LiquidGlassContainer: commonMain expect/actual API mirroring toggle/slider. Android renders via the backdrop engine (drawBackdrop + lens/blur/vibrancy + highlight/shadow); iOS hosts a native UIVisualEffectView with iOS 26 UIGlassEffect (UIBlurEffect system-material fallback on older systems). Adds SurfaceShowcase sample.
LiquidStepper: glass increment/decrement stepper (commonMain expect, Android backdrop-engine glass buttons, iOS native UIStepper). LiquidMediaControl: glass media transport with play/pause toggle plus scrubber (Android backdrop LiquidButton + LiquidSlider, iOS native UISlider scrubber + glass UIButton with SF Symbol play/pause). Adds self-contained StepperMediaShowcase sample.
- commonMain field/ package with expect/actual mirroring toggle/slider - Android: glass surface (RoundedCornerShape) / capsule pill over the relocated backdrop engine wrapping BasicTextField - iOS: genuine native UITextField / UISearchTextField via UIKitView interop for authentic system Liquid Glass on iOS 26 - Self-contained FieldShowcase sample composable
LiquidDropdownMenu/LiquidMenu and LiquidPicker with expect/actual: - commonMain: public API mirroring toggle/segmented structure - androidMain: glass surfaces via relocated backdrop engine - iosMain: native UIButton+UIMenu dropdown, native UIPickerView Self-contained MenuShowcase sample.
…ity/field', 'parity/stepper-media' and 'parity/chrome' into feat/finish-liquid-glass
- Wire all six component showcases into the sample app via a navigable component gallery (buttons, surfaces, menus/pickers, fields, stepper/media, toolbar/sheet) - Switch publishing to the Sonatype Central Portal with sources/javadoc jars, full POM metadata and env-driven signing; add tag-driven release workflow - Align the iOS sheet to the typed UIGlassEffect binding (iOS 26) with a UIBlurEffect systemMaterial fallback, matching the surface implementation - Harden the iOS sample prebuild to use the Gradle wrapper - Add Spotless (ktlint), Detekt and Kover quality gates and wire them into CI - Add a Nextra docs site (intro, install, architecture, per-component pages) and a Pages deploy workflow - Refresh the README install snippet, component list and architecture note
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Final release/integration pass for LiquidKit: both-platform rendering is finished, the component set reaches iOS parity, and the library is set up to install automatically from Maven Central with a docs site and the standard quality tooling.
What changed
Components & sample
LiquidButton/LiquidFab,LiquidSurface/LiquidGlassContainer,LiquidDropdownMenu/LiquidPicker,LiquidTextField/LiquidSearchField,LiquidStepper/LiquidMediaControl,LiquidToolbar/LiquidSheet, plus the existing toggle/slider/segmented/navigation.Rendering
UIGlassEffectbinding (runtime-gated to iOS 26, with aUIBlurEffectsystemMaterial fallback) so it matches the surface implementation.Install story (Maven Central)
publishToMavenLocal(signed artifacts + per-target KMP modules + POM produced).Consumer coordinates:
Tooling & docs
website/(intro, install for Gradle/KMP + iOS framework, architecture page on the Android-shader / iOS-native model, and a page per component group) plus a Pages deploy workflow.gradleon PATH.Verification (all green locally)
:liquidkit:compileDebugKotlinAndroid:liquidkit:compileKotlinIosSimulatorArm64:sampleApp:assembleDebugspotlessCheck,detekt,koverXmlReport,koverVerifypublishToMavenLocalpnpm buildNotes
0.1.0-SNAPSHOT; the README/docs show the0.1.0release coordinate that the publish workflow will cut.