| Age | Commit message (Collapse) | Author | Files | Lines |
|
skydoves/dependabot/gradle/com.diffplug.spotless-8.10.3
chore(deps): bump com.diffplug.spotless from 8.10.2 to 8.10.3
|
|
Bumps [com.diffplug.spotless](https://github.com/diffplug/spotless) from 8.10.2 to 8.10.3.
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/gradle/8.10.2...gradle/8.10.3)
---
updated-dependencies:
- dependency-name: com.diffplug.spotless
dependency-version: 8.10.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Prepare for release 1.3.0
|
|
Version 1.2.0 to 1.3.0, and the README install snippets with it.
The docs site had no pages for HueSlider and SaturationSlider, which
both shipped in 1.2.0, and the picker pages listed wheelRadius,
wheelColor and wheelAlpha as parameters when those live on the
controller, so copying the examples did not compile. Every API page now
matches the real signature, and covers what 1.3.0 adds:
onColorPickingFinished, the slider orientation, and the onColorChanged
that lets a slider work without a picker.
The README also says what a tap beside a letterboxed palette does now.
|
|
Fix stale ColorPickerController API examples in README and docs site
|
|
support for sliders dynamic attachment and detachment
|
|
The note under HsvColorPicker, in the README and on the docs site, still
pointed at a controller function that no longer exists. Content scale is
a parameter on ImageColorPicker now.
|
|
|
|
A boolean goes wrong as soon as two sliders of the same kind share a
controller: the first one to leave the composition clears it while the
other is still on screen, and the surviving slider stops reaching the
color. The controller counts them now, and the last one out is what
hands the component back to the palette color.
Adds regression tests for both, four of which fail when a slider that
leaves stays attached, and two when one leaving speaks for the other.
|
|
|
|
Add desktop demo
|
|
Resolutions:
- Took main for the Spotless bump, the ktlint reformats, the version
catalog and the wheel bitmap property, all of which landed separately.
- Kept the benchmark build type and the baselineProfile dependency on
:demo:androidApp, which the baseline-profile workflow needs.
- ObserveColorChanges now uses rememberCoroutineScope as well, so the
picker and the sliders collect the same way, and ColorPicker just
delegates to it.
- Tests build the controller without a scope, and the ones that read a
callback wait for idle first, since a color change now arrives on the
composition's own scope rather than Dispatchers.Main.
|
|
Bump Gradle, AGP, Kotlin, Compose and Spotless
|
|
AGP 9.3.2 to 9.4.0, Kotlin 2.4.10 to 2.4.20, Compose Multiplatform
1.11.1 to 1.12.0, binary compatibility validator 0.18.1 to 0.18.2,
macrobenchmark off its alpha, Spotless 6.21.0 to 8.10.2 and the Gradle
wrapper 9.6.1 to 9.7.1.
Compose 1.12.0 asks for compileSdk 37. Spotless 8 brings a newer ktlint,
which reformats a few files, wants screaming snake case for a const in
the benchmark, and needs to be told that a Composable is named like a
type.
|
|
Add onColorPickingFinished to the pickers
|
|
Fix slider rendering and let sliders stand alone
|
|
Ignore taps that land outside the palette
|
|
Fix pickers losing the color they were given
|
|
Add a test suite for the library
|
|
onColorChanged fires for every step of a drag, so there was no way to
tell a live preview apart from a finished choice. HsvColorPicker and
ImageColorPicker now take onColorPickingFinished, which fires once when
a tap lands or a drag ends, with the color the pick settled on.
|
|
- The thumb was centered on the track ends, so half of it was clipped
away. It now reserves its radius at each end, and the tap and drag
mapping uses the same travel.
- The track paint took its color, and so its alpha, from the controller.
A controller with nothing selected is transparent, which left a slider
used without a picker drawing nothing at all.
- The brightness ramp assumed full saturation and painted red instead of
a grey ramp when nothing was selected.
- AlphaSlider, BrightnessSlider and SaturationSlider take onColorChanged
so they report without a picker beside them.
- Every slider takes an orientation and can run bottom to top.
- The slider and tile backgrounds are no longer rebuilt on every
recomposition, and the initial value is no longer written during the
draw phase.
|
|
A palette scaled to fit leaves bands beside it, and the picker used to
clamp a tap there onto the nearest edge pixel and report it as a color.
Fully transparent pixels came back as a selection too, which is the
transparent pixel TODO the original Android version handled by skipping
them. Both now leave the selection alone.
|
|
- The canvas size setter divided by a zero size on the first layout pass
and produced Offset(NaN, NaN), which is Offset.Unspecified, so drawing
the wheel threw whenever setup could not overwrite it.
- setup() now leaves the current selection alone when a picker registers
itself again, which happens on every recomposition if the palette is
built inline.
- HsvColorPicker replays initialColor so its value and alpha survive.
- selectByColor before the first layout is held and applied once the
picker is ready instead of being dropped.
- wheelImageBitmap is kept in step with the controller and is snapshot
state, so a new bitmap repaints.
|
|
Wires up commonTest and desktopTest with kotlin-test and the Compose
multiplatform ui-test artifact, and covers the color math, the geometry
helpers, the controller, both pickers, the sliders and the alpha tile.
The web targets skip tests because ColorPickerController builds a Paint
eagerly and Kotlin/JS cannot load Skiko in a Node or headless run.
CI gains a job for them, and drops the branch filter on pull_request so
that a pull request stacked on another one gets checked too.
|
|
chore(deps): bump agp from 9.3.0 to 9.3.2
|
|
skydoves/dependabot/github_actions/actions/setup-java-6
chore(deps): bump actions/setup-java from 5 to 6
|
|
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 5 to 6.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Bumps `agp` from 9.3.0 to 9.3.2.
Updates `com.android.application` from 9.3.0 to 9.3.2
Updates `com.android.test` from 9.3.0 to 9.3.2
Updates `com.android.kotlin.multiplatform.library` from 9.3.0 to 9.3.2
---
updated-dependencies:
- dependency-name: com.android.application
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: com.android.test
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: com.android.kotlin.multiplatform.library
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
chore(deps): bump kotlin from 2.4.0 to 2.4.10
|
|
chore(deps): bump agp from 9.2.1 to 9.3.0
|
|
|
|
Bumps `agp` from 9.2.1 to 9.3.0.
Updates `com.android.application` from 9.2.1 to 9.3.0
Updates `com.android.test` from 9.2.1 to 9.3.0
Updates `com.android.kotlin.multiplatform.library` from 9.2.1 to 9.3.0
---
updated-dependencies:
- dependency-name: com.android.application
dependency-version: 9.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: com.android.test
dependency-version: 9.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: com.android.kotlin.multiplatform.library
dependency-version: 9.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Bumps `kotlin` from 2.4.0 to 2.4.10.
Updates `org.jetbrains.kotlin.plugin.compose` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.4.0...v2.4.10)
Updates `org.jetbrains.kotlin.multiplatform` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.4.0...v2.4.10)
Updates `org.jetbrains.kotlin.plugin.serialization` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.4.0...v2.4.10)
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin.plugin.compose
dependency-version: 2.4.10
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin.multiplatform
dependency-version: 2.4.10
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin.plugin.serialization
dependency-version: 2.4.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
- README.md: replace removed setWheelRadius/setWheelColor/setWheelAlpha/setWheelImageBitmap
calls with direct property assignment (wheelRadius, wheelColor, wheelAlpha, wheelBitmap)
- README.md: replace removed setPaletteContentScale controller method with the
paletteContentScale parameter on ImageColorPicker
- docs/ApiControllerScreen.kt: same wheel property fix
- docs/ApiImageColorPickerScreen.kt: same paletteContentScale fix
|
|
skydoves/dependabot/github_actions/actions/checkout-7
chore(deps): bump actions/checkout from 6 to 7
|
|
skydoves/dependabot/gradle/com.vanniktech.maven.publish-0.37.0
chore(deps): bump com.vanniktech.maven.publish from 0.36.0 to 0.37.0
|
|
chore(deps): bump gradle-wrapper from 9.5.1 to 9.6.1
|
|
skydoves/dependabot/gradle/androidx.test.uiautomator-uiautomator-2.4.0
chore(deps): bump androidx.test.uiautomator:uiautomator from 2.3.0 to 2.4.0
|
|
skydoves/dependabot/gradle/androidxMacroBenchmark-1.5.0-alpha07
chore(deps): bump androidxMacroBenchmark from 1.5.0-alpha06 to 1.5.0-alpha07
|
|
Fix typos and misplaced KDoc across slider components
|
|
- Fix 'of th wheel' typo in AlphaSlider, BrightnessSlider, Slider
- Fix stray word in Slider's class-level KDoc
- Fix 'Crop ths source' typo in PaletteContentScale
- Fix 'sider' -> 'slider' typo (x3) in README
- Move misplaced initialColor KDoc sentence in AlphaSlider
|
|
Bumps `androidxMacroBenchmark` from 1.5.0-alpha06 to 1.5.0-alpha07.
Updates `androidx.benchmark:benchmark-macro-junit4` from 1.5.0-alpha06 to 1.5.0-alpha07
Updates `androidx.baselineprofile` from 1.5.0-alpha06 to 1.5.0-alpha07
---
updated-dependencies:
- dependency-name: androidx.benchmark:benchmark-macro-junit4
dependency-version: 1.5.0-alpha07
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: androidx.baselineprofile
dependency-version: 1.5.0-alpha07
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Bumps androidx.test.uiautomator:uiautomator from 2.3.0 to 2.4.0.
---
updated-dependencies:
- dependency-name: androidx.test.uiautomator:uiautomator
dependency-version: 2.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.5.1 to 9.6.1.
- [Release notes](https://github.com/gradle/gradle/releases)
- [Commits](https://github.com/gradle/gradle/compare/v9.5.1...v9.6.1)
---
updated-dependencies:
- dependency-name: gradle-wrapper
dependency-version: 9.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Bumps [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) from 0.36.0 to 0.37.0.
- [Release notes](https://github.com/vanniktech/gradle-maven-publish-plugin/releases)
- [Changelog](https://github.com/vanniktech/gradle-maven-publish-plugin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vanniktech/gradle-maven-publish-plugin/compare/0.36.0...0.37.0)
---
updated-dependencies:
- dependency-name: com.vanniktech.maven.publish
dependency-version: 0.37.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
- Add :demo:desktopApp (Compose JVM desktop application) consuming the
shared MainScreen.
- Move :wasmApp under :demo:wasmApp and consume the shared MainScreen.
- Migrate demo image picking from peekaboo-image-picker to FileKit.
- Set the demo Res class package to
com.github.skydoves.colorpickercomposedemo.shared via packageOfResClass.
- Drop the GlobalScope/CoroutineScope constructor from ColorPickerController;
ColorPicker now collects on a rememberCoroutineScope.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Spotless 6.21.0 bundled an old ktlint whose adapter could not parse the
editorConfig overrides against the newer ktlint-rule-engine-core on the
classpath, so spotlessCheck/spotlessApply failed before formatting any file.
- Bump spotless 6.21.0 -> 8.6.0 (ships ktlint 1.x).
- Exempt @Composable functions from the function-naming rule.
- Rename benchmark `packageName` const to `PACKAGE_NAME` (ktlint 1.x
property-naming rule; not auto-fixable).
- Reformat library/docs/benchmark sources for ktlint 1.x defaults
(single-line signatures, expression bodies, blank lines between when
branches).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Bump Kotlin to 2.4.0 and cmp to 1.11.1
|
|
|