/* eslint-disable react/jsx-key, react-native/no-inline-styles */ import { useState } from "react" import { TextStyle, View, ViewStyle } from "react-native" import { Text } from "@/components/Text" import { Checkbox, CheckboxToggleProps } from "@/components/Toggle/Checkbox" import { Radio, RadioToggleProps } from "@/components/Toggle/Radio" import { Switch, SwitchToggleProps } from "@/components/Toggle/Switch" import { translate } from "@/i18n/translate" import { $styles } from "@/theme/styles" import type { ThemedStyle } from "@/theme/types" import { s } from "@/utils/responsive" import { DemoDivider } from "../DemoDivider" import { Demo } from "./types" import { DemoUseCase } from "../DemoUseCase" function ControlledCheckbox(props: CheckboxToggleProps) { const [value, setValue] = useState(props.value || false) return setValue(!value)} /> } function ControlledRadio(props: RadioToggleProps) { const [value, setValue] = useState(props.value || false) return setValue(!value)} /> } function ControlledSwitch(props: SwitchToggleProps) { const [value, setValue] = useState(props.value || false) return setValue(!value)} /> } const $centeredOneThirdCol: ViewStyle = { width: "33.33333%", alignItems: "center", justifyContent: "center", } const $centeredText: ThemedStyle = ({ spacing }) => ({ textAlign: "center", width: "100%", marginTop: spacing.xs, }) export const DemoToggle: Demo = { name: "Toggle", description: "demoToggle:description", data: ({ theme, themed }) => [ , {translate("demoToggle:useCase.statuses.noStatus")} {translate("demoToggle:useCase.statuses.errorStatus")} {translate("demoToggle:useCase.statuses.disabledStatus")} , , {translate("demoToggle:useCase.styling.outerWrapper")} {translate("demoToggle:useCase.styling.innerWrapper")} {translate("demoToggle:useCase.styling.inputDetail")} , ], }