← All @molecule/* packages · App templates
@molecule/app-color-picker-defaultProvider bond · color-picker · App (browser) · v1.0.1 · Apache-2.0
Default provider for @molecule/app-color-picker
npm install @molecule/app-color-picker-defaultnpm · Source on GitHub · Implements @molecule/app-color-picker
@molecule/app-color-picker-default is a provider bond on the app (browser) side: it implements the color-picker core interface (@molecule/app-color-picker) with a concrete vendor or library behind it.
Your code calls the core; you wire this provider once at startup. Swapping vendors later is one line in that wiring, not a rewrite.
import { provider } from '@molecule/app-color-picker-default'
import { setProvider } from '@molecule/app-color-picker'
setProvider(provider)Works with: @molecule/app-color-picker
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
Default provider for @molecule/app-color-picker.
Provides an in-memory color picker implementation conforming to the molecule color picker provider interface.
import { provider } from '@molecule/app-color-picker-default'
import { setProvider } from '@molecule/app-color-picker'
setProvider(provider)
provider
npm install @molecule/app-color-picker-default @molecule/app-color-picker
DefaultColorPickerConfigProvider-specific configuration options.
interface DefaultColorPickerConfig {
/** Default color format. Defaults to `'hex'`. */
format?: 'hex' | 'rgb' | 'hsl'
}
createProvider(config)Creates a default color picker provider.
function createProvider(config?: DefaultColorPickerConfig): ColorPickerProvider
config — Optional provider configuration. config.format supplies the default color format for every picker that does not pass its own per-call options.format.Returns: A configured ColorPickerProvider.
providerDefault color picker provider instance.
const provider: ColorPickerProvider
Implements @molecule/app-color-picker interface.
Setup function to register this provider with the core interface:
import { setProvider } from '@molecule/app-color-picker'
import { provider } from '@molecule/app-color-picker-default'
export function setupColorPickerDefault(): void {
setProvider(provider)
}
Peer dependencies:
@molecule/app-color-picker ^1.0.1@molecule/app-color-pickerThis default instance is a plain value/format store: setFormat() only
records the format — it does NOT convert the current value between
hex/rgb/hsl, and setValue() accepts any string without validation or
normalization. If your UI offers format switching, convert the value
yourself before calling setValue(). presets, showAlpha, and
showInput are carried in options for YOUR rendering layer — the
instance does not act on them. createProvider({ format }) sets the
DEFAULT format for every picker created by that provider; a per-picker
createPicker({ format }) still overrides it, falling back to 'hex'
when neither is set.
Integration checklist — drive the real UI (live preview, no mocks), adapt each item to this app's actual screens/flows, and check every box off one by one. A box you can't check is an integration bug to fix — not a skip:
format (hex/rgb/hsl).format: 'rgb' shows rgb(...), 'hex' shows #...; getValue() and the
display agree, and after setFormat() getFormat() reports the new format.showAlpha: true, changing opacity is reflected in the emitted
value (getValue()/onChange include the alpha channel, e.g. rgba/8-digit
hex); with showAlpha false there is no opacity control and the value stays
fully opaque.presets swatches sets exactly that color —
getValue() equals the preset string and onChange fires with it.value), reflected in both the
control and the display.showInput text field is rejected or
normalized — never emitted as a broken value; getValue()/onChange only
ever produce a valid color in the configured format.