summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2026-10-05Merge pull request #222 from ↵HEADmainJaewoong Eum1-1/+1
skydoves/dependabot/gradle/com.diffplug.spotless-8.10.3 chore(deps): bump com.diffplug.spotless from 8.10.2 to 8.10.3
2026-09-29chore(deps): bump com.diffplug.spotless from 8.10.2 to 8.10.3dependabot/gradle/com.diffplug.spotless-8.10.3dependabot[bot]1-1/+1
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>
2026-09-16Merge pull request #216 from skydoves/release/1.3.01.3.0Jaewoong Eum11-28/+802
Prepare for release 1.3.0
2026-09-16Prepare for release 1.3.0skydoves11-28/+802
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.
2026-09-16Merge pull request #192 from iprashantpanwar/fix/stale-controller-api-docsJaewoong Eum4-19/+26
Fix stale ColorPickerController API examples in README and docs site
2026-09-16Merge pull request #195 from Azerlag/feat/ui-components-attachment-mutationJaewoong Eum5-14/+289
support for sliders dynamic attachment and detachment
2026-09-16Fix the two remaining setPaletteContentScale mentionsskydoves2-3/+3
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.
2026-09-16Merge branch 'main' into docs-api-syncskydoves73-414/+3015
2026-09-16Count attached sliders instead of flagging themskydoves5-53/+274
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.
2026-09-16Merge branch 'main' into slider-attachmentskydoves73-414/+3015
2026-09-16Merge pull request #182 from sproctor/feat/desktop-demoJaewoong Eum27-224/+171
Add desktop demo
2026-09-16Merge main into the desktop demoskydoves48-180/+2855
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.
2026-09-16Merge pull request #214 from skydoves/chore/dependenciesJaewoong Eum22-106/+79
Bump Gradle, AGP, Kotlin, Compose and Spotless
2026-09-16Bump Gradle, AGP, Kotlin, Compose and Spotlessskydoves22-106/+79
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.
2026-09-16Merge pull request #213 from skydoves/feat/on-color-picking-finishedJaewoong Eum7-6/+206
Add onColorPickingFinished to the pickers
2026-09-16Merge pull request #212 from skydoves/fix/slidersJaewoong Eum13-64/+637
Fix slider rendering and let sliders stand alone
2026-09-16Merge pull request #211 from skydoves/fix/image-palette-boundsJaewoong Eum4-13/+189
Ignore taps that land outside the palette
2026-09-16Merge pull request #210 from skydoves/fix/picker-selection-stateJaewoong Eum7-52/+361
Fix pickers losing the color they were given
2026-09-16Merge pull request #209 from skydoves/test/infrastructureJaewoong Eum16-11/+1434
Add a test suite for the library
2026-09-16Add onColorPickingFinished to the pickersskydoves7-6/+206
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.
2026-09-16Fix slider rendering and let sliders stand aloneskydoves13-64/+637
- 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.
2026-09-16Ignore taps that land outside the paletteskydoves4-13/+189
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.
2026-09-16Fix pickers losing the color they were givenskydoves7-52/+361
- 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.
2026-09-16Add a test suite for the libraryskydoves16-11/+1434
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.
2026-09-02Merge pull request #203 from skydoves/dependabot/gradle/agp-9.3.2Jaewoong Eum1-1/+1
chore(deps): bump agp from 9.3.0 to 9.3.2
2026-09-02Merge pull request #205 from ↵Jaewoong Eum4-6/+6
skydoves/dependabot/github_actions/actions/setup-java-6 chore(deps): bump actions/setup-java from 5 to 6
2026-08-27chore(deps): bump actions/setup-java from 5 to 6dependabot/github_actions/actions/setup-java-6dependabot[bot]4-6/+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>
2026-08-24chore(deps): bump agp from 9.3.0 to 9.3.2dependabot/gradle/agp-9.3.2dependabot[bot]1-1/+1
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>
2026-07-23Merge pull request #193 from skydoves/dependabot/gradle/kotlin-2.4.10Jaewoong Eum1-1/+1
chore(deps): bump kotlin from 2.4.0 to 2.4.10
2026-07-23Merge pull request #194 from skydoves/dependabot/gradle/agp-9.3.0Jaewoong Eum1-1/+1
chore(deps): bump agp from 9.2.1 to 9.3.0
2026-07-21support for sliders dynamic attachment and detachmentAzerlag4-6/+60
2026-07-20chore(deps): bump agp from 9.2.1 to 9.3.0dependabot/gradle/agp-9.3.0dependabot[bot]1-1/+1
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>
2026-07-20chore(deps): bump kotlin from 2.4.0 to 2.4.10dependabot/gradle/kotlin-2.4.10dependabot[bot]1-1/+1
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>
2026-07-20Fix stale ColorPickerController API examples in README and docs siteprshntpnwr3-16/+23
- 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
2026-07-19Merge pull request #184 from ↵Jaewoong Eum4-6/+6
skydoves/dependabot/github_actions/actions/checkout-7 chore(deps): bump actions/checkout from 6 to 7
2026-07-19Merge pull request #186 from ↵Jaewoong Eum1-1/+1
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
2026-07-19Merge pull request #187 from skydoves/dependabot/gradle/gradle-wrapper-9.6.1Jaewoong Eum3-5/+5
chore(deps): bump gradle-wrapper from 9.5.1 to 9.6.1
2026-07-19Merge pull request #189 from ↵Jaewoong Eum1-1/+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
2026-07-19Merge pull request #190 from ↵Jaewoong Eum1-1/+1
skydoves/dependabot/gradle/androidxMacroBenchmark-1.5.0-alpha07 chore(deps): bump androidxMacroBenchmark from 1.5.0-alpha06 to 1.5.0-alpha07
2026-07-19Merge pull request #191 from iprashantpanwar/fix/slider-typos-and-kdocJaewoong Eum5-10/+10
Fix typos and misplaced KDoc across slider components
2026-07-19Fix typos and misplaced KDoc across slider componentsprshntpnwr5-10/+10
- 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
2026-07-02chore(deps): bump androidxMacroBenchmarkdependabot/gradle/androidxMacroBenchmark-1.5.0-alpha07dependabot[bot]1-1/+1
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>
2026-07-02chore(deps): bump androidx.test.uiautomator:uiautomatordependabot/gradle/androidx.test.uiautomator-uiautomator-2.4.0dependabot[bot]1-1/+1
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>
2026-06-26chore(deps): bump gradle-wrapper from 9.5.1 to 9.6.1dependabot/gradle/gradle-wrapper-9.6.1dependabot[bot]3-5/+5
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>
2026-06-22chore(deps): bump com.vanniktech.maven.publish from 0.36.0 to 0.37.0dependabot/gradle/com.vanniktech.maven.publish-0.37.0dependabot[bot]1-1/+1
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>
2026-06-18chore(deps): bump actions/checkout from 6 to 7dependabot/github_actions/actions/checkout-7dependabot[bot]4-6/+6
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>
2026-06-08Add desktop demo and rework demo modulesSean Proctor22-193/+142
- 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>
2026-06-08Update Spotless to 8.6.0Sean Proctor15-85/+62
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>
2026-06-06Merge pull request #181 from skydoves/kotlin/2.4.01.2.0Jaewoong Eum4-8/+8
Bump Kotlin to 2.4.0 and cmp to 1.11.1
2026-06-06Bump Kotlin to 2.4.0 and cmp to 1.11.1skydoves4-8/+8