From a4b9e0e30a2cfcb9fa9cc3b7fe6282d1ff2c734f Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Fri, 28 Nov 2025 18:05:27 -0800 Subject: [PATCH] fix: bits-ui component type mismatches with exactOptionalPropertyTypes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Select.svelte: Use conditional spreading for optional `disabled` prop and `value` prop - Switch.svelte: Conditionally spread `name` and `value` props - Segment/RepSegment: Remove HTMLButtonAttributes extension and handle disabled prop properly - Replace inline `import('svelte').Snippet` with proper import statements Fixes type errors where bits-ui prop types don't include explicit `undefined` for optional properties, which conflicts with `exactOptionalPropertyTypes: true`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/lib/components/ui/Select.svelte | 29 ++++++++++++++++--- .../ui/segmented-control/RepSegment.svelte | 12 ++++---- .../ui/segmented-control/Segment.svelte | 14 ++++++--- .../segmented-control/SegmentedControl.svelte | 3 +- src/lib/components/ui/switch/Switch.svelte | 4 +-- 5 files changed, 46 insertions(+), 16 deletions(-) diff --git a/src/lib/components/ui/Select.svelte b/src/lib/components/ui/Select.svelte index 51e8febb..e806d6c5 100644 --- a/src/lib/components/ui/Select.svelte +++ b/src/lib/components/ui/Select.svelte @@ -92,7 +92,13 @@ {/if} - + {#if selected?.image} {selected.label} @@ -104,7 +110,11 @@ {#each options as option} - + {#snippet children({ selected })} {#if option.image} {option.label} @@ -127,7 +137,14 @@ {/if} {:else} - + {#if selected?.image} {selected.label} @@ -139,7 +156,11 @@ {#each options as option} - + {#snippet children({ selected })} {#if option.image} {option.label} diff --git a/src/lib/components/ui/segmented-control/RepSegment.svelte b/src/lib/components/ui/segmented-control/RepSegment.svelte index 3ad80787..497a73d2 100644 --- a/src/lib/components/ui/segmented-control/RepSegment.svelte +++ b/src/lib/components/ui/segmented-control/RepSegment.svelte @@ -3,14 +3,16 @@ {#snippet children({ checked })} {#if checked} diff --git a/src/lib/components/ui/segmented-control/Segment.svelte b/src/lib/components/ui/segmented-control/Segment.svelte index 90d4f5e9..1fc93f00 100644 --- a/src/lib/components/ui/segmented-control/Segment.svelte +++ b/src/lib/components/ui/segmented-control/Segment.svelte @@ -4,16 +4,18 @@ - + {#snippet children({ checked })} {#if checked}
diff --git a/src/lib/components/ui/segmented-control/SegmentedControl.svelte b/src/lib/components/ui/segmented-control/SegmentedControl.svelte index 61617497..25a95182 100644 --- a/src/lib/components/ui/segmented-control/SegmentedControl.svelte +++ b/src/lib/components/ui/segmented-control/SegmentedControl.svelte @@ -4,6 +4,7 @@