@procivis/one-react-native-components 0.3.142 → 0.3.147
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/proof-request/index.js +1 -12
- package/lib/commonjs/components/proof-request/index.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +6 -3
- package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-header.js +8 -38
- package/lib/commonjs/ui-components/credential/card/credential-header.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-logo.js +71 -0
- package/lib/commonjs/ui-components/credential/card/credential-logo.js.map +1 -0
- package/lib/commonjs/ui-components/credential/card/index.js +7 -0
- package/lib/commonjs/ui-components/credential/card/index.js.map +1 -1
- package/lib/commonjs/ui-components/input/selection-input.js +69 -53
- package/lib/commonjs/ui-components/input/selection-input.js.map +1 -1
- package/lib/commonjs/ui-components/text/index.js +1 -9
- package/lib/commonjs/ui-components/text/index.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/transaction.js +20 -0
- package/lib/commonjs/utils/hooks/core/transaction.js.map +1 -0
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js +34 -3
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js +22 -14
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/commonjs/utils/parsers/index.js +0 -11
- package/lib/commonjs/utils/parsers/index.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js +2 -2
- package/lib/commonjs/utils/parsers/query.js.map +1 -1
- package/lib/module/components/proof-request/index.js +0 -1
- package/lib/module/components/proof-request/index.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2-group.js +6 -3
- package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-header.js +8 -38
- package/lib/module/ui-components/credential/card/credential-header.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-logo.js +64 -0
- package/lib/module/ui-components/credential/card/credential-logo.js.map +1 -0
- package/lib/module/ui-components/credential/card/index.js +2 -0
- package/lib/module/ui-components/credential/card/index.js.map +1 -1
- package/lib/module/ui-components/input/selection-input.js +70 -54
- package/lib/module/ui-components/input/selection-input.js.map +1 -1
- package/lib/module/ui-components/text/index.js +2 -2
- package/lib/module/ui-components/text/index.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +1 -1
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/hooks/core/transaction.js +13 -0
- package/lib/module/utils/hooks/core/transaction.js.map +1 -0
- package/lib/module/utils/parsers/credential-sharing-v2.js +31 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/module/utils/parsers/credential.js +20 -13
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/module/utils/parsers/index.js +0 -1
- package/lib/module/utils/parsers/index.js.map +1 -1
- package/lib/module/utils/parsers/query.js +2 -2
- package/lib/module/utils/parsers/query.js.map +1 -1
- package/lib/typescript/components/proof-request/index.d.ts +0 -1
- package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +8 -1
- package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +1 -1
- package/lib/typescript/ui-components/credential/card/credential-logo.d.ts +17 -0
- package/lib/typescript/ui-components/credential/card/index.d.ts +3 -0
- package/lib/typescript/ui-components/input/selection-input.d.ts +3 -7
- package/lib/typescript/ui-components/text/index.d.ts +2 -1
- package/lib/typescript/ui-components/text/typography.d.ts +13 -13
- package/lib/typescript/utils/hooks/core/proofs.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/transaction.d.ts +2 -0
- package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +10 -2
- package/lib/typescript/utils/parsers/credential.d.ts +2 -1
- package/lib/typescript/utils/parsers/index.d.ts +0 -1
- package/package.json +7 -4
- package/src/components/proof-request/index.ts +0 -1
- package/src/components/proof-request/v2/share-credential-v2-group.tsx +12 -2
- package/src/components/proof-request/v2/share-credential-v2.tsx +1 -1
- package/src/ui-components/credential/card/credential-header.tsx +9 -37
- package/src/ui-components/credential/card/credential-logo.stories.tsx +45 -0
- package/src/ui-components/credential/card/credential-logo.tsx +79 -0
- package/src/ui-components/credential/card/index.ts +5 -8
- package/src/ui-components/input/selection-input.tsx +85 -65
- package/src/ui-components/text/index.ts +2 -1
- package/src/utils/hooks/core/proofs.ts +3 -3
- package/src/utils/hooks/core/transaction.ts +18 -0
- package/src/utils/parsers/credential-sharing-v2.tsx +70 -1
- package/src/utils/parsers/credential.ts +27 -13
- package/src/utils/parsers/index.ts +0 -1
- package/src/utils/parsers/query.ts +1 -1
- package/lib/commonjs/components/proof-request/v1/group.js +0 -35
- package/lib/commonjs/components/proof-request/v1/group.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/index.js +0 -39
- package/lib/commonjs/components/proof-request/v1/index.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/select-credential.js +0 -53
- package/lib/commonjs/components/proof-request/v1/select-credential.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js +0 -110
- package/lib/commonjs/components/proof-request/v1/share-credential.js.map +0 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +0 -269
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +0 -1
- package/lib/module/components/proof-request/v1/group.js +0 -27
- package/lib/module/components/proof-request/v1/group.js.map +0 -1
- package/lib/module/components/proof-request/v1/index.js +0 -4
- package/lib/module/components/proof-request/v1/index.js.map +0 -1
- package/lib/module/components/proof-request/v1/select-credential.js +0 -44
- package/lib/module/components/proof-request/v1/select-credential.js.map +0 -1
- package/lib/module/components/proof-request/v1/share-credential.js +0 -101
- package/lib/module/components/proof-request/v1/share-credential.js.map +0 -1
- package/lib/module/utils/parsers/credential-sharing.js +0 -256
- package/lib/module/utils/parsers/credential-sharing.js.map +0 -1
- package/lib/typescript/components/proof-request/v1/group.d.ts +0 -2
- package/lib/typescript/components/proof-request/v1/index.d.ts +0 -3
- package/lib/typescript/components/proof-request/v1/select-credential.d.ts +0 -15
- package/lib/typescript/components/proof-request/v1/share-credential.d.ts +0 -27
- package/lib/typescript/utils/parsers/credential-sharing.d.ts +0 -21
- package/src/components/proof-request/v1/group.tsx +0 -26
- package/src/components/proof-request/v1/index.ts +0 -3
- package/src/components/proof-request/v1/select-credential.tsx +0 -55
- package/src/components/proof-request/v1/share-credential.tsx +0 -159
- package/src/utils/parsers/credential-sharing.tsx +0 -415
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","StyleSheet","View","concatTestID","BlurView","ImageOrComponent","Typography","useAppColorScheme","CredentialHeader","accessory","blur","color","credentialDetailPrimary","credentialDetailSecondary","credentialDetailTestID","credentialDetailErrorColor","credentialName","icon","iconLabelColor","statusIcon","style","testID","colorScheme","statusIconView","undefined","isValidElement","StatusIconComponent","createElement","accessoryView","AccessoryComponent","DetailText","commonProps","error","text","ellipsizeMode","numberOfLines","preset","styles","detailText","detailTextContainer","_extends","Fragment","interpunct","container","backgroundColor","white","blurStyle","absoluteFill","imageContainer","source","image","String","imagePlaceholder","substring","statusIconWrapper","nameText","create","alignItems","height","justifyContent","width","flexDirection","padding","flex","opacity","marginTop","borderRadius","borderWidth","marginRight","overflow","paddingLeft","paddingTop","textTransform","marginHorizontal","bottom","left","position"],"sources":["credential-header.tsx"],"sourcesContent":["import React, { FC, useMemo } from 'react';\nimport { AccessibilityProps, ColorValue, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport BlurView from '../../blur/blur-view';\nimport ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography, { TypographyProps } from '../../text/typography';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\n\nexport interface CredentialHeaderProps extends AccessibilityProps {\n accessory?: React.ComponentType<any> | React.ReactElement;\n blur?: boolean;\n color?: ColorValue;\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailTestID?: string;\n credentialDetailErrorColor?: boolean;\n credentialName: string;\n icon?: ImageOrComponentSource;\n iconLabelColor?: ColorValue;\n statusIcon?: React.ComponentType<any> | React.ReactElement;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n}\n\nconst CredentialHeader: FC<CredentialHeaderProps> = ({\n accessory,\n blur = true,\n color = '#5A69F3',\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialDetailErrorColor,\n credentialName,\n icon,\n iconLabelColor = '#FFFFFF',\n statusIcon,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n const statusIconView: React.ReactElement | undefined = useMemo(() => {\n if (!statusIcon) {\n return undefined;\n }\n if (React.isValidElement(statusIcon)) {\n return statusIcon;\n } else {\n const StatusIconComponent = statusIcon as React.ComponentType<any>;\n return <StatusIconComponent />;\n }\n }, [statusIcon]);\n\n const accessoryView: React.ReactElement | undefined = useMemo(() => {\n if (!accessory) {\n return undefined;\n }\n if (React.isValidElement(accessory)) {\n return accessory;\n } else {\n const AccessoryComponent = accessory as React.ComponentType<any>;\n return <AccessoryComponent />;\n }\n }, [accessory]);\n\n const DetailText = useMemo(() => {\n if (!credentialDetailPrimary) {\n return undefined;\n }\n const commonProps: TypographyProps = {\n color: credentialDetailErrorColor ? colorScheme.error : colorScheme.text,\n ellipsizeMode: 'tail',\n numberOfLines: 1,\n preset: 'xs',\n style: styles.detailText,\n };\n return (\n <View style={styles.detailTextContainer}>\n <Typography {...commonProps} testID={credentialDetailTestID ?? concatTestID(testID, 'primaryDetail')}>\n {credentialDetailPrimary}\n </Typography>\n {credentialDetailSecondary ? (\n <>\n <Typography {...commonProps} style={styles.interpunct}>\n {'·'}\n </Typography>\n <Typography {...commonProps} testID={concatTestID(testID, 'secondaryDetail')}>\n {credentialDetailSecondary}\n </Typography>\n </>\n ) : null}\n </View>\n );\n }, [\n credentialDetailPrimary,\n credentialDetailSecondary,\n colorScheme,\n testID,\n credentialDetailErrorColor,\n credentialDetailTestID,\n ]);\n\n return (\n <View style={[styles.container, { backgroundColor: blur ? undefined : colorScheme.white }, style]} testID={testID}>\n {blur && <BlurView blurStyle=\"strong\" style={StyleSheet.absoluteFill} />}\n <View style={[styles.imageContainer, { backgroundColor: color }]}>\n {icon ? (\n <ImageOrComponent testID={concatTestID(testID, 'logoIcon')} source={icon} style={styles.image} />\n ) : (\n <View testID={concatTestID(testID, 'logoBackgroundColor', String(color))}>\n <View testID={concatTestID(testID, 'logoTextColor', String(iconLabelColor))}>\n <Typography\n testID={concatTestID(testID, 'logoName')}\n color={iconLabelColor}\n preset=\"m\"\n style={styles.imagePlaceholder}>\n {credentialName.substring(0, 1)}\n </Typography>\n </View>\n </View>\n )}\n </View>\n {statusIconView && <View style={styles.statusIconWrapper}>{statusIconView}</View>}\n <View style={styles.text}>\n <Typography\n testID={concatTestID(testID, 'name')}\n color={colorScheme.text}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n preset=\"regular\"\n style={styles.nameText}>\n {credentialName}\n </Typography>\n {DetailText}\n </View>\n {accessoryView && <View style={styles.accessory}>{accessoryView}</View>}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n accessory: {\n alignItems: 'center',\n height: 44,\n justifyContent: 'center',\n width: 44,\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n height: 60,\n padding: 8,\n },\n detailText: {\n flex: 1,\n opacity: 0.7,\n },\n detailTextContainer: {\n flexDirection: 'row',\n marginTop: -1,\n },\n image: {\n height: 44,\n width: 44,\n },\n imageContainer: {\n alignItems: 'center',\n borderRadius: 5,\n borderWidth: 0,\n height: 44,\n justifyContent: 'center',\n marginRight: 8,\n overflow: 'hidden',\n width: 44,\n },\n imagePlaceholder: {\n paddingLeft: 1,\n paddingTop: 3,\n textTransform: 'uppercase',\n },\n interpunct: {\n marginHorizontal: 12,\n opacity: 0.5,\n },\n nameText: {\n marginTop: 2,\n },\n statusIconWrapper: {\n bottom: 3,\n left: 36,\n position: 'absolute',\n },\n text: {\n flex: 1,\n justifyContent: 'center',\n },\n});\n\nexport default CredentialHeader;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useMemo","StyleSheet","View","concatTestID","BlurView","Typography","useAppColorScheme","CredentialLogo","CredentialHeader","accessory","blur","color","credentialDetailPrimary","credentialDetailSecondary","credentialDetailTestID","credentialDetailErrorColor","credentialName","icon","iconLabelColor","statusIcon","style","testID","colorScheme","statusIconView","undefined","isValidElement","StatusIconComponent","createElement","accessoryView","AccessoryComponent","DetailText","commonProps","error","text","ellipsizeMode","numberOfLines","preset","styles","detailText","detailTextContainer","_extends","Fragment","interpunct","container","backgroundColor","white","blurStyle","absoluteFill","statusIconWrapper","nameText","create","alignItems","height","justifyContent","width","flexDirection","padding","flex","opacity","marginTop","marginHorizontal","bottom","left","position"],"sources":["credential-header.tsx"],"sourcesContent":["import React, { FC, useMemo } from 'react';\nimport { AccessibilityProps, ColorValue, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport BlurView from '../../blur/blur-view';\nimport { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography, { TypographyProps } from '../../text/typography';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\nimport CredentialLogo from './credential-logo';\n\nexport interface CredentialHeaderProps extends AccessibilityProps {\n accessory?: React.ComponentType<any> | React.ReactElement;\n blur?: boolean;\n color?: ColorValue;\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailTestID?: string;\n credentialDetailErrorColor?: boolean;\n credentialName: string;\n icon?: ImageOrComponentSource;\n iconLabelColor?: ColorValue;\n statusIcon?: React.ComponentType<any> | React.ReactElement;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n}\n\nconst CredentialHeader: FC<CredentialHeaderProps> = ({\n accessory,\n blur = true,\n color = '#5A69F3',\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialDetailErrorColor,\n credentialName,\n icon,\n iconLabelColor = '#FFFFFF',\n statusIcon,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n const statusIconView: React.ReactElement | undefined = useMemo(() => {\n if (!statusIcon) {\n return undefined;\n }\n if (React.isValidElement(statusIcon)) {\n return statusIcon;\n } else {\n const StatusIconComponent = statusIcon as React.ComponentType<any>;\n return <StatusIconComponent />;\n }\n }, [statusIcon]);\n\n const accessoryView: React.ReactElement | undefined = useMemo(() => {\n if (!accessory) {\n return undefined;\n }\n if (React.isValidElement(accessory)) {\n return accessory;\n } else {\n const AccessoryComponent = accessory as React.ComponentType<any>;\n return <AccessoryComponent />;\n }\n }, [accessory]);\n\n const DetailText = useMemo(() => {\n if (!credentialDetailPrimary) {\n return undefined;\n }\n const commonProps: TypographyProps = {\n color: credentialDetailErrorColor ? colorScheme.error : colorScheme.text,\n ellipsizeMode: 'tail',\n numberOfLines: 1,\n preset: 'xs',\n style: styles.detailText,\n };\n return (\n <View style={styles.detailTextContainer}>\n <Typography {...commonProps} testID={credentialDetailTestID ?? concatTestID(testID, 'primaryDetail')}>\n {credentialDetailPrimary}\n </Typography>\n {credentialDetailSecondary ? (\n <>\n <Typography {...commonProps} style={styles.interpunct}>\n {'·'}\n </Typography>\n <Typography {...commonProps} testID={concatTestID(testID, 'secondaryDetail')}>\n {credentialDetailSecondary}\n </Typography>\n </>\n ) : null}\n </View>\n );\n }, [\n credentialDetailPrimary,\n credentialDetailSecondary,\n colorScheme,\n testID,\n credentialDetailErrorColor,\n credentialDetailTestID,\n ]);\n\n return (\n <View style={[styles.container, { backgroundColor: blur ? undefined : colorScheme.white }, style]} testID={testID}>\n {blur && <BlurView blurStyle=\"strong\" style={StyleSheet.absoluteFill} />}\n <CredentialLogo\n color={color}\n icon={icon}\n iconLabelColor={iconLabelColor}\n credentialName={credentialName}\n testID={concatTestID(testID, 'logo')}\n />\n {statusIconView && <View style={styles.statusIconWrapper}>{statusIconView}</View>}\n <View style={styles.text}>\n <Typography\n testID={concatTestID(testID, 'name')}\n color={colorScheme.text}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n preset=\"regular\"\n style={styles.nameText}>\n {credentialName}\n </Typography>\n {DetailText}\n </View>\n {accessoryView && <View style={styles.accessory}>{accessoryView}</View>}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n accessory: {\n alignItems: 'center',\n height: 44,\n justifyContent: 'center',\n width: 44,\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n height: 60,\n padding: 8,\n },\n detailText: {\n flex: 1,\n opacity: 0.7,\n },\n detailTextContainer: {\n flexDirection: 'row',\n marginTop: -1,\n },\n interpunct: {\n marginHorizontal: 12,\n opacity: 0.5,\n },\n nameText: {\n marginTop: 2,\n },\n statusIconWrapper: {\n bottom: 3,\n left: 36,\n position: 'absolute',\n },\n text: {\n flex: 1,\n justifyContent: 'center',\n },\n});\n\nexport default CredentialHeader;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { concatTestID } from '../../../utils/testID';
|
|
4
|
+
import ImageOrComponent from '../../image/image-or-component';
|
|
5
|
+
import Typography from '../../text/typography';
|
|
6
|
+
export let CredentialLogoSize = /*#__PURE__*/function (CredentialLogoSize) {
|
|
7
|
+
CredentialLogoSize[CredentialLogoSize["Regular"] = 44] = "Regular";
|
|
8
|
+
CredentialLogoSize[CredentialLogoSize["Small"] = 20] = "Small";
|
|
9
|
+
return CredentialLogoSize;
|
|
10
|
+
}({});
|
|
11
|
+
const CredentialLogo = ({
|
|
12
|
+
color = '#5A69F3',
|
|
13
|
+
credentialName,
|
|
14
|
+
icon,
|
|
15
|
+
iconLabelColor = '#FFFFFF',
|
|
16
|
+
size = CredentialLogoSize.Regular,
|
|
17
|
+
testID
|
|
18
|
+
}) => {
|
|
19
|
+
const sizeStyle = {
|
|
20
|
+
height: size,
|
|
21
|
+
width: size
|
|
22
|
+
};
|
|
23
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
24
|
+
style: [styles.imageContainer, sizeStyle, {
|
|
25
|
+
backgroundColor: color
|
|
26
|
+
}],
|
|
27
|
+
testID: testID
|
|
28
|
+
}, icon ? /*#__PURE__*/React.createElement(ImageOrComponent, {
|
|
29
|
+
testID: concatTestID(testID, 'icon'),
|
|
30
|
+
source: icon,
|
|
31
|
+
style: sizeStyle
|
|
32
|
+
}) : /*#__PURE__*/React.createElement(View, {
|
|
33
|
+
testID: concatTestID(testID, 'backgroundColor', String(color))
|
|
34
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
35
|
+
testID: concatTestID(testID, 'textColor', String(iconLabelColor))
|
|
36
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
37
|
+
testID: concatTestID(testID, 'name'),
|
|
38
|
+
color: iconLabelColor,
|
|
39
|
+
preset: size === CredentialLogoSize.Regular ? 'm' : 'xs',
|
|
40
|
+
style: [styles.imagePlaceholder, size === CredentialLogoSize.Regular ? styles.imagePlaceholderRegular : styles.imagePlaceholderSmall]
|
|
41
|
+
}, credentialName.substring(0, 1)))));
|
|
42
|
+
};
|
|
43
|
+
const styles = StyleSheet.create({
|
|
44
|
+
imageContainer: {
|
|
45
|
+
alignItems: 'center',
|
|
46
|
+
borderRadius: 5,
|
|
47
|
+
borderWidth: 0,
|
|
48
|
+
justifyContent: 'center',
|
|
49
|
+
marginRight: 8,
|
|
50
|
+
overflow: 'hidden'
|
|
51
|
+
},
|
|
52
|
+
imagePlaceholder: {
|
|
53
|
+
textTransform: 'uppercase'
|
|
54
|
+
},
|
|
55
|
+
imagePlaceholderRegular: {
|
|
56
|
+
paddingLeft: 1,
|
|
57
|
+
paddingTop: 3
|
|
58
|
+
},
|
|
59
|
+
imagePlaceholderSmall: {
|
|
60
|
+
paddingTop: 1
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
export default CredentialLogo;
|
|
64
|
+
//# sourceMappingURL=credential-logo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","concatTestID","ImageOrComponent","Typography","CredentialLogoSize","CredentialLogo","color","credentialName","icon","iconLabelColor","size","Regular","testID","sizeStyle","height","width","createElement","style","styles","imageContainer","backgroundColor","source","String","preset","imagePlaceholder","imagePlaceholderRegular","imagePlaceholderSmall","substring","create","alignItems","borderRadius","borderWidth","justifyContent","marginRight","overflow","textTransform","paddingLeft","paddingTop"],"sources":["credential-logo.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { ColorValue, StyleSheet, View } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography from '../../text/typography';\n\nexport enum CredentialLogoSize {\n Regular = 44,\n Small = 20,\n}\n\nexport type CredentialLogoProps = {\n color?: ColorValue;\n credentialName: string;\n icon?: ImageOrComponentSource;\n iconLabelColor?: ColorValue;\n size?: CredentialLogoSize;\n testID?: string;\n};\n\nconst CredentialLogo: FC<CredentialLogoProps> = ({\n color = '#5A69F3',\n credentialName,\n icon,\n iconLabelColor = '#FFFFFF',\n size = CredentialLogoSize.Regular,\n testID,\n}) => {\n const sizeStyle = {\n height: size,\n width: size,\n };\n return (\n <View style={[styles.imageContainer, sizeStyle, { backgroundColor: color }]} testID={testID}>\n {icon ? (\n <ImageOrComponent testID={concatTestID(testID, 'icon')} source={icon} style={sizeStyle} />\n ) : (\n <View testID={concatTestID(testID, 'backgroundColor', String(color))}>\n <View testID={concatTestID(testID, 'textColor', String(iconLabelColor))}>\n <Typography\n testID={concatTestID(testID, 'name')}\n color={iconLabelColor}\n preset={size === CredentialLogoSize.Regular ? 'm' : 'xs'}\n style={[\n styles.imagePlaceholder,\n size === CredentialLogoSize.Regular ? styles.imagePlaceholderRegular : styles.imagePlaceholderSmall,\n ]}>\n {credentialName.substring(0, 1)}\n </Typography>\n </View>\n </View>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n imageContainer: {\n alignItems: 'center',\n borderRadius: 5,\n borderWidth: 0,\n justifyContent: 'center',\n marginRight: 8,\n overflow: 'hidden',\n },\n imagePlaceholder: {\n textTransform: 'uppercase',\n },\n imagePlaceholderRegular: {\n paddingLeft: 1,\n paddingTop: 3,\n },\n imagePlaceholderSmall: {\n paddingTop: 1,\n },\n});\n\nexport default CredentialLogo;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAAqBC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE3D,SAASC,YAAY,QAAQ,uBAAuB;AACpD,OAAOC,gBAAgB,MAAkC,gCAAgC;AACzF,OAAOC,UAAU,MAAM,uBAAuB;AAE9C,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAc9B,MAAMC,cAAuC,GAAGA,CAAC;EAC/CC,KAAK,GAAG,SAAS;EACjBC,cAAc;EACdC,IAAI;EACJC,cAAc,GAAG,SAAS;EAC1BC,IAAI,GAAGN,kBAAkB,CAACO,OAAO;EACjCC;AACF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAG;IAChBC,MAAM,EAAEJ,IAAI;IACZK,KAAK,EAAEL;EACT,CAAC;EACD,oBACEZ,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACiB,KAAK,EAAE,CAACC,MAAM,CAACC,cAAc,EAAEN,SAAS,EAAE;MAAEO,eAAe,EAAEd;IAAM,CAAC,CAAE;IAACM,MAAM,EAAEA;EAAO,GACzFJ,IAAI,gBACHV,KAAA,CAAAkB,aAAA,CAACd,gBAAgB;IAACU,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,MAAM,CAAE;IAACS,MAAM,EAAEb,IAAK;IAACS,KAAK,EAAEJ;EAAU,CAAE,CAAC,gBAE1Ff,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACY,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,iBAAiB,EAAEU,MAAM,CAAChB,KAAK,CAAC;EAAE,gBACnER,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACY,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,WAAW,EAAEU,MAAM,CAACb,cAAc,CAAC;EAAE,gBACtEX,KAAA,CAAAkB,aAAA,CAACb,UAAU;IACTS,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,MAAM,CAAE;IACrCN,KAAK,EAAEG,cAAe;IACtBc,MAAM,EAAEb,IAAI,KAAKN,kBAAkB,CAACO,OAAO,GAAG,GAAG,GAAG,IAAK;IACzDM,KAAK,EAAE,CACLC,MAAM,CAACM,gBAAgB,EACvBd,IAAI,KAAKN,kBAAkB,CAACO,OAAO,GAAGO,MAAM,CAACO,uBAAuB,GAAGP,MAAM,CAACQ,qBAAqB;EACnG,GACDnB,cAAc,CAACoB,SAAS,CAAC,CAAC,EAAE,CAAC,CACpB,CACR,CACF,CAEJ,CAAC;AAEX,CAAC;AAED,MAAMT,MAAM,GAAGnB,UAAU,CAAC6B,MAAM,CAAC;EAC/BT,cAAc,EAAE;IACdU,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE,CAAC;IACdC,QAAQ,EAAE;EACZ,CAAC;EACDV,gBAAgB,EAAE;IAChBW,aAAa,EAAE;EACjB,CAAC;EACDV,uBAAuB,EAAE;IACvBW,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE;EACd,CAAC;EACDX,qBAAqB,EAAE;IACrBW,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAehC,cAAc","ignoreList":[]}
|
|
@@ -3,9 +3,11 @@ import CredentialDetailsCard from './credential-details-card';
|
|
|
3
3
|
import CredentialDetailsCardListItem from './credential-details-list-item';
|
|
4
4
|
import CredentialHeader from './credential-header';
|
|
5
5
|
import { CarouselImageType } from './credential-image-carousel';
|
|
6
|
+
import CredentialLogo from './credential-logo';
|
|
6
7
|
export { CarouselImageType };
|
|
7
8
|
export { CredentialCard, CredentialCardRatio, CredentialCardShadow };
|
|
8
9
|
export { CredentialDetailsCard };
|
|
9
10
|
export { CredentialDetailsCardListItem };
|
|
10
11
|
export { CredentialHeader };
|
|
12
|
+
export { CredentialLogo };
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CredentialCard","CredentialCardRatio","CredentialCardShadow","CredentialDetailsCard","CredentialDetailsCardListItem","CredentialHeader","CarouselImageType"],"sources":["index.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"names":["CredentialCard","CredentialCardRatio","CredentialCardShadow","CredentialDetailsCard","CredentialDetailsCardListItem","CredentialHeader","CarouselImageType","CredentialLogo"],"sources":["index.ts"],"sourcesContent":["import type { CredentialCardNotice, CredentialCardProps } from './credential-card';\nimport CredentialCard, { CredentialCardRatio, CredentialCardShadow } from './credential-card';\nimport type { CredentialDetailsCardProps } from './credential-details-card';\nimport CredentialDetailsCard from './credential-details-card';\nimport type { CredentialDetailsCardListItemProps } from './credential-details-list-item';\nimport CredentialDetailsCardListItem from './credential-details-list-item';\nimport type { CredentialHeaderProps } from './credential-header';\nimport CredentialHeader from './credential-header';\nimport type { CarouselImage } from './credential-image-carousel';\nimport { CarouselImageType } from './credential-image-carousel';\nimport type { CredentialLogoProps, CredentialLogoSize } from './credential-logo';\nimport CredentialLogo from './credential-logo';\n\nexport { CarouselImage, CarouselImageType };\nexport { CredentialCard, CredentialCardNotice, CredentialCardProps, CredentialCardRatio, CredentialCardShadow };\nexport { CredentialDetailsCard, CredentialDetailsCardProps };\nexport { CredentialDetailsCardListItem, CredentialDetailsCardListItemProps };\nexport { CredentialHeader, CredentialHeaderProps };\nexport { CredentialLogo, CredentialLogoProps, CredentialLogoSize };\n"],"mappings":"AACA,OAAOA,cAAc,IAAIC,mBAAmB,EAAEC,oBAAoB,QAAQ,mBAAmB;AAE7F,OAAOC,qBAAqB,MAAM,2BAA2B;AAE7D,OAAOC,6BAA6B,MAAM,gCAAgC;AAE1E,OAAOC,gBAAgB,MAAM,qBAAqB;AAElD,SAASC,iBAAiB,QAAQ,6BAA6B;AAE/D,OAAOC,cAAc,MAAM,mBAAmB;AAE9C,SAAwBD,iBAAiB;AACzC,SAASN,cAAc,EAA6CC,mBAAmB,EAAEC,oBAAoB;AAC7G,SAASC,qBAAqB;AAC9B,SAASC,6BAA6B;AACtC,SAASC,gBAAgB;AACzB,SAASE,cAAc","ignoreList":[]}
|
|
@@ -1,82 +1,98 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
-
import
|
|
3
|
-
import React, {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import WheelPicker from '@quidone/react-native-wheel-picker';
|
|
3
|
+
import React, { memo, useCallback, useMemo, useState } from 'react';
|
|
4
|
+
import { Modal, StyleSheet, View } from 'react-native';
|
|
5
|
+
import { Typography } from '..';
|
|
6
6
|
import { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';
|
|
7
|
-
import { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';
|
|
8
7
|
import { useAppColorScheme } from '../theme';
|
|
9
8
|
import TextInput, { TextInputAccessory } from './text-input';
|
|
10
9
|
/**
|
|
11
10
|
* Generic selection input component
|
|
12
11
|
* @see https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=4%3A127&t=B2Y3PtJHH22XDPkx-0
|
|
13
12
|
*/
|
|
14
|
-
|
|
13
|
+
|
|
14
|
+
const SelectionInput = ({
|
|
15
15
|
selectedValue,
|
|
16
|
-
values,
|
|
17
16
|
label,
|
|
18
|
-
|
|
19
|
-
pickerConfirmLabel,
|
|
17
|
+
values,
|
|
20
18
|
pickerCancelLabel,
|
|
19
|
+
pickerConfirmLabel,
|
|
21
20
|
onChange,
|
|
22
|
-
error,
|
|
23
21
|
...props
|
|
24
|
-
}
|
|
22
|
+
}) => {
|
|
25
23
|
var _selectedChoice$short;
|
|
26
|
-
const
|
|
24
|
+
const [modalVisible, setModalVisible] = useState(false);
|
|
25
|
+
const [wheelPickerValue, setWheelPickerValue] = useState(selectedValue);
|
|
27
26
|
const colorScheme = useAppColorScheme();
|
|
28
27
|
const selectedChoice = useMemo(() => selectedValue !== undefined ? values.find(({
|
|
29
28
|
value
|
|
30
29
|
}) => value === selectedValue) : undefined, [selectedValue, values]);
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const onConfirm = useCallback(
|
|
35
|
-
setPickerOpen(false);
|
|
30
|
+
const onCancel = useCallback(() => {
|
|
31
|
+
setModalVisible(false);
|
|
32
|
+
}, []);
|
|
33
|
+
const onConfirm = useCallback(() => {
|
|
36
34
|
const choice = values.find(({
|
|
37
|
-
|
|
38
|
-
}) =>
|
|
39
|
-
if (
|
|
40
|
-
|
|
35
|
+
value
|
|
36
|
+
}) => value === wheelPickerValue);
|
|
37
|
+
if (choice && onChange) {
|
|
38
|
+
onChange(choice);
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}, [refObject]);
|
|
47
|
-
const accessibilityLabel = error ? `${label}, ${error}` : label;
|
|
48
|
-
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|
|
49
|
-
accessibilityHint: t('accessibility.control.combobox.tapToSelect'),
|
|
50
|
-
accessibilityLabel: accessibilityLabel,
|
|
51
|
-
accessibilityRole: "combobox",
|
|
52
|
-
accessibilityValue: {
|
|
53
|
-
text: selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.label
|
|
54
|
-
},
|
|
55
|
-
onPress: onOpen,
|
|
56
|
-
ref: forwardedRef
|
|
40
|
+
setModalVisible(false);
|
|
41
|
+
}, [onChange, values, wheelPickerValue]);
|
|
42
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|
|
43
|
+
onPress: () => setModalVisible(true)
|
|
57
44
|
}, props), /*#__PURE__*/React.createElement(TextInput, {
|
|
58
45
|
accessory: TextInputAccessory.Dropdown,
|
|
59
46
|
disabled: true,
|
|
60
|
-
error: error,
|
|
61
47
|
label: label,
|
|
62
48
|
pointerEvents: "none",
|
|
63
49
|
value: (_selectedChoice$short = selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.shortLabel) !== null && _selectedChoice$short !== void 0 ? _selectedChoice$short : selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.label
|
|
64
|
-
}), /*#__PURE__*/React.createElement(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
50
|
+
})), /*#__PURE__*/React.createElement(Modal, {
|
|
51
|
+
animationType: "fade",
|
|
52
|
+
backdropColor: 'rgba(0,0,0,0.1)',
|
|
53
|
+
onDismiss: () => setModalVisible(false),
|
|
54
|
+
onRequestClose: onCancel,
|
|
55
|
+
style: styles.modal,
|
|
56
|
+
visible: modalVisible
|
|
57
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
58
|
+
style: styles.modalContent
|
|
59
|
+
}, /*#__PURE__*/React.createElement(WheelPicker, {
|
|
60
|
+
data: values,
|
|
61
|
+
onValueChanged: ({
|
|
62
|
+
item: {
|
|
63
|
+
value
|
|
64
|
+
}
|
|
65
|
+
}) => setWheelPickerValue(value),
|
|
66
|
+
value: wheelPickerValue || '',
|
|
67
|
+
visibleItemCount: 5
|
|
68
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
69
|
+
style: styles.buttons
|
|
70
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
71
|
+
onPress: onCancel
|
|
72
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
73
|
+
color: colorScheme.black,
|
|
74
|
+
preset: "s"
|
|
75
|
+
}, pickerCancelLabel)), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
76
|
+
onPress: onConfirm
|
|
77
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
78
|
+
color: colorScheme.black,
|
|
79
|
+
preset: "s"
|
|
80
|
+
}, pickerConfirmLabel))))));
|
|
81
|
+
};
|
|
82
|
+
const styles = StyleSheet.create({
|
|
83
|
+
buttons: {
|
|
84
|
+
flexDirection: 'row',
|
|
85
|
+
gap: 20,
|
|
86
|
+
justifyContent: 'flex-end'
|
|
87
|
+
},
|
|
88
|
+
modal: {},
|
|
89
|
+
modalContent: {
|
|
90
|
+
backgroundColor: 'white',
|
|
91
|
+
borderRadius: 2,
|
|
92
|
+
margin: 'auto',
|
|
93
|
+
padding: 20,
|
|
94
|
+
width: '80%'
|
|
95
|
+
}
|
|
79
96
|
});
|
|
80
|
-
|
|
81
|
-
export default SelectionInput;
|
|
97
|
+
export default /*#__PURE__*/memo(SelectionInput);
|
|
82
98
|
//# sourceMappingURL=selection-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["WheelPicker","React","memo","useCallback","useMemo","useState","Modal","StyleSheet","View","Typography","TouchableOpacity","useAppColorScheme","TextInput","TextInputAccessory","SelectionInput","selectedValue","label","values","pickerCancelLabel","pickerConfirmLabel","onChange","props","_selectedChoice$short","modalVisible","setModalVisible","wheelPickerValue","setWheelPickerValue","colorScheme","selectedChoice","undefined","find","value","onCancel","onConfirm","choice","createElement","Fragment","_extends","onPress","accessory","Dropdown","disabled","pointerEvents","shortLabel","animationType","backdropColor","onDismiss","onRequestClose","style","styles","modal","visible","modalContent","data","onValueChanged","item","visibleItemCount","buttons","color","black","preset","create","flexDirection","gap","justifyContent","backgroundColor","borderRadius","margin","padding","width"],"sources":["selection-input.tsx"],"sourcesContent":["import WheelPicker from '@quidone/react-native-wheel-picker';\nimport React, { FC, memo, useCallback, useMemo, useState } from 'react';\nimport { Modal, StyleSheet, TouchableOpacityProps, View } from 'react-native';\n\nimport { Typography } from '..';\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { useAppColorScheme } from '../theme';\nimport TextInput, { TextInputAccessory } from './text-input';\n\nexport interface SelectionInputChoice {\n label: string;\n /**\n * If specified used in the input display, otherwise {@link label} used.\n * The {@link label} is always used for the picker values.\n */\n shortLabel?: string;\n value: string | number;\n}\n\nexport interface SelectionInputProps extends TouchableOpacityProps {\n error?: string;\n label: string;\n /**\n * Called when selection changes\n * @return `true` to avoid accessibility auto-focusing, `false` otherwise\n */\n onChange?: (value: SelectionInputChoice) => boolean;\n pickerCancelLabel: string;\n pickerConfirmLabel: string;\n pickerTitle?: string;\n /** {@link SelectionInputChoice.label} of the selected choice */\n selectedValue?: string | number;\n values: SelectionInputChoice[];\n}\n\n/**\n * Generic selection input component\n * @see https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=4%3A127&t=B2Y3PtJHH22XDPkx-0\n */\n\nconst SelectionInput: FC<SelectionInputProps> = ({\n selectedValue,\n label,\n values,\n pickerCancelLabel,\n pickerConfirmLabel,\n onChange,\n ...props\n}) => {\n const [modalVisible, setModalVisible] = useState(false);\n const [wheelPickerValue, setWheelPickerValue] = useState(selectedValue);\n const colorScheme = useAppColorScheme();\n\n const selectedChoice = useMemo(\n () => (selectedValue !== undefined ? values.find(({ value }) => value === selectedValue) : undefined),\n [selectedValue, values],\n );\n\n const onCancel = useCallback(() => {\n setModalVisible(false);\n }, []);\n\n const onConfirm = useCallback(() => {\n const choice = values.find(({ value }) => value === wheelPickerValue);\n if (choice && onChange) {\n onChange(choice);\n }\n\n setModalVisible(false);\n }, [onChange, values, wheelPickerValue]);\n\n return (\n <>\n <TouchableOpacity onPress={() => setModalVisible(true)} {...props}>\n <TextInput\n accessory={TextInputAccessory.Dropdown}\n disabled={true}\n label={label}\n pointerEvents=\"none\"\n value={selectedChoice?.shortLabel ?? selectedChoice?.label}\n />\n </TouchableOpacity>\n <Modal\n animationType=\"fade\"\n backdropColor={'rgba(0,0,0,0.1)'}\n onDismiss={() => setModalVisible(false)}\n onRequestClose={onCancel}\n style={styles.modal}\n visible={modalVisible}>\n <View style={styles.modalContent}>\n <WheelPicker\n data={values}\n onValueChanged={({ item: { value } }: { item: { value?: string | number } }) => setWheelPickerValue(value)}\n value={wheelPickerValue || ''}\n visibleItemCount={5}\n />\n <View style={styles.buttons}>\n <TouchableOpacity onPress={onCancel}>\n <Typography color={colorScheme.black} preset=\"s\">\n {pickerCancelLabel}\n </Typography>\n </TouchableOpacity>\n <TouchableOpacity onPress={onConfirm}>\n <Typography color={colorScheme.black} preset=\"s\">\n {pickerConfirmLabel}\n </Typography>\n </TouchableOpacity>\n </View>\n </View>\n </Modal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n buttons: {\n flexDirection: 'row',\n gap: 20,\n justifyContent: 'flex-end',\n },\n\n modal: {},\n modalContent: {\n backgroundColor: 'white',\n borderRadius: 2,\n margin: 'auto',\n padding: 20,\n width: '80%',\n },\n});\n\nexport default memo(SelectionInput);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import ExpandableTypography
|
|
1
|
+
import ExpandableTypography from './expandableTypography';
|
|
2
2
|
import Typography from './typography';
|
|
3
|
-
export { ExpandableTypography,
|
|
3
|
+
export { ExpandableTypography, Typography };
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ExpandableTypography","
|
|
1
|
+
{"version":3,"names":["ExpandableTypography","Typography"],"sources":["index.ts"],"sourcesContent":["import type { ExpandableTypographyProps } from './expandableTypography';\nimport ExpandableTypography from './expandableTypography';\nimport type { TypographyProps } from './typography';\nimport Typography from './typography';\n\nexport { ExpandableTypography, ExpandableTypographyProps, Typography, TypographyProps };\n"],"mappings":"AACA,OAAOA,oBAAoB,MAAM,wBAAwB;AAEzD,OAAOC,UAAU,MAAM,cAAc;AAErC,SAASD,oBAAoB,EAA6BC,UAAU","ignoreList":[]}
|
|
@@ -80,7 +80,7 @@ export const useProofAccept = () => {
|
|
|
80
80
|
return useMutation(async ({
|
|
81
81
|
interactionId,
|
|
82
82
|
credentials
|
|
83
|
-
}) => core.
|
|
83
|
+
}) => core.holderSubmitProofV2(interactionId, credentials), {
|
|
84
84
|
onError: async err => {
|
|
85
85
|
reportException(err, 'Proof submission failure');
|
|
86
86
|
await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HistoryAction","HistoryEntityType","OneError","ProofState","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","reportException","useCoreConfig","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifiers","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","listHistory","page","pageSize","entityIds","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProof","onError","err","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","listProofs","useProofCreate","data","createProof","getIdentifierFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","identifierFilter","identifiers","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","retract","CREATED","PENDING","length","protocol","OPENID4VP_PROXIMITY_DRAFT00","verifierIdentifierId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","error","_error$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","Promise","all","reverse","useProofRequestTrustInformation","credentialId","getProofTrustInformation"],"sources":["proofs.ts"],"sourcesContent":["import {\n CoreConfig,\n CreateProofRequest,\n HistoryAction,\n HistoryEntityType,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitCredentialRequest,\n ProofListQuery,\n ProofSchemaDetail,\n ProofState,\n ProposeProofRequest,\n ShareProofRequest,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { reportException } from '../../reporting';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifiers } from './identifiers';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\nexport const PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY = 'proof-request-trust-information';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n async () => {\n if (!proofId) {\n return undefined;\n }\n\n const state = await core.getProof(proofId).then((proof) => proof.state);\n let metadata: HistoryErrorMetadata | undefined;\n if (state === ProofState.ERROR) {\n metadata = await core\n .listHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityType.PROOF],\n actions: [HistoryAction.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadata);\n }\n return { state, metadata };\n },\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequest };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n }: {\n credentials: Record<string, PresentationSubmitCredentialRequest[]>;\n interactionId: string;\n }) => core.holderSubmitProof(interactionId, credentials),\n {\n onError: async (err) => {\n reportException(err, 'Proof submission failure');\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n}\n\nexport enum VerificationEngagement {\n QR_CODE = 'QR_CODE',\n NFC = 'NFC',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<ProposeProofRequest, 'organisationId'>) => core.proposeProof({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQuery>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.listProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequest) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nconst getIdentifierFilterForProofSchema = (\n proofSchema: ProofSchemaDetail,\n config: CoreConfig,\n): Partial<IdentifierListQuery> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const identifierFilter = useMemo(\n () => (proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: identifiers } = useIdentifiers(identifierFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n const retract = useCallback(async () => {\n const id = proofIdRef.current;\n if (!id) {\n return;\n }\n setProofId(undefined);\n await deleteProof(id).catch(() => {});\n }, [deleteProof, setProofId]);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n\n if (proofState?.state !== ProofState.CREATED && proofState?.state !== ProofState.PENDING) {\n setProofId(undefined);\n } else {\n setDeleting(true);\n deleteProof(proofIdRef.current || '')\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }\n }, [deleteProof, enabled, proofId, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !identifiers ||\n !identifierFilter ||\n !identifiers.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierIdentifierId: identifiers.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return { proofId: deleting ? undefined : proofId, retract };\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofState.CREATED, ProofState.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n error?: unknown;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState?.state === ProofState.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((error: unknown) => {\n if (error instanceof OneError && error.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n } else {\n setSharedProof({ error, bleAdapterDisabled: false });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK', undefined), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .listProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofState.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofRequestTrustInformation = (credentialId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY, credentialId],\n () => (credentialId ? core.getProofTrustInformation(credentialId) : undefined),\n {\n enabled: Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HistoryAction","HistoryEntityType","OneError","ProofState","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","reportException","useCoreConfig","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifiers","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","listHistory","page","pageSize","entityIds","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProofV2","onError","err","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","listProofs","useProofCreate","data","createProof","getIdentifierFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","identifierFilter","identifiers","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","retract","CREATED","PENDING","length","protocol","OPENID4VP_PROXIMITY_DRAFT00","verifierIdentifierId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","error","_error$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","Promise","all","reverse","useProofRequestTrustInformation","credentialId","getProofTrustInformation"],"sources":["proofs.ts"],"sourcesContent":["import {\n CoreConfig,\n CreateProofRequest,\n HistoryAction,\n HistoryEntityType,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitV2CredentialRequest,\n ProofListQuery,\n ProofSchemaDetail,\n ProofState,\n ProposeProofRequest,\n ShareProofRequest,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { reportException } from '../../reporting';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifiers } from './identifiers';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\nexport const PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY = 'proof-request-trust-information';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n async () => {\n if (!proofId) {\n return undefined;\n }\n\n const state = await core.getProof(proofId).then((proof) => proof.state);\n let metadata: HistoryErrorMetadata | undefined;\n if (state === ProofState.ERROR) {\n metadata = await core\n .listHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityType.PROOF],\n actions: [HistoryAction.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadata);\n }\n return { state, metadata };\n },\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequest };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n }: {\n credentials: Record<string, PresentationSubmitV2CredentialRequest[]>;\n interactionId: string;\n }) => core.holderSubmitProofV2(interactionId, credentials),\n {\n onError: async (err) => {\n reportException(err, 'Proof submission failure');\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n}\n\nexport enum VerificationEngagement {\n QR_CODE = 'QR_CODE',\n NFC = 'NFC',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<ProposeProofRequest, 'organisationId'>) => core.proposeProof({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQuery>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.listProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequest) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nconst getIdentifierFilterForProofSchema = (\n proofSchema: ProofSchemaDetail,\n config: CoreConfig,\n): Partial<IdentifierListQuery> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const identifierFilter = useMemo(\n () => (proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: identifiers } = useIdentifiers(identifierFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n const retract = useCallback(async () => {\n const id = proofIdRef.current;\n if (!id) {\n return;\n }\n setProofId(undefined);\n await deleteProof(id).catch(() => {});\n }, [deleteProof, setProofId]);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n\n if (proofState?.state !== ProofState.CREATED && proofState?.state !== ProofState.PENDING) {\n setProofId(undefined);\n } else {\n setDeleting(true);\n deleteProof(proofIdRef.current || '')\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }\n }, [deleteProof, enabled, proofId, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !identifiers ||\n !identifierFilter ||\n !identifiers.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierIdentifierId: identifiers.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return { proofId: deleting ? undefined : proofId, retract };\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofState.CREATED, ProofState.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n error?: unknown;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState?.state === ProofState.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((error: unknown) => {\n if (error instanceof OneError && error.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n } else {\n setSharedProof({ error, bleAdapterDisabled: false });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK', undefined), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .listProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofState.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofRequestTrustInformation = (credentialId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY, credentialId],\n () => (credentialId ? core.getProofTrustInformation(credentialId) : undefined),\n {\n enabled: Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useQuery } from 'react-query';
|
|
2
|
+
import { useONECore } from './core-context';
|
|
3
|
+
export const TRANSACTION_DATA_QUERY_KEY = 'proof-detail';
|
|
4
|
+
export const useTransactionData = (proofId, transactionDataId) => {
|
|
5
|
+
const {
|
|
6
|
+
core
|
|
7
|
+
} = useONECore();
|
|
8
|
+
return useQuery([TRANSACTION_DATA_QUERY_KEY, proofId], () => proofId && transactionDataId ? core.holderGetTransactionData(proofId, transactionDataId) : undefined, {
|
|
9
|
+
enabled: Boolean(proofId && transactionDataId),
|
|
10
|
+
keepPreviousData: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useQuery","useONECore","TRANSACTION_DATA_QUERY_KEY","useTransactionData","proofId","transactionDataId","core","holderGetTransactionData","undefined","enabled","Boolean","keepPreviousData"],"sources":["transaction.ts"],"sourcesContent":["import { useQuery } from 'react-query';\n\nimport { useONECore } from './core-context';\n\nexport const TRANSACTION_DATA_QUERY_KEY = 'proof-detail';\n\nexport const useTransactionData = (proofId: string | undefined, transactionDataId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [TRANSACTION_DATA_QUERY_KEY, proofId],\n () => (proofId && transactionDataId ? core.holderGetTransactionData(proofId, transactionDataId) : undefined),\n {\n enabled: Boolean(proofId && transactionDataId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAa;AAEtC,SAASC,UAAU,QAAQ,gBAAgB;AAE3C,OAAO,MAAMC,0BAA0B,GAAG,cAAc;AAExD,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,OAA2B,EAAEC,iBAAqC,KAAK;EACxG,MAAM;IAAEC;EAAK,CAAC,GAAGL,UAAU,CAAC,CAAC;EAE7B,OAAOD,QAAQ,CACb,CAACE,0BAA0B,EAAEE,OAAO,CAAC,EACrC,MAAOA,OAAO,IAAIC,iBAAiB,GAAGC,IAAI,CAACC,wBAAwB,CAACH,OAAO,EAAEC,iBAAiB,CAAC,GAAGG,SAAU,EAC5G;IACEC,OAAO,EAAEC,OAAO,CAACN,OAAO,IAAIC,iBAAiB,CAAC;IAC9CM,gBAAgB,EAAE;EACpB,CACF,CAAC;AACH,CAAC","ignoreList":[]}
|