@procivis/one-react-native-components 0.3.50 → 0.3.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/credential/credential.js +6 -3
- package/lib/commonjs/components/credential/credential.js.map +1 -1
- package/lib/commonjs/components/history/history-list-item-icon.js +3 -1
- package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
- package/lib/commonjs/components/history/history-list-screen.js +4 -3
- package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
- package/lib/commonjs/components/proof-request/select-credential.js +7 -3
- package/lib/commonjs/components/proof-request/select-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/share-credential.js +6 -9
- package/lib/commonjs/components/proof-request/share-credential.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-card.js +14 -29
- package/lib/commonjs/ui-components/credential/card/credential-card.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-details-card.js +27 -28
- package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js +10 -6
- package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js.map +1 -1
- package/lib/commonjs/ui-components/header/header.js +7 -5
- package/lib/commonjs/ui-components/header/header.js.map +1 -1
- package/lib/commonjs/ui-components/history/history-details.js +3 -1
- package/lib/commonjs/ui-components/history/history-details.js.map +1 -1
- package/lib/commonjs/ui-components/icons/icons.js +131 -1
- package/lib/commonjs/ui-components/icons/icons.js.map +1 -1
- package/lib/commonjs/ui-components/searchbar/animated-search-bar.js +10 -8
- package/lib/commonjs/ui-components/searchbar/animated-search-bar.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/backup.js +4 -3
- package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/core-init.js +23 -4
- package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credentials.js +35 -5
- package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +3 -1
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +18 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js +6 -6
- package/lib/commonjs/utils/parsers/query.js.map +1 -1
- package/lib/module/components/credential/credential.js +5 -3
- package/lib/module/components/credential/credential.js.map +1 -1
- package/lib/module/components/history/history-list-item-icon.js +3 -1
- package/lib/module/components/history/history-list-item-icon.js.map +1 -1
- package/lib/module/components/history/history-list-screen.js +4 -3
- package/lib/module/components/history/history-list-screen.js.map +1 -1
- package/lib/module/components/proof-request/select-credential.js +5 -2
- package/lib/module/components/proof-request/select-credential.js.map +1 -1
- package/lib/module/components/proof-request/share-credential.js +7 -10
- package/lib/module/components/proof-request/share-credential.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-card.js +15 -30
- package/lib/module/ui-components/credential/card/credential-card.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-details-card.js +27 -28
- package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-details-list-item.js +10 -6
- package/lib/module/ui-components/credential/card/credential-details-list-item.js.map +1 -1
- package/lib/module/ui-components/header/header.js +7 -5
- package/lib/module/ui-components/header/header.js.map +1 -1
- package/lib/module/ui-components/history/history-details.js +4 -2
- package/lib/module/ui-components/history/history-details.js.map +1 -1
- package/lib/module/ui-components/icons/icons.js +125 -0
- package/lib/module/ui-components/icons/icons.js.map +1 -1
- package/lib/module/ui-components/searchbar/animated-search-bar.js +10 -8
- package/lib/module/ui-components/searchbar/animated-search-bar.js.map +1 -1
- package/lib/module/utils/hooks/core/backup.js +5 -4
- package/lib/module/utils/hooks/core/backup.js.map +1 -1
- package/lib/module/utils/hooks/core/core-init.js +21 -3
- package/lib/module/utils/hooks/core/core-init.js.map +1 -1
- package/lib/module/utils/hooks/core/credentials.js +32 -4
- package/lib/module/utils/hooks/core/credentials.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +3 -1
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing.js +18 -1
- package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/module/utils/parsers/query.js +6 -6
- package/lib/module/utils/parsers/query.js.map +1 -1
- package/lib/typescript/components/proof-request/share-credential.d.ts +4 -5
- package/lib/typescript/ui-components/credential/card/credential-card.d.ts +1 -0
- package/lib/typescript/ui-components/header/header.d.ts +1 -1
- package/lib/typescript/ui-components/icons/icons.d.ts +5 -0
- package/lib/typescript/ui-components/searchbar/animated-search-bar.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/backup.d.ts +1 -1
- package/lib/typescript/utils/hooks/core/core-init.d.ts +4 -1
- package/lib/typescript/utils/hooks/core/credentials.d.ts +4 -6
- package/lib/typescript/utils/parsers/credential-sharing.d.ts +6 -6
- package/lib/typescript/utils/parsers/credential.d.ts +6 -3
- package/lib/typescript/utils/parsers/query.d.ts +1 -1
- package/package.json +3 -3
- package/src/components/credential/credential.tsx +4 -2
- package/src/components/history/history-list-item-icon.tsx +2 -0
- package/src/components/history/history-list-screen.tsx +10 -8
- package/src/components/proof-request/select-credential.tsx +4 -2
- package/src/components/proof-request/share-credential.tsx +10 -10
- package/src/ui-components/credential/card/credential-card.stories.tsx +14 -2
- package/src/ui-components/credential/card/credential-card.tsx +16 -23
- package/src/ui-components/credential/card/credential-details-card.stories.tsx +14 -4
- package/src/ui-components/credential/card/credential-details-card.tsx +32 -34
- package/src/ui-components/credential/card/credential-details-list-item.tsx +10 -6
- package/src/ui-components/detail/detail.stories.tsx +3 -3
- package/src/ui-components/header/header.stories.tsx +8 -6
- package/src/ui-components/header/header.tsx +7 -5
- package/src/ui-components/history/history-details.tsx +3 -1
- package/src/ui-components/icons/icons.tsx +98 -0
- package/src/ui-components/searchbar/animated-search-bar.tsx +11 -9
- package/src/utils/hooks/core/backup.ts +8 -2
- package/src/utils/hooks/core/core-init.ts +28 -2
- package/src/utils/hooks/core/credentials.ts +38 -4
- package/src/utils/hooks/core/proofs.ts +3 -1
- package/src/utils/parsers/credential-sharing.tsx +34 -11
- package/src/utils/parsers/credential.ts +8 -4
- package/src/utils/parsers/query.ts +31 -4
|
@@ -4,14 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CredentialDetails = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _card = require("../../ui-components/credential/card");
|
|
10
10
|
var _utils = require("../../utils");
|
|
11
11
|
var _coreConfig = require("../../utils/hooks/core/core-config");
|
|
12
12
|
var _credentials = require("../../utils/hooks/core/credentials");
|
|
13
13
|
var _credential = require("../../utils/parsers/credential");
|
|
14
|
-
function
|
|
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); }
|
|
15
|
+
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; }
|
|
15
16
|
const CredentialDetails = ({
|
|
16
17
|
claims,
|
|
17
18
|
credentialId,
|
|
@@ -28,6 +29,7 @@ const CredentialDetails = ({
|
|
|
28
29
|
const {
|
|
29
30
|
data: config
|
|
30
31
|
} = (0, _coreConfig.useCoreConfig)();
|
|
32
|
+
const cardWidth = (0, _react.useMemo)(() => _reactNative.Dimensions.get('window').width - 32, []);
|
|
31
33
|
if (!credential || !config) {
|
|
32
34
|
return null;
|
|
33
35
|
}
|
|
@@ -44,7 +46,8 @@ const CredentialDetails = ({
|
|
|
44
46
|
card: {
|
|
45
47
|
...card,
|
|
46
48
|
credentialId,
|
|
47
|
-
onHeaderPress
|
|
49
|
+
onHeaderPress,
|
|
50
|
+
width: cardWidth
|
|
48
51
|
},
|
|
49
52
|
expanded: expanded,
|
|
50
53
|
lastItem: lastItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_card","_utils","_coreConfig","_credentials","_credential","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CredentialDetails","claims","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","headerAccessory","data","credential","useCredentialDetail","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","testID","concatTestID","id","card","attributes","detailsCardFromCredentialWithClaims","header","accessory","createElement","CredentialDetailsCardListItem","style","styles","exports","StyleSheet","create","marginBottom"],"sources":["credential.tsx"],"sourcesContent":["import { Claim } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleSheet } from 'react-native';\n\nimport { CredentialDetailsCardListItem, CredentialHeaderProps } from '../../ui-components/credential/card';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { CardLabels, detailsCardFromCredentialWithClaims } from '../../utils/parsers/credential';\n\nexport interface CredentialDetailsProps {\n claims?: Claim[];\n credentialId: string;\n expanded?: boolean;\n headerAccessory?: CredentialHeaderProps['accessory'];\n labels: CardLabels;\n lastItem?: boolean;\n onHeaderPress?: (credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n}\n\nexport const CredentialDetails: FC<CredentialDetailsProps> = ({\n claims,\n credentialId,\n expanded = false,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n headerAccessory,\n}) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n const testID = concatTestID('Credential.credential', credential.id);\n\n const { card, attributes } = detailsCardFromCredentialWithClaims(\n credential,\n claims ?? credential.claims,\n config,\n testID,\n labels,\n );\n if (headerAccessory) {\n card.header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n style={styles.credential}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,7 +48,9 @@ const defaultIcons = {
|
|
|
48
48
|
PROOF: _uiComponents.HistoryProofRequestIcon,
|
|
49
49
|
PROOF_SCHEMA: _uiComponents.HistorySchemaIcon,
|
|
50
50
|
TRUST_ANCHOR: _uiComponents.HistoryTrustAnchorIcon,
|
|
51
|
-
TRUST_ENTITY: _uiComponents.HistoryTrustedEntityIcon
|
|
51
|
+
TRUST_ENTITY: _uiComponents.HistoryTrustedEntityIcon,
|
|
52
|
+
WALLET_UNIT: _uiComponents.HistoryTrustedEntityIcon,
|
|
53
|
+
WALLET_UNIT_ATTESTATION: _uiComponents.HistoryTrustedEntityIcon
|
|
52
54
|
}
|
|
53
55
|
};
|
|
54
56
|
const getHistoryItemActionIcon = action => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_uiComponents","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultIcons","actions","ACCEPTED","HistoryStatusAcceptedIcon","ACTIVATED","CLAIMS_REMOVED","HistoryStatusDeleteIcon","CREATED","DEACTIVATED","HistoryStatusErrorIcon","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","HistoryStatusSuspendIcon","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","EXPIRED","entityTypes","BACKUP","HistoryRevokeIcon","CERTIFICATE","HistoryCertificateIcon","CREDENTIAL","HistoryCredentialIcon","CREDENTIAL_SCHEMA","HistorySchemaIcon","DID","HistoryDidIcon","IDENTIFIER","HistoryIdentifierIcon","KEY","HistoryKeyIcon","ORGANISATION","HistoryOrganisationIcon","PROOF","HistoryProofRequestIcon","PROOF_SCHEMA","TRUST_ANCHOR","HistoryTrustAnchorIcon","TRUST_ENTITY","HistoryTrustedEntityIcon","getHistoryItemActionIcon","action","_defaultIcons$actions","exports","HistoryListItemIcon","item","statusIcon","typeIcon","useMemo","_defaultIcons$entityT","entityType","HistoryEntityTypeEnum","HistoryActionEnum","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistorySuspendIcon","HistoryIssueIcon","createElement","HistoryItemIcon","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import { HistoryActionEnum, HistoryEntityTypeEnum, HistoryListItem } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n HistoryBackupCreatedIcon,\n HistoryBackupRestoredIcon,\n HistoryCertificateIcon,\n HistoryCredentialIcon,\n HistoryDidIcon,\n HistoryIdentifierIcon,\n HistoryIssueIcon,\n HistoryItemIcon,\n HistoryKeyIcon,\n HistoryOrganisationIcon,\n HistoryProofRequestIcon,\n HistoryRevokeIcon,\n HistorySchemaIcon,\n HistoryStatusAcceptedIcon,\n HistoryStatusDeleteIcon,\n HistoryStatusErrorIcon,\n HistoryStatusSuspendIcon,\n HistorySuspendIcon,\n HistoryTrustAnchorIcon,\n HistoryTrustedEntityIcon,\n} from '../../ui-components';\n\nconst defaultIcons: {\n actions: { [key in keyof typeof HistoryActionEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeEnum]: FC<SvgProps> };\n} = {\n actions: {\n ACCEPTED: HistoryStatusAcceptedIcon,\n ACTIVATED: HistoryStatusAcceptedIcon,\n CLAIMS_REMOVED: HistoryStatusDeleteIcon,\n CREATED: HistoryStatusAcceptedIcon,\n DEACTIVATED: HistoryStatusErrorIcon,\n DELETED: HistoryStatusDeleteIcon,\n ERRORED: HistoryStatusErrorIcon,\n IMPORTED: HistoryStatusAcceptedIcon,\n ISSUED: HistoryStatusAcceptedIcon,\n OFFERED: HistoryStatusAcceptedIcon,\n PENDING: HistoryStatusAcceptedIcon,\n REJECTED: HistoryStatusErrorIcon,\n REMOVED: HistoryStatusDeleteIcon,\n REQUESTED: HistoryStatusAcceptedIcon,\n RESTORED: HistoryStatusAcceptedIcon,\n RETRACTED: HistoryStatusErrorIcon,\n REVOKED: HistoryStatusErrorIcon,\n SHARED: HistoryStatusAcceptedIcon,\n SUSPENDED: HistoryStatusSuspendIcon,\n UPDATED: HistoryStatusAcceptedIcon,\n WITHDRAWN: HistoryStatusErrorIcon,\n REACTIVATED: HistoryStatusAcceptedIcon,\n CSR_GENERATED: HistoryStatusAcceptedIcon,\n EXPIRED: HistoryStatusErrorIcon,\n },\n entityTypes: {\n BACKUP: HistoryRevokeIcon,\n CERTIFICATE: HistoryCertificateIcon,\n CREDENTIAL: HistoryCredentialIcon,\n CREDENTIAL_SCHEMA: HistorySchemaIcon,\n DID: HistoryDidIcon,\n IDENTIFIER: HistoryIdentifierIcon,\n KEY: HistoryKeyIcon,\n ORGANISATION: HistoryOrganisationIcon,\n PROOF: HistoryProofRequestIcon,\n PROOF_SCHEMA: HistorySchemaIcon,\n TRUST_ANCHOR: HistoryTrustAnchorIcon,\n TRUST_ENTITY: HistoryTrustedEntityIcon,\n },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItem;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeEnum.BACKUP:\n switch (item.action) {\n case HistoryActionEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionEnum.SUSPENDED:\n return HistorySuspendIcon;\n default:\n break;\n }\n break;\n default:\n break;\n }\n\n return defaultIcons.entityTypes[item.entityType] ?? HistoryIssueIcon;\n }, [item.action, item.entityType]);\n return <HistoryItemIcon StatusIcon={statusIcon} TypeIcon={typeIcon} />;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAGA,IAAAG,aAAA,GAAAH,OAAA;AAqB6B,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE7B,MAAMW,YAGL,GAAG;EACFC,OAAO,EAAE;IACPC,QAAQ,EAAEC,uCAAyB;IACnCC,SAAS,EAAED,uCAAyB;IACpCE,cAAc,EAAEC,qCAAuB;IACvCC,OAAO,EAAEJ,uCAAyB;IAClCK,WAAW,EAAEC,oCAAsB;IACnCC,OAAO,EAAEJ,qCAAuB;IAChCK,OAAO,EAAEF,oCAAsB;IAC/BG,QAAQ,EAAET,uCAAyB;IACnCU,MAAM,EAAEV,uCAAyB;IACjCW,OAAO,EAAEX,uCAAyB;IAClCY,OAAO,EAAEZ,uCAAyB;IAClCa,QAAQ,EAAEP,oCAAsB;IAChCQ,OAAO,EAAEX,qCAAuB;IAChCY,SAAS,EAAEf,uCAAyB;IACpCgB,QAAQ,EAAEhB,uCAAyB;IACnCiB,SAAS,EAAEX,oCAAsB;IACjCY,OAAO,EAAEZ,oCAAsB;IAC/Ba,MAAM,EAAEnB,uCAAyB;IACjCoB,SAAS,EAAEC,sCAAwB;IACnCC,OAAO,EAAEtB,uCAAyB;IAClCuB,SAAS,EAAEjB,oCAAsB;IACjCkB,WAAW,EAAExB,uCAAyB;IACtCyB,aAAa,EAAEzB,uCAAyB;IACxC0B,OAAO,EAAEpB;EACX,CAAC;EACDqB,WAAW,EAAE;IACXC,MAAM,EAAEC,+BAAiB;IACzBC,WAAW,EAAEC,oCAAsB;IACnCC,UAAU,EAAEC,mCAAqB;IACjCC,iBAAiB,EAAEC,+BAAiB;IACpCC,GAAG,EAAEC,4BAAc;IACnBC,UAAU,EAAEC,mCAAqB;IACjCC,GAAG,EAAEC,4BAAc;IACnBC,YAAY,EAAEC,qCAAuB;IACrCC,KAAK,EAAEC,qCAAuB;IAC9BC,YAAY,EAAEX,+BAAiB;IAC/BY,YAAY,EAAEC,oCAAsB;IACpCC,YAAY,EAAEC;
|
|
1
|
+
{"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_uiComponents","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultIcons","actions","ACCEPTED","HistoryStatusAcceptedIcon","ACTIVATED","CLAIMS_REMOVED","HistoryStatusDeleteIcon","CREATED","DEACTIVATED","HistoryStatusErrorIcon","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","HistoryStatusSuspendIcon","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","EXPIRED","entityTypes","BACKUP","HistoryRevokeIcon","CERTIFICATE","HistoryCertificateIcon","CREDENTIAL","HistoryCredentialIcon","CREDENTIAL_SCHEMA","HistorySchemaIcon","DID","HistoryDidIcon","IDENTIFIER","HistoryIdentifierIcon","KEY","HistoryKeyIcon","ORGANISATION","HistoryOrganisationIcon","PROOF","HistoryProofRequestIcon","PROOF_SCHEMA","TRUST_ANCHOR","HistoryTrustAnchorIcon","TRUST_ENTITY","HistoryTrustedEntityIcon","WALLET_UNIT","WALLET_UNIT_ATTESTATION","getHistoryItemActionIcon","action","_defaultIcons$actions","exports","HistoryListItemIcon","item","statusIcon","typeIcon","useMemo","_defaultIcons$entityT","entityType","HistoryEntityTypeEnum","HistoryActionEnum","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistorySuspendIcon","HistoryIssueIcon","createElement","HistoryItemIcon","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import { HistoryActionEnum, HistoryEntityTypeEnum, HistoryListItem } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n HistoryBackupCreatedIcon,\n HistoryBackupRestoredIcon,\n HistoryCertificateIcon,\n HistoryCredentialIcon,\n HistoryDidIcon,\n HistoryIdentifierIcon,\n HistoryIssueIcon,\n HistoryItemIcon,\n HistoryKeyIcon,\n HistoryOrganisationIcon,\n HistoryProofRequestIcon,\n HistoryRevokeIcon,\n HistorySchemaIcon,\n HistoryStatusAcceptedIcon,\n HistoryStatusDeleteIcon,\n HistoryStatusErrorIcon,\n HistoryStatusSuspendIcon,\n HistorySuspendIcon,\n HistoryTrustAnchorIcon,\n HistoryTrustedEntityIcon,\n} from '../../ui-components';\n\nconst defaultIcons: {\n actions: { [key in keyof typeof HistoryActionEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeEnum]: FC<SvgProps> };\n} = {\n actions: {\n ACCEPTED: HistoryStatusAcceptedIcon,\n ACTIVATED: HistoryStatusAcceptedIcon,\n CLAIMS_REMOVED: HistoryStatusDeleteIcon,\n CREATED: HistoryStatusAcceptedIcon,\n DEACTIVATED: HistoryStatusErrorIcon,\n DELETED: HistoryStatusDeleteIcon,\n ERRORED: HistoryStatusErrorIcon,\n IMPORTED: HistoryStatusAcceptedIcon,\n ISSUED: HistoryStatusAcceptedIcon,\n OFFERED: HistoryStatusAcceptedIcon,\n PENDING: HistoryStatusAcceptedIcon,\n REJECTED: HistoryStatusErrorIcon,\n REMOVED: HistoryStatusDeleteIcon,\n REQUESTED: HistoryStatusAcceptedIcon,\n RESTORED: HistoryStatusAcceptedIcon,\n RETRACTED: HistoryStatusErrorIcon,\n REVOKED: HistoryStatusErrorIcon,\n SHARED: HistoryStatusAcceptedIcon,\n SUSPENDED: HistoryStatusSuspendIcon,\n UPDATED: HistoryStatusAcceptedIcon,\n WITHDRAWN: HistoryStatusErrorIcon,\n REACTIVATED: HistoryStatusAcceptedIcon,\n CSR_GENERATED: HistoryStatusAcceptedIcon,\n EXPIRED: HistoryStatusErrorIcon,\n },\n entityTypes: {\n BACKUP: HistoryRevokeIcon,\n CERTIFICATE: HistoryCertificateIcon,\n CREDENTIAL: HistoryCredentialIcon,\n CREDENTIAL_SCHEMA: HistorySchemaIcon,\n DID: HistoryDidIcon,\n IDENTIFIER: HistoryIdentifierIcon,\n KEY: HistoryKeyIcon,\n ORGANISATION: HistoryOrganisationIcon,\n PROOF: HistoryProofRequestIcon,\n PROOF_SCHEMA: HistorySchemaIcon,\n TRUST_ANCHOR: HistoryTrustAnchorIcon,\n TRUST_ENTITY: HistoryTrustedEntityIcon,\n WALLET_UNIT: HistoryTrustedEntityIcon,\n WALLET_UNIT_ATTESTATION: HistoryTrustedEntityIcon,\n },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItem;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeEnum.BACKUP:\n switch (item.action) {\n case HistoryActionEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionEnum.SUSPENDED:\n return HistorySuspendIcon;\n default:\n break;\n }\n break;\n default:\n break;\n }\n\n return defaultIcons.entityTypes[item.entityType] ?? HistoryIssueIcon;\n }, [item.action, item.entityType]);\n return <HistoryItemIcon StatusIcon={statusIcon} TypeIcon={typeIcon} />;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,11 +24,12 @@ const HistoryListScreen = ({
|
|
|
24
24
|
queryParams,
|
|
25
25
|
testID = 'HistoryScreen'
|
|
26
26
|
}) => {
|
|
27
|
+
var _queryParams$search;
|
|
27
28
|
const colorScheme = (0, _uiComponents.useAppColorScheme)();
|
|
28
29
|
const [empty, setEmpty] = (0, _react.useState)(false);
|
|
29
30
|
const [scrollOffset] = (0, _react.useState)(() => new _reactNative.Animated.Value(0));
|
|
30
31
|
const [searchPhrase, setSearchPhrase] = (0, _react.useState)('');
|
|
31
|
-
const searchBarVisible = !empty || Boolean(queryParams.
|
|
32
|
+
const searchBarVisible = !empty || Boolean((_queryParams$search = queryParams.search) === null || _queryParams$search === void 0 ? void 0 : _queryParams$search.text);
|
|
32
33
|
const handleSearchPhraseChange = (0, _react.useMemo)(() => (0, _lodash.debounce)(onSearchPhraseChange, 500), [onSearchPhraseChange]);
|
|
33
34
|
(0, _react.useEffect)(() => {
|
|
34
35
|
handleSearchPhraseChange(searchPhrase || undefined);
|
|
@@ -88,11 +89,11 @@ const HistoryListScreen = ({
|
|
|
88
89
|
}),
|
|
89
90
|
scrollOffset: scrollOffset,
|
|
90
91
|
searchBar: !searchBarVisible ? undefined : {
|
|
91
|
-
|
|
92
|
+
rightButtons: onOpenFilter ? [/*#__PURE__*/_react.default.createElement(_uiComponents.FilterButton, {
|
|
92
93
|
active: Boolean(queryParams.credentialSchemaId),
|
|
93
94
|
onPress: onOpenFilter,
|
|
94
95
|
testID: (0, _utils.concatTestID)(testID, 'filter')
|
|
95
|
-
}) : undefined,
|
|
96
|
+
})] : undefined,
|
|
96
97
|
rightButtonAlwaysVisible: true,
|
|
97
98
|
searchBarProps: {
|
|
98
99
|
onSearchPhraseChange: setSearchPhrase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_historyList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HistoryListScreen","children","groupItems","groupEntriesByDay","itemInfoLabelMode","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","colorScheme","useAppColorScheme","empty","setEmpty","useState","scrollOffset","Animated","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","searchText","handleSearchPhraseChange","useMemo","debounce","useEffect","undefined","headerHeight","insets","useListContentInset","additionalBottomPadding","createElement","View","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","Typography","align","color","text","preset","emptyTitle","shaded","emptySubtitle","HistoryListView","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","concatTestID","list","FoldableHeader","header","NavigationHeader","leftItem","BackButton","title","searchBar","rightButton","FilterButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","search","staticHeader","exports","StyleSheet","create","flex","borderRadius","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } from '@procivis/react-native-one-core';\nimport { debounce } from 'lodash';\nimport React, { FC, PropsWithChildren, useEffect, useMemo, useState } from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport {\n BackButton,\n FilterButton,\n FoldableHeader,\n NavigationHeader,\n Typography,\n useAppColorScheme,\n} from '../../ui-components';\nimport { concatTestID, groupEntriesByDay, HistoryGroupByDaySection, useListContentInset } from '../../utils';\nimport { HistoryListLabels, HistoryListView } from './history-list';\nimport { HistoryListItemViewProps } from './history-list-item';\n\nexport type HistoryListScreenLabels = {\n emptyTitle: string;\n emptySubtitle: string;\n list: HistoryListLabels;\n title: string;\n search: string;\n};\n\nexport type HistoryListScreenProps = {\n groupItems?: (entries: HistoryListItem[]) => HistoryGroupByDaySection[];\n itemInfoLabelMode?: HistoryListItemViewProps['infoLabelMode'];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItem) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQuery>;\n testID?: string;\n};\n\nexport const HistoryListScreen: FC<PropsWithChildren<HistoryListScreenProps>> = ({\n children,\n groupItems = groupEntriesByDay,\n itemInfoLabelMode = 'entity',\n labels,\n onBackPressed,\n onHistoryItemPressed,\n onOpenFilter,\n onSearchPhraseChange,\n queryParams,\n testID = 'HistoryScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n const [empty, setEmpty] = useState<boolean>(false);\n const [scrollOffset] = useState(() => new Animated.Value(0));\n\n const [searchPhrase, setSearchPhrase] = useState<string>('');\n const searchBarVisible = !empty || Boolean(queryParams.searchText);\n\n const handleSearchPhraseChange = useMemo(() => debounce(onSearchPhraseChange, 500), [onSearchPhraseChange]);\n useEffect(() => {\n handleSearchPhraseChange(searchPhrase || undefined);\n }, [searchPhrase, handleSearchPhraseChange]);\n\n const headerHeight = searchBarVisible ? 112 : 70;\n\n const insets = useListContentInset({\n additionalBottomPadding: 24,\n headerHeight,\n });\n\n return (\n <View\n style={[\n styles.container,\n {\n backgroundColor: colorScheme.background,\n },\n ]}\n testID={testID}>\n {empty && (\n <View\n style={[\n styles.emptyNotice,\n {\n backgroundColor: colorScheme.white,\n marginTop: insets.paddingTop,\n },\n ]}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s\">\n {labels.emptyTitle}\n </Typography>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-small\" style={styles.shaded}>\n {labels.emptySubtitle}\n </Typography>\n </View>\n )}\n <HistoryListView\n contentContainerStyle={insets}\n groupItems={groupItems}\n itemProps={{ infoLabelMode: itemInfoLabelMode, onPress: onHistoryItemPressed }}\n onEmpty={setEmpty}\n onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollOffset } } }], {\n useNativeDriver: true,\n })}\n query={queryParams}\n testID={concatTestID(testID, 'list')}\n labels={labels.list}\n />\n {children}\n <FoldableHeader\n header={\n <NavigationHeader\n backgroundColor={'transparent'}\n leftItem={<BackButton onPress={onBackPressed} testID={concatTestID(testID, 'back')} />}\n title={labels.title}\n />\n }\n scrollOffset={scrollOffset}\n searchBar={\n !searchBarVisible\n ? undefined\n : {\n rightButton: onOpenFilter ? (\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\n />\n ) : undefined,\n rightButtonAlwaysVisible: true,\n searchBarProps: {\n onSearchPhraseChange: setSearchPhrase,\n placeholder: labels.search,\n searchPhrase,\n testID: concatTestID(testID, 'search'),\n },\n }\n }\n staticHeader={!searchBarVisible}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n emptyNotice: {\n borderRadius: 12,\n marginHorizontal: 16,\n paddingBottom: 20,\n paddingHorizontal: 12,\n paddingTop: 16,\n },\n shaded: {\n opacity: 0.7,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_lodash","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_historyList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HistoryListScreen","children","groupItems","groupEntriesByDay","itemInfoLabelMode","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","_queryParams$search","colorScheme","useAppColorScheme","empty","setEmpty","useState","scrollOffset","Animated","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","search","text","handleSearchPhraseChange","useMemo","debounce","useEffect","undefined","headerHeight","insets","useListContentInset","additionalBottomPadding","createElement","View","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","Typography","align","color","preset","emptyTitle","shaded","emptySubtitle","HistoryListView","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","concatTestID","list","FoldableHeader","header","NavigationHeader","leftItem","BackButton","title","searchBar","rightButtons","FilterButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","staticHeader","exports","StyleSheet","create","flex","borderRadius","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } from '@procivis/react-native-one-core';\nimport { debounce } from 'lodash';\nimport React, { FC, PropsWithChildren, useEffect, useMemo, useState } from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport {\n BackButton,\n FilterButton,\n FoldableHeader,\n NavigationHeader,\n Typography,\n useAppColorScheme,\n} from '../../ui-components';\nimport { concatTestID, groupEntriesByDay, HistoryGroupByDaySection, useListContentInset } from '../../utils';\nimport { HistoryListLabels, HistoryListView } from './history-list';\nimport { HistoryListItemViewProps } from './history-list-item';\n\nexport type HistoryListScreenLabels = {\n emptyTitle: string;\n emptySubtitle: string;\n list: HistoryListLabels;\n title: string;\n search: string;\n};\n\nexport type HistoryListScreenProps = {\n groupItems?: (entries: HistoryListItem[]) => HistoryGroupByDaySection[];\n itemInfoLabelMode?: HistoryListItemViewProps['infoLabelMode'];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItem) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQuery>;\n testID?: string;\n};\n\nexport const HistoryListScreen: FC<PropsWithChildren<HistoryListScreenProps>> = ({\n children,\n groupItems = groupEntriesByDay,\n itemInfoLabelMode = 'entity',\n labels,\n onBackPressed,\n onHistoryItemPressed,\n onOpenFilter,\n onSearchPhraseChange,\n queryParams,\n testID = 'HistoryScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n const [empty, setEmpty] = useState<boolean>(false);\n const [scrollOffset] = useState(() => new Animated.Value(0));\n\n const [searchPhrase, setSearchPhrase] = useState<string>('');\n const searchBarVisible = !empty || Boolean(queryParams.search?.text);\n\n const handleSearchPhraseChange = useMemo(() => debounce(onSearchPhraseChange, 500), [onSearchPhraseChange]);\n useEffect(() => {\n handleSearchPhraseChange(searchPhrase || undefined);\n }, [searchPhrase, handleSearchPhraseChange]);\n\n const headerHeight = searchBarVisible ? 112 : 70;\n\n const insets = useListContentInset({\n additionalBottomPadding: 24,\n headerHeight,\n });\n\n return (\n <View\n style={[\n styles.container,\n {\n backgroundColor: colorScheme.background,\n },\n ]}\n testID={testID}>\n {empty && (\n <View\n style={[\n styles.emptyNotice,\n {\n backgroundColor: colorScheme.white,\n marginTop: insets.paddingTop,\n },\n ]}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s\">\n {labels.emptyTitle}\n </Typography>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-small\" style={styles.shaded}>\n {labels.emptySubtitle}\n </Typography>\n </View>\n )}\n <HistoryListView\n contentContainerStyle={insets}\n groupItems={groupItems}\n itemProps={{ infoLabelMode: itemInfoLabelMode, onPress: onHistoryItemPressed }}\n onEmpty={setEmpty}\n onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollOffset } } }], {\n useNativeDriver: true,\n })}\n query={queryParams}\n testID={concatTestID(testID, 'list')}\n labels={labels.list}\n />\n {children}\n <FoldableHeader\n header={\n <NavigationHeader\n backgroundColor={'transparent'}\n leftItem={<BackButton onPress={onBackPressed} testID={concatTestID(testID, 'back')} />}\n title={labels.title}\n />\n }\n scrollOffset={scrollOffset}\n searchBar={\n !searchBarVisible\n ? undefined\n : {\n rightButtons: onOpenFilter\n ? [\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\n />,\n ]\n : undefined,\n rightButtonAlwaysVisible: true,\n searchBarProps: {\n onSearchPhraseChange: setSearchPhrase,\n placeholder: labels.search,\n searchPhrase,\n testID: concatTestID(testID, 'search'),\n },\n }\n }\n staticHeader={!searchBarVisible}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n emptyNotice: {\n borderRadius: 12,\n marginHorizontal: 16,\n paddingBottom: 20,\n paddingHorizontal: 12,\n paddingTop: 16,\n },\n shaded: {\n opacity: 0.7,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.SelectCredential = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _uiComponents = require("../../ui-components");
|
|
9
10
|
var _coreConfig = require("../../utils/hooks/core/core-config");
|
|
10
11
|
var _credentials = require("../../utils/hooks/core/credentials");
|
|
11
12
|
var _credentialSharing = require("../../utils/parsers/credential-sharing");
|
|
12
|
-
function
|
|
13
|
+
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); }
|
|
14
|
+
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; }
|
|
13
15
|
const SelectCredential = ({
|
|
14
16
|
credentialId,
|
|
15
17
|
labels,
|
|
@@ -26,6 +28,7 @@ const SelectCredential = ({
|
|
|
26
28
|
const {
|
|
27
29
|
data: config
|
|
28
30
|
} = (0, _coreConfig.useCoreConfig)();
|
|
31
|
+
const cardWidth = (0, _react.useMemo)(() => _reactNative.Dimensions.get('window').width - 32, []);
|
|
29
32
|
if (!credential || !config) {
|
|
30
33
|
return null;
|
|
31
34
|
}
|
|
@@ -37,7 +40,8 @@ const SelectCredential = ({
|
|
|
37
40
|
attributes: attributes,
|
|
38
41
|
card: {
|
|
39
42
|
...card,
|
|
40
|
-
onHeaderPress: onPress
|
|
43
|
+
onHeaderPress: onPress,
|
|
44
|
+
width: cardWidth
|
|
41
45
|
},
|
|
42
46
|
expanded: selected,
|
|
43
47
|
lastItem: lastItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uiComponents","_coreConfig","_credentials","_credentialSharing","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SelectCredential","credentialId","labels","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","useCredentialDetail","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","card","attributes","selectCredentialCardFromCredential","createElement","CredentialDetailsCardListItem","onHeaderPress","expanded","exports"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredential } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../ui-components';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { selectCredentialCardFromCredential, ShareCredentialCardLabels } from '../../utils/parsers/credential-sharing';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredential;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAAuH,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEhH,MAAMW,gBASX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EAC/F,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAG,IAAAC,gCAAmB,EAACV,YAAY,CAAC;EAC9D,MAAM;IAAEQ,IAAI,EAAEG;EAAO,CAAC,GAAG,IAAAC,yBAAa,EAAC,CAAC;EACxC,MAAMC,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAMC,uBAAU,CAAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC6B,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACP,UAAU,IAAI,CAACE,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAG,IAAAC,qDAAkC,EAC7DV,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPM,MAAM,EACNJ,MAAM,EACNN,MACF,CAAC;EAED,oBACE9B,MAAA,CAAAc,OAAA,CAAAmC,aAAA,CAAC7C,aAAA,CAAA8C,6BAA6B;IAC5BH,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPK,aAAa,EAAElB,OAAO;MACtBY,KAAK,EAAEH;IACT,CAAE;IACFU,QAAQ,EAAEjB,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC;AAACqB,OAAA,CAAAzB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -10,14 +10,12 @@ var _reactNative = require("react-native");
|
|
|
10
10
|
var _uiComponents = require("../../ui-components");
|
|
11
11
|
var _utils = require("../../utils");
|
|
12
12
|
var _coreConfig = require("../../utils/hooks/core/core-config");
|
|
13
|
-
var _credentials = require("../../utils/hooks/core/credentials");
|
|
14
13
|
var _credential = require("../../utils/parsers/credential");
|
|
15
14
|
var _credentialSharing = require("../../utils/parsers/credential-sharing");
|
|
16
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); }
|
|
17
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; }
|
|
18
17
|
const ShareCredential = ({
|
|
19
18
|
allCredentials,
|
|
20
|
-
credentialId,
|
|
21
19
|
expanded,
|
|
22
20
|
labels,
|
|
23
21
|
lastItem,
|
|
@@ -33,13 +31,11 @@ const ShareCredential = ({
|
|
|
33
31
|
}) => {
|
|
34
32
|
var _credential$issuer;
|
|
35
33
|
const colorScheme = (0, _uiComponents.useAppColorScheme)();
|
|
36
|
-
const
|
|
37
|
-
data: credential,
|
|
38
|
-
isLoading
|
|
39
|
-
} = (0, _credentials.useCredentialDetail)(selectedCredentialId);
|
|
34
|
+
const credential = allCredentials.find(c => c.id === selectedCredentialId);
|
|
40
35
|
const {
|
|
41
36
|
data: config
|
|
42
37
|
} = (0, _coreConfig.useCoreConfig)();
|
|
38
|
+
const cardWidth = (0, _react.useMemo)(() => _reactNative.Dimensions.get('window').width - 32, []);
|
|
43
39
|
const selectionOptions = (0, _react.useMemo)(() => request.applicableCredentials.filter(applicableCredentialId => allCredentials.some(({
|
|
44
40
|
id,
|
|
45
41
|
state
|
|
@@ -114,7 +110,7 @@ const ShareCredential = ({
|
|
|
114
110
|
}));
|
|
115
111
|
}
|
|
116
112
|
}, [colorScheme, expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
|
|
117
|
-
if (
|
|
113
|
+
if (!config) {
|
|
118
114
|
return null;
|
|
119
115
|
}
|
|
120
116
|
const {
|
|
@@ -125,8 +121,9 @@ const ShareCredential = ({
|
|
|
125
121
|
attributes: attributes,
|
|
126
122
|
card: {
|
|
127
123
|
...card,
|
|
128
|
-
credentialId,
|
|
129
|
-
onHeaderPress
|
|
124
|
+
credentialId: request.id,
|
|
125
|
+
onHeaderPress,
|
|
126
|
+
width: cardWidth
|
|
130
127
|
},
|
|
131
128
|
expanded: expanded,
|
|
132
129
|
footer: footer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_coreConfig","_credentials","_credential","_credentialSharing","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShareCredential","allCredentials","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","useAppColorScheme","data","credential","isLoading","useCredentialDetail","config","useCoreConfig","selectionOptions","useMemo","applicableCredentials","filter","applicableCredentialId","some","id","state","CredentialStateEnum","ACCEPTED","multipleCredentialsAvailable","length","validityState","getValidityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","ValidityState","Revoked","createElement","View","styles","notice","backgroundColor","background","concatTestID","Typography","align","color","text","preset","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","multipleCredentialsNotice","Button","onPress","noticeButton","title","multipleCredentialsSelect","type","ButtonType","Secondary","card","attributes","shareCredentialCardFromCredential","Boolean","CredentialDetailsCardListItem","onAttributeSelected","borderColor","exports","StyleSheet","create","borderRadius","borderWidth","marginBottom","marginHorizontal","padding","marginTop","paddingVertical"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Button, ButtonType, CredentialDetailsCardListItem, Typography, useAppColorScheme } from '../../ui-components';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { getValidityState, ValidityState } from '../../utils/parsers/credential';\nimport { shareCredentialCardFromCredential, ShareCredentialCardLabels } from '../../utils/parsers/credential-sharing';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialListItem[];\n credentialId: string;\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n credentialId,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const { data: credential, isLoading } = useCredentialDetail(selectedCredentialId);\n const { data: config } = useCoreConfig();\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.revoked')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.revokedCredentialNotice}\n </Typography>\n </View>\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.suspended')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.suspendedCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (invalid) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.invalid')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.invalidCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.multiple')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.multipleCredentialsNotice}\n </Typography>\n <Button\n onPress={onSelectCredential}\n style={styles.noticeButton}\n testID={concatTestID(testID, 'notice.multiple.button')}\n title={labels.multipleCredentialsSelect}\n type={ButtonType.Secondary}\n />\n </View>\n );\n }\n }, [colorScheme, expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (isLoading || !config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId,\n onHeaderPress,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n noticeButton: {\n marginTop: 24,\n paddingVertical: 11,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_coreConfig","_credential","_credentialSharing","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","useAppColorScheme","credential","find","c","id","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","CredentialStateEnum","ACCEPTED","multipleCredentialsAvailable","length","validityState","getValidityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","ValidityState","Revoked","createElement","View","styles","notice","backgroundColor","background","concatTestID","Typography","align","color","text","preset","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","multipleCredentialsNotice","Button","onPress","noticeButton","title","multipleCredentialsSelect","type","ButtonType","Secondary","card","attributes","shareCredentialCardFromCredential","Boolean","CredentialDetailsCardListItem","credentialId","onAttributeSelected","borderColor","exports","StyleSheet","create","borderRadius","borderWidth","marginBottom","marginHorizontal","padding","marginTop","paddingVertical"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetail,\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Button, ButtonType, CredentialDetailsCardListItem, Typography, useAppColorScheme } from '../../ui-components';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { getValidityState, ValidityState } from '../../utils/parsers/credential';\nimport { shareCredentialCardFromCredential, ShareCredentialCardLabels } from '../../utils/parsers/credential-sharing';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetail[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.revoked')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.revokedCredentialNotice}\n </Typography>\n </View>\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.suspended')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.suspendedCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (invalid) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.invalid')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.invalidCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.multiple')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.multipleCredentialsNotice}\n </Typography>\n <Button\n onPress={onSelectCredential}\n style={styles.noticeButton}\n testID={concatTestID(testID, 'notice.multiple.button')}\n title={labels.multipleCredentialsSelect}\n type={ButtonType.Secondary}\n />\n </View>\n );\n }\n }, [colorScheme, expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n noticeButton: {\n marginTop: 24,\n paddingVertical: 11,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,25 +38,15 @@ const CredentialCard = ({
|
|
|
38
38
|
onCardPress,
|
|
39
39
|
onHeaderPress,
|
|
40
40
|
style,
|
|
41
|
-
testID
|
|
41
|
+
testID,
|
|
42
|
+
width
|
|
42
43
|
}) => {
|
|
43
44
|
var _header$color;
|
|
44
45
|
const colorScheme = (0, _colorSchemeContext.useAppColorScheme)();
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
width,
|
|
50
|
-
height
|
|
51
|
-
} = event.nativeEvent.layout;
|
|
52
|
-
setCardSize({
|
|
53
|
-
width,
|
|
54
|
-
height
|
|
55
|
-
});
|
|
56
|
-
}, []);
|
|
57
|
-
const onHeaderLayoutChange = (0, _react.useCallback)(event => {
|
|
58
|
-
setTappableHeaderHeight(event.nativeEvent.layout.height);
|
|
59
|
-
}, []);
|
|
46
|
+
const cardSize = {
|
|
47
|
+
width,
|
|
48
|
+
height: Math.ceil(width / CredentialCardRatio)
|
|
49
|
+
};
|
|
60
50
|
const headerPressHandler = (0, _react.useCallback)(() => {
|
|
61
51
|
onHeaderPress === null || onHeaderPress === void 0 || onHeaderPress(credentialId);
|
|
62
52
|
}, [credentialId, onHeaderPress]);
|
|
@@ -76,11 +66,10 @@ const CredentialCard = ({
|
|
|
76
66
|
}, [notice === null || notice === void 0 ? void 0 : notice.noticeIcon]);
|
|
77
67
|
const shouldShowCarousel = (cardSize === null || cardSize === void 0 ? void 0 : cardSize.width) && cardSize.height;
|
|
78
68
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
79
|
-
|
|
80
|
-
style: [styles.card, style],
|
|
69
|
+
style: [styles.card, cardSize, style],
|
|
81
70
|
testID: testID
|
|
82
71
|
}, cardImage ? 'imageSource' in cardImage ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
83
|
-
style:
|
|
72
|
+
style: cardSize
|
|
84
73
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
|
|
85
74
|
testID: (0, _testID.concatTestID)(testID, 'imageSource'),
|
|
86
75
|
source: cardImage.imageSource,
|
|
@@ -88,27 +77,24 @@ const CredentialCard = ({
|
|
|
88
77
|
})) : /*#__PURE__*/_react.default.createElement(_imageOrComponent.default, {
|
|
89
78
|
testID: (0, _testID.concatTestID)(testID, 'cardImage'),
|
|
90
79
|
source: cardImage,
|
|
91
|
-
style:
|
|
80
|
+
style: cardSize
|
|
92
81
|
}) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
93
82
|
testID: (0, _testID.concatTestID)(testID, 'cardBackgroundColor', String(color)),
|
|
94
|
-
style: [
|
|
83
|
+
style: [cardSize, {
|
|
95
84
|
backgroundColor: color
|
|
96
85
|
}]
|
|
97
86
|
}), onCardPress && /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableOpacity, {
|
|
98
87
|
style: styles.cardButton,
|
|
99
88
|
onPress: cardPressHandler
|
|
100
89
|
}), shouldShowCarousel ? /*#__PURE__*/_react.default.createElement(_credentialImageCarousel.default, {
|
|
101
|
-
style:
|
|
102
|
-
marginTop: tappableHeaderHeight !== null && tappableHeaderHeight !== void 0 ? tappableHeaderHeight : 0
|
|
103
|
-
},
|
|
90
|
+
style: styles.carousel,
|
|
104
91
|
imagesToRender: cardCarouselImages !== null && cardCarouselImages !== void 0 ? cardCarouselImages : [],
|
|
105
92
|
carouselSize: {
|
|
106
93
|
width: cardSize.width,
|
|
107
|
-
height: cardSize.height -
|
|
94
|
+
height: cardSize.height - 60
|
|
108
95
|
},
|
|
109
96
|
testID: (0, _testID.concatTestID)(testID, 'carousel')
|
|
110
97
|
}) : null, /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableOpacity, {
|
|
111
|
-
onLayout: onHeaderLayoutChange,
|
|
112
98
|
activeOpacity: 0.9,
|
|
113
99
|
disabled: !onHeaderPress,
|
|
114
100
|
onPress: headerPressHandler,
|
|
@@ -141,9 +127,8 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
141
127
|
position: 'absolute',
|
|
142
128
|
width: '100%'
|
|
143
129
|
},
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
width: '100%'
|
|
130
|
+
carousel: {
|
|
131
|
+
marginTop: 60
|
|
147
132
|
},
|
|
148
133
|
header: {
|
|
149
134
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_testID","_accessibilityHistoryWrappers","_blurView","_interopRequireDefault","_imageOrComponent","_typography","_colorSchemeContext","_credentialHeader","_credentialImageCarousel","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","CredentialCardShadow","exports","shadowColor","shadowOffset","height","width","shadowOpacity","shadowRadius","CredentialCardRatio","CredentialCard","cardCarouselImages","cardImage","color","credentialId","header","notice","onCardPress","onHeaderPress","style","testID","_header$color","colorScheme","useAppColorScheme","tappableHeaderHeight","setTappableHeaderHeight","useState","cardSize","setCardSize","onCardLayoutChange","useCallback","event","nativeEvent","layout","onHeaderLayoutChange","headerPressHandler","cardPressHandler","noticeIconView","useMemo","noticeIcon","undefined","React","isValidElement","NoticeIconComponent","createElement","shouldShowCarousel","View","onLayout","styles","card","Image","concatTestID","source","imageSource","image","String","backgroundColor","TouchableOpacity","cardButton","onPress","marginTop","imagesToRender","carouselSize","activeOpacity","disabled","blurStyle","noticeTextWrapper","text","preset","noticeText","StyleSheet","create","borderRadius","overflow","position","aspectRatio","top","bottom","columnGap","flexDirection","justifyContent","paddingBottom","paddingHorizontal","paddingTop","marginVertical","flex","_default"],"sources":["credential-card.tsx"],"sourcesContent":["import React, { FC, useCallback, useMemo, useState } from 'react';\nimport { ColorValue, Image, LayoutChangeEvent, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport { TouchableOpacity } from '../../accessibility/accessibilityHistoryWrappers';\nimport BlurView from '../../blur/blur-view';\nimport ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography from '../../text/typography';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\nimport CredentialHeader, { CredentialHeaderProps } from './credential-header';\nimport CarouselComponent, { CarouselImage } from './credential-image-carousel';\n\nexport const CredentialCardShadow: Pick<ViewStyle, 'shadowColor' | 'shadowOffset' | 'shadowOpacity' | 'shadowRadius'> =\n {\n shadowColor: '#10274226',\n shadowOffset: {\n height: 5,\n width: 0,\n },\n shadowOpacity: 1,\n shadowRadius: 7,\n };\n\nexport const CredentialCardRatio = 18 / 11;\n\nexport type CredentialCardNotice = {\n text: string;\n noticeIcon?: React.ComponentType<any> | React.ReactElement;\n};\n\nexport type CredentialCardProps = {\n cardCarouselImages?: CarouselImage[];\n cardImage?: ImageOrComponentSource;\n color?: ColorValue;\n credentialId?: string;\n header: CredentialHeaderProps;\n notice?: CredentialCardNotice;\n onCardPress?: (credentialId?: string) => void;\n onHeaderPress?: (credentialId?: string) => void;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\nconst CredentialCard: FC<CredentialCardProps> = ({\n cardCarouselImages = [],\n cardImage,\n color = '#5A69F3',\n credentialId,\n header,\n notice,\n onCardPress,\n onHeaderPress,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const [tappableHeaderHeight, setTappableHeaderHeight] = useState<number>();\n const [cardSize, setCardSize] = useState<{ height: number; width: number }>();\n\n const onCardLayoutChange = useCallback((event: LayoutChangeEvent) => {\n const { width, height } = event.nativeEvent.layout;\n setCardSize({ width, height });\n }, []);\n\n const onHeaderLayoutChange = useCallback((event: LayoutChangeEvent) => {\n setTappableHeaderHeight(event.nativeEvent.layout.height);\n }, []);\n\n const headerPressHandler = useCallback(() => {\n onHeaderPress?.(credentialId);\n }, [credentialId, onHeaderPress]);\n\n const cardPressHandler = useCallback(() => {\n onCardPress?.(credentialId);\n }, [credentialId, onCardPress]);\n\n const noticeIconView: React.ReactElement | undefined = useMemo(() => {\n if (!notice?.noticeIcon) {\n return undefined;\n }\n if (React.isValidElement(notice.noticeIcon)) {\n return notice.noticeIcon;\n } else {\n const NoticeIconComponent = notice.noticeIcon as React.ComponentType<any>;\n return <NoticeIconComponent />;\n }\n }, [notice?.noticeIcon]);\n\n const shouldShowCarousel = cardSize?.width && cardSize.height;\n return (\n <View onLayout={onCardLayoutChange} style={[styles.card, style]} testID={testID}>\n {cardImage ? (\n 'imageSource' in cardImage ? (\n <View style={styles.cardImage}>\n <Image testID={concatTestID(testID, 'imageSource')} source={cardImage.imageSource} style={styles.image} />\n </View>\n ) : (\n <ImageOrComponent testID={concatTestID(testID, 'cardImage')} source={cardImage} style={styles.cardImage} />\n )\n ) : (\n <View\n testID={concatTestID(testID, 'cardBackgroundColor', String(color))}\n style={[styles.cardImage, { backgroundColor: color }]}\n />\n )}\n {onCardPress && <TouchableOpacity style={styles.cardButton} onPress={cardPressHandler} />}\n {shouldShowCarousel ? (\n <CarouselComponent\n style={{ marginTop: tappableHeaderHeight ?? 0 }}\n imagesToRender={cardCarouselImages ?? []}\n carouselSize={{\n width: cardSize.width,\n height: cardSize.height - (tappableHeaderHeight ?? 0),\n }}\n testID={concatTestID(testID, 'carousel')}\n />\n ) : null}\n <TouchableOpacity\n onLayout={onHeaderLayoutChange}\n activeOpacity={0.9}\n disabled={!onHeaderPress}\n onPress={headerPressHandler}\n style={styles.header}>\n <CredentialHeader {...header} color={header.color ?? color} testID={concatTestID(testID, 'header')} />\n </TouchableOpacity>\n {notice && (\n <BlurView blurStyle=\"soft\" style={[styles.notice]} testID={concatTestID(testID, 'notice')}>\n {noticeIconView && <View style={styles.noticeIcon}>{noticeIconView}</View>}\n <View style={styles.noticeTextWrapper}>\n <Typography\n color={colorScheme.text}\n preset=\"xs/line-height-small\"\n style={styles.noticeText}\n testID={concatTestID(testID, 'notice.text')}>\n {notice.text}\n </Typography>\n </View>\n </BlurView>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n card: {\n borderRadius: 10,\n overflow: 'hidden',\n },\n cardButton: {\n height: '100%',\n position: 'absolute',\n width: '100%',\n },\n cardImage: {\n aspectRatio: CredentialCardRatio,\n width: '100%',\n },\n header: {\n position: 'absolute',\n top: 0,\n width: '100%',\n },\n image: {\n height: '100%',\n width: '100%',\n },\n notice: {\n bottom: 0,\n columnGap: 6,\n flexDirection: 'row',\n justifyContent: 'flex-start',\n paddingBottom: 6,\n paddingHorizontal: 12,\n paddingTop: 2,\n position: 'absolute',\n width: '100%',\n },\n noticeIcon: {\n marginTop: 4,\n },\n noticeText: {\n marginVertical: 5,\n },\n noticeTextWrapper: {\n flex: 1,\n },\n});\n\nexport default CredentialCard;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_testID","_accessibilityHistoryWrappers","_blurView","_interopRequireDefault","_imageOrComponent","_typography","_colorSchemeContext","_credentialHeader","_credentialImageCarousel","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","CredentialCardShadow","exports","shadowColor","shadowOffset","height","width","shadowOpacity","shadowRadius","CredentialCardRatio","CredentialCard","cardCarouselImages","cardImage","color","credentialId","header","notice","onCardPress","onHeaderPress","style","testID","_header$color","colorScheme","useAppColorScheme","cardSize","Math","ceil","headerPressHandler","useCallback","cardPressHandler","noticeIconView","useMemo","noticeIcon","undefined","React","isValidElement","NoticeIconComponent","createElement","shouldShowCarousel","View","styles","card","Image","concatTestID","source","imageSource","image","String","backgroundColor","TouchableOpacity","cardButton","onPress","carousel","imagesToRender","carouselSize","activeOpacity","disabled","blurStyle","noticeTextWrapper","text","preset","noticeText","StyleSheet","create","borderRadius","overflow","position","marginTop","top","bottom","columnGap","flexDirection","justifyContent","paddingBottom","paddingHorizontal","paddingTop","marginVertical","flex","_default"],"sources":["credential-card.tsx"],"sourcesContent":["import React, { FC, useCallback, useMemo } from 'react';\nimport { ColorValue, Image, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport { TouchableOpacity } from '../../accessibility/accessibilityHistoryWrappers';\nimport BlurView from '../../blur/blur-view';\nimport ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography from '../../text/typography';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\nimport CredentialHeader, { CredentialHeaderProps } from './credential-header';\nimport CarouselComponent, { CarouselImage } from './credential-image-carousel';\n\nexport const CredentialCardShadow: Pick<ViewStyle, 'shadowColor' | 'shadowOffset' | 'shadowOpacity' | 'shadowRadius'> =\n {\n shadowColor: '#10274226',\n shadowOffset: {\n height: 5,\n width: 0,\n },\n shadowOpacity: 1,\n shadowRadius: 7,\n };\n\nexport const CredentialCardRatio = 18 / 11;\n\nexport type CredentialCardNotice = {\n text: string;\n noticeIcon?: React.ComponentType<any> | React.ReactElement;\n};\n\nexport type CredentialCardProps = {\n cardCarouselImages?: CarouselImage[];\n cardImage?: ImageOrComponentSource;\n color?: ColorValue;\n credentialId?: string;\n header: CredentialHeaderProps;\n notice?: CredentialCardNotice;\n onCardPress?: (credentialId?: string) => void;\n onHeaderPress?: (credentialId?: string) => void;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n width: number;\n};\n\nconst CredentialCard: FC<CredentialCardProps> = ({\n cardCarouselImages = [],\n cardImage,\n color = '#5A69F3',\n credentialId,\n header,\n notice,\n onCardPress,\n onHeaderPress,\n style,\n testID,\n width,\n}) => {\n const colorScheme = useAppColorScheme();\n const cardSize = {\n width,\n height: Math.ceil(width / CredentialCardRatio),\n };\n\n const headerPressHandler = useCallback(() => {\n onHeaderPress?.(credentialId);\n }, [credentialId, onHeaderPress]);\n\n const cardPressHandler = useCallback(() => {\n onCardPress?.(credentialId);\n }, [credentialId, onCardPress]);\n\n const noticeIconView: React.ReactElement | undefined = useMemo(() => {\n if (!notice?.noticeIcon) {\n return undefined;\n }\n if (React.isValidElement(notice.noticeIcon)) {\n return notice.noticeIcon;\n } else {\n const NoticeIconComponent = notice.noticeIcon as React.ComponentType<any>;\n return <NoticeIconComponent />;\n }\n }, [notice?.noticeIcon]);\n\n const shouldShowCarousel = cardSize?.width && cardSize.height;\n return (\n <View style={[styles.card, cardSize, style]} testID={testID}>\n {cardImage ? (\n 'imageSource' in cardImage ? (\n <View style={cardSize}>\n <Image testID={concatTestID(testID, 'imageSource')} source={cardImage.imageSource} style={styles.image} />\n </View>\n ) : (\n <ImageOrComponent testID={concatTestID(testID, 'cardImage')} source={cardImage} style={cardSize} />\n )\n ) : (\n <View\n testID={concatTestID(testID, 'cardBackgroundColor', String(color))}\n style={[cardSize, { backgroundColor: color }]}\n />\n )}\n {onCardPress && <TouchableOpacity style={styles.cardButton} onPress={cardPressHandler} />}\n {shouldShowCarousel ? (\n <CarouselComponent\n style={styles.carousel}\n imagesToRender={cardCarouselImages ?? []}\n carouselSize={{\n width: cardSize.width,\n height: cardSize.height - 60,\n }}\n testID={concatTestID(testID, 'carousel')}\n />\n ) : null}\n <TouchableOpacity\n activeOpacity={0.9}\n disabled={!onHeaderPress}\n onPress={headerPressHandler}\n style={styles.header}>\n <CredentialHeader {...header} color={header.color ?? color} testID={concatTestID(testID, 'header')} />\n </TouchableOpacity>\n {notice && (\n <BlurView blurStyle=\"soft\" style={[styles.notice]} testID={concatTestID(testID, 'notice')}>\n {noticeIconView && <View style={styles.noticeIcon}>{noticeIconView}</View>}\n <View style={styles.noticeTextWrapper}>\n <Typography\n color={colorScheme.text}\n preset=\"xs/line-height-small\"\n style={styles.noticeText}\n testID={concatTestID(testID, 'notice.text')}>\n {notice.text}\n </Typography>\n </View>\n </BlurView>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n card: {\n borderRadius: 10,\n overflow: 'hidden',\n },\n cardButton: {\n height: '100%',\n position: 'absolute',\n width: '100%',\n },\n carousel: {\n marginTop: 60,\n },\n header: {\n position: 'absolute',\n top: 0,\n width: '100%',\n },\n image: {\n height: '100%',\n width: '100%',\n },\n notice: {\n bottom: 0,\n columnGap: 6,\n flexDirection: 'row',\n justifyContent: 'flex-start',\n paddingBottom: 6,\n paddingHorizontal: 12,\n paddingTop: 2,\n position: 'absolute',\n width: '100%',\n },\n noticeIcon: {\n marginTop: 4,\n },\n noticeText: {\n marginVertical: 5,\n },\n noticeTextWrapper: {\n flex: 1,\n },\n});\n\nexport default CredentialCard;\n"],"mappings":"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","ignoreList":[]}
|