refactor: remove cardTransparent in favor of cardStyle

This commit is contained in:
Satyajit Sahoo
2019-12-16 16:25:22 +01:00
parent ea88193923
commit c3133cdb5f
7 changed files with 107 additions and 61 deletions

View File

@@ -14,9 +14,9 @@ const DragLimitedToModal: NavigationStackScreenComponent = () => (
);
DragLimitedToModal.navigationOptions = {
cardStyle: { backgroundColor: 'transparent' },
gestureDirection: 'vertical',
gestureResponseDistance: { vertical: HEIGHT },
cardTransparent: true,
cardStyleInterpolator: ({ current }) => {
const translateY = interpolate(current.progress, {
inputRange: [0, 1],

View File

@@ -114,9 +114,9 @@ export default createStackNavigator(
Transparent: {
screen: TransparentScreen,
navigationOptions: {
cardStyle: { backgroundColor: 'transparent' },
headerShown: false,
gestureEnabled: false,
cardTransparent: true,
transitionSpec: {
open: TransitionSpecs.TransitionIOSSpec,
close: TransitionSpecs.TransitionIOSSpec,

View File

@@ -72,8 +72,8 @@ export default createStackNavigator(
mode: 'modal',
headerMode: 'none',
defaultNavigationOptions: {
cardStyle: { backgroundColor: 'transparent' },
gestureEnabled: false,
cardTransparent: true,
cardStyleInterpolator: ({ current: { progress } }) => {
const opacity = Animated.interpolate(progress, {
inputRange: [0, 0.5, 0.9, 1],

View File

@@ -49,8 +49,9 @@
"@expo/vector-icons": "^10.0.6",
"@react-native-community/bob": "^0.7.0",
"@react-native-community/masked-view": "^0.1.5",
"@react-navigation/stack": "^5.0.0-alpha.44",
"@react-navigation/stack": "^5.0.0-alpha.45",
"@release-it/conventional-changelog": "^1.1.0",
"@types/color": "^3.0.0",
"@types/jest": "^24.0.23",
"@types/react": "^16.9.16",
"@types/react-native": "^0.60.25",
@@ -124,5 +125,8 @@
"module",
"typescript"
]
},
"dependencies": {
"color": "^3.1.2"
}
}

View File

@@ -1,5 +1,5 @@
diff -ruN node_modules/@react-navigation/stack/src/index.tsx src/vendor/index.tsx
--- node_modules/@react-navigation/stack/src/index.tsx 2019-12-14 22:46:16.000000000 +0100
--- node_modules/@react-navigation/stack/src/index.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/index.tsx 1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-import * as CardStyleInterpolators from './TransitionConfigs/CardStyleInterpolators';
@@ -58,7 +58,7 @@ diff -ruN node_modules/@react-navigation/stack/src/index.tsx src/vendor/index.ts
- StackHeaderStyleInterpolator,
-} from './types';
diff -ruN node_modules/@react-navigation/stack/src/navigators/createStackNavigator.tsx src/vendor/navigators/createStackNavigator.tsx
--- node_modules/@react-navigation/stack/src/navigators/createStackNavigator.tsx 2019-12-14 22:46:16.000000000 +0100
--- node_modules/@react-navigation/stack/src/navigators/createStackNavigator.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/navigators/createStackNavigator.tsx 1970-01-01 01:00:00.000000000 +0100
@@ -1,77 +0,0 @@
-import * as React from 'react';
@@ -139,8 +139,8 @@ diff -ruN node_modules/@react-navigation/stack/src/navigators/createStackNavigat
- typeof StackNavigator
->(StackNavigator);
diff -ruN node_modules/@react-navigation/stack/src/types.tsx src/vendor/types.tsx
--- node_modules/@react-navigation/stack/src/types.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/types.tsx 2019-12-14 22:56:00.000000000 +0100
--- node_modules/@react-navigation/stack/src/types.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/types.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -7,13 +7,28 @@
import Animated from 'react-native-reanimated';
import { EdgeInsets } from 'react-native-safe-area-context';
@@ -275,7 +275,7 @@ diff -ruN node_modules/@react-navigation/stack/src/types.tsx src/vendor/types.ts
export type StackNavigationOptions = StackHeaderOptions &
Partial<TransitionPreset> & {
/**
@@ -323,6 +328,8 @@
@@ -319,6 +324,8 @@
bottom?: number;
left?: number;
};
@@ -285,8 +285,8 @@ diff -ruN node_modules/@react-navigation/stack/src/types.tsx src/vendor/types.ts
export type StackNavigationConfig = {
diff -ruN node_modules/@react-navigation/stack/src/views/Header/Header.tsx src/vendor/views/Header/Header.tsx
--- node_modules/@react-navigation/stack/src/views/Header/Header.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Header/Header.tsx 2019-12-14 22:55:33.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Header/Header.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Header/Header.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -1,5 +1,5 @@
import * as React from 'react';
-import { StackActions } from '@react-navigation/routers';
@@ -327,8 +327,8 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Header/Header.tsx src/v
}
styleInterpolator={styleInterpolator}
diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderBackButton.tsx src/vendor/views/Header/HeaderBackButton.tsx
--- node_modules/@react-navigation/stack/src/views/Header/HeaderBackButton.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Header/HeaderBackButton.tsx 2019-12-14 23:05:22.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Header/HeaderBackButton.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Header/HeaderBackButton.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -8,10 +8,10 @@
LayoutChangeEvent,
} from 'react-native';
@@ -342,8 +342,8 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderBackButton
type Props = StackHeaderLeftButtonProps;
diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderBackground.tsx src/vendor/views/Header/HeaderBackground.tsx
--- node_modules/@react-navigation/stack/src/views/Header/HeaderBackground.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Header/HeaderBackground.tsx 2019-12-14 23:05:39.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Header/HeaderBackground.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Header/HeaderBackground.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -1,7 +1,7 @@
import * as React from 'react';
import { StyleSheet, Platform, ViewProps } from 'react-native';
@@ -354,8 +354,8 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderBackground
export default function HeaderBackground({ style, ...rest }: ViewProps) {
const { colors } = useTheme();
diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderContainer.tsx src/vendor/views/Header/HeaderContainer.tsx
--- node_modules/@react-navigation/stack/src/views/Header/HeaderContainer.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Header/HeaderContainer.tsx 2019-12-14 22:55:33.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Header/HeaderContainer.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Header/HeaderContainer.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -1,16 +1,13 @@
import * as React from 'react';
import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
@@ -388,8 +388,8 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderContainer.
};
diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderSegment.tsx src/vendor/views/Header/HeaderSegment.tsx
--- node_modules/@react-navigation/stack/src/views/Header/HeaderSegment.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Header/HeaderSegment.tsx 2019-12-14 22:55:33.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Header/HeaderSegment.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Header/HeaderSegment.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -8,7 +8,7 @@
} from 'react-native';
import Animated from 'react-native-reanimated';
@@ -409,8 +409,8 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderSegment.ts
};
diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderTitle.tsx src/vendor/views/Header/HeaderTitle.tsx
--- node_modules/@react-navigation/stack/src/views/Header/HeaderTitle.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Header/HeaderTitle.tsx 2019-12-14 23:05:46.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Header/HeaderTitle.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Header/HeaderTitle.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -1,7 +1,7 @@
import * as React from 'react';
import { StyleSheet, Platform, TextProps } from 'react-native';
@@ -421,8 +421,8 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Header/HeaderTitle.tsx
type Props = TextProps & {
tintColor?: string;
diff -ruN node_modules/@react-navigation/stack/src/views/Stack/CardContainer.tsx src/vendor/views/Stack/CardContainer.tsx
--- node_modules/@react-navigation/stack/src/views/Stack/CardContainer.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Stack/CardContainer.tsx 2019-12-14 23:05:57.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Stack/CardContainer.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Stack/CardContainer.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -1,11 +1,17 @@
import * as React from 'react';
import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
@@ -445,8 +445,8 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Stack/CardContainer.tsx
type Props = TransitionPreset & {
index: number;
diff -ruN node_modules/@react-navigation/stack/src/views/Stack/CardStack.tsx src/vendor/views/Stack/CardStack.tsx
--- node_modules/@react-navigation/stack/src/views/Stack/CardStack.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Stack/CardStack.tsx 2019-12-14 22:55:33.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Stack/CardStack.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Stack/CardStack.tsx 2019-12-16 16:14:31.000000000 +0100
@@ -11,8 +11,7 @@
import { EdgeInsets } from 'react-native-safe-area-context';
// eslint-disable-next-line import/no-unresolved
@@ -457,34 +457,17 @@ diff -ruN node_modules/@react-navigation/stack/src/views/Stack/CardStack.tsx src
import { getDefaultHeaderHeight } from '../Header/HeaderSegment';
import { Props as HeaderContainerProps } from '../Header/HeaderContainer';
@@ -22,7 +21,9 @@
ModalTransition,
} from '../../TransitionConfigs/TransitionPresets';
import { forNoAnimation } from '../../TransitionConfigs/HeaderStyleInterpolators';
+import validateDeprecatedOptions from '../../../utils/validateDeprecatedOptions';
@@ -24,6 +23,7 @@
import { forNoAnimation as forNoAnimationHeader } from '../../TransitionConfigs/HeaderStyleInterpolators';
import { forNoAnimation as forNoAnimationCard } from '../../TransitionConfigs/CardStyleInterpolators';
import {
+ Route,
Layout,
StackHeaderMode,
Scene,
@@ -350,6 +351,14 @@
? 1
: 0;
+ if (
+ process.env.NODE_ENV !== 'production' &&
+ scene.descriptor &&
+ scene.descriptor.options
+ ) {
+ validateDeprecatedOptions(scene.descriptor.options);
+ }
+
const {
safeAreaInsets,
headerShown,
diff -ruN node_modules/@react-navigation/stack/src/views/Stack/StackView.tsx src/vendor/views/Stack/StackView.tsx
--- node_modules/@react-navigation/stack/src/views/Stack/StackView.tsx 2019-12-14 22:46:16.000000000 +0100
+++ src/vendor/views/Stack/StackView.tsx 2019-12-14 22:55:33.000000000 +0100
--- node_modules/@react-navigation/stack/src/views/Stack/StackView.tsx 2019-12-16 16:13:08.000000000 +0100
+++ src/vendor/views/Stack/StackView.tsx 2019-12-16 16:13:14.000000000 +0100
@@ -1,8 +1,7 @@
import * as React from 'react';
import { Platform } from 'react-native';

View File

@@ -12,8 +12,14 @@ const shownWarnings: string[] = [];
const validations: Record<string, Validation> = {
transparentCard: {
message: `'transparentCard' is renamed to 'cardTransparent' and moved to 'navigationOptions'. Specify it in 'defaultNavigationOptions' to keep the same behaviour.`,
compat: (c, o) => ({ ...o, cardTransparent: c.transparentCard }),
message: `'transparentCard' is removed in favor of 'cardStyle: { backgroundColor: 'transparent' }' in 'navigationOptions'. Specify it in 'defaultNavigationOptions' to keep the same behaviour.`,
compat: (c, o) =>
c.transparentCard
? {
...o,
cardStyle: [{ backgroundColor: 'transparent' }, o.cardStyle],
}
: o,
},
headerLayoutPreset: {
message: `'headerLayoutPreset' is renamed to 'headerTitleAlign' and moved to 'navigationOptions'. Specify it in 'defaultNavigationOptions' to keep the same behaviour.`,

View File

@@ -1352,7 +1352,7 @@
query-string "^6.4.2"
react-is "^16.8.6"
"@react-navigation/core@^5.0.0-alpha.27":
"@react-navigation/core@^5.0.0-alpha.28":
version "5.0.0-alpha.27"
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-5.0.0-alpha.27.tgz#40a209910e284635570d539eeb0bd6cecb9f8124"
integrity sha512-R/pIxAyJaORLlUFZlwenN92Llo4pyWNRZJ190JTHDqL5T17yD0jokXoketl3+CO+jUgwesZqy7M4pSiMdSiDqA==
@@ -1371,20 +1371,21 @@
react-native-safe-area-view "^0.14.1"
react-native-screens "^1.0.0 || ^1.0.0-alpha"
"@react-navigation/routers@^5.0.0-alpha.16":
version "5.0.0-alpha.16"
resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.0.0-alpha.16.tgz#58feae35ada96202126897d716c6942b25e29f5e"
integrity sha512-19riekFcniNqxk9bvflwLjjd6Tm01UEa1eJuQBisnIdiCbzLCZ77rltCoVh8BvgPU6TldZ/oKCRcq5z+KZcW6A==
"@react-navigation/routers@^5.0.0-alpha.17":
version "5.0.0-alpha.17"
resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.0.0-alpha.17.tgz#821bd3e5dbd289fe0d8edea6a12c80b6378d1673"
integrity sha512-ERfl+Al1QOiI+iM6m055nSpga1PHb3aW3QqUNNWu3x56hWjsb+NidoYFjUHdGfiFBTBgPHp1jjxcfLrxfIhSgg==
dependencies:
"@react-navigation/core" "^5.0.0-alpha.27"
"@react-navigation/core" "^5.0.0-alpha.28"
shortid "^2.2.15"
"@react-navigation/stack@^5.0.0-alpha.44":
version "5.0.0-alpha.44"
resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-5.0.0-alpha.44.tgz#4abc9243af2847e05e0ab6e2719fee455e95ee11"
integrity sha512-luZCOvGxS6dSjzHew02Jn/16f/XyjVS1Xo1qfSlG/BhGitwhBCIAEXaVAo9QVuFEUL/KK2PyjgnCd1hvvi25fw==
"@react-navigation/stack@^5.0.0-alpha.45":
version "5.0.0-alpha.45"
resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-5.0.0-alpha.45.tgz#62b33fd38f5ed96be6c957b69e4c57c49a741071"
integrity sha512-FSun8t5Ohl14iy/FZHYNmnThcynk9dVyY5ZKYiQYKILrEWAn8sQiu1zTD2kf9cNd71PkSka3ur3uqLiCsqKIAQ==
dependencies:
"@react-navigation/routers" "^5.0.0-alpha.16"
"@react-navigation/routers" "^5.0.0-alpha.17"
color "^3.1.2"
"@release-it/conventional-changelog@^1.1.0":
version "1.1.0"
@@ -1442,6 +1443,25 @@
dependencies:
"@babel/types" "^7.3.0"
"@types/color-convert@*":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-1.9.0.tgz#bfa8203e41e7c65471e9841d7e306a7cd8b5172d"
integrity sha512-OKGEfULrvSL2VRbkl/gnjjgbbF7ycIlpSsX7Nkab4MOWi5XxmgBYvuiQ7lcCFY5cPDz7MUNaKgxte2VRmtr4Fg==
dependencies:
"@types/color-name" "*"
"@types/color-name@*":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
"@types/color@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/color/-/color-3.0.0.tgz#40f8a6bf2fd86e969876b339a837d8ff1b0a6e30"
integrity sha512-5qqtNia+m2I0/85+pd2YzAXaTyKO8j+svirO5aN+XaQJ5+eZ8nx0jPtEWZLxCi50xwYsX10xUHetFzfb1WEs4Q==
dependencies:
"@types/color-convert" "*"
"@types/eslint-visitor-keys@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
@@ -2527,7 +2547,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
color-convert@^1.9.0:
color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -2539,11 +2559,32 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-string@^1.5.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
dependencies:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
color@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
dependencies:
color-convert "^1.9.1"
color-string "^1.5.2"
colorette@^1.0.7:
version "1.1.0"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7"
@@ -4738,6 +4779,11 @@ is-arrayish@^0.2.1:
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-arrayish@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -8337,6 +8383,13 @@ simple-plist@^1.0.0:
bplist-parser "0.1.1"
plist "^3.0.1"
simple-swizzle@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
dependencies:
is-arrayish "^0.3.1"
sisteransi@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c"