diff --git a/example/package.json b/example/package.json index 275f38d3..302b1f04 100644 --- a/example/package.json +++ b/example/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.10.2", "@babel/runtime": "^7.10.2", - "metro-react-native-babel-preset": "0.73.3", + "metro-react-native-babel-preset": "0.77.0", "mkdirp": "^3.0.1", "react-native-test-app": "1.4.6", "react-test-renderer": "16.13.1", diff --git a/js/SegmentedControlTab.js b/js/SegmentedControlTab.js index 7a29d1cf..fcf4971e 100644 --- a/js/SegmentedControlTab.js +++ b/js/SegmentedControlTab.js @@ -28,6 +28,7 @@ type Props = $ReadOnly<{| tabStyle?: ViewStyle, appearance?: 'dark' | 'light' | null, accessibilityHint?: string, + testID?: string, |}>; function isBase64(str) { @@ -47,6 +48,7 @@ export const SegmentedControlTab = ({ appearance, tabStyle, accessibilityHint, + testID, }: Props): React.Node => { const colorSchemeHook = useColorScheme(); const colorScheme = appearance || colorSchemeHook; @@ -93,7 +95,7 @@ export const SegmentedControlTab = ({ accessibilityHint={accessibilityHint} accessibilityRole="button" accessibilityState={{selected: selected, disabled: !enabled}}> - + {typeof value === 'number' || typeof value === 'object' ? ( ) : isBase64(value) ? ( diff --git a/package.json b/package.json index fc87e1be..705d484b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@react-native-segmented-control/segmented-control", - "version": "2.5.2", + "version": "2.5.4", "description": "React Native SegmentedControlIOS library", "main": "js/index.js", "types": "index.d.ts", @@ -43,7 +43,7 @@ "flow-bin": "^0.142.0", "husky": "^8.0.1", "jest": "^29.2.1", - "metro-react-native-babel-preset": "0.73.3", + "metro-react-native-babel-preset": "0.77.0", "react": "17.0.2", "react-dom": "17.0.2", "react-native": "0.63.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9e58b24..889bf764 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,8 +60,8 @@ importers: specifier: ^29.2.1 version: 29.7.0 metro-react-native-babel-preset: - specifier: 0.73.3 - version: 0.73.3(@babel/core@7.22.5) + specifier: 0.77.0 + version: 0.77.0(@babel/core@7.22.5) prettier: specifier: ^3.0.0 version: 3.0.0 @@ -119,13 +119,13 @@ importers: version: 7.22.5 '@rnx-kit/metro-config': specifier: 1.3.7 - version: 1.3.7(@babel/core@7.22.5)(metro-config@0.58.0)(metro-react-native-babel-preset@0.73.3)(react-native@0.63.4)(react@16.13.1) + version: 1.3.7(@babel/core@7.22.5)(metro-config@0.58.0)(metro-react-native-babel-preset@0.77.0)(react-native@0.63.4)(react@16.13.1) '@rnx-kit/metro-resolver-symlinks': specifier: 0.1.30 version: 0.1.30 metro-react-native-babel-preset: - specifier: 0.73.3 - version: 0.73.3(@babel/core@7.22.5) + specifier: 0.77.0 + version: 0.77.0(@babel/core@7.22.5) mkdirp: specifier: ^3.0.1 version: 3.0.1 @@ -545,6 +545,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.5): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) + dev: true + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.5): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} @@ -2817,7 +2828,7 @@ packages: node-stream-zip: 1.15.0 ora: 3.4.0 pretty-format: 25.5.0 - react-native: 0.63.4(@babel/core@7.22.5)(react@17.0.2) + react-native: 0.63.4(@babel/core@7.22.5)(react@16.13.1) semver: 6.3.0 serve-static: 1.15.0 strip-ansi: 5.2.0 @@ -2886,7 +2897,7 @@ packages: resolution: {integrity: sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==} dev: true - /@rnx-kit/babel-preset-metro-react-native@1.1.4(@babel/core@7.22.5)(metro-react-native-babel-preset@0.73.3): + /@rnx-kit/babel-preset-metro-react-native@1.1.4(@babel/core@7.22.5)(metro-react-native-babel-preset@0.77.0): resolution: {integrity: sha512-ev82sa8Q5Z4a7kQ9pfCKYvpPpPesn0bgOFX8mNx5Gb3uZENb1i1oqySsmw1Qrrf/1KCMi4DKXOI7KezUl8Kf4g==} peerDependencies: '@babel/core': ^7.0.0 @@ -2898,7 +2909,7 @@ packages: dependencies: '@babel/core': 7.22.5 babel-plugin-const-enum: 1.2.0(@babel/core@7.22.5) - metro-react-native-babel-preset: 0.73.3(@babel/core@7.22.5) + metro-react-native-babel-preset: 0.77.0(@babel/core@7.22.5) transitivePeerDependencies: - supports-color dev: true @@ -2909,7 +2920,7 @@ packages: chalk: 4.1.2 dev: true - /@rnx-kit/metro-config@1.3.7(@babel/core@7.22.5)(metro-config@0.58.0)(metro-react-native-babel-preset@0.73.3)(react-native@0.63.4)(react@16.13.1): + /@rnx-kit/metro-config@1.3.7(@babel/core@7.22.5)(metro-config@0.58.0)(metro-react-native-babel-preset@0.77.0)(react-native@0.63.4)(react@16.13.1): resolution: {integrity: sha512-fIP/LWe02JY6a9cJ1ykUO28sEIZeO4D2snvtnMhekZo579dIbMEtXhFyjw8G5z6f38fJ2bjZF3+lugu/RpTP9g==} peerDependencies: '@react-native/metro-config': '*' @@ -2924,13 +2935,13 @@ packages: metro-resolver: optional: true dependencies: - '@rnx-kit/babel-preset-metro-react-native': 1.1.4(@babel/core@7.22.5)(metro-react-native-babel-preset@0.73.3) + '@rnx-kit/babel-preset-metro-react-native': 1.1.4(@babel/core@7.22.5)(metro-react-native-babel-preset@0.77.0) '@rnx-kit/console': 1.0.11 '@rnx-kit/tools-node': 2.0.0 '@rnx-kit/tools-react-native': 1.3.1 '@rnx-kit/tools-workspaces': 0.1.3 metro-config: 0.58.0 - metro-react-native-babel-preset: 0.73.3(@babel/core@7.22.5) + metro-react-native-babel-preset: 0.77.0(@babel/core@7.22.5) react: 16.13.1 react-native: 0.63.4(@babel/core@7.22.5)(react@16.13.1) transitivePeerDependencies: @@ -4220,6 +4231,14 @@ packages: /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} + /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.5): + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} + dependencies: + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) + transitivePeerDependencies: + - '@babel/core' + dev: true + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.5): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: @@ -9210,8 +9229,9 @@ packages: - supports-color dev: true - /metro-react-native-babel-preset@0.73.3(@babel/core@7.22.5): - resolution: {integrity: sha512-JJ22lR4CVaw3OKTz9YAY/ckymr3DbO+qy/x5kLaF4g0LcvZmhhKfDK+fml577AZU6sKb/CTd0SBwt+VAz+Hu7Q==} + /metro-react-native-babel-preset@0.77.0(@babel/core@7.22.5): + resolution: {integrity: sha512-HPPD+bTxADtoE4y/4t1txgTQ1LVR6imOBy7RMHUsqMVTbekoi8Ph5YI9vKX2VMPtVWeFt0w9YnCSLPa76GcXsA==} + engines: {node: '>=18'} peerDependencies: '@babel/core': '*' dependencies: @@ -9220,6 +9240,7 @@ packages: '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.5) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.5) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.5) '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.5) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.5) @@ -9248,10 +9269,10 @@ packages: '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.22.5) '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.5) '@babel/template': 7.22.5 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.5) react-refresh: 0.4.3 transitivePeerDependencies: - supports-color @@ -11268,6 +11289,7 @@ packages: - encoding - supports-color - utf-8-validate + dev: true /react-refresh@0.4.3: resolution: {integrity: sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==} @@ -11325,6 +11347,7 @@ packages: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 + dev: true /read-pkg-up@11.0.0: resolution: {integrity: sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==} @@ -13064,6 +13087,7 @@ packages: dependencies: react: 17.0.2 use-sync-external-store: 1.2.0(react@17.0.2) + dev: true /use-sync-external-store@1.2.0(react@16.13.1): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} @@ -13078,6 +13102,7 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: react: 17.0.2 + dev: true /use@3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}