summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-03-13 08:04:56 +0100
committerMarkus Pettersson <markus.pettersson@mullvad.net>2025-03-18 21:32:10 +0100
commita9d0b33906bec5aefc758b8a08071f55e63fb75d (patch)
tree6c351a2aa992dbebd87724393aef3801ab3489b2
parente145159131c1b750d3b3f4c7bba7d44278191f94 (diff)
downloadmullvadvpn-a9d0b33906bec5aefc758b8a08071f55e63fb75d.tar.xz
mullvadvpn-a9d0b33906bec5aefc758b8a08071f55e63fb75d.zip
Add polymorphic prop type
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts1
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/types/polymorphic-props.ts4
2 files changed, 5 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts b/desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts
index dd810c8061..49666415bf 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts
@@ -1 +1,2 @@
+export * from './polymorphic-props';
export * from './transient-props';
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/types/polymorphic-props.ts b/desktop/packages/mullvad-vpn/src/renderer/lib/types/polymorphic-props.ts
new file mode 100644
index 0000000000..d0b9895d35
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/types/polymorphic-props.ts
@@ -0,0 +1,4 @@
+export type PolymorphicProps<E extends React.ElementType, Props = object> = Props &
+ Omit<React.ComponentPropsWithoutRef<E>, keyof Props> & {
+ as?: E;
+ };