Week Day Selector
Compact weekday picker with single or multi-day selection, multiple shapes, joined or spaced layouts, and full keyboard support.
Basic Usage
Single & Multiple Selection
Single returns a day number, multiple returns an array.
import { WeekDaySelector } from 'fluxo-ui';
const [day, setDay] = useState<number | null>(1);
<WeekDaySelector value={day} onChange={setDay} />
const [days, setDays] = useState<number[]>([1, 3, 5]);
<WeekDaySelector multiple value={days} onChange={setDays} />Fill Styles
Fill Styles
Solid (filled background), outlined (border-only), or subtle (tinted background).
<WeekDaySelector fill="solid" variant="primary" multiple defaultValue={[1, 3, 5]} />
<WeekDaySelector fill="outlined" variant="primary" multiple defaultValue={[1, 3, 5]} />
<WeekDaySelector fill="subtle" variant="primary" multiple defaultValue={[1, 3, 5]} />Shapes
Shapes
Rounded pill, squared, or circle.
<WeekDaySelector shape="rounded" defaultValue={2} />
<WeekDaySelector shape="squared" defaultValue={2} />
<WeekDaySelector shape="circle" defaultValue={2} />Spacing
Spacing
Spaced or joined (segmented) layouts.
<WeekDaySelector spacing="spaced" multiple defaultValue={[1, 3]} />
<WeekDaySelector spacing="joined" multiple defaultValue={[1, 3]} />Sizes & Variants
Sizes & Color Variants
Three sizes and four color variants.
<WeekDaySelector size="sm" variant="primary" defaultValue={3} />
<WeekDaySelector size="md" variant="success" defaultValue={3} />
<WeekDaySelector size="lg" variant="danger" defaultValue={3} />Import
import { WeekDaySelector } from 'fluxo-ui';
import type { WeekDaySelectorProps } from 'fluxo-ui';Props
valuenumber | number[] | nullControlled value. Single returns number, multiple returns number[].
valuenumber | number[] | nullControlled value. Single returns number, multiple returns number[].
defaultValuenumber | number[] | nullUncontrolled default value.
defaultValuenumber | number[] | nullUncontrolled default value.
multipleboolean"false"Enable multi-day selection.
multipleboolean"false"Enable multi-day selection.
shape'rounded' | 'squared' | 'circle'"'rounded'"Button shape.
shape'rounded' | 'squared' | 'circle'"'rounded'"Button shape.
spacing'spaced' | 'joined'"'spaced'"Gap between items (joined shares borders).
spacing'spaced' | 'joined'"'spaced'"Gap between items (joined shares borders).
size'sm' | 'md' | 'lg'"'md'"Button size.
size'sm' | 'md' | 'lg'"'md'"Button size.
variant'default' | 'primary' | 'success' | 'danger'"'primary'"Selected color variant.
variant'default' | 'primary' | 'success' | 'danger'"'primary'"Selected color variant.
fill'solid' | 'outlined' | 'subtle'"'solid'"How selected items are styled — filled background, border-only, or tinted background.
fill'solid' | 'outlined' | 'subtle'"'solid'"How selected items are styled — filled background, border-only, or tinted background.
firstDayOfWeeknumber"0"First day of week (0=Sun, 1=Mon).
firstDayOfWeeknumber"0"First day of week (0=Sun, 1=Mon).
labelsstring[]Custom day labels. Defaults to [Su, Mo, Tu, We, Th, Fr, Sa].
labelsstring[]Custom day labels. Defaults to [Su, Mo, Tu, We, Th, Fr, Sa].
disabledDaysnumber[]Array of disabled day indexes (0–6).
disabledDaysnumber[]Array of disabled day indexes (0–6).
disabledboolean"false"Disable the entire control.
disabledboolean"false"Disable the entire control.
onChange(value) => voidCalled on selection change.
onChange(value) => voidCalled on selection change.