Part of the compose rich-formatting epic — stacked on the rich-text foundation ticket (branch feat-richtext-foundation), which provides RichStyle.FontColor(argb) and the shared ColorSwatchRow composable.
Scope
Palette dialog (new ui/compose/format/FontColorDialog.kt) with ~8 fixed swatches via ColorSwatchRow, plus "Default" to clear; applies RichStyle.FontColor(argb) to the selection; toolbar button.
Acceptance
color:#rrggbb round-trips; regression test that colored text which is also a link round-trips both (the foundation's annotation identity keeps link paint and font color separate); androidTest for the dialog.
Part of the compose rich-formatting epic — stacked on the rich-text foundation ticket (branch `feat-richtext-foundation`), which provides `RichStyle.FontColor(argb)` and the shared `ColorSwatchRow` composable.
**Scope**
- Palette dialog (new `ui/compose/format/FontColorDialog.kt`) with ~8 fixed swatches via `ColorSwatchRow`, plus "Default" to clear; applies `RichStyle.FontColor(argb)` to the selection; toolbar button.
**Acceptance**
- `color:#rrggbb` round-trips; regression test that colored text which is *also* a link round-trips both (the foundation's annotation identity keeps link paint and font color separate); androidTest for the dialog.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of the compose rich-formatting epic — stacked on the rich-text foundation ticket (branch
feat-richtext-foundation), which providesRichStyle.FontColor(argb)and the sharedColorSwatchRowcomposable.Scope
ui/compose/format/FontColorDialog.kt) with ~8 fixed swatches viaColorSwatchRow, plus "Default" to clear; appliesRichStyle.FontColor(argb)to the selection; toolbar button.Acceptance
color:#rrggbbround-trips; regression test that colored text which is also a link round-trips both (the foundation's annotation identity keeps link paint and font color separate); androidTest for the dialog.