@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.
Files changed (53) hide show
  1. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +6 -3
  2. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  3. package/lib/commonjs/ui-components/credential/card/credential-header.js +8 -38
  4. package/lib/commonjs/ui-components/credential/card/credential-header.js.map +1 -1
  5. package/lib/commonjs/ui-components/credential/card/credential-logo.js +71 -0
  6. package/lib/commonjs/ui-components/credential/card/credential-logo.js.map +1 -0
  7. package/lib/commonjs/ui-components/credential/card/index.js +7 -0
  8. package/lib/commonjs/ui-components/credential/card/index.js.map +1 -1
  9. package/lib/commonjs/ui-components/input/selection-input.js +69 -53
  10. package/lib/commonjs/ui-components/input/selection-input.js.map +1 -1
  11. package/lib/commonjs/ui-components/text/index.js +1 -9
  12. package/lib/commonjs/ui-components/text/index.js.map +1 -1
  13. package/lib/commonjs/utils/hooks/core/transaction.js +20 -0
  14. package/lib/commonjs/utils/hooks/core/transaction.js.map +1 -0
  15. package/lib/commonjs/utils/parsers/credential.js +22 -14
  16. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  17. package/lib/commonjs/utils/parsers/query.js +1 -1
  18. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  19. package/lib/module/components/proof-request/v2/share-credential-v2-group.js +6 -3
  20. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  21. package/lib/module/ui-components/credential/card/credential-header.js +8 -38
  22. package/lib/module/ui-components/credential/card/credential-header.js.map +1 -1
  23. package/lib/module/ui-components/credential/card/credential-logo.js +64 -0
  24. package/lib/module/ui-components/credential/card/credential-logo.js.map +1 -0
  25. package/lib/module/ui-components/credential/card/index.js +2 -0
  26. package/lib/module/ui-components/credential/card/index.js.map +1 -1
  27. package/lib/module/ui-components/input/selection-input.js +70 -54
  28. package/lib/module/ui-components/input/selection-input.js.map +1 -1
  29. package/lib/module/ui-components/text/index.js +2 -2
  30. package/lib/module/ui-components/text/index.js.map +1 -1
  31. package/lib/module/utils/hooks/core/transaction.js +13 -0
  32. package/lib/module/utils/hooks/core/transaction.js.map +1 -0
  33. package/lib/module/utils/parsers/credential.js +20 -13
  34. package/lib/module/utils/parsers/credential.js.map +1 -1
  35. package/lib/module/utils/parsers/query.js +1 -1
  36. package/lib/module/utils/parsers/query.js.map +1 -1
  37. package/lib/typescript/ui-components/credential/card/credential-logo.d.ts +17 -0
  38. package/lib/typescript/ui-components/credential/card/index.d.ts +3 -0
  39. package/lib/typescript/ui-components/input/selection-input.d.ts +3 -7
  40. package/lib/typescript/ui-components/text/index.d.ts +2 -1
  41. package/lib/typescript/utils/hooks/core/transaction.d.ts +2 -0
  42. package/lib/typescript/utils/parsers/credential.d.ts +2 -1
  43. package/package.json +5 -3
  44. package/src/components/proof-request/v2/share-credential-v2-group.tsx +3 -0
  45. package/src/ui-components/credential/card/credential-header.tsx +9 -37
  46. package/src/ui-components/credential/card/credential-logo.stories.tsx +45 -0
  47. package/src/ui-components/credential/card/credential-logo.tsx +79 -0
  48. package/src/ui-components/credential/card/index.ts +5 -8
  49. package/src/ui-components/input/selection-input.tsx +85 -65
  50. package/src/ui-components/text/index.ts +2 -1
  51. package/src/utils/hooks/core/transaction.ts +18 -0
  52. package/src/utils/parsers/credential.ts +27 -13
  53. 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(_reactNative.View, {
86
- style: [styles.imageContainer, {
87
- backgroundColor: color
88
- }]
89
- }, icon ? /*#__PURE__*/_react.default.createElement(_imageOrComponent.default, {
90
- testID: (0, _testID.concatTestID)(testID, 'logoIcon'),
91
- source: icon,
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":"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","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 {\n CredentialCardNotice,\n CredentialCardProps,\n} from './credential-card';\nimport CredentialCard, {\n CredentialCardRatio,\n CredentialCardShadow,\n} 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';\n\nexport { CarouselImage, CarouselImageType };\nexport { CredentialCard, CredentialCardNotice, CredentialCardProps, CredentialCardRatio, CredentialCardShadow };\nexport { CredentialDetailsCard, CredentialDetailsCardProps };\nexport { CredentialDetailsCardListItem, CredentialDetailsCardListItemProps };\nexport { CredentialHeader, CredentialHeaderProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,eAAA,GAAAC,uBAAA,CAAAC,OAAA;AAKA,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;AAAgE,SAAAE,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,SAAAP,wBAAAO,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":[]}
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 _reactNativePicker = _interopRequireDefault(require("@procivis/react-native-picker"));
7
+ var _reactNativeWheelPicker = _interopRequireDefault(require("@quidone/react-native-wheel-picker"));
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _ref = require("../../utils/ref");
10
- var _accessibility = require("../accessibility/accessibility");
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
- const SelectionInput = /*#__PURE__*/(0, _react.forwardRef)(({
22
+
23
+ const SelectionInput = ({
24
24
  selectedValue,
25
- values,
26
25
  label,
27
- pickerTitle,
28
- pickerConfirmLabel,
26
+ values,
29
27
  pickerCancelLabel,
28
+ pickerConfirmLabel,
30
29
  onChange,
31
- error,
32
30
  ...props
33
- }, ref) => {
31
+ }) => {
34
32
  var _selectedChoice$short;
35
- const t = (0, _accessibilityLanguage.useAccessibilityTranslation)();
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 [forwardedRef, refObject] = (0, _ref.useForwardedRef)(ref);
41
- const [pickerOpen, setPickerOpen] = (0, _react.useState)(false);
42
- const onOpen = (0, _react.useCallback)(() => setPickerOpen(true), []);
43
- const onConfirm = (0, _react.useCallback)(valueLabel => {
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
- label: choiceLabel
47
- }) => choiceLabel === valueLabel);
48
- if (!choice || !(onChange !== null && onChange !== void 0 && onChange(choice))) {
49
- setTimeout(() => (0, _accessibility.focusAccessibility)(refObject.current), 200);
44
+ value
45
+ }) => value === wheelPickerValue);
46
+ if (choice && onChange) {
47
+ onChange(choice);
50
48
  }
51
- }, [onChange, refObject, values]);
52
- const onCancel = (0, _react.useCallback)(() => {
53
- setPickerOpen(false);
54
- requestAnimationFrame(() => (0, _accessibility.focusAccessibility)(refObject.current));
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(_reactNativePicker.default, {
74
- cancelText: pickerCancelLabel,
75
- confirmText: pickerConfirmLabel,
76
- items: values.map(({
77
- label: itemLabel
78
- }) => itemLabel),
79
- modal: true,
80
- mode: "list",
81
- onCancel: onCancel,
82
- onConfirm: onConfirm,
83
- open: pickerOpen,
84
- selectedValue: selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.label,
85
- textColor: colorScheme.text,
86
- title: pickerTitle !== null && pickerTitle !== void 0 ? pickerTitle : label
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
- SelectionInput.displayName = 'SelectionInput';
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 = _interopRequireWildcard(require("./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