Skip to main content
PROYECTOVIVIANA

Switch

The props declared for Switch, generated from the types @proyecto-viviana/ui ships.

Import

import { Switch } from "@proyecto-viviana/ui";

Props

Props for Switch in @proyecto-viviana/ui
PropTypeDefaultDescription
slotstring—A slot name, used to inject props from a parent slotted context (mirrors upstream's `SlotProps`; our headless `ToggleSwitchProps` already extends it).
size'S' | 'M' | 'L' | 'XL' | 'sm' | 'md' | 'lg'—The size of the Switch.
isEmphasizedfalse | true—Whether the Switch should be displayed with an emphasized style.
stylesStyleString—Spectrum-defined generated classes.
UNSAFE_classNamestring—Additional CSS class name. Use only as a last resort.
UNSAFE_styleJSX.CSSProperties—Additional inline styles. Use only as a last resort.
classstring—Additional CSS class name.
refHTMLDivElement | ((el: HTMLDivElement) => void) | { current?: HTMLDivElement | null | undefined; }—Ref for the underlying field (root `<div>`) element.
inputRefHTMLInputElement | ((el: HTMLInputElement) => void) | { current?: HTMLInputElement | null | undefined; }—Ref for the underlying input element.
descriptionnumber | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement—A description for the Switch.
errorMessagenumber | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement—An error message for the Switch (rendered when invalid).
childrennumber | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement—Label text for the Switch.
idstring—The element's unique identifier. solidaria
onBlur(e: FocusEvent) => void—Handler that is called when the element loses focus. solidaria
onChange(isSelected: boolean) => void—Handler that is called when the element's selection state changes. solidaria
onClick(e: MouseEvent) => void—Handler that is called when the element is clicked. solidaria
onFocus(e: FocusEvent) => void—Handler that is called when the element receives focus. solidaria
onKeyDown(e: KeyboardEvent) => void—Handler that is called when a key is pressed. solidaria
onKeyUp(e: KeyboardEvent) => void—Handler that is called when a key is released. solidaria
aria-controlsstring—Identifies the element (or elements) whose contents or presence are controlled by the current element. solidaria
aria-describedbystring—Identifies the element (or elements) that describes the object. solidaria
aria-errormessagestring—Identifies the element (or elements) that provide an error message for the object. solidaria
aria-labelstring—Defines a string value that labels the current element. solidaria
aria-labelledbystring—Identifies the element (or elements) that labels the current element. solidaria
isDisabledfalse | true—Whether the element is disabled. solidaria
onPress(e: PressEvent) => void—Handler that is called when the press is released over the target. solidaria
onPressStart(e: PressEvent) => void—Handler that is called when a press interaction starts. solidaria
onPressEnd(e: PressEvent) => void—Handler that is called when a press interaction ends, either over the target or when the pointer leaves the target. solidaria
onPressUp(e: PressEvent) => void—Handler that is called when a press is released over the target, regardless of whether it started on the target or not. solidaria
onPressChange(isPressed: boolean) => void—Handler that is called when the press state changes. solidaria
autoFocusfalse | true—Whether to autofocus the element. solidaria
formstring—The form to associate the input with. solidaria
namestring—The name of the input element, used when submitting an HTML form. solidaria
valuestring—The value of the input element, used when submitting an HTML form. solidaria
excludeFromTabOrderfalse | true—Whether to exclude the element from the tab order. solidaria
onFocusChange(isFocused: boolean) => void—Handler that is called when the element's focus status changes. solidaria
isSelectedfalse | true—Whether the element should be selected (controlled). solidaria
defaultSelectedfalse | true—Whether the element should be selected by default (uncontrolled). solidaria
validationState'valid' | 'invalid'—Backward-compatible controlled validation state. solidaria
isReadOnlyfalse | true—Whether the element is read only. solidaria
isInvalidfalse | true—Whether the element is invalid. solidaria
isRequiredfalse | true—Whether the element is required. solidaria
validationBehavior'aria' | 'native'"native"`"native"` sets the `required` attribute and omits `aria-required`. `"aria"` does the reverse. S2 Checkbox default is native. solidaria
validateValidationFunction<boolean>—Custom validation for the toggle's selected state. solidaria

Declared in packages/viviana-ui/src/switch/ToggleSwitch.tsx.

TabSwitch props

Props for TabSwitch in @proyecto-viviana/ui
PropTypeDefaultDescription
options*SwitchOption[]—Options rendered as {@link SegmentedControlItem} children (`value` → `id`, `label` → children).
valuestring—Selected option `value`, mapped to SegmentedControl `selectedKey`. Omit when unset so first-item register runs.
onChange(value: string) => void—Called with the selected option `value` string. Maps to SegmentedControl `onSelectionChange`.
classstring—Class name applied to the SegmentedControl radiogroup (`class`).
aria-label*string—Accessible name for the radiogroup. Passed through to SegmentedControl `aria-label`. Required; not defaulted.

Declared in packages/viviana-ui/src/switch/index.tsx.

ToggleSwitch props

Props for ToggleSwitch in @proyecto-viviana/ui
PropTypeDefaultDescription
slotstring—A slot name, used to inject props from a parent slotted context (mirrors upstream's `SlotProps`; our headless `ToggleSwitchProps` already extends it).
size'S' | 'M' | 'L' | 'XL' | 'sm' | 'md' | 'lg'—The size of the Switch.
isEmphasizedfalse | true—Whether the Switch should be displayed with an emphasized style.
stylesStyleString—Spectrum-defined generated classes.
UNSAFE_classNamestring—Additional CSS class name. Use only as a last resort.
UNSAFE_styleJSX.CSSProperties—Additional inline styles. Use only as a last resort.
classstring—Additional CSS class name.
refHTMLDivElement | ((el: HTMLDivElement) => void) | { current?: HTMLDivElement | null | undefined; }—Ref for the underlying field (root `<div>`) element.
inputRefHTMLInputElement | ((el: HTMLInputElement) => void) | { current?: HTMLInputElement | null | undefined; }—Ref for the underlying input element.
descriptionnumber | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement—A description for the Switch.
errorMessagenumber | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement—An error message for the Switch (rendered when invalid).
childrennumber | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement—Label text for the Switch.
idstring—The element's unique identifier. solidaria
onBlur(e: FocusEvent) => void—Handler that is called when the element loses focus. solidaria
onChange(isSelected: boolean) => void—Handler that is called when the element's selection state changes. solidaria
onClick(e: MouseEvent) => void—Handler that is called when the element is clicked. solidaria
onFocus(e: FocusEvent) => void—Handler that is called when the element receives focus. solidaria
onKeyDown(e: KeyboardEvent) => void—Handler that is called when a key is pressed. solidaria
onKeyUp(e: KeyboardEvent) => void—Handler that is called when a key is released. solidaria
aria-controlsstring—Identifies the element (or elements) whose contents or presence are controlled by the current element. solidaria
aria-describedbystring—Identifies the element (or elements) that describes the object. solidaria
aria-errormessagestring—Identifies the element (or elements) that provide an error message for the object. solidaria
aria-labelstring—Defines a string value that labels the current element. solidaria
aria-labelledbystring—Identifies the element (or elements) that labels the current element. solidaria
isDisabledfalse | true—Whether the element is disabled. solidaria
onPress(e: PressEvent) => void—Handler that is called when the press is released over the target. solidaria
onPressStart(e: PressEvent) => void—Handler that is called when a press interaction starts. solidaria
onPressEnd(e: PressEvent) => void—Handler that is called when a press interaction ends, either over the target or when the pointer leaves the target. solidaria
onPressUp(e: PressEvent) => void—Handler that is called when a press is released over the target, regardless of whether it started on the target or not. solidaria
onPressChange(isPressed: boolean) => void—Handler that is called when the press state changes. solidaria
autoFocusfalse | true—Whether to autofocus the element. solidaria
formstring—The form to associate the input with. solidaria
namestring—The name of the input element, used when submitting an HTML form. solidaria
valuestring—The value of the input element, used when submitting an HTML form. solidaria
excludeFromTabOrderfalse | true—Whether to exclude the element from the tab order. solidaria
onFocusChange(isFocused: boolean) => void—Handler that is called when the element's focus status changes. solidaria
isSelectedfalse | true—Whether the element should be selected (controlled). solidaria
defaultSelectedfalse | true—Whether the element should be selected by default (uncontrolled). solidaria
validationState'valid' | 'invalid'—Backward-compatible controlled validation state. solidaria
isReadOnlyfalse | true—Whether the element is read only. solidaria
isInvalidfalse | true—Whether the element is invalid. solidaria
isRequiredfalse | true—Whether the element is required. solidaria
validationBehavior'aria' | 'native'"native"`"native"` sets the `required` attribute and omits `aria-required`. `"aria"` does the reverse. S2 Checkbox default is native. solidaria
validateValidationFunction<boolean>—Custom validation for the toggle's selected state. solidaria

Declared in packages/viviana-ui/src/switch/ToggleSwitch.tsx.

Props marked solidaria or solidaria-components come from the headless layer underneath and behave the same in both registers. Components that wrap a DOM element also accept that element's standard attributes, which are left out here on purpose — listing them would bury the props that are actually ours.