diff --git a/src/components/Segments.tsx b/src/components/Segments.tsx index b1ff166..0ce5c50 100644 --- a/src/components/Segments.tsx +++ b/src/components/Segments.tsx @@ -25,7 +25,7 @@ interface SegmentsProps { onChange?: (value: Option['value'] | undefined) => void; } -export const HSegmengts: Component = (props) => { +export const Segmengts: Component = (props) => { const mProps = mergeProps( { options: [], @@ -62,12 +62,15 @@ export const HSegmengts: Component = (props) => { }); const handleSelect = (value: Option['value']) => { + if (mProps.disabled) { + return; + } setSelected(value); mProps.onChange?.(value); }; return ( -
+
= (props) => { {(option, index) => (
(optionRefs[index] = el)} + aria-disabled={mProps.disabled} class={cx( 'z-[5] cursor-pointer rounded-sm px-2 py-1', selected() === option().value - ? 'text-on-primary-surface hover:bg-primary-surface-hover/45' - : 'text-on-surface hover:bg-surface/35', + ? 'not-aria-disabled:text-on-primary-surface aria-disabled:text-primary-disabled hover:not-aria-disabled:bg-primary-surface-hover/45' + : 'not-aria-disabled:text-on-surface aria-disabled:text-surface-disabled hover:not-aria-disabled:bg-surface/35', )} onClick={() => handleSelect(option().value)}> {option().label}