@@ -3,24 +3,20 @@ import { ct0 } from "~ui/i18n/ct0"
33import { t4multiselect } from "~ui/input/select/t4multiselect"
44import { classArr } from "~ui/utils/classArr"
55import type { SignalObject } from "~ui/utils/createSignalObject"
6- import type { HasChildren } from "~ui/utils/HasChildren"
7- import type { HasClass } from "~ui/utils/HasClass"
8- import { type HasDisabled , isDisabled } from "~ui/utils/HasDisabled"
96import type { HasGetOptions } from "~ui/utils/HasGetOptions"
7+ import type { MayHaveChildren } from "~ui/utils/MayHaveChildren"
8+ import type { MayHaveClass } from "~ui/utils/MayHaveClass"
9+ import { type MayHaveDisabledAccessor , isDisabled } from "~ui/utils/MayHaveDisabledAccessor"
1010import type { SelectionItem } from "~ui/utils/SelectionItem"
1111import type { ValueOrAccessor } from "~ui/utils/ValueOrAccessor"
1212
1313/**
1414 * https://github.com/radix-ui/primitives/blob/main/packages/react/radio-group/src/Radio.tsx
1515 */
16- export type RadioSwitchProps = {
16+ export interface RadioSwitchProps extends MayHaveClass , MayHaveChildren , RadioSwitchStateProps , HasGetOptions , MayHaveDisabledAccessor {
1717 id ?: string
1818 disabled ?: ValueOrAccessor < boolean >
19- } & HasClass &
20- HasChildren &
21- RadioSwitchStateProps &
22- HasGetOptions &
23- HasDisabled
19+ }
2420
2521type RadioSwitchStateProps = {
2622 valueSignal : SignalObject < SelectionItem | null >
@@ -48,11 +44,16 @@ export function RadioSwitch(p: RadioSwitchProps) {
4844 )
4945}
5046
51- function NoItems ( p : HasClass ) {
47+ function NoItems ( p : MayHaveClass ) {
5248 return < div class = { p . class } > { ct0 ( t4multiselect . No_entries ) } </ div >
5349}
5450
55- function Option ( p : { item : SelectionItem ; filled : boolean } & RadioSwitchStateProps & HasDisabled & HasClass ) {
51+ interface Option2Props extends RadioSwitchStateProps , MayHaveDisabledAccessor , MayHaveClass {
52+ item : SelectionItem
53+ filled : boolean
54+ }
55+
56+ function Option ( p : Option2Props ) {
5657 // console.log("Option", p.item.value, "value:", p.valueSignal.get())
5758 return (
5859 < button
@@ -88,9 +89,9 @@ function optionToggle(p: OptionProps) {
8889 p . valueSignal . set ( p . item )
8990}
9091
91- type OptionProps = {
92+ export interface OptionProps extends RadioSwitchStateProps {
9293 item : SelectionItem
93- } & RadioSwitchStateProps
94+ }
9495
9596function isChecked ( p : OptionProps ) {
9697 return p . item . value === p . valueSignal . get ( ) ?. value
0 commit comments