diff --git a/change/@fluentui-react-native-adapters-ee1da303-9b31-42cd-90c9-778c2bae991c.json b/change/@fluentui-react-native-adapters-ee1da303-9b31-42cd-90c9-778c2bae991c.json new file mode 100644 index 00000000000..09a4b594bd7 --- /dev/null +++ b/change/@fluentui-react-native-adapters-ee1da303-9b31-42cd-90c9-778c2bae991c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Fix the tests", + "packageName": "@fluentui-react-native/adapters", + "email": "ruaraki@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/utils/adapters/src/adapter.types.macos.ts b/packages/utils/adapters/src/adapter.types.macos.ts index ab20e3e535b..8f1731182dd 100644 --- a/packages/utils/adapters/src/adapter.types.macos.ts +++ b/packages/utils/adapters/src/adapter.types.macos.ts @@ -1,4 +1,15 @@ -import type { TextProps, ViewProps, ImageProps, HostComponent, NativeSyntheticEvent } from 'react-native'; +import type { + TextProps, + ViewProps, + ImageProps, + HostComponent, + NativeSyntheticEvent, + Animated, + StyleProp, + ImageStyle, + TextStyle, + ViewStyle, +} from 'react-native'; /** * https://developer.mozilla.org/en-US/docs/Web/API/UIEvent @@ -109,6 +120,83 @@ export interface KeyEvent extends NativeSyntheticEvent {} export type DraggedType = 'fileUrl'; export type DraggedTypesType = DraggedType | DraggedType[]; +type AnimatableNumericValue = number | Animated.AnimatedNode; +type AnimatableStringValue = string | Animated.AnimatedNode; +interface PerpectiveTransform { + perspective: AnimatableNumericValue; +} + +interface RotateTransform { + rotate: AnimatableStringValue; +} + +interface RotateXTransform { + rotateX: AnimatableStringValue; +} + +interface RotateYTransform { + rotateY: AnimatableStringValue; +} + +interface RotateZTransform { + rotateZ: AnimatableStringValue; +} + +interface ScaleTransform { + scale: AnimatableNumericValue; +} + +interface ScaleXTransform { + scaleX: AnimatableNumericValue; +} + +interface ScaleYTransform { + scaleY: AnimatableNumericValue; +} + +interface TranslateXTransform { + translateX: AnimatableNumericValue; +} + +interface TranslateYTransform { + translateY: AnimatableNumericValue; +} + +interface SkewXTransform { + skewX: AnimatableStringValue; +} + +interface SkewYTransform { + skewY: AnimatableStringValue; +} + +interface MatrixTransform { + matrix: AnimatableNumericValue[]; +} + +type MaximumOneOf = K extends keyof T ? { [P in K]: T[K] } & { [P in Exclude]?: never } : never; + +type MutableTransformStyle = T & { + transform?: + | MaximumOneOf< + PerpectiveTransform & + RotateTransform & + RotateXTransform & + RotateYTransform & + RotateZTransform & + ScaleTransform & + ScaleXTransform & + ScaleYTransform & + TranslateXTransform & + TranslateYTransform & + SkewXTransform & + SkewYTransform & + MatrixTransform + >[] + | string + | undefined; +}; + export type IAdapterMacOSViewProps = ViewProps & { acceptsFirstMouse?: boolean | undefined; allowsVibrancy?: boolean | undefined; @@ -124,8 +212,13 @@ export type IAdapterMacOSViewProps = ViewProps & { validKeysDown?: string[] | undefined; validKeysUp?: string[] | undefined; draggedTypes?: DraggedTypesType | undefined; + + style?: StyleProp> | undefined; +}; +export type IAdapterMacOSTextProps = Omit & { + style?: StyleProp> | undefined; }; -export type IAdapterMacOSTextProps = TextProps; export type IAdapterMacOSImageProps = ImageProps & { tooltip?: string; + style?: StyleProp> | undefined; }; diff --git a/packages/utils/adapters/src/adapter.types.win32.ts b/packages/utils/adapters/src/adapter.types.win32.ts index d976cc08ecf..da2e129c230 100644 --- a/packages/utils/adapters/src/adapter.types.win32.ts +++ b/packages/utils/adapters/src/adapter.types.win32.ts @@ -1,4 +1,14 @@ -import type { TextProps, ViewProps, ImageProps, NativeSyntheticEvent, HostComponent } from 'react-native'; +import type { + TextProps, + ViewProps, + ImageProps, + NativeSyntheticEvent, + HostComponent, + StyleProp, + TextStyle, + Animated, + ImageStyle, +} from 'react-native'; export interface INativeKeyboardEvent { altKey: boolean; @@ -258,7 +268,84 @@ export type TextWin32TextStyle = | 'ExtraLargeStandard' | 'HugeStandard'; -export type IAdapterWin32TextProps = TextProps & { +type AnimatableNumericValue = number | Animated.AnimatedNode; +type AnimatableStringValue = string | Animated.AnimatedNode; +interface PerpectiveTransform { + perspective: AnimatableNumericValue; +} + +interface RotateTransform { + rotate: AnimatableStringValue; +} + +interface RotateXTransform { + rotateX: AnimatableStringValue; +} + +interface RotateYTransform { + rotateY: AnimatableStringValue; +} + +interface RotateZTransform { + rotateZ: AnimatableStringValue; +} + +interface ScaleTransform { + scale: AnimatableNumericValue; +} + +interface ScaleXTransform { + scaleX: AnimatableNumericValue; +} + +interface ScaleYTransform { + scaleY: AnimatableNumericValue; +} + +interface TranslateXTransform { + translateX: AnimatableNumericValue; +} + +interface TranslateYTransform { + translateY: AnimatableNumericValue; +} + +interface SkewXTransform { + skewX: AnimatableStringValue; +} + +interface SkewYTransform { + skewY: AnimatableStringValue; +} + +interface MatrixTransform { + matrix: AnimatableNumericValue[]; +} + +type MaximumOneOf = K extends keyof T ? { [P in K]: T[K] } & { [P in Exclude]?: never } : never; + +type MutableTransformStyle = Omit & { + transform?: + | MaximumOneOf< + PerpectiveTransform & + RotateTransform & + RotateXTransform & + RotateYTransform & + RotateZTransform & + ScaleTransform & + ScaleXTransform & + ScaleYTransform & + TranslateXTransform & + TranslateYTransform & + SkewXTransform & + SkewYTransform & + MatrixTransform + >[] + | string + | undefined; +}; + +export type IAdapterWin32TextProps = Omit & { onKeyDown?: (args: IKeyboardEvent) => void; onKeyDownCapture?: (args: IKeyboardEvent) => void; onKeyUp?: (args: IKeyboardEvent) => void; @@ -297,6 +384,8 @@ export type IAdapterWin32TextProps = TextProps & { focusable?: boolean; textStyle?: TextWin32TextStyle; tooltip?: string; + + style?: StyleProp> | undefined; }; export type IAdapterWin32ImageProps = ImageProps & { @@ -317,4 +406,6 @@ export type IAdapterWin32ImageProps = ImageProps & { 'aria-level'?: number | undefined; 'aria-controls'?: string | undefined; 'aria-describedby'?: string | undefined; + + style?: StyleProp> | undefined; }; diff --git a/packages/utils/adapters/src/adapter.types.windows.ts b/packages/utils/adapters/src/adapter.types.windows.ts index 5e5c0319f1b..76ee867c47d 100644 --- a/packages/utils/adapters/src/adapter.types.windows.ts +++ b/packages/utils/adapters/src/adapter.types.windows.ts @@ -1,4 +1,4 @@ -import type { TextProps, ViewProps, ImageProps, NativeSyntheticEvent } from 'react-native'; +import type { TextProps, ViewProps, ImageProps, NativeSyntheticEvent, Animated } from 'react-native'; export interface INativeKeyboardEvent { altKey: boolean; @@ -94,6 +94,83 @@ export type AccessibilityAnnotationInfo = Readonly<{ target?: string; }>; +type AnimatableNumericValue = number | Animated.AnimatedNode; +type AnimatableStringValue = string | Animated.AnimatedNode; +interface PerpectiveTransform { + perspective: AnimatableNumericValue; +} + +interface RotateTransform { + rotate: AnimatableStringValue; +} + +interface RotateXTransform { + rotateX: AnimatableStringValue; +} + +interface RotateYTransform { + rotateY: AnimatableStringValue; +} + +interface RotateZTransform { + rotateZ: AnimatableStringValue; +} + +interface ScaleTransform { + scale: AnimatableNumericValue; +} + +interface ScaleXTransform { + scaleX: AnimatableNumericValue; +} + +interface ScaleYTransform { + scaleY: AnimatableNumericValue; +} + +interface TranslateXTransform { + translateX: AnimatableNumericValue; +} + +interface TranslateYTransform { + translateY: AnimatableNumericValue; +} + +interface SkewXTransform { + skewX: AnimatableStringValue; +} + +interface SkewYTransform { + skewY: AnimatableStringValue; +} + +interface MatrixTransform { + matrix: AnimatableNumericValue[]; +} + +type MaximumOneOf = K extends keyof T ? { [P in K]: T[K] } & { [P in Exclude]?: never } : never; + +type MutableTransformStyle = T & { + transform?: + | MaximumOneOf< + PerpectiveTransform & + RotateTransform & + RotateXTransform & + RotateYTransform & + RotateZTransform & + ScaleTransform & + ScaleXTransform & + ScaleYTransform & + TranslateXTransform & + TranslateYTransform & + SkewXTransform & + SkewYTransform & + MatrixTransform + >[] + | string + | undefined; +}; + export type IAdapterWindowsViewProps = ViewProps & { onKeyDown?: (args: IKeyboardEvent) => void; onKeyDownCapture?: (args: IKeyboardEvent) => void; @@ -160,6 +237,8 @@ export type IAdapterWindowsViewProps = ViewProps & { | 'timer' | 'list' | 'toolbar'; + + style?: MutableTransformStyle; }; /** @@ -179,13 +258,15 @@ export type TextWindowsTextStyle = | 'ExtraLargeStandard' | 'HugeStandard'; -export type IAdapterWindowsTextProps = TextProps & { +export type IAdapterWindowsTextProps = Omit & { accessibilitySetSize?: number; accessibilityPosInSet?: number; accessibilityLevel?: number; 'aria-posinset'?: number | undefined; 'aria-setsize'?: number | undefined; 'aria-level'?: number | undefined; + + style?: MutableTransformStyle; }; export type IAdapterWindowsImageProps = ImageProps & { @@ -195,4 +276,6 @@ export type IAdapterWindowsImageProps = ImageProps & { 'aria-posinset'?: number | undefined; 'aria-setsize'?: number | undefined; 'aria-level'?: number | undefined; + + style?: MutableTransformStyle; }; diff --git a/yarn.lock b/yarn.lock index 9b90e2e751c..bc53cf47890 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7035,6 +7035,13 @@ __metadata: languageName: node linkType: hard +"@react-native/gradle-plugin@npm:0.73.5": + version: 0.73.5 + resolution: "@react-native/gradle-plugin@npm:0.73.5" + checksum: 10c0/d71eadd614b1b646c5f1c943428ff7501bbb519e6965f431f2166ef9e287ca9ab352c21bc2975c49d1ef020d50f37c19a35340269a7b72e76791015432a84156 + languageName: node + linkType: hard + "@react-native/js-polyfills@npm:0.73.1": version: 0.73.1 resolution: "@react-native/js-polyfills@npm:0.73.1" @@ -19102,8 +19109,8 @@ __metadata: linkType: hard "react-native-windows@npm:^0.73.0": - version: 0.73.21 - resolution: "react-native-windows@npm:0.73.21" + version: 0.73.22 + resolution: "react-native-windows@npm:0.73.22" dependencies: "@babel/runtime": "npm:^7.0.0" "@jest/create-cache-key-function": "npm:^29.6.3" @@ -19149,13 +19156,13 @@ __metadata: peerDependencies: react: 18.2.0 react-native: ^0.73.0 - checksum: 10c0/95f5b173731f923cd55341726d85ce3ea777ada92c4e238750026b33ff95cbea040038bc7c830999eb331393030a4d9d4df36e186cfacf860483344e2e4c7fa1 + checksum: 10c0/dc5fd176267ac3f546b14744c20589b4714033f6dd4b78766ed7ccb061e672c889fbdb180a427301f9b5b2bbb272db622d0027b0ed9aaddc9568d9d703fb19aa languageName: node linkType: hard "react-native@npm:^0.73.0": - version: 0.73.9 - resolution: "react-native@npm:0.73.9" + version: 0.73.11 + resolution: "react-native@npm:0.73.11" dependencies: "@jest/create-cache-key-function": "npm:^29.6.3" "@react-native-community/cli": "npm:12.3.7" @@ -19164,7 +19171,7 @@ __metadata: "@react-native/assets-registry": "npm:0.73.1" "@react-native/codegen": "npm:0.73.3" "@react-native/community-cli-plugin": "npm:0.73.18" - "@react-native/gradle-plugin": "npm:0.73.4" + "@react-native/gradle-plugin": "npm:0.73.5" "@react-native/js-polyfills": "npm:0.73.1" "@react-native/normalize-colors": "npm:0.73.2" "@react-native/virtualized-lists": "npm:0.73.4" @@ -19199,7 +19206,7 @@ __metadata: react: 18.2.0 bin: react-native: cli.js - checksum: 10c0/93a752d155c82ed1e8708c86719ed25a9a6e677534b1f400defcb5c85ef9cb4cd716f645403b959966371a0e49866a9ab0a88515773ae66ae4f36abe5dd78dd1 + checksum: 10c0/41b81526581a417b9d7949af56c5947bac85dec8d5345964a90209a25de0e082362255fde79bff6aeed0f1f5040365f20fc42496977ebde4c55c940e5d9cc026 languageName: node linkType: hard