@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
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import { concatTestID } from '../../../utils/testID';
4
+ import ImageOrComponent from '../../image/image-or-component';
5
+ import Typography from '../../text/typography';
6
+ export let CredentialLogoSize = /*#__PURE__*/function (CredentialLogoSize) {
7
+ CredentialLogoSize[CredentialLogoSize["Regular"] = 44] = "Regular";
8
+ CredentialLogoSize[CredentialLogoSize["Small"] = 20] = "Small";
9
+ return CredentialLogoSize;
10
+ }({});
11
+ const CredentialLogo = ({
12
+ color = '#5A69F3',
13
+ credentialName,
14
+ icon,
15
+ iconLabelColor = '#FFFFFF',
16
+ size = CredentialLogoSize.Regular,
17
+ testID
18
+ }) => {
19
+ const sizeStyle = {
20
+ height: size,
21
+ width: size
22
+ };
23
+ return /*#__PURE__*/React.createElement(View, {
24
+ style: [styles.imageContainer, sizeStyle, {
25
+ backgroundColor: color
26
+ }],
27
+ testID: testID
28
+ }, icon ? /*#__PURE__*/React.createElement(ImageOrComponent, {
29
+ testID: concatTestID(testID, 'icon'),
30
+ source: icon,
31
+ style: sizeStyle
32
+ }) : /*#__PURE__*/React.createElement(View, {
33
+ testID: concatTestID(testID, 'backgroundColor', String(color))
34
+ }, /*#__PURE__*/React.createElement(View, {
35
+ testID: concatTestID(testID, 'textColor', String(iconLabelColor))
36
+ }, /*#__PURE__*/React.createElement(Typography, {
37
+ testID: concatTestID(testID, 'name'),
38
+ color: iconLabelColor,
39
+ preset: size === CredentialLogoSize.Regular ? 'm' : 'xs',
40
+ style: [styles.imagePlaceholder, size === CredentialLogoSize.Regular ? styles.imagePlaceholderRegular : styles.imagePlaceholderSmall]
41
+ }, credentialName.substring(0, 1)))));
42
+ };
43
+ const styles = StyleSheet.create({
44
+ imageContainer: {
45
+ alignItems: 'center',
46
+ borderRadius: 5,
47
+ borderWidth: 0,
48
+ justifyContent: 'center',
49
+ marginRight: 8,
50
+ overflow: 'hidden'
51
+ },
52
+ imagePlaceholder: {
53
+ textTransform: 'uppercase'
54
+ },
55
+ imagePlaceholderRegular: {
56
+ paddingLeft: 1,
57
+ paddingTop: 3
58
+ },
59
+ imagePlaceholderSmall: {
60
+ paddingTop: 1
61
+ }
62
+ });
63
+ export default CredentialLogo;
64
+ //# sourceMappingURL=credential-logo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","concatTestID","ImageOrComponent","Typography","CredentialLogoSize","CredentialLogo","color","credentialName","icon","iconLabelColor","size","Regular","testID","sizeStyle","height","width","createElement","style","styles","imageContainer","backgroundColor","source","String","preset","imagePlaceholder","imagePlaceholderRegular","imagePlaceholderSmall","substring","create","alignItems","borderRadius","borderWidth","justifyContent","marginRight","overflow","textTransform","paddingLeft","paddingTop"],"sources":["credential-logo.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { ColorValue, StyleSheet, View } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography from '../../text/typography';\n\nexport enum CredentialLogoSize {\n Regular = 44,\n Small = 20,\n}\n\nexport type CredentialLogoProps = {\n color?: ColorValue;\n credentialName: string;\n icon?: ImageOrComponentSource;\n iconLabelColor?: ColorValue;\n size?: CredentialLogoSize;\n testID?: string;\n};\n\nconst CredentialLogo: FC<CredentialLogoProps> = ({\n color = '#5A69F3',\n credentialName,\n icon,\n iconLabelColor = '#FFFFFF',\n size = CredentialLogoSize.Regular,\n testID,\n}) => {\n const sizeStyle = {\n height: size,\n width: size,\n };\n return (\n <View style={[styles.imageContainer, sizeStyle, { backgroundColor: color }]} testID={testID}>\n {icon ? (\n <ImageOrComponent testID={concatTestID(testID, 'icon')} source={icon} style={sizeStyle} />\n ) : (\n <View testID={concatTestID(testID, 'backgroundColor', String(color))}>\n <View testID={concatTestID(testID, 'textColor', String(iconLabelColor))}>\n <Typography\n testID={concatTestID(testID, 'name')}\n color={iconLabelColor}\n preset={size === CredentialLogoSize.Regular ? 'm' : 'xs'}\n style={[\n styles.imagePlaceholder,\n size === CredentialLogoSize.Regular ? styles.imagePlaceholderRegular : styles.imagePlaceholderSmall,\n ]}>\n {credentialName.substring(0, 1)}\n </Typography>\n </View>\n </View>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n imageContainer: {\n alignItems: 'center',\n borderRadius: 5,\n borderWidth: 0,\n justifyContent: 'center',\n marginRight: 8,\n overflow: 'hidden',\n },\n imagePlaceholder: {\n textTransform: 'uppercase',\n },\n imagePlaceholderRegular: {\n paddingLeft: 1,\n paddingTop: 3,\n },\n imagePlaceholderSmall: {\n paddingTop: 1,\n },\n});\n\nexport default CredentialLogo;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAAqBC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE3D,SAASC,YAAY,QAAQ,uBAAuB;AACpD,OAAOC,gBAAgB,MAAkC,gCAAgC;AACzF,OAAOC,UAAU,MAAM,uBAAuB;AAE9C,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAc9B,MAAMC,cAAuC,GAAGA,CAAC;EAC/CC,KAAK,GAAG,SAAS;EACjBC,cAAc;EACdC,IAAI;EACJC,cAAc,GAAG,SAAS;EAC1BC,IAAI,GAAGN,kBAAkB,CAACO,OAAO;EACjCC;AACF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAG;IAChBC,MAAM,EAAEJ,IAAI;IACZK,KAAK,EAAEL;EACT,CAAC;EACD,oBACEZ,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACiB,KAAK,EAAE,CAACC,MAAM,CAACC,cAAc,EAAEN,SAAS,EAAE;MAAEO,eAAe,EAAEd;IAAM,CAAC,CAAE;IAACM,MAAM,EAAEA;EAAO,GACzFJ,IAAI,gBACHV,KAAA,CAAAkB,aAAA,CAACd,gBAAgB;IAACU,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,MAAM,CAAE;IAACS,MAAM,EAAEb,IAAK;IAACS,KAAK,EAAEJ;EAAU,CAAE,CAAC,gBAE1Ff,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACY,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,iBAAiB,EAAEU,MAAM,CAAChB,KAAK,CAAC;EAAE,gBACnER,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACY,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,WAAW,EAAEU,MAAM,CAACb,cAAc,CAAC;EAAE,gBACtEX,KAAA,CAAAkB,aAAA,CAACb,UAAU;IACTS,MAAM,EAAEX,YAAY,CAACW,MAAM,EAAE,MAAM,CAAE;IACrCN,KAAK,EAAEG,cAAe;IACtBc,MAAM,EAAEb,IAAI,KAAKN,kBAAkB,CAACO,OAAO,GAAG,GAAG,GAAG,IAAK;IACzDM,KAAK,EAAE,CACLC,MAAM,CAACM,gBAAgB,EACvBd,IAAI,KAAKN,kBAAkB,CAACO,OAAO,GAAGO,MAAM,CAACO,uBAAuB,GAAGP,MAAM,CAACQ,qBAAqB;EACnG,GACDnB,cAAc,CAACoB,SAAS,CAAC,CAAC,EAAE,CAAC,CACpB,CACR,CACF,CAEJ,CAAC;AAEX,CAAC;AAED,MAAMT,MAAM,GAAGnB,UAAU,CAAC6B,MAAM,CAAC;EAC/BT,cAAc,EAAE;IACdU,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE,CAAC;IACdC,QAAQ,EAAE;EACZ,CAAC;EACDV,gBAAgB,EAAE;IAChBW,aAAa,EAAE;EACjB,CAAC;EACDV,uBAAuB,EAAE;IACvBW,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE;EACd,CAAC;EACDX,qBAAqB,EAAE;IACrBW,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAehC,cAAc","ignoreList":[]}
@@ -3,9 +3,11 @@ import CredentialDetailsCard from './credential-details-card';
3
3
  import CredentialDetailsCardListItem from './credential-details-list-item';
4
4
  import CredentialHeader from './credential-header';
5
5
  import { CarouselImageType } from './credential-image-carousel';
6
+ import CredentialLogo from './credential-logo';
6
7
  export { CarouselImageType };
7
8
  export { CredentialCard, CredentialCardRatio, CredentialCardShadow };
8
9
  export { CredentialDetailsCard };
9
10
  export { CredentialDetailsCardListItem };
10
11
  export { CredentialHeader };
12
+ export { CredentialLogo };
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialCard","CredentialCardRatio","CredentialCardShadow","CredentialDetailsCard","CredentialDetailsCardListItem","CredentialHeader","CarouselImageType"],"sources":["index.ts"],"sourcesContent":["import type {\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,OAAOA,cAAc,IACnBC,mBAAmB,EACnBC,oBAAoB,QACf,mBAAmB;AAE1B,OAAOC,qBAAqB,MAAM,2BAA2B;AAE7D,OAAOC,6BAA6B,MAAM,gCAAgC;AAE1E,OAAOC,gBAAgB,MAAM,qBAAqB;AAElD,SAASC,iBAAiB,QAAQ,6BAA6B;AAE/D,SAAwBA,iBAAiB;AACzC,SAASN,cAAc,EAA6CC,mBAAmB,EAAEC,oBAAoB;AAC7G,SAASC,qBAAqB;AAC9B,SAASC,6BAA6B;AACtC,SAASC,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["CredentialCard","CredentialCardRatio","CredentialCardShadow","CredentialDetailsCard","CredentialDetailsCardListItem","CredentialHeader","CarouselImageType","CredentialLogo"],"sources":["index.ts"],"sourcesContent":["import type { CredentialCardNotice, CredentialCardProps } from './credential-card';\nimport CredentialCard, { CredentialCardRatio, CredentialCardShadow } from './credential-card';\nimport type { CredentialDetailsCardProps } from './credential-details-card';\nimport CredentialDetailsCard from './credential-details-card';\nimport type { CredentialDetailsCardListItemProps } from './credential-details-list-item';\nimport CredentialDetailsCardListItem from './credential-details-list-item';\nimport type { CredentialHeaderProps } from './credential-header';\nimport CredentialHeader from './credential-header';\nimport type { CarouselImage } from './credential-image-carousel';\nimport { CarouselImageType } from './credential-image-carousel';\nimport type { CredentialLogoProps, CredentialLogoSize } from './credential-logo';\nimport CredentialLogo from './credential-logo';\n\nexport { CarouselImage, CarouselImageType };\nexport { CredentialCard, CredentialCardNotice, CredentialCardProps, CredentialCardRatio, CredentialCardShadow };\nexport { CredentialDetailsCard, CredentialDetailsCardProps };\nexport { CredentialDetailsCardListItem, CredentialDetailsCardListItemProps };\nexport { CredentialHeader, CredentialHeaderProps };\nexport { CredentialLogo, CredentialLogoProps, CredentialLogoSize };\n"],"mappings":"AACA,OAAOA,cAAc,IAAIC,mBAAmB,EAAEC,oBAAoB,QAAQ,mBAAmB;AAE7F,OAAOC,qBAAqB,MAAM,2BAA2B;AAE7D,OAAOC,6BAA6B,MAAM,gCAAgC;AAE1E,OAAOC,gBAAgB,MAAM,qBAAqB;AAElD,SAASC,iBAAiB,QAAQ,6BAA6B;AAE/D,OAAOC,cAAc,MAAM,mBAAmB;AAE9C,SAAwBD,iBAAiB;AACzC,SAASN,cAAc,EAA6CC,mBAAmB,EAAEC,oBAAoB;AAC7G,SAASC,qBAAqB;AAC9B,SAASC,6BAA6B;AACtC,SAASC,gBAAgB;AACzB,SAASE,cAAc","ignoreList":[]}
@@ -1,82 +1,98 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import Picker from '@procivis/react-native-picker';
3
- import React, { forwardRef, useCallback, useMemo, useState } from 'react';
4
- import { useForwardedRef } from '../../utils/ref';
5
- import { focusAccessibility } from '../accessibility/accessibility';
2
+ import WheelPicker from '@quidone/react-native-wheel-picker';
3
+ import React, { memo, useCallback, useMemo, useState } from 'react';
4
+ import { Modal, StyleSheet, View } from 'react-native';
5
+ import { Typography } from '..';
6
6
  import { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';
7
- import { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';
8
7
  import { useAppColorScheme } from '../theme';
9
8
  import TextInput, { TextInputAccessory } from './text-input';
10
9
  /**
11
10
  * Generic selection input component
12
11
  * @see https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=4%3A127&t=B2Y3PtJHH22XDPkx-0
13
12
  */
14
- const SelectionInput = /*#__PURE__*/forwardRef(({
13
+
14
+ const SelectionInput = ({
15
15
  selectedValue,
16
- values,
17
16
  label,
18
- pickerTitle,
19
- pickerConfirmLabel,
17
+ values,
20
18
  pickerCancelLabel,
19
+ pickerConfirmLabel,
21
20
  onChange,
22
- error,
23
21
  ...props
24
- }, ref) => {
22
+ }) => {
25
23
  var _selectedChoice$short;
26
- const t = useAccessibilityTranslation();
24
+ const [modalVisible, setModalVisible] = useState(false);
25
+ const [wheelPickerValue, setWheelPickerValue] = useState(selectedValue);
27
26
  const colorScheme = useAppColorScheme();
28
27
  const selectedChoice = useMemo(() => selectedValue !== undefined ? values.find(({
29
28
  value
30
29
  }) => value === selectedValue) : undefined, [selectedValue, values]);
31
- const [forwardedRef, refObject] = useForwardedRef(ref);
32
- const [pickerOpen, setPickerOpen] = useState(false);
33
- const onOpen = useCallback(() => setPickerOpen(true), []);
34
- const onConfirm = useCallback(valueLabel => {
35
- setPickerOpen(false);
30
+ const onCancel = useCallback(() => {
31
+ setModalVisible(false);
32
+ }, []);
33
+ const onConfirm = useCallback(() => {
36
34
  const choice = values.find(({
37
- label: choiceLabel
38
- }) => choiceLabel === valueLabel);
39
- if (!choice || !(onChange !== null && onChange !== void 0 && onChange(choice))) {
40
- setTimeout(() => focusAccessibility(refObject.current), 200);
35
+ value
36
+ }) => value === wheelPickerValue);
37
+ if (choice && onChange) {
38
+ onChange(choice);
41
39
  }
42
- }, [onChange, refObject, values]);
43
- const onCancel = useCallback(() => {
44
- setPickerOpen(false);
45
- requestAnimationFrame(() => focusAccessibility(refObject.current));
46
- }, [refObject]);
47
- const accessibilityLabel = error ? `${label}, ${error}` : label;
48
- return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
49
- accessibilityHint: t('accessibility.control.combobox.tapToSelect'),
50
- accessibilityLabel: accessibilityLabel,
51
- accessibilityRole: "combobox",
52
- accessibilityValue: {
53
- text: selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.label
54
- },
55
- onPress: onOpen,
56
- ref: forwardedRef
40
+ setModalVisible(false);
41
+ }, [onChange, values, wheelPickerValue]);
42
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
43
+ onPress: () => setModalVisible(true)
57
44
  }, props), /*#__PURE__*/React.createElement(TextInput, {
58
45
  accessory: TextInputAccessory.Dropdown,
59
46
  disabled: true,
60
- error: error,
61
47
  label: label,
62
48
  pointerEvents: "none",
63
49
  value: (_selectedChoice$short = selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.shortLabel) !== null && _selectedChoice$short !== void 0 ? _selectedChoice$short : selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.label
64
- }), /*#__PURE__*/React.createElement(Picker, {
65
- cancelText: pickerCancelLabel,
66
- confirmText: pickerConfirmLabel,
67
- items: values.map(({
68
- label: itemLabel
69
- }) => itemLabel),
70
- modal: true,
71
- mode: "list",
72
- onCancel: onCancel,
73
- onConfirm: onConfirm,
74
- open: pickerOpen,
75
- selectedValue: selectedChoice === null || selectedChoice === void 0 ? void 0 : selectedChoice.label,
76
- textColor: colorScheme.text,
77
- title: pickerTitle !== null && pickerTitle !== void 0 ? pickerTitle : label
78
- }));
50
+ })), /*#__PURE__*/React.createElement(Modal, {
51
+ animationType: "fade",
52
+ backdropColor: 'rgba(0,0,0,0.1)',
53
+ onDismiss: () => setModalVisible(false),
54
+ onRequestClose: onCancel,
55
+ style: styles.modal,
56
+ visible: modalVisible
57
+ }, /*#__PURE__*/React.createElement(View, {
58
+ style: styles.modalContent
59
+ }, /*#__PURE__*/React.createElement(WheelPicker, {
60
+ data: values,
61
+ onValueChanged: ({
62
+ item: {
63
+ value
64
+ }
65
+ }) => setWheelPickerValue(value),
66
+ value: wheelPickerValue || '',
67
+ visibleItemCount: 5
68
+ }), /*#__PURE__*/React.createElement(View, {
69
+ style: styles.buttons
70
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
71
+ onPress: onCancel
72
+ }, /*#__PURE__*/React.createElement(Typography, {
73
+ color: colorScheme.black,
74
+ preset: "s"
75
+ }, pickerCancelLabel)), /*#__PURE__*/React.createElement(TouchableOpacity, {
76
+ onPress: onConfirm
77
+ }, /*#__PURE__*/React.createElement(Typography, {
78
+ color: colorScheme.black,
79
+ preset: "s"
80
+ }, pickerConfirmLabel))))));
81
+ };
82
+ const styles = StyleSheet.create({
83
+ buttons: {
84
+ flexDirection: 'row',
85
+ gap: 20,
86
+ justifyContent: 'flex-end'
87
+ },
88
+ modal: {},
89
+ modalContent: {
90
+ backgroundColor: 'white',
91
+ borderRadius: 2,
92
+ margin: 'auto',
93
+ padding: 20,
94
+ width: '80%'
95
+ }
79
96
  });
80
- SelectionInput.displayName = 'SelectionInput';
81
- export default SelectionInput;
97
+ export default /*#__PURE__*/memo(SelectionInput);
82
98
  //# sourceMappingURL=selection-input.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Picker","React","forwardRef","useCallback","useMemo","useState","useForwardedRef","focusAccessibility","TouchableOpacity","useAccessibilityTranslation","useAppColorScheme","TextInput","TextInputAccessory","SelectionInput","selectedValue","values","label","pickerTitle","pickerConfirmLabel","pickerCancelLabel","onChange","error","props","ref","_selectedChoice$short","t","colorScheme","selectedChoice","undefined","find","value","forwardedRef","refObject","pickerOpen","setPickerOpen","onOpen","onConfirm","valueLabel","choice","choiceLabel","setTimeout","current","onCancel","requestAnimationFrame","accessibilityLabel","createElement","_extends","accessibilityHint","accessibilityRole","accessibilityValue","text","onPress","accessory","Dropdown","disabled","pointerEvents","shortLabel","cancelText","confirmText","items","map","itemLabel","modal","mode","open","textColor","title","displayName"],"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":";AAAA,OAAOA,MAAM,MAAM,+BAA+B;AAClD,OAAOC,KAAK,IAAIC,UAAU,EAAEC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAGzE,SAASC,eAAe,QAAQ,iBAAiB;AACjD,SAASC,kBAAkB,QAAQ,gCAAgC;AACnE,SAASC,gBAAgB,QAA6B,+CAA+C;AACrG,SAASC,2BAA2B,QAAQ,wCAAwC;AACpF,SAASC,iBAAiB,QAAQ,UAAU;AAC5C,OAAOC,SAAS,IAAIC,kBAAkB,QAAQ,cAAc;AA8B5D;AACA;AACA;AACA;AACA,MAAMC,cAAc,gBAAGX,UAAU,CAC/B,CACE;EAAEY,aAAa;EAAEC,MAAM;EAAEC,KAAK;EAAEC,WAAW;EAAEC,kBAAkB;EAAEC,iBAAiB;EAAEC,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAC/GC,GAAG,KACA;EAAA,IAAAC,qBAAA;EACH,MAAMC,CAAC,GAAGhB,2BAA2B,CAAC,CAAC;EACvC,MAAMiB,WAAW,GAAGhB,iBAAiB,CAAC,CAAC;EACvC,MAAMiB,cAAc,GAAGvB,OAAO,CAC5B,MAAOU,aAAa,KAAKc,SAAS,GAAGb,MAAM,CAACc,IAAI,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAKA,KAAK,KAAKhB,aAAa,CAAC,GAAGc,SAAU,EACrG,CAACd,aAAa,EAAEC,MAAM,CACxB,CAAC;EAED,MAAM,CAACgB,YAAY,EAAEC,SAAS,CAAC,GAAG1B,eAAe,CAACiB,GAAG,CAAC;EACtD,MAAM,CAACU,UAAU,EAAEC,aAAa,CAAC,GAAG7B,QAAQ,CAAC,KAAK,CAAC;EAEnD,MAAM8B,MAAM,GAAGhC,WAAW,CAAC,MAAM+B,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;EACzD,MAAME,SAAS,GAAGjC,WAAW,CAC1BkC,UAAe,IAAK;IACnBH,aAAa,CAAC,KAAK,CAAC;IACpB,MAAMI,MAAM,GAAGvB,MAAM,CAACc,IAAI,CAAC,CAAC;MAAEb,KAAK,EAAEuB;IAAY,CAAC,KAAKA,WAAW,KAAKF,UAAU,CAAC;IAClF,IAAI,CAACC,MAAM,IAAI,EAAClB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGkB,MAAM,CAAC,GAAE;MAClCE,UAAU,CAAC,MAAMjC,kBAAkB,CAACyB,SAAS,CAACS,OAAO,CAAC,EAAE,GAAG,CAAC;IAC9D;EACF,CAAC,EACD,CAACrB,QAAQ,EAAEY,SAAS,EAAEjB,MAAM,CAC9B,CAAC;EACD,MAAM2B,QAAQ,GAAGvC,WAAW,CAAC,MAAM;IACjC+B,aAAa,CAAC,KAAK,CAAC;IACpBS,qBAAqB,CAAC,MAAMpC,kBAAkB,CAACyB,SAAS,CAACS,OAAO,CAAC,CAAC;EACpE,CAAC,EAAE,CAACT,SAAS,CAAC,CAAC;EAEf,MAAMY,kBAAkB,GAAGvB,KAAK,GAAG,GAAGL,KAAK,KAAKK,KAAK,EAAE,GAAGL,KAAK;EAC/D,oBACEf,KAAA,CAAA4C,aAAA,CAACrC,gBAAgB,EAAAsC,QAAA;IACfC,iBAAiB,EAAEtB,CAAC,CAAC,4CAA4C,CAAE;IACnEmB,kBAAkB,EAAEA,kBAAmB;IACvCI,iBAAiB,EAAC,UAAU;IAC5BC,kBAAkB,EAAE;MAAEC,IAAI,EAAEvB,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEX;IAAM,CAAE;IACpDmC,OAAO,EAAEhB,MAAO;IAChBZ,GAAG,EAAEQ;EAAa,GACdT,KAAK,gBACTrB,KAAA,CAAA4C,aAAA,CAAClC,SAAS;IACRyC,SAAS,EAAExC,kBAAkB,CAACyC,QAAS;IACvCC,QAAQ,EAAE,IAAK;IACfjC,KAAK,EAAEA,KAAM;IACbL,KAAK,EAAEA,KAAM;IACbuC,aAAa,EAAC,MAAM;IACpBzB,KAAK,GAAAN,qBAAA,GAAEG,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE6B,UAAU,cAAAhC,qBAAA,cAAAA,qBAAA,GAAIG,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEX;EAAM,CAC5D,CAAC,eACFf,KAAA,CAAA4C,aAAA,CAAC7C,MAAM;IACLyD,UAAU,EAAEtC,iBAAkB;IAC9BuC,WAAW,EAAExC,kBAAmB;IAChCyC,KAAK,EAAE5C,MAAM,CAAC6C,GAAG,CAAC,CAAC;MAAE5C,KAAK,EAAE6C;IAAU,CAAC,KAAKA,SAAS,CAAE;IACvDC,KAAK;IACLC,IAAI,EAAC,MAAM;IACXrB,QAAQ,EAAEA,QAAS;IACnBN,SAAS,EAAEA,SAAU;IACrB4B,IAAI,EAAE/B,UAAW;IACjBnB,aAAa,EAAEa,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEX,KAAM;IACrCiD,SAAS,EAAEvC,WAAW,CAACwB,IAAK;IAC5BgB,KAAK,EAAEjD,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAID;EAAM,CAC7B,CACe,CAAC;AAEvB,CACF,CAAC;AAEDH,cAAc,CAACsD,WAAW,GAAG,gBAAgB;AAC7C,eAAetD,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["WheelPicker","React","memo","useCallback","useMemo","useState","Modal","StyleSheet","View","Typography","TouchableOpacity","useAppColorScheme","TextInput","TextInputAccessory","SelectionInput","selectedValue","label","values","pickerCancelLabel","pickerConfirmLabel","onChange","props","_selectedChoice$short","modalVisible","setModalVisible","wheelPickerValue","setWheelPickerValue","colorScheme","selectedChoice","undefined","find","value","onCancel","onConfirm","choice","createElement","Fragment","_extends","onPress","accessory","Dropdown","disabled","pointerEvents","shortLabel","animationType","backdropColor","onDismiss","onRequestClose","style","styles","modal","visible","modalContent","data","onValueChanged","item","visibleItemCount","buttons","color","black","preset","create","flexDirection","gap","justifyContent","backgroundColor","borderRadius","margin","padding","width"],"sources":["selection-input.tsx"],"sourcesContent":["import WheelPicker from '@quidone/react-native-wheel-picker';\nimport React, { FC, memo, useCallback, useMemo, useState } from 'react';\nimport { Modal, StyleSheet, TouchableOpacityProps, View } from 'react-native';\n\nimport { Typography } from '..';\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { useAppColorScheme } from '../theme';\nimport TextInput, { TextInputAccessory } from './text-input';\n\nexport interface SelectionInputChoice {\n label: string;\n /**\n * If specified used in the input display, otherwise {@link label} used.\n * The {@link label} is always used for the picker values.\n */\n shortLabel?: string;\n value: string | number;\n}\n\nexport interface SelectionInputProps extends TouchableOpacityProps {\n error?: string;\n label: string;\n /**\n * Called when selection changes\n * @return `true` to avoid accessibility auto-focusing, `false` otherwise\n */\n onChange?: (value: SelectionInputChoice) => boolean;\n pickerCancelLabel: string;\n pickerConfirmLabel: string;\n pickerTitle?: string;\n /** {@link SelectionInputChoice.label} of the selected choice */\n selectedValue?: string | number;\n values: SelectionInputChoice[];\n}\n\n/**\n * Generic selection input component\n * @see https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=4%3A127&t=B2Y3PtJHH22XDPkx-0\n */\n\nconst SelectionInput: FC<SelectionInputProps> = ({\n selectedValue,\n label,\n values,\n pickerCancelLabel,\n pickerConfirmLabel,\n onChange,\n ...props\n}) => {\n const [modalVisible, setModalVisible] = useState(false);\n const [wheelPickerValue, setWheelPickerValue] = useState(selectedValue);\n const colorScheme = useAppColorScheme();\n\n const selectedChoice = useMemo(\n () => (selectedValue !== undefined ? values.find(({ value }) => value === selectedValue) : undefined),\n [selectedValue, values],\n );\n\n const onCancel = useCallback(() => {\n setModalVisible(false);\n }, []);\n\n const onConfirm = useCallback(() => {\n const choice = values.find(({ value }) => value === wheelPickerValue);\n if (choice && onChange) {\n onChange(choice);\n }\n\n setModalVisible(false);\n }, [onChange, values, wheelPickerValue]);\n\n return (\n <>\n <TouchableOpacity onPress={() => setModalVisible(true)} {...props}>\n <TextInput\n accessory={TextInputAccessory.Dropdown}\n disabled={true}\n label={label}\n pointerEvents=\"none\"\n value={selectedChoice?.shortLabel ?? selectedChoice?.label}\n />\n </TouchableOpacity>\n <Modal\n animationType=\"fade\"\n backdropColor={'rgba(0,0,0,0.1)'}\n onDismiss={() => setModalVisible(false)}\n onRequestClose={onCancel}\n style={styles.modal}\n visible={modalVisible}>\n <View style={styles.modalContent}>\n <WheelPicker\n data={values}\n onValueChanged={({ item: { value } }: { item: { value?: string | number } }) => setWheelPickerValue(value)}\n value={wheelPickerValue || ''}\n visibleItemCount={5}\n />\n <View style={styles.buttons}>\n <TouchableOpacity onPress={onCancel}>\n <Typography color={colorScheme.black} preset=\"s\">\n {pickerCancelLabel}\n </Typography>\n </TouchableOpacity>\n <TouchableOpacity onPress={onConfirm}>\n <Typography color={colorScheme.black} preset=\"s\">\n {pickerConfirmLabel}\n </Typography>\n </TouchableOpacity>\n </View>\n </View>\n </Modal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n buttons: {\n flexDirection: 'row',\n gap: 20,\n justifyContent: 'flex-end',\n },\n\n modal: {},\n modalContent: {\n backgroundColor: 'white',\n borderRadius: 2,\n margin: 'auto',\n padding: 20,\n width: '80%',\n },\n});\n\nexport default memo(SelectionInput);\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import ExpandableTypography, { ExpandableTypographyProps } from './expandableTypography';
1
+ import ExpandableTypography from './expandableTypography';
2
2
  import Typography from './typography';
3
- export { ExpandableTypography, ExpandableTypographyProps, Typography };
3
+ export { ExpandableTypography, Typography };
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ExpandableTypography","ExpandableTypographyProps","Typography"],"sources":["index.ts"],"sourcesContent":["import ExpandableTypography, { ExpandableTypographyProps } from './expandableTypography';\nimport type { TypographyProps } from './typography';\nimport Typography from './typography';\n\nexport { ExpandableTypography, ExpandableTypographyProps, Typography, TypographyProps };\n"],"mappings":"AAAA,OAAOA,oBAAoB,IAAIC,yBAAyB,QAAQ,wBAAwB;AAExF,OAAOC,UAAU,MAAM,cAAc;AAErC,SAASF,oBAAoB,EAAEC,yBAAyB,EAAEC,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["ExpandableTypography","Typography"],"sources":["index.ts"],"sourcesContent":["import type { ExpandableTypographyProps } from './expandableTypography';\nimport ExpandableTypography from './expandableTypography';\nimport type { TypographyProps } from './typography';\nimport Typography from './typography';\n\nexport { ExpandableTypography, ExpandableTypographyProps, Typography, TypographyProps };\n"],"mappings":"AACA,OAAOA,oBAAoB,MAAM,wBAAwB;AAEzD,OAAOC,UAAU,MAAM,cAAc;AAErC,SAASD,oBAAoB,EAA6BC,UAAU","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { useQuery } from 'react-query';
2
+ import { useONECore } from './core-context';
3
+ export const TRANSACTION_DATA_QUERY_KEY = 'proof-detail';
4
+ export const useTransactionData = (proofId, transactionDataId) => {
5
+ const {
6
+ core
7
+ } = useONECore();
8
+ return useQuery([TRANSACTION_DATA_QUERY_KEY, proofId], () => proofId && transactionDataId ? core.holderGetTransactionData(proofId, transactionDataId) : undefined, {
9
+ enabled: Boolean(proofId && transactionDataId),
10
+ keepPreviousData: true
11
+ });
12
+ };
13
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useQuery","useONECore","TRANSACTION_DATA_QUERY_KEY","useTransactionData","proofId","transactionDataId","core","holderGetTransactionData","undefined","enabled","Boolean","keepPreviousData"],"sources":["transaction.ts"],"sourcesContent":["import { useQuery } from 'react-query';\n\nimport { useONECore } from './core-context';\n\nexport const TRANSACTION_DATA_QUERY_KEY = 'proof-detail';\n\nexport const useTransactionData = (proofId: string | undefined, transactionDataId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [TRANSACTION_DATA_QUERY_KEY, proofId],\n () => (proofId && transactionDataId ? core.holderGetTransactionData(proofId, transactionDataId) : undefined),\n {\n enabled: Boolean(proofId && transactionDataId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAa;AAEtC,SAASC,UAAU,QAAQ,gBAAgB;AAE3C,OAAO,MAAMC,0BAA0B,GAAG,cAAc;AAExD,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,OAA2B,EAAEC,iBAAqC,KAAK;EACxG,MAAM;IAAEC;EAAK,CAAC,GAAGL,UAAU,CAAC,CAAC;EAE7B,OAAOD,QAAQ,CACb,CAACE,0BAA0B,EAAEE,OAAO,CAAC,EACrC,MAAOA,OAAO,IAAIC,iBAAiB,GAAGC,IAAI,CAACC,wBAAwB,CAACH,OAAO,EAAEC,iBAAiB,CAAC,GAAGG,SAAU,EAC5G;IACEC,OAAO,EAAEC,OAAO,CAACN,OAAO,IAAIC,iBAAiB,CAAC;IAC9CM,gBAAgB,EAAE;EACpB,CACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -43,6 +43,24 @@ const formatCredentialDetail = (claim, config, testID, language) => {
43
43
  const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);
44
44
  return (_attributeValue$value = attributeValue.value) !== null && _attributeValue$value !== void 0 ? _attributeValue$value : '';
45
45
  };
46
+ export const credentialLogoFromCredential = (credential, config, testID, language) => {
47
+ var _layoutProperties$log, _getTranslatedLabel, _credential$schema$tr, _layoutProperties$log2, _layoutProperties$log3;
48
+ const {
49
+ layoutProperties
50
+ } = credential.schema;
51
+ const defaultLanguage = config.globalSettings.defaultLanguage;
52
+ return {
53
+ color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
54
+ credentialName: (_getTranslatedLabel = getTranslatedLabel((_credential$schema$tr = credential.schema.translations) === null || _credential$schema$tr === void 0 ? void 0 : _credential$schema$tr.name, language, defaultLanguage)) !== null && _getTranslatedLabel !== void 0 ? _getTranslatedLabel : credential.schema.name,
55
+ icon: layoutProperties !== null && layoutProperties !== void 0 && (_layoutProperties$log2 = layoutProperties.logo) !== null && _layoutProperties$log2 !== void 0 && _layoutProperties$log2.image ? {
56
+ imageSource: {
57
+ uri: layoutProperties.logo.image
58
+ }
59
+ } : undefined,
60
+ iconLabelColor: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log3 = layoutProperties.logo) === null || _layoutProperties$log3 === void 0 ? void 0 : _layoutProperties$log3.fontColor,
61
+ testID
62
+ };
63
+ };
46
64
  export const hasMsoValidityIssues = credential => {
47
65
  var _credential$mdocMsoVa;
48
66
  const mdocMsoValidityIssue = Boolean(((_credential$mdocMsoVa = credential.mdocMsoValidity) === null || _credential$mdocMsoVa === void 0 ? void 0 : _credential$mdocMsoVa.nextUpdate) && new Date(credential.mdocMsoValidity.nextUpdate) < new Date());
@@ -92,7 +110,7 @@ const credentialDetailFromCredential = (credential, claims = [], config, testID,
92
110
  };
93
111
  };
94
112
  export const cardHeaderFromCredential = (credential, claims = [], config, testID, labels, language) => {
95
- var _layoutProperties$log, _getTranslatedLabel, _credential$schema$tr, _layoutProperties$log2, _layoutProperties$log3;
113
+ const logoProps = credentialLogoFromCredential(credential, config, '', language);
96
114
  const {
97
115
  credentialDetailPrimary,
98
116
  credentialDetailSecondary,
@@ -100,23 +118,12 @@ export const cardHeaderFromCredential = (credential, claims = [], config, testID
100
118
  credentialDetailTestID,
101
119
  statusIcon
102
120
  } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);
103
- const {
104
- layoutProperties
105
- } = credential.schema;
106
- const defaultLanguage = config.globalSettings.defaultLanguage;
107
121
  return {
108
- color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
122
+ ...logoProps,
109
123
  credentialDetailErrorColor,
110
124
  credentialDetailPrimary,
111
125
  credentialDetailSecondary,
112
126
  credentialDetailTestID,
113
- credentialName: (_getTranslatedLabel = getTranslatedLabel((_credential$schema$tr = credential.schema.translations) === null || _credential$schema$tr === void 0 ? void 0 : _credential$schema$tr.name, language, defaultLanguage)) !== null && _getTranslatedLabel !== void 0 ? _getTranslatedLabel : credential.schema.name,
114
- icon: layoutProperties !== null && layoutProperties !== void 0 && (_layoutProperties$log2 = layoutProperties.logo) !== null && _layoutProperties$log2 !== void 0 && _layoutProperties$log2.image ? {
115
- imageSource: {
116
- uri: layoutProperties.logo.image
117
- }
118
- } : undefined,
119
- iconLabelColor: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log3 = layoutProperties.logo) === null || _layoutProperties$log3 === void 0 ? void 0 : _layoutProperties$log3.fontColor,
120
127
  statusIcon,
121
128
  testID
122
129
  };
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialState","CredentialType","DataType","FormatFeature","CredentialErrorIcon","CredentialNoticeInfoIcon","CredentialNoticeWarningIcon","CredentialWarningIcon","formatDateLocalized","formatDateTimeLocalized","concatTestID","getTranslatedLabel","getCarouselImagesFromClaims","ValidityState","getValidityState","credential","state","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","SelectiveDisclosure","undefined","findClaimByPath","path","claims","exactClaim","find","claim","parentClaim","startsWith","value","type_","formatCredentialDetail","testID","language","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","_credential$mdocMsoVa","mdocMsoValidityIssue","mdocMsoValidity","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","layoutProperties","credentialDetailPrimary","suspendEndDate","suspendedUntil","suspended","credentialDetailTestID","statusIcon","revoked","credentialDetailErrorColor","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","_layoutProperties$log","_getTranslatedLabel","_credential$schema$tr","_layoutProperties$log2","_layoutProperties$log3","defaultLanguage","globalSettings","color","logo","backgroundColor","credentialName","translations","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","_credential$schema$tr2","description","result","cardCarouselImages","cardImage","background","header","detailsCardAttributeFromClaim","_getTranslatedLabel2","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Object","attributes","nestedClaim","_formatDateLocalized","String","date","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4","credentialDetailFromPresentationV2Credential","presentationCredential","SINGLE"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n CredentialListItem,\n CredentialSchemaListItem,\n CredentialState,\n CredentialType,\n DataType,\n FormatFeature,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport {\n CredentialErrorIcon,\n CredentialNoticeInfoIcon,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n} from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getTranslatedLabel } from '../translations';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialState.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialState.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (\n credential: CredentialListItem | undefined,\n config: CoreConfig | undefined,\n) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeature.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[]): Claim | undefined => {\n if (!path) {\n return undefined;\n }\n\n const exactClaim = claims.find((claim) => claim.path === path);\n if (exactClaim) {\n return exactClaim;\n }\n\n const parentClaim = claims.find((claim) => path.startsWith(`${claim.path}/`));\n if (parentClaim && parentClaim.value.type_ === 'NESTED') {\n return findClaimByPath(path, parentClaim.value.value);\n }\n\n return undefined;\n};\n\nconst formatCredentialDetail = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidityIssue = Boolean(\n credential.mdocMsoValidity?.nextUpdate && new Date(credential.mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialState.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialState.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'), language);\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'), language);\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): Omit<CredentialHeaderProps, 'style'> => {\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName:\n getTranslatedLabel(credential.schema.translations?.name, language, defaultLanguage) ?? credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n } else if (!notice) {\n let description = getTranslatedLabel(credential.schema.translations?.description, language, defaultLanguage);\n if (description) {\n notice = {\n text: description,\n noticeIcon: CredentialNoticeInfoIcon,\n };\n }\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels, language),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n const defaultLanguage = config.globalSettings.defaultLanguage;\n return {\n id: claim.path,\n name: getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage) ?? claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value.value as Claim[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()), language);\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataType.Object: {\n if (claim.value.type_ !== 'NESTED') {\n return { attributes: [] };\n }\n return {\n attributes: claim.value.value.map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString()), language),\n ),\n };\n }\n case DataType.Date: {\n if (!claim.value.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value.value) };\n }\n const date = claim.value.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataType.Picture: // fallback\n case DataType.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels, language);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString()), language),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n language,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages<T extends CredentialSchemaListItem>(credentialSchema: T): T {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n\nexport function credentialDetailFromPresentationV2Credential(\n presentationCredential: CredentialDetail | PresentationDefinitionV2Credential,\n): CredentialDetail {\n return {\n type: CredentialType.SINGLE,\n ...presentationCredential,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CredentialState","CredentialType","DataType","FormatFeature","CredentialErrorIcon","CredentialNoticeInfoIcon","CredentialNoticeWarningIcon","CredentialWarningIcon","formatDateLocalized","formatDateTimeLocalized","concatTestID","getTranslatedLabel","getCarouselImagesFromClaims","ValidityState","getValidityState","credential","state","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","SelectiveDisclosure","undefined","findClaimByPath","path","claims","exactClaim","find","claim","parentClaim","startsWith","value","type_","formatCredentialDetail","testID","language","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","credentialLogoFromCredential","_layoutProperties$log","_getTranslatedLabel","_credential$schema$tr","_layoutProperties$log2","_layoutProperties$log3","layoutProperties","defaultLanguage","globalSettings","color","logo","backgroundColor","credentialName","translations","name","icon","image","imageSource","uri","iconLabelColor","fontColor","hasMsoValidityIssues","_credential$mdocMsoVa","mdocMsoValidityIssue","mdocMsoValidity","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","credentialDetailPrimary","suspendEndDate","suspendedUntil","suspended","credentialDetailTestID","statusIcon","revoked","credentialDetailErrorColor","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","logoProps","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","_credential$schema$tr2","description","result","cardCarouselImages","cardImage","background","header","detailsCardAttributeFromClaim","_getTranslatedLabel2","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Object","attributes","nestedClaim","_formatDateLocalized","String","date","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4","credentialDetailFromPresentationV2Credential","presentationCredential","SINGLE"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n CredentialListItem,\n CredentialSchemaListItem,\n CredentialState,\n CredentialType,\n DataType,\n FormatFeature,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n CredentialLogoProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport {\n CredentialErrorIcon,\n CredentialNoticeInfoIcon,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n} from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getTranslatedLabel } from '../translations';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialState.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialState.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (\n credential: CredentialListItem | undefined,\n config: CoreConfig | undefined,\n) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeature.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[]): Claim | undefined => {\n if (!path) {\n return undefined;\n }\n\n const exactClaim = claims.find((claim) => claim.path === path);\n if (exactClaim) {\n return exactClaim;\n }\n\n const parentClaim = claims.find((claim) => path.startsWith(`${claim.path}/`));\n if (parentClaim && parentClaim.value.type_ === 'NESTED') {\n return findClaimByPath(path, parentClaim.value.value);\n }\n\n return undefined;\n};\n\nconst formatCredentialDetail = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n return attributeValue.value ?? '';\n};\n\nexport const credentialLogoFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): Omit<CredentialLogoProps, 'size'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialName:\n getTranslatedLabel(credential.schema.translations?.name, language, defaultLanguage) ?? credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n testID,\n };\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidityIssue = Boolean(\n credential.mdocMsoValidity?.nextUpdate && new Date(credential.mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialState.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialState.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'), language);\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'), language);\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): Omit<CredentialHeaderProps, 'style'> => {\n const logoProps = credentialLogoFromCredential(credential, config, '', language);\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);\n\n return {\n ...logoProps,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n } else if (!notice) {\n let description = getTranslatedLabel(credential.schema.translations?.description, language, defaultLanguage);\n if (description) {\n notice = {\n text: description,\n noticeIcon: CredentialNoticeInfoIcon,\n };\n }\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels, language),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n const defaultLanguage = config.globalSettings.defaultLanguage;\n return {\n id: claim.path,\n name: getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage) ?? claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value.value as Claim[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()), language);\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataType.Object: {\n if (claim.value.type_ !== 'NESTED') {\n return { attributes: [] };\n }\n return {\n attributes: claim.value.value.map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString()), language),\n ),\n };\n }\n case DataType.Date: {\n if (!claim.value.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value.value) };\n }\n const date = claim.value.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataType.Picture: // fallback\n case DataType.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels, language);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString()), language),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n language,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages<T extends CredentialSchemaListItem>(credentialSchema: T): T {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n\nexport function credentialDetailFromPresentationV2Credential(\n presentationCredential: CredentialDetail | PresentationDefinitionV2Credential,\n): CredentialDetail {\n return {\n type: CredentialType.SINGLE,\n ...presentationCredential,\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ export const getQueryKeyFromCredentialListQueryParams = (queryParams = {}) => {
8
8
  return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'searchText', 'searchType', 'sort', 'sortDirection', 'exact', 'roles', 'ids', 'states', 'include', 'profiles', 'credentialSchemaIds', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore', 'issuanceDateAfter', 'issuanceDateBefore', 'revocationDateAfter', 'revocationDateBefore', 'types', 'parentId']);
9
9
  };
10
10
  export const getQueryKeyFromHistoryListQueryParams = (queryParams = {}) => {
11
- return getQueryKey(queryParams, ['page', 'pageSize', 'sort', 'sortDirection', 'organisationId', 'entityIds', 'actions', 'entityTypes', 'createdDateAfter', 'createdDateBefore', 'identifierId', 'credentialId', 'credentialSchemaId', 'proofId', 'proofSchemaId', 'search', 'users']);
11
+ return getQueryKey(queryParams, ['page', 'pageSize', 'sort', 'sortDirection', 'organisationId', 'entityIds', 'actions', 'entityTypes', 'createdDateAfter', 'createdDateBefore', 'identifierId', 'credentialId', 'credentialSchemaId', 'proofId', 'proofSchemaId', 'search', 'users', 'trustCollectionId']);
12
12
  };
13
13
  export const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams = {}) => {
14
14
  return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'include', 'schemaIds', 'formats', 'usesBatchIssuance', 'isMultiformatSchema', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);