@procivis/one-react-native-components 0.3.143 → 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/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/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/transaction.js +20 -0
- package/lib/commonjs/utils/hooks/core/transaction.js.map +1 -0
- package/lib/commonjs/utils/parsers/credential.js +22 -14
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js +1 -1
- package/lib/commonjs/utils/parsers/query.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/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/transaction.js +13 -0
- package/lib/module/utils/hooks/core/transaction.js.map +1 -0
- package/lib/module/utils/parsers/credential.js +20 -13
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/module/utils/parsers/query.js +1 -1
- package/lib/module/utils/parsers/query.js.map +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/utils/hooks/core/transaction.d.ts +2 -0
- package/lib/typescript/utils/parsers/credential.d.ts +2 -1
- package/package.json +5 -3
- package/src/components/proof-request/v2/share-credential-v2-group.tsx +3 -0
- 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/transaction.ts +18 -0
- package/src/utils/parsers/credential.ts +27 -13
- package/src/utils/parsers/query.ts +1 -0
|
@@ -70,15 +70,18 @@ const ShareCredentialV2Group = ({
|
|
|
70
70
|
var _credentialQuery$appl;
|
|
71
71
|
defaultSelection = (_credentialQuery$appl = credentialQuery.applicableCredentials) !== null && _credentialQuery$appl !== void 0 && _credentialQuery$appl[0] ? {
|
|
72
72
|
credentialId: credentialQuery.applicableCredentials[0].id,
|
|
73
|
-
userSelections: []
|
|
73
|
+
userSelections: [],
|
|
74
|
+
transactionDataIds: []
|
|
74
75
|
} : {
|
|
75
76
|
credentialId: '',
|
|
76
|
-
userSelections: []
|
|
77
|
+
userSelections: [],
|
|
78
|
+
transactionDataIds: []
|
|
77
79
|
};
|
|
78
80
|
} else {
|
|
79
81
|
defaultSelection = {
|
|
80
82
|
credentialId: '',
|
|
81
|
-
userSelections: []
|
|
83
|
+
userSelections: [],
|
|
84
|
+
transactionDataIds: []
|
|
82
85
|
};
|
|
83
86
|
}
|
|
84
87
|
const request = selectedCredentials[credentialRequestId];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_uiComponents","_credentialGroupHeader","_interopRequireDefault","_utils","_shareCredentialV","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","language","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","useCredentialListExpandedCard","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","useCallback","onNestedCardHeaderPress","credentialId","credentialCards","useMemo","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","Selector","status","SelectorStatus","SelectedRadio","Empty","UpIcon","DownIcon","ShareCredentialV2","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","concatTestID","groupHeaderAccessory","View","layout","LinearTransition","animatedWrapper","height","undefined","groupedCredentialsWrapper","BlurView","blurStyle","darkMode","StyleSheet","absoluteFill","TouchableOpacity","onPress","accessory","name","groupHeader","header","exports","create","CredentialCardShadow","borderRadius","GroupedShareCredentialV2Padding","borderWidth","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2,\n PresentationDefinitionV2Claim,\n PresentationSubmitV2CredentialRequest,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, ShareCredentialCardLabels, useCredentialListExpandedCard } from '../../../utils';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]\n>;\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n language: string;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequest[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n language,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequest;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n language={language}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n language,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n borderWidth: 0,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_uiComponents","_credentialGroupHeader","_interopRequireDefault","_utils","_shareCredentialV","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","language","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","useCredentialListExpandedCard","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","useCallback","onNestedCardHeaderPress","credentialId","credentialCards","useMemo","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","transactionDataIds","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","Selector","status","SelectorStatus","SelectedRadio","Empty","UpIcon","DownIcon","ShareCredentialV2","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","concatTestID","groupHeaderAccessory","View","layout","LinearTransition","animatedWrapper","height","undefined","groupedCredentialsWrapper","BlurView","blurStyle","darkMode","StyleSheet","absoluteFill","TouchableOpacity","onPress","accessory","name","groupHeader","header","exports","create","CredentialCardShadow","borderRadius","GroupedShareCredentialV2Padding","borderWidth","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2,\n PresentationDefinitionV2Claim,\n PresentationSubmitV2CredentialRequest,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, ShareCredentialCardLabels, useCredentialListExpandedCard } from '../../../utils';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]\n>;\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n language: string;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequest[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n language,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequest;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n transactionDataIds: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n transactionDataIds: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n transactionDataIds: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n language={language}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n language,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n borderWidth: 0,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,9 +8,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _testID = require("../../../utils/testID");
|
|
10
10
|
var _blurView = _interopRequireDefault(require("../../blur/blur-view"));
|
|
11
|
-
var _imageOrComponent = _interopRequireDefault(require("../../image/image-or-component"));
|
|
12
11
|
var _typography = _interopRequireDefault(require("../../text/typography"));
|
|
13
12
|
var _colorSchemeContext = require("../../theme/color-scheme-context");
|
|
13
|
+
var _credentialLogo = _interopRequireDefault(require("./credential-logo"));
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -82,24 +82,13 @@ const CredentialHeader = ({
|
|
|
82
82
|
}, blur && /*#__PURE__*/_react.default.createElement(_blurView.default, {
|
|
83
83
|
blurStyle: "strong",
|
|
84
84
|
style: _reactNative.StyleSheet.absoluteFill
|
|
85
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
testID: (0, _testID.concatTestID)(testID, '
|
|
91
|
-
|
|
92
|
-
style: styles.image
|
|
93
|
-
}) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
94
|
-
testID: (0, _testID.concatTestID)(testID, 'logoBackgroundColor', String(color))
|
|
95
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
96
|
-
testID: (0, _testID.concatTestID)(testID, 'logoTextColor', String(iconLabelColor))
|
|
97
|
-
}, /*#__PURE__*/_react.default.createElement(_typography.default, {
|
|
98
|
-
testID: (0, _testID.concatTestID)(testID, 'logoName'),
|
|
99
|
-
color: iconLabelColor,
|
|
100
|
-
preset: "m",
|
|
101
|
-
style: styles.imagePlaceholder
|
|
102
|
-
}, credentialName.substring(0, 1))))), statusIconView && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
85
|
+
}), /*#__PURE__*/_react.default.createElement(_credentialLogo.default, {
|
|
86
|
+
color: color,
|
|
87
|
+
icon: icon,
|
|
88
|
+
iconLabelColor: iconLabelColor,
|
|
89
|
+
credentialName: credentialName,
|
|
90
|
+
testID: (0, _testID.concatTestID)(testID, 'logo')
|
|
91
|
+
}), statusIconView && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
103
92
|
style: styles.statusIconWrapper
|
|
104
93
|
}, statusIconView), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
105
94
|
style: styles.text
|
|
@@ -135,25 +124,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
135
124
|
flexDirection: 'row',
|
|
136
125
|
marginTop: -1
|
|
137
126
|
},
|
|
138
|
-
image: {
|
|
139
|
-
height: 44,
|
|
140
|
-
width: 44
|
|
141
|
-
},
|
|
142
|
-
imageContainer: {
|
|
143
|
-
alignItems: 'center',
|
|
144
|
-
borderRadius: 5,
|
|
145
|
-
borderWidth: 0,
|
|
146
|
-
height: 44,
|
|
147
|
-
justifyContent: 'center',
|
|
148
|
-
marginRight: 8,
|
|
149
|
-
overflow: 'hidden',
|
|
150
|
-
width: 44
|
|
151
|
-
},
|
|
152
|
-
imagePlaceholder: {
|
|
153
|
-
paddingLeft: 1,
|
|
154
|
-
paddingTop: 3,
|
|
155
|
-
textTransform: 'uppercase'
|
|
156
|
-
},
|
|
157
127
|
interpunct: {
|
|
158
128
|
marginHorizontal: 12,
|
|
159
129
|
opacity: 0.5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_testID","_blurView","_interopRequireDefault","_imageOrComponent","_typography","_colorSchemeContext","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","CredentialHeader","accessory","blur","color","credentialDetailPrimary","credentialDetailSecondary","credentialDetailTestID","credentialDetailErrorColor","credentialName","icon","iconLabelColor","statusIcon","style","testID","colorScheme","useAppColorScheme","statusIconView","useMemo","undefined","React","isValidElement","StatusIconComponent","createElement","accessoryView","AccessoryComponent","DetailText","commonProps","error","text","ellipsizeMode","numberOfLines","preset","styles","detailText","View","detailTextContainer","concatTestID","Fragment","interpunct","container","backgroundColor","white","blurStyle","StyleSheet","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","_default","exports"],"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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,WAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AAAqE,SAAAI,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAT,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAM,CAAA,GAAAiB,SAAA,CAAAvB,CAAA,YAAAK,CAAA,IAAAC,CAAA,OAAAU,cAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAD,CAAA,MAAAI,CAAA,CAAAJ,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAI,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAkBrE,MAAMG,gBAA2C,GAAGA,CAAC;EACnDC,SAAS;EACTC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAG,SAAS;EACjBC,uBAAuB;EACvBC,yBAAyB;EACzBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,cAAc;EACdC,IAAI;EACJC,cAAc,GAAG,SAAS;EAC1BC,UAAU;EACVC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAEvC,MAAMC,cAA8C,GAAG,IAAAC,cAAO,EAAC,MAAM;IACnE,IAAI,CAACN,UAAU,EAAE;MACf,OAAOO,SAAS;IAClB;IACA,iBAAIC,cAAK,CAACC,cAAc,CAACT,UAAU,CAAC,EAAE;MACpC,OAAOA,UAAU;IACnB,CAAC,MAAM;MACL,MAAMU,mBAAmB,GAAGV,UAAsC;MAClE,oBAAO/C,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACD,mBAAmB,MAAE,CAAC;IAChC;EACF,CAAC,EAAE,CAACV,UAAU,CAAC,CAAC;EAEhB,MAAMY,aAA6C,GAAG,IAAAN,cAAO,EAAC,MAAM;IAClE,IAAI,CAAChB,SAAS,EAAE;MACd,OAAOiB,SAAS;IAClB;IACA,iBAAIC,cAAK,CAACC,cAAc,CAACnB,SAAS,CAAC,EAAE;MACnC,OAAOA,SAAS;IAClB,CAAC,MAAM;MACL,MAAMuB,kBAAkB,GAAGvB,SAAqC;MAChE,oBAAOrC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACE,kBAAkB,MAAE,CAAC;IAC/B;EACF,CAAC,EAAE,CAACvB,SAAS,CAAC,CAAC;EAEf,MAAMwB,UAAU,GAAG,IAAAR,cAAO,EAAC,MAAM;IAC/B,IAAI,CAACb,uBAAuB,EAAE;MAC5B,OAAOc,SAAS;IAClB;IACA,MAAMQ,WAA4B,GAAG;MACnCvB,KAAK,EAAEI,0BAA0B,GAAGO,WAAW,CAACa,KAAK,GAAGb,WAAW,CAACc,IAAI;MACxEC,aAAa,EAAE,MAAM;MACrBC,aAAa,EAAE,CAAC;MAChBC,MAAM,EAAE,IAAI;MACZnB,KAAK,EAAEoB,MAAM,CAACC;IAChB,CAAC;IACD,oBACErE,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;MAACtB,KAAK,EAAEoB,MAAM,CAACG;IAAoB,gBACtCvE,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAClD,WAAA,CAAAI,OAAU,EAAAkB,QAAA,KAAKgC,WAAW;MAAEb,MAAM,EAAEP,sBAAsB,aAAtBA,sBAAsB,cAAtBA,sBAAsB,GAAI,IAAA8B,oBAAY,EAACvB,MAAM,EAAE,eAAe;IAAE,IAClGT,uBACS,CAAC,EACZC,yBAAyB,gBACxBzC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAA1D,MAAA,CAAAY,OAAA,CAAA6D,QAAA,qBACEzE,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAClD,WAAA,CAAAI,OAAU,EAAAkB,QAAA,KAAKgC,WAAW;MAAEd,KAAK,EAAEoB,MAAM,CAACM;IAAW,IACnD,GACS,CAAC,eACb1E,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAClD,WAAA,CAAAI,OAAU,EAAAkB,QAAA,KAAKgC,WAAW;MAAEb,MAAM,EAAE,IAAAuB,oBAAY,EAACvB,MAAM,EAAE,iBAAiB;IAAE,IAC1ER,yBACS,CACZ,CAAC,GACD,IACA,CAAC;EAEX,CAAC,EAAE,CACDD,uBAAuB,EACvBC,yBAAyB,EACzBS,WAAW,EACXD,MAAM,EACNN,0BAA0B,EAC1BD,sBAAsB,CACvB,CAAC;EAEF,oBACE1C,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;IAACtB,KAAK,EAAE,CAACoB,MAAM,CAACO,SAAS,EAAE;MAAEC,eAAe,EAAEtC,IAAI,GAAGgB,SAAS,GAAGJ,WAAW,CAAC2B;IAAM,CAAC,EAAE7B,KAAK,CAAE;IAACC,MAAM,EAAEA;EAAO,GAC/GX,IAAI,iBAAItC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACrD,SAAA,CAAAO,OAAQ;IAACkE,SAAS,EAAC,QAAQ;IAAC9B,KAAK,EAAE+B,uBAAU,CAACC;EAAa,CAAE,CAAC,eACxEhF,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;IAACtB,KAAK,EAAE,CAACoB,MAAM,CAACa,cAAc,EAAE;MAAEL,eAAe,EAAErC;IAAM,CAAC;EAAE,GAC9DM,IAAI,gBACH7C,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACnD,iBAAA,CAAAK,OAAgB;IAACqC,MAAM,EAAE,IAAAuB,oBAAY,EAACvB,MAAM,EAAE,UAAU,CAAE;IAACiC,MAAM,EAAErC,IAAK;IAACG,KAAK,EAAEoB,MAAM,CAACe;EAAM,CAAE,CAAC,gBAEjGnF,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;IAACrB,MAAM,EAAE,IAAAuB,oBAAY,EAACvB,MAAM,EAAE,qBAAqB,EAAEmC,MAAM,CAAC7C,KAAK,CAAC;EAAE,gBACvEvC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;IAACrB,MAAM,EAAE,IAAAuB,oBAAY,EAACvB,MAAM,EAAE,eAAe,EAAEmC,MAAM,CAACtC,cAAc,CAAC;EAAE,gBAC1E9C,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAClD,WAAA,CAAAI,OAAU;IACTqC,MAAM,EAAE,IAAAuB,oBAAY,EAACvB,MAAM,EAAE,UAAU,CAAE;IACzCV,KAAK,EAAEO,cAAe;IACtBqB,MAAM,EAAC,GAAG;IACVnB,KAAK,EAAEoB,MAAM,CAACiB;EAAiB,GAC9BzC,cAAc,CAAC0C,SAAS,CAAC,CAAC,EAAE,CAAC,CACpB,CACR,CACF,CAEJ,CAAC,EACNlC,cAAc,iBAAIpD,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;IAACtB,KAAK,EAAEoB,MAAM,CAACmB;EAAkB,GAAEnC,cAAqB,CAAC,eACjFpD,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;IAACtB,KAAK,EAAEoB,MAAM,CAACJ;EAAK,gBACvBhE,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAClD,WAAA,CAAAI,OAAU;IACTqC,MAAM,EAAE,IAAAuB,oBAAY,EAACvB,MAAM,EAAE,MAAM,CAAE;IACrCV,KAAK,EAAEW,WAAW,CAACc,IAAK;IACxBC,aAAa,EAAE,MAAO;IACtBC,aAAa,EAAE,CAAE;IACjBC,MAAM,EAAC,SAAS;IAChBnB,KAAK,EAAEoB,MAAM,CAACoB;EAAS,GACtB5C,cACS,CAAC,EACZiB,UACG,CAAC,EACNF,aAAa,iBAAI3D,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACvD,YAAA,CAAAmE,IAAI;IAACtB,KAAK,EAAEoB,MAAM,CAAC/B;EAAU,GAAEsB,aAAoB,CAClE,CAAC;AAEX,CAAC;AAED,MAAMS,MAAM,GAAGW,uBAAU,CAACU,MAAM,CAAC;EAC/BpD,SAAS,EAAE;IACTqD,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE;EACT,CAAC;EACDlB,SAAS,EAAE;IACTe,UAAU,EAAE,QAAQ;IACpBI,aAAa,EAAE,KAAK;IACpBH,MAAM,EAAE,EAAE;IACVI,OAAO,EAAE;EACX,CAAC;EACD1B,UAAU,EAAE;IACV2B,IAAI,EAAE,CAAC;IACPC,OAAO,EAAE;EACX,CAAC;EACD1B,mBAAmB,EAAE;IACnBuB,aAAa,EAAE,KAAK;IACpBI,SAAS,EAAE,CAAC;EACd,CAAC;EACDf,KAAK,EAAE;IACLQ,MAAM,EAAE,EAAE;IACVE,KAAK,EAAE;EACT,CAAC;EACDZ,cAAc,EAAE;IACdS,UAAU,EAAE,QAAQ;IACpBS,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdT,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBS,WAAW,EAAE,CAAC;IACdC,QAAQ,EAAE,QAAQ;IAClBT,KAAK,EAAE;EACT,CAAC;EACDR,gBAAgB,EAAE;IAChBkB,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,CAAC;IACbC,aAAa,EAAE;EACjB,CAAC;EACD/B,UAAU,EAAE;IACVgC,gBAAgB,EAAE,EAAE;IACpBT,OAAO,EAAE;EACX,CAAC;EACDT,QAAQ,EAAE;IACRU,SAAS,EAAE;EACb,CAAC;EACDX,iBAAiB,EAAE;IACjBoB,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE,EAAE;IACRC,QAAQ,EAAE;EACZ,CAAC;EACD7C,IAAI,EAAE;IACJgC,IAAI,EAAE,CAAC;IACPJ,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAAnG,OAAA,GAEYwB,gBAAgB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_testID","_blurView","_interopRequireDefault","_typography","_colorSchemeContext","_credentialLogo","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","CredentialHeader","accessory","blur","color","credentialDetailPrimary","credentialDetailSecondary","credentialDetailTestID","credentialDetailErrorColor","credentialName","icon","iconLabelColor","statusIcon","style","testID","colorScheme","useAppColorScheme","statusIconView","useMemo","undefined","React","isValidElement","StatusIconComponent","createElement","accessoryView","AccessoryComponent","DetailText","commonProps","error","text","ellipsizeMode","numberOfLines","preset","styles","detailText","View","detailTextContainer","concatTestID","Fragment","interpunct","container","backgroundColor","white","blurStyle","StyleSheet","absoluteFill","statusIconWrapper","nameText","create","alignItems","height","justifyContent","width","flexDirection","padding","flex","opacity","marginTop","marginHorizontal","bottom","left","position","_default","exports"],"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,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.CredentialLogoSize = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _testID = require("../../../utils/testID");
|
|
10
|
+
var _imageOrComponent = _interopRequireDefault(require("../../image/image-or-component"));
|
|
11
|
+
var _typography = _interopRequireDefault(require("../../text/typography"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
let CredentialLogoSize = exports.CredentialLogoSize = /*#__PURE__*/function (CredentialLogoSize) {
|
|
14
|
+
CredentialLogoSize[CredentialLogoSize["Regular"] = 44] = "Regular";
|
|
15
|
+
CredentialLogoSize[CredentialLogoSize["Small"] = 20] = "Small";
|
|
16
|
+
return CredentialLogoSize;
|
|
17
|
+
}({});
|
|
18
|
+
const CredentialLogo = ({
|
|
19
|
+
color = '#5A69F3',
|
|
20
|
+
credentialName,
|
|
21
|
+
icon,
|
|
22
|
+
iconLabelColor = '#FFFFFF',
|
|
23
|
+
size = CredentialLogoSize.Regular,
|
|
24
|
+
testID
|
|
25
|
+
}) => {
|
|
26
|
+
const sizeStyle = {
|
|
27
|
+
height: size,
|
|
28
|
+
width: size
|
|
29
|
+
};
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
31
|
+
style: [styles.imageContainer, sizeStyle, {
|
|
32
|
+
backgroundColor: color
|
|
33
|
+
}],
|
|
34
|
+
testID: testID
|
|
35
|
+
}, icon ? /*#__PURE__*/_react.default.createElement(_imageOrComponent.default, {
|
|
36
|
+
testID: (0, _testID.concatTestID)(testID, 'icon'),
|
|
37
|
+
source: icon,
|
|
38
|
+
style: sizeStyle
|
|
39
|
+
}) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
40
|
+
testID: (0, _testID.concatTestID)(testID, 'backgroundColor', String(color))
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
42
|
+
testID: (0, _testID.concatTestID)(testID, 'textColor', String(iconLabelColor))
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_typography.default, {
|
|
44
|
+
testID: (0, _testID.concatTestID)(testID, 'name'),
|
|
45
|
+
color: iconLabelColor,
|
|
46
|
+
preset: size === CredentialLogoSize.Regular ? 'm' : 'xs',
|
|
47
|
+
style: [styles.imagePlaceholder, size === CredentialLogoSize.Regular ? styles.imagePlaceholderRegular : styles.imagePlaceholderSmall]
|
|
48
|
+
}, credentialName.substring(0, 1)))));
|
|
49
|
+
};
|
|
50
|
+
const styles = _reactNative.StyleSheet.create({
|
|
51
|
+
imageContainer: {
|
|
52
|
+
alignItems: 'center',
|
|
53
|
+
borderRadius: 5,
|
|
54
|
+
borderWidth: 0,
|
|
55
|
+
justifyContent: 'center',
|
|
56
|
+
marginRight: 8,
|
|
57
|
+
overflow: 'hidden'
|
|
58
|
+
},
|
|
59
|
+
imagePlaceholder: {
|
|
60
|
+
textTransform: 'uppercase'
|
|
61
|
+
},
|
|
62
|
+
imagePlaceholderRegular: {
|
|
63
|
+
paddingLeft: 1,
|
|
64
|
+
paddingTop: 3
|
|
65
|
+
},
|
|
66
|
+
imagePlaceholderSmall: {
|
|
67
|
+
paddingTop: 1
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
var _default = exports.default = CredentialLogo;
|
|
71
|
+
//# sourceMappingURL=credential-logo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_testID","_imageOrComponent","_typography","e","__esModule","default","CredentialLogoSize","exports","CredentialLogo","color","credentialName","icon","iconLabelColor","size","Regular","testID","sizeStyle","height","width","createElement","View","style","styles","imageContainer","backgroundColor","concatTestID","source","String","preset","imagePlaceholder","imagePlaceholderRegular","imagePlaceholderSmall","substring","StyleSheet","create","alignItems","borderRadius","borderWidth","justifyContent","marginRight","overflow","textTransform","paddingLeft","paddingTop","_default"],"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":"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","ignoreList":[]}
|
|
@@ -45,11 +45,18 @@ Object.defineProperty(exports, "CredentialHeader", {
|
|
|
45
45
|
return _credentialHeader.default;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "CredentialLogo", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _credentialLogo.default;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
48
54
|
var _credentialCard = _interopRequireWildcard(require("./credential-card"));
|
|
49
55
|
var _credentialDetailsCard = _interopRequireDefault(require("./credential-details-card"));
|
|
50
56
|
var _credentialDetailsListItem = _interopRequireDefault(require("./credential-details-list-item"));
|
|
51
57
|
var _credentialHeader = _interopRequireDefault(require("./credential-header"));
|
|
52
58
|
var _credentialImageCarousel = require("./credential-image-carousel");
|
|
59
|
+
var _credentialLogo = _interopRequireDefault(require("./credential-logo"));
|
|
53
60
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
54
61
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
55
62
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_credentialCard","_interopRequireWildcard","require","_credentialDetailsCard","_interopRequireDefault","_credentialDetailsListItem","_credentialHeader","_credentialImageCarousel","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"sources":["index.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"names":["_credentialCard","_interopRequireWildcard","require","_credentialDetailsCard","_interopRequireDefault","_credentialDetailsListItem","_credentialHeader","_credentialImageCarousel","_credentialLogo","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"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,IAAAA,eAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,0BAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,iBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,wBAAA,GAAAL,OAAA;AAEA,IAAAM,eAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAA+C,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA","ignoreList":[]}
|
|
@@ -4,12 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _reactNativeWheelPicker = _interopRequireDefault(require("@quidone/react-native-wheel-picker"));
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _ = require("..");
|
|
11
11
|
var _accessibilityHistoryWrappers = require("../accessibility/accessibilityHistoryWrappers");
|
|
12
|
-
var _accessibilityLanguage = require("../accessibility/accessibilityLanguage");
|
|
13
12
|
var _theme = require("../theme");
|
|
14
13
|
var _textInput = _interopRequireWildcard(require("./text-input"));
|
|
15
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -20,72 +19,89 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
20
19
|
* Generic selection input component
|
|
21
20
|
* @see https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=4%3A127&t=B2Y3PtJHH22XDPkx-0
|
|
22
21
|
*/
|
|
23
|
-
|
|
22
|
+
|
|
23
|
+
const SelectionInput = ({
|
|
24
24
|
selectedValue,
|
|
25
|
-
values,
|
|
26
25
|
label,
|
|
27
|
-
|
|
28
|
-
pickerConfirmLabel,
|
|
26
|
+
values,
|
|
29
27
|
pickerCancelLabel,
|
|
28
|
+
pickerConfirmLabel,
|
|
30
29
|
onChange,
|
|
31
|
-
error,
|
|
32
30
|
...props
|
|
33
|
-
}
|
|
31
|
+
}) => {
|
|
34
32
|
var _selectedChoice$short;
|
|
35
|
-
const
|
|
33
|
+
const [modalVisible, setModalVisible] = (0, _react.useState)(false);
|
|
34
|
+
const [wheelPickerValue, setWheelPickerValue] = (0, _react.useState)(selectedValue);
|
|
36
35
|
const colorScheme = (0, _theme.useAppColorScheme)();
|
|
37
36
|
const selectedChoice = (0, _react.useMemo)(() => selectedValue !== undefined ? values.find(({
|
|
38
37
|
value
|
|
39
38
|
}) => value === selectedValue) : undefined, [selectedValue, values]);
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const onConfirm = (0, _react.useCallback)(
|
|
44
|
-
setPickerOpen(false);
|
|
39
|
+
const onCancel = (0, _react.useCallback)(() => {
|
|
40
|
+
setModalVisible(false);
|
|
41
|
+
}, []);
|
|
42
|
+
const onConfirm = (0, _react.useCallback)(() => {
|
|
45
43
|
const choice = values.find(({
|
|
46
|
-
|
|
47
|
-
}) =>
|
|
48
|
-
if (
|
|
49
|
-
|
|
44
|
+
value
|
|
45
|
+
}) => value === wheelPickerValue);
|
|
46
|
+
if (choice && onChange) {
|
|
47
|
+
onChange(choice);
|
|
50
48
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}, [refObject]);
|
|
56
|
-
const accessibilityLabel = error ? `${label}, ${error}` : label;
|
|
57
|
-
return /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableOpacity, _extends({
|
|
58
|
-
accessibilityHint: t('accessibility.control.combobox.tapToSelect'),
|
|
59
|
-
accessibilityLabel: accessibilityLabel,
|
|
60
|
-
accessibilityRole: "combobox",
|
|
61
|
-
accessibilityValue: {
|
|
62
|
-
text: selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.label
|
|
63
|
-
},
|
|
64
|
-
onPress: onOpen,
|
|
65
|
-
ref: forwardedRef
|
|
49
|
+
setModalVisible(false);
|
|
50
|
+
}, [onChange, values, wheelPickerValue]);
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableOpacity, _extends({
|
|
52
|
+
onPress: () => setModalVisible(true)
|
|
66
53
|
}, props), /*#__PURE__*/_react.default.createElement(_textInput.default, {
|
|
67
54
|
accessory: _textInput.TextInputAccessory.Dropdown,
|
|
68
55
|
disabled: true,
|
|
69
|
-
error: error,
|
|
70
56
|
label: label,
|
|
71
57
|
pointerEvents: "none",
|
|
72
58
|
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
|
|
73
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
59
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
|
|
60
|
+
animationType: "fade",
|
|
61
|
+
backdropColor: 'rgba(0,0,0,0.1)',
|
|
62
|
+
onDismiss: () => setModalVisible(false),
|
|
63
|
+
onRequestClose: onCancel,
|
|
64
|
+
style: styles.modal,
|
|
65
|
+
visible: modalVisible
|
|
66
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
67
|
+
style: styles.modalContent
|
|
68
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNativeWheelPicker.default, {
|
|
69
|
+
data: values,
|
|
70
|
+
onValueChanged: ({
|
|
71
|
+
item: {
|
|
72
|
+
value
|
|
73
|
+
}
|
|
74
|
+
}) => setWheelPickerValue(value),
|
|
75
|
+
value: wheelPickerValue || '',
|
|
76
|
+
visibleItemCount: 5
|
|
77
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
78
|
+
style: styles.buttons
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableOpacity, {
|
|
80
|
+
onPress: onCancel
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement(_.Typography, {
|
|
82
|
+
color: colorScheme.black,
|
|
83
|
+
preset: "s"
|
|
84
|
+
}, pickerCancelLabel)), /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableOpacity, {
|
|
85
|
+
onPress: onConfirm
|
|
86
|
+
}, /*#__PURE__*/_react.default.createElement(_.Typography, {
|
|
87
|
+
color: colorScheme.black,
|
|
88
|
+
preset: "s"
|
|
89
|
+
}, pickerConfirmLabel))))));
|
|
90
|
+
};
|
|
91
|
+
const styles = _reactNative.StyleSheet.create({
|
|
92
|
+
buttons: {
|
|
93
|
+
flexDirection: 'row',
|
|
94
|
+
gap: 20,
|
|
95
|
+
justifyContent: 'flex-end'
|
|
96
|
+
},
|
|
97
|
+
modal: {},
|
|
98
|
+
modalContent: {
|
|
99
|
+
backgroundColor: 'white',
|
|
100
|
+
borderRadius: 2,
|
|
101
|
+
margin: 'auto',
|
|
102
|
+
padding: 20,
|
|
103
|
+
width: '80%'
|
|
104
|
+
}
|
|
88
105
|
});
|
|
89
|
-
|
|
90
|
-
var _default = exports.default = SelectionInput;
|
|
106
|
+
var _default = exports.default = /*#__PURE__*/(0, _react.memo)(SelectionInput);
|
|
91
107
|
//# sourceMappingURL=selection-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativePicker","_interopRequireDefault","require","_react","_interopRequireWildcard","_ref","_accessibility","_accessibilityHistoryWrappers","_accessibilityLanguage","_theme","_textInput","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SelectionInput","forwardRef","selectedValue","values","label","pickerTitle","pickerConfirmLabel","pickerCancelLabel","onChange","error","props","ref","_selectedChoice$short","useAccessibilityTranslation","colorScheme","useAppColorScheme","selectedChoice","useMemo","undefined","find","value","forwardedRef","refObject","useForwardedRef","pickerOpen","setPickerOpen","useState","onOpen","useCallback","onConfirm","valueLabel","choice","choiceLabel","setTimeout","focusAccessibility","current","onCancel","requestAnimationFrame","accessibilityLabel","createElement","TouchableOpacity","accessibilityHint","accessibilityRole","accessibilityValue","text","onPress","accessory","TextInputAccessory","Dropdown","disabled","pointerEvents","shortLabel","cancelText","confirmText","items","map","itemLabel","modal","mode","open","textColor","title","displayName","_default","exports"],"sources":["selection-input.tsx"],"sourcesContent":["import Picker from '@procivis/react-native-picker';\nimport React, { forwardRef, useCallback, useMemo, useState } from 'react';\nimport type { TouchableOpacityProps } from 'react-native';\n\nimport { useForwardedRef } from '../../utils/ref';\nimport { focusAccessibility } from '../accessibility/accessibility';\nimport { TouchableOpacity, TouchableOpacityRef } from '../accessibility/accessibilityHistoryWrappers';\nimport { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';\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\n pickerConfirmLabel: string;\n pickerTitle?: string;\n /** {@link SelectionInputChoice.label} of the selected choice */\n selectedValue?: string | number;\n\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 */\nconst SelectionInput = forwardRef<TouchableOpacityRef, SelectionInputProps>(\n (\n { selectedValue, values, label, pickerTitle, pickerConfirmLabel, pickerCancelLabel, onChange, error, ...props },\n ref,\n ) => {\n const t = useAccessibilityTranslation();\n const colorScheme = useAppColorScheme();\n const selectedChoice = useMemo(\n () => (selectedValue !== undefined ? values.find(({ value }) => value === selectedValue) : undefined),\n [selectedValue, values],\n );\n\n const [forwardedRef, refObject] = useForwardedRef(ref);\n const [pickerOpen, setPickerOpen] = useState(false);\n\n const onOpen = useCallback(() => setPickerOpen(true), []);\n const onConfirm = useCallback(\n (valueLabel: any) => {\n setPickerOpen(false);\n const choice = values.find(({ label: choiceLabel }) => choiceLabel === valueLabel);\n if (!choice || !onChange?.(choice)) {\n setTimeout(() => focusAccessibility(refObject.current), 200);\n }\n },\n [onChange, refObject, values],\n );\n const onCancel = useCallback(() => {\n setPickerOpen(false);\n requestAnimationFrame(() => focusAccessibility(refObject.current));\n }, [refObject]);\n\n const accessibilityLabel = error ? `${label}, ${error}` : label;\n return (\n <TouchableOpacity\n accessibilityHint={t('accessibility.control.combobox.tapToSelect')}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"combobox\"\n accessibilityValue={{ text: selectedChoice?.label }}\n onPress={onOpen}\n ref={forwardedRef}\n {...props}>\n <TextInput\n accessory={TextInputAccessory.Dropdown}\n disabled={true}\n error={error}\n label={label}\n pointerEvents=\"none\"\n value={selectedChoice?.shortLabel ?? selectedChoice?.label}\n />\n <Picker\n cancelText={pickerCancelLabel}\n confirmText={pickerConfirmLabel}\n items={values.map(({ label: itemLabel }) => itemLabel)}\n modal\n mode=\"list\"\n onCancel={onCancel}\n onConfirm={onConfirm}\n open={pickerOpen}\n selectedValue={selectedChoice?.label}\n textColor={colorScheme.text}\n title={pickerTitle ?? label}\n />\n </TouchableOpacity>\n );\n },\n);\n\nSelectionInput.displayName = 'SelectionInput';\nexport default SelectionInput;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeWheelPicker","_interopRequireDefault","require","_react","_interopRequireWildcard","_reactNative","_","_accessibilityHistoryWrappers","_theme","_textInput","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SelectionInput","selectedValue","label","values","pickerCancelLabel","pickerConfirmLabel","onChange","props","_selectedChoice$short","modalVisible","setModalVisible","useState","wheelPickerValue","setWheelPickerValue","colorScheme","useAppColorScheme","selectedChoice","useMemo","undefined","find","value","onCancel","useCallback","onConfirm","choice","createElement","Fragment","TouchableOpacity","onPress","accessory","TextInputAccessory","Dropdown","disabled","pointerEvents","shortLabel","Modal","animationType","backdropColor","onDismiss","onRequestClose","style","styles","modal","visible","View","modalContent","data","onValueChanged","item","visibleItemCount","buttons","Typography","color","black","preset","StyleSheet","create","flexDirection","gap","justifyContent","backgroundColor","borderRadius","margin","padding","width","_default","exports","memo"],"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":[]}
|
|
@@ -9,21 +9,13 @@ Object.defineProperty(exports, "ExpandableTypography", {
|
|
|
9
9
|
return _expandableTypography.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "ExpandableTypographyProps", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _expandableTypography.ExpandableTypographyProps;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
12
|
Object.defineProperty(exports, "Typography", {
|
|
19
13
|
enumerable: true,
|
|
20
14
|
get: function () {
|
|
21
15
|
return _typography.default;
|
|
22
16
|
}
|
|
23
17
|
});
|
|
24
|
-
var _expandableTypography =
|
|
18
|
+
var _expandableTypography = _interopRequireDefault(require("./expandableTypography"));
|
|
25
19
|
var _typography = _interopRequireDefault(require("./typography"));
|
|
26
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
27
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
28
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
29
21
|
//# sourceMappingURL=index.js.map
|