summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2024-12-17 22:47:55 +0100
committerOliver <oliver@mohlin.dev>2024-12-17 22:47:55 +0100
commit0e780afbce9c62706eb0d8428093746c82eeac73 (patch)
tree8bebe8a3047f8d8f2d8ce6053d9777cdfa4ed15d
parent30491067b2071ae9a9b23da3d492da0f21b7a59b (diff)
downloadmullvadvpn-0e780afbce9c62706eb0d8428093746c82eeac73.tar.xz
mullvadvpn-0e780afbce9c62706eb0d8428093746c82eeac73.zip
Move transient props to types folder
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/components/ImageView.tsx2
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/components/typography/Text.tsx2
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts1
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/types/transient-props.ts9
4 files changed, 12 insertions, 2 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/ImageView.tsx b/desktop/packages/mullvad-vpn/src/renderer/components/ImageView.tsx
index f40a93fbbc..20ec42236d 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/components/ImageView.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/components/ImageView.tsx
@@ -1,7 +1,7 @@
import React, { useMemo } from 'react';
import styled from 'styled-components';
-import { NonTransientProps } from '../lib/styles';
+import { NonTransientProps } from '../lib/types';
export interface IImageViewProps
extends NonTransientProps<IImageMaskProps, 'tintColor' | 'tintHoverColor'> {
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/components/typography/Text.tsx b/desktop/packages/mullvad-vpn/src/renderer/lib/components/typography/Text.tsx
index a590fbe119..93834cb4a8 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/lib/components/typography/Text.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/components/typography/Text.tsx
@@ -2,7 +2,7 @@ import { forwardRef } from 'react';
import styled from 'styled-components';
import { Colors, Typography, typography, TypographyProperties } from '../../foundations';
-import { TransientProps } from '../../styles';
+import { TransientProps } from '../../types';
export type TextProps = React.PropsWithChildren<{
variant?: Typography;
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts b/desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts
new file mode 100644
index 0000000000..dd810c8061
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/types/index.ts
@@ -0,0 +1 @@
+export * from './transient-props';
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/types/transient-props.ts b/desktop/packages/mullvad-vpn/src/renderer/lib/types/transient-props.ts
new file mode 100644
index 0000000000..ea527ab791
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/types/transient-props.ts
@@ -0,0 +1,9 @@
+type NonTransientPropKey<K> = K extends `$${infer L}` ? L : K;
+
+export type NonTransientProps<T, K extends NonTransientPropKey<keyof T>> = {
+ [P in keyof T as NonTransientPropKey<P> extends K ? NonTransientPropKey<P> : P]: T[P];
+};
+
+export type TransientProps<T, K extends keyof T = keyof T> = {
+ [P in keyof T as P extends K ? `$${P & string}` : P]: T[P];
+};