@procivis/one-react-native-components 0.2.54 → 0.3.22
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/README.md +3 -8
- package/lib/commonjs/components/backup/index.js.map +1 -1
- package/lib/commonjs/components/backup/preview-credentials.js +18 -22
- package/lib/commonjs/components/backup/preview-credentials.js.map +1 -1
- package/lib/commonjs/components/credential/credential.js +11 -12
- package/lib/commonjs/components/credential/credential.js.map +1 -1
- package/lib/commonjs/components/credential/index.js.map +1 -1
- package/lib/commonjs/components/entity/EntityButtons.js +20 -25
- package/lib/commonjs/components/entity/EntityButtons.js.map +1 -1
- package/lib/commonjs/components/entity/entity-attributes.js +15 -17
- package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
- package/lib/commonjs/components/entity/entity-details-with-buttons.js +18 -19
- package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/commonjs/components/entity/entity-details.js +12 -14
- package/lib/commonjs/components/entity/entity-details.js.map +1 -1
- package/lib/commonjs/components/entity/index.js +2 -2
- package/lib/commonjs/components/entity/index.js.map +1 -1
- package/lib/commonjs/components/history/history-details-screen.js +67 -0
- package/lib/commonjs/components/history/history-details-screen.js.map +1 -0
- package/lib/commonjs/components/history/history-list-item-icon.js +94 -0
- package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -0
- package/lib/commonjs/components/history/history-list-item.js +45 -0
- package/lib/commonjs/components/history/history-list-item.js.map +1 -0
- package/lib/commonjs/components/history/history-list-screen.js +121 -0
- package/lib/commonjs/components/history/history-list-screen.js.map +1 -0
- package/lib/commonjs/components/history/history-list-section-header.js +39 -0
- package/lib/commonjs/components/history/history-list-section-header.js.map +1 -0
- package/lib/commonjs/components/history/history-list.js +100 -0
- package/lib/commonjs/components/history/history-list.js.map +1 -0
- package/lib/commonjs/components/history/index.js +72 -0
- package/lib/commonjs/components/history/index.js.map +1 -0
- package/lib/commonjs/components/index.js +11 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/components/navigation/header-buttons.js +21 -25
- package/lib/commonjs/components/navigation/header-buttons.js.map +1 -1
- package/lib/commonjs/components/navigation/index.js.map +1 -1
- package/lib/commonjs/components/proof-request/group.js +4 -5
- package/lib/commonjs/components/proof-request/group.js.map +1 -1
- package/lib/commonjs/components/proof-request/index.js.map +1 -1
- package/lib/commonjs/components/proof-request/select-credential.js +11 -12
- package/lib/commonjs/components/proof-request/select-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/share-credential.js +23 -27
- package/lib/commonjs/components/proof-request/share-credential.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/normalize-color.d.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/accessibility.js +11 -7
- package/lib/commonjs/ui-components/accessibility/accessibility.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/accessibilityHistory.js +8 -12
- package/lib/commonjs/ui-components/accessibility/accessibilityHistory.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/accessibilityHistoryWrappers.js +15 -17
- package/lib/commonjs/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/accessibilityLanguage.js +8 -10
- package/lib/commonjs/ui-components/accessibility/accessibilityLanguage.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/index.js +1 -30
- package/lib/commonjs/ui-components/accessibility/index.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/locale/index.js +2 -3
- package/lib/commonjs/ui-components/accessibility/locale/index.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/locale.test.js.map +1 -1
- package/lib/commonjs/ui-components/action-modal/ActionModal.js +9 -11
- package/lib/commonjs/ui-components/action-modal/ActionModal.js.map +1 -1
- package/lib/commonjs/ui-components/action-modal/index.js +1 -1
- package/lib/commonjs/ui-components/action-modal/index.js.map +1 -1
- package/lib/commonjs/ui-components/activity-indicator/activity-indicator.js +10 -12
- package/lib/commonjs/ui-components/activity-indicator/activity-indicator.js.map +1 -1
- package/lib/commonjs/ui-components/activity-indicator/index.js +1 -1
- package/lib/commonjs/ui-components/activity-indicator/index.js.map +1 -1
- package/lib/commonjs/ui-components/blur/blur-view.js +13 -15
- package/lib/commonjs/ui-components/blur/blur-view.js.map +1 -1
- package/lib/commonjs/ui-components/blur/index.js +2 -2
- package/lib/commonjs/ui-components/blur/index.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/back-button.js +12 -15
- package/lib/commonjs/ui-components/buttons/back-button.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/button.js +19 -22
- package/lib/commonjs/ui-components/buttons/button.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/connectivity-button.js +16 -18
- package/lib/commonjs/ui-components/buttons/connectivity-button.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/filter-button.js +8 -10
- package/lib/commonjs/ui-components/buttons/filter-button.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/ghost-button.js +12 -14
- package/lib/commonjs/ui-components/buttons/ghost-button.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/hold-button.js +244 -0
- package/lib/commonjs/ui-components/buttons/hold-button.js.map +1 -0
- package/lib/commonjs/ui-components/buttons/index.js +9 -37
- package/lib/commonjs/ui-components/buttons/index.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/scan-button.js +7 -9
- package/lib/commonjs/ui-components/buttons/scan-button.js.map +1 -1
- package/lib/commonjs/ui-components/camera/camera-overlay.js +11 -14
- package/lib/commonjs/ui-components/camera/camera-overlay.js.map +1 -1
- package/lib/commonjs/ui-components/camera/index.js +2 -2
- package/lib/commonjs/ui-components/camera/index.js.map +1 -1
- package/lib/commonjs/ui-components/camera/qr-code-scanner.js +12 -14
- package/lib/commonjs/ui-components/camera/qr-code-scanner.js.map +1 -1
- package/lib/commonjs/ui-components/control/checkbox.js +11 -12
- package/lib/commonjs/ui-components/control/checkbox.js.map +1 -1
- package/lib/commonjs/ui-components/control/index.js.map +1 -1
- package/lib/commonjs/ui-components/control/switch.js +10 -12
- package/lib/commonjs/ui-components/control/switch.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-card.js +22 -26
- package/lib/commonjs/ui-components/credential/card/credential-card.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-details-card.js +30 -35
- 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 +27 -20
- package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-header.js +25 -24
- package/lib/commonjs/ui-components/credential/card/credential-header.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-image-carousel.js +27 -29
- package/lib/commonjs/ui-components/credential/card/credential-image-carousel.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/index.js +6 -41
- package/lib/commonjs/ui-components/credential/card/index.js.map +1 -1
- package/lib/commonjs/ui-components/credential/credential-attribute-item.js +51 -60
- package/lib/commonjs/ui-components/credential/credential-attribute-item.js.map +1 -1
- package/lib/commonjs/ui-components/credential/credential-carousel-images.js +18 -21
- package/lib/commonjs/ui-components/credential/credential-carousel-images.js.map +1 -1
- package/lib/commonjs/ui-components/credential/index.js +2 -25
- package/lib/commonjs/ui-components/credential/index.js.map +1 -1
- package/lib/commonjs/ui-components/credential/selector-status.js +3 -4
- package/lib/commonjs/ui-components/credential/selector-status.js.map +1 -1
- package/lib/commonjs/ui-components/credential/selector.js +8 -10
- package/lib/commonjs/ui-components/credential/selector.js.map +1 -1
- package/lib/commonjs/ui-components/detail/detail.js +12 -14
- package/lib/commonjs/ui-components/detail/detail.js.map +1 -1
- package/lib/commonjs/ui-components/detail/index.js +1 -1
- package/lib/commonjs/ui-components/detail/index.js.map +1 -1
- package/lib/commonjs/ui-components/entity/avatar.js +14 -16
- package/lib/commonjs/ui-components/entity/avatar.js.map +1 -1
- package/lib/commonjs/ui-components/entity/entity-cluster.js +15 -18
- package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
- package/lib/commonjs/ui-components/entity/index.js +2 -2
- package/lib/commonjs/ui-components/entity/index.js.map +1 -1
- package/lib/commonjs/ui-components/header/focus-aware-status-bar.js +3 -4
- package/lib/commonjs/ui-components/header/focus-aware-status-bar.js.map +1 -1
- package/lib/commonjs/ui-components/header/foldable-header.js +14 -17
- package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
- package/lib/commonjs/ui-components/header/header.js +12 -14
- package/lib/commonjs/ui-components/header/header.js.map +1 -1
- package/lib/commonjs/ui-components/header/index.js +4 -24
- package/lib/commonjs/ui-components/header/index.js.map +1 -1
- package/lib/commonjs/ui-components/header/navigation-header.js +27 -33
- package/lib/commonjs/ui-components/header/navigation-header.js.map +1 -1
- package/lib/commonjs/ui-components/history/data-item.js +30 -23
- package/lib/commonjs/ui-components/history/data-item.js.map +1 -1
- package/lib/commonjs/ui-components/history/history-details.js +181 -0
- package/lib/commonjs/ui-components/history/history-details.js.map +1 -0
- package/lib/commonjs/ui-components/history/{history-list-item.js → history-item.js} +47 -26
- package/lib/commonjs/ui-components/history/history-item.js.map +1 -0
- package/lib/commonjs/ui-components/history/history-section-header.js +7 -9
- package/lib/commonjs/ui-components/history/history-section-header.js.map +1 -1
- package/lib/commonjs/ui-components/history/history-section-list-item.js +13 -12
- package/lib/commonjs/ui-components/history/history-section-list-item.js.map +1 -1
- package/lib/commonjs/ui-components/history/index.js +30 -9
- package/lib/commonjs/ui-components/history/index.js.map +1 -1
- package/lib/commonjs/ui-components/icons/connectivity.js +19 -24
- package/lib/commonjs/ui-components/icons/connectivity.js.map +1 -1
- package/lib/commonjs/ui-components/icons/credential.js +60 -71
- package/lib/commonjs/ui-components/icons/credential.js.map +1 -1
- package/lib/commonjs/ui-components/icons/entity.js +7 -8
- package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
- package/lib/commonjs/ui-components/icons/history.js +113 -133
- package/lib/commonjs/ui-components/icons/history.js.map +1 -1
- package/lib/commonjs/ui-components/icons/icons.js +73 -90
- package/lib/commonjs/ui-components/icons/icons.js.map +1 -1
- package/lib/commonjs/ui-components/icons/index.js.map +1 -1
- package/lib/commonjs/ui-components/icons/input.js +3 -3
- package/lib/commonjs/ui-components/icons/input.js.map +1 -1
- package/lib/commonjs/ui-components/icons/keypad.js +69 -81
- package/lib/commonjs/ui-components/icons/keypad.js.map +1 -1
- package/lib/commonjs/ui-components/icons/loader.js +4 -4
- package/lib/commonjs/ui-components/icons/loader.js.map +1 -1
- package/lib/commonjs/ui-components/icons/nerd-view.js +6 -9
- package/lib/commonjs/ui-components/icons/nerd-view.js.map +1 -1
- package/lib/commonjs/ui-components/icons/selector.js +8 -9
- package/lib/commonjs/ui-components/icons/selector.js.map +1 -1
- package/lib/commonjs/ui-components/icons/wallet.js +16 -19
- package/lib/commonjs/ui-components/icons/wallet.js.map +1 -1
- package/lib/commonjs/ui-components/image/image-or-component.js +15 -18
- package/lib/commonjs/ui-components/image/image-or-component.js.map +1 -1
- package/lib/commonjs/ui-components/image/index.js +2 -9
- package/lib/commonjs/ui-components/image/index.js.map +1 -1
- package/lib/commonjs/ui-components/index.js.map +1 -1
- package/lib/commonjs/ui-components/input/index.js +2 -2
- package/lib/commonjs/ui-components/input/index.js.map +1 -1
- package/lib/commonjs/ui-components/input/radio-group.js +28 -25
- package/lib/commonjs/ui-components/input/radio-group.js.map +1 -1
- package/lib/commonjs/ui-components/input/selection-input.js +27 -38
- package/lib/commonjs/ui-components/input/selection-input.js.map +1 -1
- package/lib/commonjs/ui-components/input/text-input.js +25 -28
- package/lib/commonjs/ui-components/input/text-input.js.map +1 -1
- package/lib/commonjs/ui-components/list/index.js +20 -2
- package/lib/commonjs/ui-components/list/index.js.map +1 -1
- package/lib/commonjs/ui-components/list/list-page-loading-indicator.js +14 -0
- package/lib/commonjs/ui-components/list/list-page-loading-indicator.js.map +1 -0
- package/lib/commonjs/ui-components/list/list-section-header.js +10 -12
- package/lib/commonjs/ui-components/list/list-section-header.js.map +1 -1
- package/lib/commonjs/ui-components/list/list-title-header.js +6 -8
- package/lib/commonjs/ui-components/list/list-title-header.js.map +1 -1
- package/lib/commonjs/ui-components/list/wallet/empty-list.js +73 -0
- package/lib/commonjs/ui-components/list/wallet/empty-list.js.map +1 -0
- package/lib/commonjs/ui-components/list/wallet/empty-search-result.js +41 -0
- package/lib/commonjs/ui-components/list/wallet/empty-search-result.js.map +1 -0
- package/lib/commonjs/ui-components/list/wallet/index.js +21 -0
- package/lib/commonjs/ui-components/list/wallet/index.js.map +1 -0
- package/lib/commonjs/ui-components/loader/index.js +2 -2
- package/lib/commonjs/ui-components/loader/index.js.map +1 -1
- package/lib/commonjs/ui-components/loader/loader.js +17 -17
- package/lib/commonjs/ui-components/loader/loader.js.map +1 -1
- package/lib/commonjs/ui-components/loader/loading-result.js +22 -21
- package/lib/commonjs/ui-components/loader/loading-result.js.map +1 -1
- package/lib/commonjs/ui-components/nerd-view/index.js +2 -8
- package/lib/commonjs/ui-components/nerd-view/index.js.map +1 -1
- package/lib/commonjs/ui-components/nerd-view/nerd-mode-item.js +37 -41
- package/lib/commonjs/ui-components/nerd-view/nerd-mode-item.js.map +1 -1
- package/lib/commonjs/ui-components/pin/index.js +2 -2
- package/lib/commonjs/ui-components/pin/index.js.map +1 -1
- package/lib/commonjs/ui-components/pin/keypad.js +19 -23
- package/lib/commonjs/ui-components/pin/keypad.js.map +1 -1
- package/lib/commonjs/ui-components/pin/pin-code-screen.js +19 -21
- package/lib/commonjs/ui-components/pin/pin-code-screen.js.map +1 -1
- package/lib/commonjs/ui-components/pin/pin-lock-animation.js +1 -2
- package/lib/commonjs/ui-components/pin/pin-lock-animation.js.map +1 -1
- package/lib/commonjs/ui-components/pin/pin-lock.js +10 -12
- package/lib/commonjs/ui-components/pin/pin-lock.js.map +1 -1
- package/lib/commonjs/ui-components/pin/pins.js +8 -9
- package/lib/commonjs/ui-components/pin/pins.js.map +1 -1
- package/lib/commonjs/ui-components/screens/backup-screen.js +15 -18
- package/lib/commonjs/ui-components/screens/backup-screen.js.map +1 -1
- package/lib/commonjs/ui-components/screens/image-preview-screen.js +12 -14
- package/lib/commonjs/ui-components/screens/image-preview-screen.js.map +1 -1
- package/lib/commonjs/ui-components/screens/index.js +8 -49
- package/lib/commonjs/ui-components/screens/index.js.map +1 -1
- package/lib/commonjs/ui-components/screens/nerd-mode-screen.js +34 -41
- package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
- package/lib/commonjs/ui-components/screens/qr-code-scanner-screen.js +14 -16
- package/lib/commonjs/ui-components/screens/qr-code-scanner-screen.js.map +1 -1
- package/lib/commonjs/ui-components/screens/scroll-view-screen.js +12 -14
- package/lib/commonjs/ui-components/screens/scroll-view-screen.js.map +1 -1
- package/lib/commonjs/ui-components/screens/section-list-screen.js +13 -15
- package/lib/commonjs/ui-components/screens/section-list-screen.js.map +1 -1
- package/lib/commonjs/ui-components/searchbar/animated-search-bar.js +10 -12
- package/lib/commonjs/ui-components/searchbar/animated-search-bar.js.map +1 -1
- package/lib/commonjs/ui-components/searchbar/index.js +2 -2
- package/lib/commonjs/ui-components/searchbar/index.js.map +1 -1
- package/lib/commonjs/ui-components/searchbar/search-bar.js +15 -17
- package/lib/commonjs/ui-components/searchbar/search-bar.js.map +1 -1
- package/lib/commonjs/ui-components/settings/button-setting.js +14 -16
- package/lib/commonjs/ui-components/settings/button-setting.js.map +1 -1
- package/lib/commonjs/ui-components/settings/index.js +2 -2
- package/lib/commonjs/ui-components/settings/index.js.map +1 -1
- package/lib/commonjs/ui-components/settings/setting-item-separator.js +6 -8
- package/lib/commonjs/ui-components/settings/setting-item-separator.js.map +1 -1
- package/lib/commonjs/ui-components/settings/setting-item.js +11 -13
- package/lib/commonjs/ui-components/settings/setting-item.js.map +1 -1
- package/lib/commonjs/ui-components/settings/settings-button.js +7 -9
- package/lib/commonjs/ui-components/settings/settings-button.js.map +1 -1
- package/lib/commonjs/ui-components/settings/switch-setting.js +11 -13
- package/lib/commonjs/ui-components/settings/switch-setting.js.map +1 -1
- package/lib/commonjs/ui-components/state/error-screen.js +10 -12
- package/lib/commonjs/ui-components/state/error-screen.js.map +1 -1
- package/lib/commonjs/ui-components/state/index.js +2 -2
- package/lib/commonjs/ui-components/state/index.js.map +1 -1
- package/lib/commonjs/ui-components/text/base.js +14 -16
- package/lib/commonjs/ui-components/text/base.js.map +1 -1
- package/lib/commonjs/ui-components/text/font.js +11 -13
- package/lib/commonjs/ui-components/text/font.js.map +1 -1
- package/lib/commonjs/ui-components/text/index.js +2 -9
- package/lib/commonjs/ui-components/text/index.js.map +1 -1
- package/lib/commonjs/ui-components/text/typography.js +10 -13
- package/lib/commonjs/ui-components/text/typography.js.map +1 -1
- package/lib/commonjs/ui-components/theme/color-scheme-context.js +2 -1
- package/lib/commonjs/ui-components/theme/color-scheme-context.js.map +1 -1
- package/lib/commonjs/ui-components/theme/color-scheme.js.map +1 -1
- package/lib/commonjs/ui-components/theme/index.js.map +1 -1
- package/lib/commonjs/utils/array.js.map +1 -1
- package/lib/commonjs/utils/backup.js.map +1 -1
- package/lib/commonjs/utils/color.js +1 -1
- package/lib/commonjs/utils/color.js.map +1 -1
- package/lib/commonjs/utils/contrasting-status-bar.js +8 -10
- package/lib/commonjs/utils/contrasting-status-bar.js.map +1 -1
- package/lib/commonjs/utils/date.js +3 -3
- package/lib/commonjs/utils/date.js.map +1 -1
- package/lib/commonjs/utils/filtering.js +11 -0
- package/lib/commonjs/utils/filtering.js.map +1 -0
- package/lib/commonjs/utils/history.js +76 -0
- package/lib/commonjs/utils/history.js.map +1 -0
- package/lib/commonjs/utils/hooks/connectivity/connectivity.js +37 -23
- package/lib/commonjs/utils/hooks/connectivity/connectivity.js.map +1 -1
- package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js +6 -0
- package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/backup.js +31 -31
- package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/cache.js +44 -0
- package/lib/commonjs/utils/hooks/core/cache.js.map +1 -0
- package/lib/commonjs/utils/hooks/core/core-config.js +15 -1
- package/lib/commonjs/utils/hooks/core/core-config.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/core-context.js +15 -10
- package/lib/commonjs/utils/hooks/core/core-context.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/core-init.js +18 -12
- package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credential-schemas.js +16 -27
- package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credentials.js +27 -37
- package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/dids.js +4 -6
- package/lib/commonjs/utils/hooks/core/dids.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/error-code.js +3 -4
- package/lib/commonjs/utils/hooks/core/error-code.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/history.js +5 -37
- package/lib/commonjs/utils/hooks/core/history.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/index.js +11 -0
- package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proof-schemas.js +23 -38
- package/lib/commonjs/utils/hooks/core/proof-schemas.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +107 -76
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/query.js +1 -2
- package/lib/commonjs/utils/hooks/core/query.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/trust-entity.js +8 -4
- package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
- package/lib/commonjs/utils/hooks/credential-card/credential-card-expanding.js.map +1 -1
- package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js +1 -2
- package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js.map +1 -1
- package/lib/commonjs/utils/hooks/http/client.js.map +1 -1
- package/lib/commonjs/utils/hooks/index.js.map +1 -1
- package/lib/commonjs/utils/hooks/list/list-content-inset.js +9 -10
- package/lib/commonjs/utils/hooks/list/list-content-inset.js.map +1 -1
- package/lib/commonjs/utils/hooks/navigation/before-remove.js.map +1 -1
- package/lib/commonjs/utils/hooks/navigation/close-button-timeout.js.map +1 -1
- package/lib/commonjs/utils/hooks/navigation/deep-link.js +3 -4
- package/lib/commonjs/utils/hooks/navigation/deep-link.js.map +1 -1
- package/lib/commonjs/utils/hooks/navigation/index.js.map +1 -1
- package/lib/commonjs/utils/hooks/navigation/open-settings.js +1 -2
- package/lib/commonjs/utils/hooks/navigation/open-settings.js.map +1 -1
- package/lib/commonjs/utils/hooks/pin-security/pin-security.js +1 -2
- package/lib/commonjs/utils/hooks/pin-security/pin-security.js.map +1 -1
- package/lib/commonjs/utils/hooks/revocation/credential-status.js +17 -26
- package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
- package/lib/commonjs/utils/index.js +37 -1
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/navigation.js +5 -5
- package/lib/commonjs/utils/navigation.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-images.js +1 -1
- package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +16 -20
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js +16 -26
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/commonjs/utils/parsers/index.js +11 -0
- package/lib/commonjs/utils/parsers/index.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js +3 -2
- package/lib/commonjs/utils/parsers/query.js.map +1 -1
- package/lib/commonjs/utils/parsers/universal-links.js +33 -0
- package/lib/commonjs/utils/parsers/universal-links.js.map +1 -0
- package/lib/commonjs/utils/parsers/universal-links.test.js +40 -0
- package/lib/commonjs/utils/parsers/universal-links.test.js.map +1 -0
- package/lib/commonjs/utils/ref.js.map +1 -1
- package/lib/commonjs/utils/reporting.js +4 -2
- package/lib/commonjs/utils/reporting.js.map +1 -1
- package/lib/commonjs/utils/string.js.map +1 -1
- package/lib/commonjs/utils/testID.js +1 -4
- package/lib/commonjs/utils/testID.js.map +1 -1
- package/lib/commonjs/utils/testID.test.js.map +1 -1
- package/lib/commonjs/utils/useMemoAsync.js +9 -0
- package/lib/commonjs/utils/useMemoAsync.js.map +1 -1
- package/lib/commonjs/utils/uuid.js +1 -1
- package/lib/commonjs/utils/uuid.js.map +1 -1
- package/lib/module/components/backup/index.js.map +1 -1
- package/lib/module/components/backup/preview-credentials.js +17 -21
- package/lib/module/components/backup/preview-credentials.js.map +1 -1
- package/lib/module/components/credential/credential.js +10 -11
- package/lib/module/components/credential/credential.js.map +1 -1
- package/lib/module/components/credential/index.js.map +1 -1
- package/lib/module/components/entity/EntityButtons.js +17 -21
- package/lib/module/components/entity/EntityButtons.js.map +1 -1
- package/lib/module/components/entity/entity-attributes.js +12 -13
- package/lib/module/components/entity/entity-attributes.js.map +1 -1
- package/lib/module/components/entity/entity-details-with-buttons.js +15 -15
- package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/module/components/entity/entity-details.js +8 -9
- package/lib/module/components/entity/entity-details.js.map +1 -1
- package/lib/module/components/entity/index.js.map +1 -1
- package/lib/module/components/history/history-details-screen.js +59 -0
- package/lib/module/components/history/history-details-screen.js.map +1 -0
- package/lib/module/components/history/history-list-item-icon.js +84 -0
- package/lib/module/components/history/history-list-item-icon.js.map +1 -0
- package/lib/module/components/history/history-list-item.js +36 -0
- package/lib/module/components/history/history-list-item.js.map +1 -0
- package/lib/module/components/history/history-list-screen.js +112 -0
- package/lib/module/components/history/history-list-screen.js.map +1 -0
- package/lib/module/components/history/history-list-section-header.js +29 -0
- package/lib/module/components/history/history-list-section-header.js.map +1 -0
- package/lib/module/components/history/history-list.js +90 -0
- package/lib/module/components/history/history-list.js.map +1 -0
- package/lib/module/components/history/index.js +7 -0
- package/lib/module/components/history/index.js.map +1 -0
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/navigation/header-buttons.js +19 -23
- package/lib/module/components/navigation/header-buttons.js.map +1 -1
- package/lib/module/components/navigation/index.js.map +1 -1
- package/lib/module/components/proof-request/group.js +3 -4
- package/lib/module/components/proof-request/group.js.map +1 -1
- package/lib/module/components/proof-request/index.js.map +1 -1
- package/lib/module/components/proof-request/select-credential.js +10 -11
- package/lib/module/components/proof-request/select-credential.js.map +1 -1
- package/lib/module/components/proof-request/share-credential.js +21 -25
- package/lib/module/components/proof-request/share-credential.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/normalize-color.d.js.map +1 -1
- package/lib/module/ui-components/accessibility/accessibility.js +5 -7
- package/lib/module/ui-components/accessibility/accessibility.js.map +1 -1
- package/lib/module/ui-components/accessibility/accessibilityHistory.js +4 -8
- package/lib/module/ui-components/accessibility/accessibilityHistory.js.map +1 -1
- package/lib/module/ui-components/accessibility/accessibilityHistoryWrappers.js +10 -8
- package/lib/module/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
- package/lib/module/ui-components/accessibility/accessibilityLanguage.js +6 -8
- package/lib/module/ui-components/accessibility/accessibilityLanguage.js.map +1 -1
- package/lib/module/ui-components/accessibility/index.js +4 -4
- package/lib/module/ui-components/accessibility/index.js.map +1 -1
- package/lib/module/ui-components/accessibility/locale/index.js.map +1 -1
- package/lib/module/ui-components/accessibility/locale.test.js.map +1 -1
- package/lib/module/ui-components/action-modal/ActionModal.js +7 -8
- package/lib/module/ui-components/action-modal/ActionModal.js.map +1 -1
- package/lib/module/ui-components/action-modal/index.js.map +1 -1
- package/lib/module/ui-components/activity-indicator/activity-indicator.js +6 -7
- package/lib/module/ui-components/activity-indicator/activity-indicator.js.map +1 -1
- package/lib/module/ui-components/activity-indicator/index.js.map +1 -1
- package/lib/module/ui-components/blur/blur-view.js +10 -11
- package/lib/module/ui-components/blur/blur-view.js.map +1 -1
- package/lib/module/ui-components/blur/index.js.map +1 -1
- package/lib/module/ui-components/buttons/back-button.js +10 -11
- package/lib/module/ui-components/buttons/back-button.js.map +1 -1
- package/lib/module/ui-components/buttons/button.js +17 -18
- package/lib/module/ui-components/buttons/button.js.map +1 -1
- package/lib/module/ui-components/buttons/connectivity-button.js +14 -14
- package/lib/module/ui-components/buttons/connectivity-button.js.map +1 -1
- package/lib/module/ui-components/buttons/filter-button.js +6 -7
- package/lib/module/ui-components/buttons/filter-button.js.map +1 -1
- package/lib/module/ui-components/buttons/ghost-button.js +9 -10
- package/lib/module/ui-components/buttons/ghost-button.js.map +1 -1
- package/lib/module/ui-components/buttons/hold-button.js +236 -0
- package/lib/module/ui-components/buttons/hold-button.js.map +1 -0
- package/lib/module/ui-components/buttons/index.js +8 -7
- package/lib/module/ui-components/buttons/index.js.map +1 -1
- package/lib/module/ui-components/buttons/scan-button.js +5 -6
- package/lib/module/ui-components/buttons/scan-button.js.map +1 -1
- package/lib/module/ui-components/camera/camera-overlay.js +7 -9
- package/lib/module/ui-components/camera/camera-overlay.js.map +1 -1
- package/lib/module/ui-components/camera/index.js.map +1 -1
- package/lib/module/ui-components/camera/qr-code-scanner.js +8 -9
- package/lib/module/ui-components/camera/qr-code-scanner.js.map +1 -1
- package/lib/module/ui-components/control/checkbox.js +9 -10
- package/lib/module/ui-components/control/checkbox.js.map +1 -1
- package/lib/module/ui-components/control/index.js.map +1 -1
- package/lib/module/ui-components/control/switch.js +8 -9
- package/lib/module/ui-components/control/switch.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-card.js +16 -17
- package/lib/module/ui-components/credential/card/credential-card.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-details-card.js +26 -30
- 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 +23 -15
- package/lib/module/ui-components/credential/card/credential-details-list-item.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-header.js +21 -19
- package/lib/module/ui-components/credential/card/credential-header.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-image-carousel.js +23 -23
- package/lib/module/ui-components/credential/card/credential-image-carousel.js.map +1 -1
- package/lib/module/ui-components/credential/card/index.js +10 -10
- package/lib/module/ui-components/credential/card/index.js.map +1 -1
- package/lib/module/ui-components/credential/credential-attribute-item.js +47 -55
- package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
- package/lib/module/ui-components/credential/credential-carousel-images.js +15 -18
- package/lib/module/ui-components/credential/credential-carousel-images.js.map +1 -1
- package/lib/module/ui-components/credential/index.js +2 -2
- package/lib/module/ui-components/credential/index.js.map +1 -1
- package/lib/module/ui-components/credential/selector-status.js +3 -3
- package/lib/module/ui-components/credential/selector-status.js.map +1 -1
- package/lib/module/ui-components/credential/selector.js +5 -6
- package/lib/module/ui-components/credential/selector.js.map +1 -1
- package/lib/module/ui-components/detail/detail.js +9 -10
- package/lib/module/ui-components/detail/detail.js.map +1 -1
- package/lib/module/ui-components/detail/index.js.map +1 -1
- package/lib/module/ui-components/entity/avatar.js +10 -11
- package/lib/module/ui-components/entity/avatar.js.map +1 -1
- package/lib/module/ui-components/entity/entity-cluster.js +11 -13
- package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
- package/lib/module/ui-components/entity/index.js.map +1 -1
- package/lib/module/ui-components/header/focus-aware-status-bar.js +1 -1
- package/lib/module/ui-components/header/focus-aware-status-bar.js.map +1 -1
- package/lib/module/ui-components/header/foldable-header.js +10 -12
- package/lib/module/ui-components/header/foldable-header.js.map +1 -1
- package/lib/module/ui-components/header/header.js +10 -11
- package/lib/module/ui-components/header/header.js.map +1 -1
- package/lib/module/ui-components/header/index.js +6 -6
- package/lib/module/ui-components/header/index.js.map +1 -1
- package/lib/module/ui-components/header/navigation-header.js +23 -28
- package/lib/module/ui-components/header/navigation-header.js.map +1 -1
- package/lib/module/ui-components/history/data-item.js +23 -15
- package/lib/module/ui-components/history/data-item.js.map +1 -1
- package/lib/module/ui-components/history/history-details.js +171 -0
- package/lib/module/ui-components/history/history-details.js.map +1 -0
- package/lib/module/ui-components/history/{history-list-item.js → history-item.js} +44 -22
- package/lib/module/ui-components/history/history-item.js.map +1 -0
- package/lib/module/ui-components/history/history-section-header.js +6 -7
- package/lib/module/ui-components/history/history-section-header.js.map +1 -1
- package/lib/module/ui-components/history/history-section-list-item.js +8 -9
- package/lib/module/ui-components/history/history-section-list-item.js.map +1 -1
- package/lib/module/ui-components/history/index.js +5 -4
- package/lib/module/ui-components/history/index.js.map +1 -1
- package/lib/module/ui-components/icons/connectivity.js +16 -21
- package/lib/module/ui-components/icons/connectivity.js.map +1 -1
- package/lib/module/ui-components/icons/credential.js +57 -68
- package/lib/module/ui-components/icons/credential.js.map +1 -1
- package/lib/module/ui-components/icons/entity.js +4 -5
- package/lib/module/ui-components/icons/entity.js.map +1 -1
- package/lib/module/ui-components/icons/history.js +101 -128
- package/lib/module/ui-components/icons/history.js.map +1 -1
- package/lib/module/ui-components/icons/icons.js +70 -87
- package/lib/module/ui-components/icons/icons.js.map +1 -1
- package/lib/module/ui-components/icons/index.js.map +1 -1
- package/lib/module/ui-components/icons/input.js.map +1 -1
- package/lib/module/ui-components/icons/keypad.js +66 -78
- package/lib/module/ui-components/icons/keypad.js.map +1 -1
- package/lib/module/ui-components/icons/loader.js +1 -1
- package/lib/module/ui-components/icons/loader.js.map +1 -1
- package/lib/module/ui-components/icons/nerd-view.js.map +1 -1
- package/lib/module/ui-components/icons/selector.js +5 -6
- package/lib/module/ui-components/icons/selector.js.map +1 -1
- package/lib/module/ui-components/icons/wallet.js +13 -16
- package/lib/module/ui-components/icons/wallet.js.map +1 -1
- package/lib/module/ui-components/image/image-or-component.js +12 -14
- package/lib/module/ui-components/image/image-or-component.js.map +1 -1
- package/lib/module/ui-components/image/index.js +2 -2
- package/lib/module/ui-components/image/index.js.map +1 -1
- package/lib/module/ui-components/index.js.map +1 -1
- package/lib/module/ui-components/input/index.js.map +1 -1
- package/lib/module/ui-components/input/radio-group.js +26 -22
- package/lib/module/ui-components/input/radio-group.js.map +1 -1
- package/lib/module/ui-components/input/selection-input.js +21 -31
- package/lib/module/ui-components/input/selection-input.js.map +1 -1
- package/lib/module/ui-components/input/text-input.js +21 -22
- package/lib/module/ui-components/input/text-input.js.map +1 -1
- package/lib/module/ui-components/list/index.js +1 -0
- package/lib/module/ui-components/list/index.js.map +1 -1
- package/lib/module/ui-components/list/list-page-loading-indicator.js +7 -0
- package/lib/module/ui-components/list/list-page-loading-indicator.js.map +1 -0
- package/lib/module/ui-components/list/list-section-header.js +8 -9
- package/lib/module/ui-components/list/list-section-header.js.map +1 -1
- package/lib/module/ui-components/list/list-title-header.js +4 -5
- package/lib/module/ui-components/list/list-title-header.js.map +1 -1
- package/lib/module/ui-components/list/wallet/empty-list.js +66 -0
- package/lib/module/ui-components/list/wallet/empty-list.js.map +1 -0
- package/lib/module/ui-components/list/wallet/empty-search-result.js +34 -0
- package/lib/module/ui-components/list/wallet/empty-search-result.js.map +1 -0
- package/lib/module/ui-components/list/wallet/index.js +4 -0
- package/lib/module/ui-components/list/wallet/index.js.map +1 -0
- package/lib/module/ui-components/loader/index.js.map +1 -1
- package/lib/module/ui-components/loader/loader.js +14 -12
- package/lib/module/ui-components/loader/loader.js.map +1 -1
- package/lib/module/ui-components/loader/loading-result.js +21 -19
- package/lib/module/ui-components/loader/loading-result.js.map +1 -1
- package/lib/module/ui-components/nerd-view/index.js +2 -2
- package/lib/module/ui-components/nerd-view/index.js.map +1 -1
- package/lib/module/ui-components/nerd-view/nerd-mode-item.js +31 -34
- package/lib/module/ui-components/nerd-view/nerd-mode-item.js.map +1 -1
- package/lib/module/ui-components/pin/index.js.map +1 -1
- package/lib/module/ui-components/pin/keypad.js +17 -19
- package/lib/module/ui-components/pin/keypad.js.map +1 -1
- package/lib/module/ui-components/pin/pin-code-screen.js +16 -17
- package/lib/module/ui-components/pin/pin-code-screen.js.map +1 -1
- package/lib/module/ui-components/pin/pin-lock-animation.js.map +1 -1
- package/lib/module/ui-components/pin/pin-lock.js +6 -7
- package/lib/module/ui-components/pin/pin-lock.js.map +1 -1
- package/lib/module/ui-components/pin/pins.js +7 -8
- package/lib/module/ui-components/pin/pins.js.map +1 -1
- package/lib/module/ui-components/screens/backup-screen.js +13 -14
- package/lib/module/ui-components/screens/backup-screen.js.map +1 -1
- package/lib/module/ui-components/screens/image-preview-screen.js +9 -10
- package/lib/module/ui-components/screens/image-preview-screen.js.map +1 -1
- package/lib/module/ui-components/screens/index.js +12 -12
- package/lib/module/ui-components/screens/index.js.map +1 -1
- package/lib/module/ui-components/screens/nerd-mode-screen.js +29 -34
- package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
- package/lib/module/ui-components/screens/qr-code-scanner-screen.js +10 -11
- package/lib/module/ui-components/screens/qr-code-scanner-screen.js.map +1 -1
- package/lib/module/ui-components/screens/scroll-view-screen.js +10 -11
- package/lib/module/ui-components/screens/scroll-view-screen.js.map +1 -1
- package/lib/module/ui-components/screens/section-list-screen.js +11 -12
- package/lib/module/ui-components/screens/section-list-screen.js.map +1 -1
- package/lib/module/ui-components/searchbar/animated-search-bar.js +6 -7
- package/lib/module/ui-components/searchbar/animated-search-bar.js.map +1 -1
- package/lib/module/ui-components/searchbar/index.js.map +1 -1
- package/lib/module/ui-components/searchbar/search-bar.js +11 -12
- package/lib/module/ui-components/searchbar/search-bar.js.map +1 -1
- package/lib/module/ui-components/settings/button-setting.js +10 -11
- package/lib/module/ui-components/settings/button-setting.js.map +1 -1
- package/lib/module/ui-components/settings/index.js.map +1 -1
- package/lib/module/ui-components/settings/setting-item-separator.js +4 -5
- package/lib/module/ui-components/settings/setting-item-separator.js.map +1 -1
- package/lib/module/ui-components/settings/setting-item.js +7 -8
- package/lib/module/ui-components/settings/setting-item.js.map +1 -1
- package/lib/module/ui-components/settings/settings-button.js +5 -6
- package/lib/module/ui-components/settings/settings-button.js.map +1 -1
- package/lib/module/ui-components/settings/switch-setting.js +9 -10
- package/lib/module/ui-components/settings/switch-setting.js.map +1 -1
- package/lib/module/ui-components/state/error-screen.js +7 -8
- package/lib/module/ui-components/state/error-screen.js.map +1 -1
- package/lib/module/ui-components/state/index.js.map +1 -1
- package/lib/module/ui-components/text/base.js +12 -13
- package/lib/module/ui-components/text/base.js.map +1 -1
- package/lib/module/ui-components/text/font.js +10 -11
- package/lib/module/ui-components/text/font.js.map +1 -1
- package/lib/module/ui-components/text/index.js +2 -2
- package/lib/module/ui-components/text/index.js.map +1 -1
- package/lib/module/ui-components/text/typography.js +8 -10
- package/lib/module/ui-components/text/typography.js.map +1 -1
- package/lib/module/ui-components/theme/color-scheme-context.js +1 -0
- package/lib/module/ui-components/theme/color-scheme-context.js.map +1 -1
- package/lib/module/ui-components/theme/color-scheme.js.map +1 -1
- package/lib/module/ui-components/theme/index.js.map +1 -1
- package/lib/module/utils/array.js.map +1 -1
- package/lib/module/utils/backup.js.map +1 -1
- package/lib/module/utils/color.js.map +1 -1
- package/lib/module/utils/contrasting-status-bar.js +5 -6
- package/lib/module/utils/contrasting-status-bar.js.map +1 -1
- package/lib/module/utils/date.js +4 -4
- package/lib/module/utils/date.js.map +1 -1
- package/lib/module/utils/filtering.js +4 -0
- package/lib/module/utils/filtering.js.map +1 -0
- package/lib/module/utils/history.js +66 -0
- package/lib/module/utils/history.js.map +1 -0
- package/lib/module/utils/hooks/connectivity/connectivity.js +36 -19
- package/lib/module/utils/hooks/connectivity/connectivity.js.map +1 -1
- package/lib/module/utils/hooks/connectivity/connectivity.test.js +6 -0
- package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
- package/lib/module/utils/hooks/core/backup.js +31 -31
- package/lib/module/utils/hooks/core/backup.js.map +1 -1
- package/lib/module/utils/hooks/core/cache.js +37 -0
- package/lib/module/utils/hooks/core/cache.js.map +1 -0
- package/lib/module/utils/hooks/core/core-config.js +11 -0
- package/lib/module/utils/hooks/core/core-config.js.map +1 -1
- package/lib/module/utils/hooks/core/core-context.js +14 -9
- package/lib/module/utils/hooks/core/core-context.js.map +1 -1
- package/lib/module/utils/hooks/core/core-init.js +16 -8
- package/lib/module/utils/hooks/core/core-init.js.map +1 -1
- package/lib/module/utils/hooks/core/credential-schemas.js +12 -19
- package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/module/utils/hooks/core/credentials.js +26 -36
- package/lib/module/utils/hooks/core/credentials.js.map +1 -1
- package/lib/module/utils/hooks/core/dids.js +3 -4
- package/lib/module/utils/hooks/core/dids.js.map +1 -1
- package/lib/module/utils/hooks/core/error-code.js +3 -3
- package/lib/module/utils/hooks/core/error-code.js.map +1 -1
- package/lib/module/utils/hooks/core/history.js +4 -35
- package/lib/module/utils/hooks/core/history.js.map +1 -1
- package/lib/module/utils/hooks/core/index.js +1 -0
- package/lib/module/utils/hooks/core/index.js.map +1 -1
- package/lib/module/utils/hooks/core/proof-schemas.js +19 -30
- package/lib/module/utils/hooks/core/proof-schemas.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +101 -67
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/hooks/core/query.js.map +1 -1
- package/lib/module/utils/hooks/core/trust-entity.js +7 -3
- package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
- package/lib/module/utils/hooks/credential-card/credential-card-expanding.js.map +1 -1
- package/lib/module/utils/hooks/header/on-scroll-header-state.js +1 -2
- package/lib/module/utils/hooks/header/on-scroll-header-state.js.map +1 -1
- package/lib/module/utils/hooks/http/client.js.map +1 -1
- package/lib/module/utils/hooks/index.js.map +1 -1
- package/lib/module/utils/hooks/list/list-content-inset.js +9 -10
- package/lib/module/utils/hooks/list/list-content-inset.js.map +1 -1
- package/lib/module/utils/hooks/navigation/before-remove.js.map +1 -1
- package/lib/module/utils/hooks/navigation/close-button-timeout.js.map +1 -1
- package/lib/module/utils/hooks/navigation/deep-link.js +3 -4
- package/lib/module/utils/hooks/navigation/deep-link.js.map +1 -1
- package/lib/module/utils/hooks/navigation/index.js.map +1 -1
- package/lib/module/utils/hooks/navigation/open-settings.js +1 -2
- package/lib/module/utils/hooks/navigation/open-settings.js.map +1 -1
- package/lib/module/utils/hooks/pin-security/pin-security.js +1 -2
- package/lib/module/utils/hooks/pin-security/pin-security.js.map +1 -1
- package/lib/module/utils/hooks/revocation/credential-status.js +17 -26
- package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
- package/lib/module/utils/index.js +3 -0
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/navigation.js +5 -5
- package/lib/module/utils/navigation.js.map +1 -1
- package/lib/module/utils/parsers/credential-images.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing.js +15 -19
- package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/module/utils/parsers/credential.js +16 -25
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/module/utils/parsers/index.js +1 -0
- package/lib/module/utils/parsers/index.js.map +1 -1
- package/lib/module/utils/parsers/query.js +3 -2
- package/lib/module/utils/parsers/query.js.map +1 -1
- package/lib/module/utils/parsers/universal-links.js +25 -0
- package/lib/module/utils/parsers/universal-links.js.map +1 -0
- package/lib/module/utils/parsers/universal-links.test.js +38 -0
- package/lib/module/utils/parsers/universal-links.test.js.map +1 -0
- package/lib/module/utils/ref.js.map +1 -1
- package/lib/module/utils/reporting.js +1 -0
- package/lib/module/utils/reporting.js.map +1 -1
- package/lib/module/utils/string.js.map +1 -1
- package/lib/module/utils/testID.js +1 -4
- package/lib/module/utils/testID.js.map +1 -1
- package/lib/module/utils/testID.test.js.map +1 -1
- package/lib/module/utils/useMemoAsync.js +10 -0
- package/lib/module/utils/useMemoAsync.js.map +1 -1
- package/lib/module/utils/uuid.js.map +1 -1
- package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
- package/lib/typescript/components/history/history-details-screen.d.ts +20 -0
- package/lib/typescript/components/history/history-list-item-icon.d.ts +8 -0
- package/lib/typescript/components/history/history-list-item.d.ts +20 -0
- package/lib/typescript/components/history/history-list-screen.d.ts +22 -0
- package/lib/typescript/components/history/history-list-section-header.d.ts +13 -0
- package/lib/typescript/components/history/history-list.d.ts +19 -0
- package/lib/typescript/components/history/index.d.ts +6 -0
- package/lib/typescript/components/index.d.ts +1 -0
- package/lib/typescript/ui-components/accessibility/accessibility.d.ts +2 -2
- package/lib/typescript/ui-components/accessibility/accessibilityHistory.d.ts +1 -1
- package/lib/typescript/ui-components/accessibility/accessibilityHistoryWrappers.d.ts +3 -3
- package/lib/typescript/ui-components/accessibility/index.d.ts +5 -3
- package/lib/typescript/ui-components/buttons/button.d.ts +2 -2
- package/lib/typescript/ui-components/buttons/hold-button.d.ts +16 -0
- package/lib/typescript/ui-components/buttons/index.d.ts +15 -7
- package/lib/typescript/ui-components/buttons/scan-button.d.ts +2 -2
- package/lib/typescript/ui-components/credential/card/credential-header.d.ts +1 -1
- package/lib/typescript/ui-components/credential/card/index.d.ts +10 -5
- package/lib/typescript/ui-components/credential/index.d.ts +2 -1
- package/lib/typescript/ui-components/header/index.d.ts +6 -3
- package/lib/typescript/ui-components/history/data-item.d.ts +2 -2
- package/lib/typescript/ui-components/history/history-details.d.ts +51 -0
- package/lib/typescript/ui-components/history/{history-list-item.d.ts → history-item.d.ts} +4 -3
- package/lib/typescript/ui-components/history/history-section-header.d.ts +2 -2
- package/lib/typescript/ui-components/history/history-section-list-item.d.ts +2 -2
- package/lib/typescript/ui-components/history/index.d.ts +5 -4
- package/lib/typescript/ui-components/icons/history.d.ts +20 -35
- package/lib/typescript/ui-components/image/index.d.ts +2 -1
- package/lib/typescript/ui-components/input/selection-input.d.ts +1 -1
- package/lib/typescript/ui-components/list/index.d.ts +1 -0
- package/lib/typescript/ui-components/list/list-page-loading-indicator.d.ts +4 -0
- package/lib/typescript/ui-components/list/wallet/empty-list.d.ts +10 -0
- package/lib/typescript/ui-components/list/wallet/empty-search-result.d.ts +7 -0
- package/lib/typescript/ui-components/list/wallet/index.d.ts +3 -0
- package/lib/typescript/ui-components/nerd-view/index.d.ts +2 -1
- package/lib/typescript/ui-components/pin/keypad.d.ts +2 -2
- package/lib/typescript/ui-components/screens/index.d.ts +12 -6
- package/lib/typescript/ui-components/text/index.d.ts +2 -1
- package/lib/typescript/ui-components/text/typography.d.ts +14 -14
- package/lib/typescript/ui-components/theme/color-scheme.d.ts +1 -0
- package/lib/typescript/utils/filtering.d.ts +1 -0
- package/lib/typescript/utils/history.d.ts +10 -0
- package/lib/typescript/utils/hooks/connectivity/connectivity.d.ts +1 -1
- package/lib/typescript/utils/hooks/core/backup.d.ts +2 -1
- package/lib/typescript/utils/hooks/core/cache.d.ts +2 -0
- package/lib/typescript/utils/hooks/core/core-config.d.ts +5 -1
- package/lib/typescript/utils/hooks/core/core-init.d.ts +10 -1
- package/lib/typescript/utils/hooks/core/credentials.d.ts +7 -3
- package/lib/typescript/utils/hooks/core/history.d.ts +2 -5
- package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
- package/lib/typescript/utils/hooks/core/proofs.d.ts +14 -8
- package/lib/typescript/utils/hooks/core/trust-entity.d.ts +5 -0
- package/lib/typescript/utils/hooks/revocation/credential-status.d.ts +2 -1
- package/lib/typescript/utils/index.d.ts +3 -0
- package/lib/typescript/utils/parsers/index.d.ts +1 -0
- package/lib/typescript/utils/parsers/universal-links.d.ts +1 -0
- package/lib/typescript/utils/parsers/universal-links.test.d.ts +1 -0
- package/lib/typescript/utils/ref.d.ts +1 -1
- package/package.json +60 -46
- package/src/components/entity/entity-attributes.tsx +4 -3
- package/src/components/entity/entity-details-with-buttons.tsx +4 -3
- package/src/components/history/history-details-screen.tsx +89 -0
- package/src/components/history/history-list-item-icon.tsx +108 -0
- package/src/components/history/history-list-item.tsx +53 -0
- package/src/components/history/history-list-screen.tsx +154 -0
- package/src/components/history/history-list-section-header.tsx +42 -0
- package/src/components/history/history-list.tsx +116 -0
- package/src/components/history/index.tsx +6 -0
- package/src/components/index.ts +1 -0
- package/src/ui-components/accessibility/accessibility.ts +2 -2
- package/src/ui-components/accessibility/accessibilityHistory.tsx +2 -2
- package/src/ui-components/accessibility/accessibilityHistoryWrappers.tsx +3 -5
- package/src/ui-components/accessibility/index.ts +4 -3
- package/src/ui-components/action-modal/ActionModal.stories.tsx +7 -3
- package/src/ui-components/activity-indicator/activity-indicator.stories.tsx +3 -6
- package/src/ui-components/buttons/back-button.stories.tsx +7 -8
- package/src/ui-components/buttons/button.stories.tsx +9 -10
- package/src/ui-components/buttons/connectivity-button.stories.tsx +10 -11
- package/src/ui-components/buttons/connectivity-button.tsx +1 -1
- package/src/ui-components/buttons/ghost-button.stories.tsx +8 -8
- package/src/ui-components/buttons/hold-button.stories.tsx +29 -0
- package/src/ui-components/buttons/hold-button.tsx +276 -0
- package/src/ui-components/buttons/index.ts +16 -6
- package/src/ui-components/buttons/scan-button.stories.tsx +8 -4
- package/src/ui-components/control/checkbox.stories.tsx +8 -8
- package/src/ui-components/control/switch.stories.tsx +11 -8
- package/src/ui-components/credential/card/credential-card.stories.tsx +22 -25
- package/src/ui-components/credential/card/credential-details-card.stories.tsx +249 -245
- package/src/ui-components/credential/card/credential-details-card.tsx +2 -2
- package/src/ui-components/credential/card/credential-details-list-item.tsx +16 -6
- package/src/ui-components/credential/card/credential-header.stories.tsx +15 -17
- package/src/ui-components/credential/card/credential-header.tsx +4 -1
- package/src/ui-components/credential/card/credential-image-carousel.tsx +4 -0
- package/src/ui-components/credential/card/index.ts +11 -5
- package/src/ui-components/credential/index.ts +2 -1
- package/src/ui-components/credential/selector.stories.tsx +7 -7
- package/src/ui-components/detail/detail.stories.tsx +11 -8
- package/src/ui-components/entity/avatar.stories.tsx +10 -7
- package/src/ui-components/entity/entity-cluster.stories.tsx +11 -8
- package/src/ui-components/header/header.stories.tsx +10 -7
- package/src/ui-components/header/index.ts +6 -3
- package/src/ui-components/header/navigation-header.stories.tsx +11 -8
- package/src/ui-components/history/data-item.tsx +13 -4
- package/src/ui-components/history/history-details.tsx +247 -0
- package/src/ui-components/history/{history-list-item.tsx → history-item.tsx} +72 -33
- package/src/ui-components/history/history-section-header.tsx +2 -2
- package/src/ui-components/history/history-section-list-item.tsx +3 -3
- package/src/ui-components/history/index.ts +5 -4
- package/src/ui-components/icons/history.tsx +82 -131
- package/src/ui-components/image/index.tsx +2 -1
- package/src/ui-components/input/radio-group.stories.tsx +34 -0
- package/src/ui-components/input/radio-group.tsx +8 -2
- package/src/ui-components/input/selection-input.stories.tsx +20 -17
- package/src/ui-components/list/index.ts +1 -0
- package/src/ui-components/list/list-page-loading-indicator.tsx +8 -0
- package/src/ui-components/list/wallet/empty-list.tsx +75 -0
- package/src/ui-components/list/wallet/empty-search-result.tsx +39 -0
- package/src/ui-components/list/wallet/index.tsx +4 -0
- package/src/ui-components/loader/loader.stories.tsx +6 -9
- package/src/ui-components/loader/loader.tsx +6 -3
- package/src/ui-components/loader/loading-result.stories.tsx +13 -10
- package/src/ui-components/loader/loading-result.tsx +8 -4
- package/src/ui-components/nerd-view/index.ts +2 -1
- package/src/ui-components/nerd-view/nerd-mode-item.tsx +2 -2
- package/src/ui-components/pin/pin-code-screen.stories.tsx +20 -13
- package/src/ui-components/screens/image-preview-screen.stories.tsx +9 -6
- package/src/ui-components/screens/index.ts +12 -6
- package/src/ui-components/screens/nerd-mode-screen.tsx +1 -1
- package/src/ui-components/screens/qr-code-scanner-screen.stories.tsx +10 -7
- package/src/ui-components/searchbar/search-bar.stories.tsx +15 -8
- package/src/ui-components/searchbar/search-bar.tsx +2 -2
- package/src/ui-components/state/error-screen.stories.tsx +8 -9
- package/src/ui-components/state/error-screen.tsx +1 -1
- package/src/ui-components/text/index.ts +2 -1
- package/src/ui-components/text/typography.stories.tsx +19 -12
- package/src/ui-components/theme/color-scheme-context.tsx +1 -0
- package/src/ui-components/theme/color-scheme.ts +1 -0
- package/src/utils/date.ts +5 -5
- package/src/utils/filtering.ts +5 -0
- package/src/utils/history.ts +71 -0
- package/src/utils/hooks/connectivity/connectivity.test.ts +8 -0
- package/src/utils/hooks/connectivity/connectivity.ts +28 -4
- package/src/utils/hooks/core/backup.ts +25 -21
- package/src/utils/hooks/core/cache.ts +43 -0
- package/src/utils/hooks/core/core-config.ts +19 -0
- package/src/utils/hooks/core/core-context.tsx +15 -2
- package/src/utils/hooks/core/core-init.ts +21 -7
- package/src/utils/hooks/core/credential-schemas.ts +1 -1
- package/src/utils/hooks/core/credentials.ts +9 -14
- package/src/utils/hooks/core/history.ts +2 -57
- package/src/utils/hooks/core/index.ts +1 -0
- package/src/utils/hooks/core/proof-schemas.ts +1 -1
- package/src/utils/hooks/core/proofs.ts +107 -49
- package/src/utils/hooks/core/trust-entity.ts +7 -3
- package/src/utils/hooks/navigation/open-settings.ts +2 -3
- package/src/utils/hooks/revocation/credential-status.ts +3 -2
- package/src/utils/index.ts +3 -0
- package/src/utils/navigation.ts +4 -2
- package/src/utils/parsers/credential.ts +1 -1
- package/src/utils/parsers/index.ts +1 -0
- package/src/utils/parsers/query.tsx +2 -0
- package/src/utils/parsers/universal-links.test.ts +57 -0
- package/src/utils/parsers/universal-links.ts +26 -0
- package/src/utils/ref.ts +1 -1
- package/src/utils/reporting.ts +1 -0
- package/lib/commonjs/ui-components/history/history-list-item.js.map +0 -1
- package/lib/module/ui-components/history/history-list-item.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
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
2
|
import React, { useCallback, useMemo, useState } from 'react';
|
|
3
3
|
import { Image, StyleSheet, View } from 'react-native';
|
|
4
4
|
import { concatTestID } from '../../../utils/testID';
|
|
@@ -19,20 +19,19 @@ export const CredentialCardShadow = {
|
|
|
19
19
|
shadowRadius: 7
|
|
20
20
|
};
|
|
21
21
|
export const CredentialCardRatio = 18 / 11;
|
|
22
|
-
const CredentialCard =
|
|
22
|
+
const CredentialCard = ({
|
|
23
|
+
cardCarouselImages = [],
|
|
24
|
+
cardImage,
|
|
25
|
+
color = '#5A69F3',
|
|
26
|
+
credentialId,
|
|
27
|
+
header,
|
|
28
|
+
notice,
|
|
29
|
+
onCardPress,
|
|
30
|
+
onHeaderPress,
|
|
31
|
+
style,
|
|
32
|
+
testID
|
|
33
|
+
}) => {
|
|
23
34
|
var _header$color;
|
|
24
|
-
let {
|
|
25
|
-
cardCarouselImages = [],
|
|
26
|
-
cardImage,
|
|
27
|
-
color = '#5A69F3',
|
|
28
|
-
credentialId,
|
|
29
|
-
header,
|
|
30
|
-
notice,
|
|
31
|
-
onCardPress,
|
|
32
|
-
onHeaderPress,
|
|
33
|
-
style,
|
|
34
|
-
testID
|
|
35
|
-
} = _ref;
|
|
36
35
|
const colorScheme = useAppColorScheme();
|
|
37
36
|
const [tappableHeaderHeight, setTappableHeaderHeight] = useState();
|
|
38
37
|
const [cardSize, setCardSize] = useState();
|
|
@@ -50,16 +49,16 @@ const CredentialCard = _ref => {
|
|
|
50
49
|
setTappableHeaderHeight(event.nativeEvent.layout.height);
|
|
51
50
|
}, []);
|
|
52
51
|
const headerPressHandler = useCallback(() => {
|
|
53
|
-
onHeaderPress === null || onHeaderPress === void 0
|
|
52
|
+
onHeaderPress === null || onHeaderPress === void 0 || onHeaderPress(credentialId);
|
|
54
53
|
}, [credentialId, onHeaderPress]);
|
|
55
54
|
const cardPressHandler = useCallback(() => {
|
|
56
|
-
onCardPress === null || onCardPress === void 0
|
|
55
|
+
onCardPress === null || onCardPress === void 0 || onCardPress(credentialId);
|
|
57
56
|
}, [credentialId, onCardPress]);
|
|
58
57
|
const noticeIconView = useMemo(() => {
|
|
59
58
|
if (!(notice !== null && notice !== void 0 && notice.noticeIcon)) {
|
|
60
59
|
return undefined;
|
|
61
60
|
}
|
|
62
|
-
if (
|
|
61
|
+
if (/*#__PURE__*/React.isValidElement(notice.noticeIcon)) {
|
|
63
62
|
return notice.noticeIcon;
|
|
64
63
|
} else {
|
|
65
64
|
const NoticeIconComponent = notice.noticeIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","useState","Image","StyleSheet","View","concatTestID","TouchableOpacity","BlurView","ImageOrComponent","Typography","useAppColorScheme","CredentialHeader","CarouselComponent","CredentialCardShadow","shadowColor","shadowOffset","height","width","shadowOpacity","shadowRadius","CredentialCardRatio","CredentialCard","_ref","_header$color","cardCarouselImages","cardImage","color","credentialId","header","notice","onCardPress","onHeaderPress","style","testID","colorScheme","tappableHeaderHeight","setTappableHeaderHeight","cardSize","setCardSize","onCardLayoutChange","event","nativeEvent","layout","onHeaderLayoutChange","headerPressHandler","cardPressHandler","noticeIconView","noticeIcon","undefined","isValidElement","NoticeIconComponent","createElement","shouldShowCarousel","onLayout","styles","card","source","imageSource","image","String","backgroundColor","cardButton","onPress","marginTop","imagesToRender","carouselSize","activeOpacity","disabled","_extends","blurStyle","noticeTextWrapper","text","preset","noticeText","create","borderRadius","overflow","position","aspectRatio","top","bottom","columnGap","flexDirection","justifyContent","paddingBottom","paddingHorizontal","paddingTop","marginVertical","flex"],"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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"}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useState","Image","StyleSheet","View","concatTestID","TouchableOpacity","BlurView","ImageOrComponent","Typography","useAppColorScheme","CredentialHeader","CarouselComponent","CredentialCardShadow","shadowColor","shadowOffset","height","width","shadowOpacity","shadowRadius","CredentialCardRatio","CredentialCard","cardCarouselImages","cardImage","color","credentialId","header","notice","onCardPress","onHeaderPress","style","testID","_header$color","colorScheme","tappableHeaderHeight","setTappableHeaderHeight","cardSize","setCardSize","onCardLayoutChange","event","nativeEvent","layout","onHeaderLayoutChange","headerPressHandler","cardPressHandler","noticeIconView","noticeIcon","undefined","isValidElement","NoticeIconComponent","createElement","shouldShowCarousel","onLayout","styles","card","source","imageSource","image","String","backgroundColor","cardButton","onPress","marginTop","imagesToRender","carouselSize","activeOpacity","disabled","_extends","blurStyle","noticeTextWrapper","text","preset","noticeText","create","borderRadius","overflow","position","aspectRatio","top","bottom","columnGap","flexDirection","justifyContent","paddingBottom","paddingHorizontal","paddingTop","marginVertical","flex"],"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,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
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
2
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { StyleSheet, View } from 'react-native';
|
|
4
4
|
import Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
@@ -9,21 +9,20 @@ import { useAppColorScheme } from '../../theme/color-scheme-context';
|
|
|
9
9
|
import CredentialAttributeItem from '../credential-attribute-item';
|
|
10
10
|
import CredentialCard from './credential-card';
|
|
11
11
|
const PREVIEW_ATTRIBUTES_COUNT = 3;
|
|
12
|
-
const CredentialDetailsCard =
|
|
12
|
+
const CredentialDetailsCard = ({
|
|
13
|
+
animate = true,
|
|
14
|
+
attributes,
|
|
15
|
+
card,
|
|
16
|
+
expanded,
|
|
17
|
+
footer,
|
|
18
|
+
onImagePreview,
|
|
19
|
+
onAttributeSelected,
|
|
20
|
+
style,
|
|
21
|
+
showAllButtonLabel,
|
|
22
|
+
testID,
|
|
23
|
+
...viewProps
|
|
24
|
+
}) => {
|
|
13
25
|
var _header$accessory;
|
|
14
|
-
let {
|
|
15
|
-
animate = true,
|
|
16
|
-
attributes,
|
|
17
|
-
card,
|
|
18
|
-
expanded,
|
|
19
|
-
footer,
|
|
20
|
-
onImagePreview,
|
|
21
|
-
onAttributeSelected,
|
|
22
|
-
style,
|
|
23
|
-
showAllButtonLabel,
|
|
24
|
-
testID,
|
|
25
|
-
...viewProps
|
|
26
|
-
} = _ref;
|
|
27
26
|
const colorScheme = useAppColorScheme();
|
|
28
27
|
const [previewAttributesHeight, setPreviewAttributesHeight] = useState();
|
|
29
28
|
const [fullAttributesHeight, setFullAttributesHeight] = useState();
|
|
@@ -54,7 +53,7 @@ const CredentialDetailsCard = _ref => {
|
|
|
54
53
|
}
|
|
55
54
|
const additionalAttributesHeight = fullAttributesHeight !== null && fullAttributesHeight !== void 0 ? fullAttributesHeight : 0;
|
|
56
55
|
const additionalHeight = allAttributesRendered ? additionalAttributesHeight : buttonViewHeight;
|
|
57
|
-
const newHeight = expanded ? previewAttributesHeight + additionalHeight : 0;
|
|
56
|
+
const newHeight = expanded || !animate ? previewAttributesHeight + additionalHeight : 0;
|
|
58
57
|
if (currentHeight.value === undefined || !animate) {
|
|
59
58
|
currentHeight.value = newHeight;
|
|
60
59
|
return;
|
|
@@ -76,7 +75,7 @@ const CredentialDetailsCard = _ref => {
|
|
|
76
75
|
return {
|
|
77
76
|
height: currentHeight.value
|
|
78
77
|
};
|
|
79
|
-
});
|
|
78
|
+
}, [expanded, currentHeight]);
|
|
80
79
|
const onPreviewAttrContentLayout = useCallback(event => {
|
|
81
80
|
setPreviewAttributesHeight(event.nativeEvent.layout.height);
|
|
82
81
|
}, []);
|
|
@@ -90,7 +89,7 @@ const CredentialDetailsCard = _ref => {
|
|
|
90
89
|
if (!footer) {
|
|
91
90
|
return undefined;
|
|
92
91
|
}
|
|
93
|
-
if (
|
|
92
|
+
if (/*#__PURE__*/React.isValidElement(footer)) {
|
|
94
93
|
return footer;
|
|
95
94
|
} else {
|
|
96
95
|
const FooterComponent = footer;
|
|
@@ -138,18 +137,15 @@ const CredentialDetailsCard = _ref => {
|
|
|
138
137
|
})), renderExtraAttributes && /*#__PURE__*/React.createElement(View, {
|
|
139
138
|
style: [styles.allAttributesWrapper, footerView && styles.allAttributesWrapperWithFooter],
|
|
140
139
|
onLayout: onFullAttrContentLayout
|
|
141
|
-
}, extraAttributes.map((attribute, index,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
onPress: onAttributeSelected
|
|
151
|
-
}, attribute));
|
|
152
|
-
})))), footerView ? /*#__PURE__*/React.createElement(View, {
|
|
140
|
+
}, extraAttributes.map((attribute, index, {
|
|
141
|
+
length
|
|
142
|
+
}) => /*#__PURE__*/React.createElement(CredentialAttributeItem, _extends({
|
|
143
|
+
key: attribute.id,
|
|
144
|
+
last: !footerView && index === length - 1,
|
|
145
|
+
testID: concatTestID(testID, 'attribute', index.toString()),
|
|
146
|
+
onImagePreview: onImagePreview,
|
|
147
|
+
onPress: onAttributeSelected
|
|
148
|
+
}, attribute)))))), footerView ? /*#__PURE__*/React.createElement(View, {
|
|
153
149
|
style: styles.footer
|
|
154
150
|
}, footerView) : null);
|
|
155
151
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","StyleSheet","View","Animated","useAnimatedStyle","useSharedValue","withTiming","concatTestID","Button","ButtonType","DownIcon","UpIcon","useAppColorScheme","CredentialAttributeItem","CredentialCard","PREVIEW_ATTRIBUTES_COUNT","CredentialDetailsCard","_ref","_header$accessory","animate","attributes","card","expanded","footer","onImagePreview","onAttributeSelected","style","showAllButtonLabel","testID","viewProps","colorScheme","previewAttributesHeight","setPreviewAttributesHeight","fullAttributesHeight","setFullAttributesHeight","buttonViewHeight","setButtonViewHeight","allAttributesRendered","setAllAttributesRendered","length","CaretIcon","currentHeight","undefined","previewAttributes","slice","extraAttributes","viewStyle","flatten","styles","allAttributesWrapper","allAttributesWrapperWithFooter","padding","paddingBottom","additionalAttributesHeight","additionalHeight","newHeight","value","duration","credentialAttributesStyle","height","onPreviewAttrContentLayout","event","nativeEvent","layout","onFullAttrContentLayout","onButtonViewLayout","footerView","isValidElement","FooterComponent","createElement","header","cardProps","renderExtraAttributes","_extends","detailsCard","backgroundColor","white","accessory","attributesAnimatedWrapper","attributesWrapper","onLayout","previewAttributesWrapper","map","attribute","idx","key","id","last","toString","onPress","type","Secondary","title","index","_ref2","create","paddingHorizontal","width","overflow","paddingTop","position","borderRadius","marginTop"],"sources":["credential-details-card.tsx"],"sourcesContent":["import React, { ComponentType, FC, ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { ImageSourcePropType, LayoutChangeEvent, StyleSheet, View, ViewProps } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport { concatTestID } from '../../../utils/testID';\nimport { Button, ButtonType } from '../../buttons';\nimport { DownIcon, UpIcon } from '../../icons/credential';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\nimport CredentialAttributeItem, { CredentialAttribute } from '../credential-attribute-item';\nimport CredentialCard, { CredentialCardProps } from './credential-card';\n\nexport type CredentialDetailsCardProps = ViewProps & {\n animate?: boolean;\n attributes: CredentialAttribute[] | false;\n card: CredentialCardProps;\n expanded?: boolean;\n footer?: ComponentType<any> | ReactElement;\n onImagePreview?: (name: string, image: ImageSourcePropType) => void;\n onAttributeSelected?: (id: string, selected: boolean) => void;\n showAllButtonLabel?: string;\n};\n\nconst PREVIEW_ATTRIBUTES_COUNT = 3;\n\nconst CredentialDetailsCard: FC<CredentialDetailsCardProps> = ({\n animate = true,\n attributes,\n card,\n expanded,\n footer,\n onImagePreview,\n onAttributeSelected,\n style,\n showAllButtonLabel,\n testID,\n ...viewProps\n}) => {\n const colorScheme = useAppColorScheme();\n const [previewAttributesHeight, setPreviewAttributesHeight] = useState<number>();\n const [fullAttributesHeight, setFullAttributesHeight] = useState<number>();\n const [buttonViewHeight, setButtonViewHeight] = useState<number>();\n\n const [allAttributesRendered, setAllAttributesRendered] = useState<boolean>(\n (attributes && attributes.length <= PREVIEW_ATTRIBUTES_COUNT) || !showAllButtonLabel,\n );\n\n const CaretIcon = expanded ? UpIcon : DownIcon;\n\n const currentHeight = useSharedValue<number | undefined>(undefined);\n\n const previewAttributes = attributes ? attributes.slice(0, PREVIEW_ATTRIBUTES_COUNT) : [];\n const extraAttributes = useMemo(() => (attributes ? attributes.slice(PREVIEW_ATTRIBUTES_COUNT) : []), [attributes]);\n\n useEffect(() => {\n if (!extraAttributes || allAttributesRendered) {\n setButtonViewHeight(0);\n }\n }, [extraAttributes, allAttributesRendered]);\n\n useEffect(() => {\n if (extraAttributes.length === 0) {\n const viewStyle = StyleSheet.flatten([\n styles.allAttributesWrapper,\n footer && styles.allAttributesWrapperWithFooter,\n ]);\n const padding = viewStyle.paddingBottom;\n setFullAttributesHeight(padding);\n }\n }, [extraAttributes, footer]);\n\n useEffect(() => {\n if (previewAttributesHeight === undefined || buttonViewHeight === undefined) {\n return;\n }\n if (allAttributesRendered && fullAttributesHeight === undefined) {\n return;\n }\n\n const additionalAttributesHeight = fullAttributesHeight ?? 0;\n const additionalHeight = allAttributesRendered ? additionalAttributesHeight : buttonViewHeight;\n const newHeight = expanded ? previewAttributesHeight + additionalHeight : 0;\n\n if (currentHeight.value === undefined || !animate) {\n currentHeight.value = newHeight;\n return;\n }\n\n const duration = !expanded\n ? 250\n : allAttributesRendered\n ? previewAttributes.length * 50\n : extraAttributes.length * 50;\n currentHeight.value = withTiming(newHeight, {\n duration,\n });\n }, [\n allAttributesRendered,\n buttonViewHeight,\n currentHeight,\n animate,\n expanded,\n extraAttributes.length,\n fullAttributesHeight,\n previewAttributes.length,\n previewAttributesHeight,\n ]);\n\n const credentialAttributesStyle = useAnimatedStyle(() => {\n if (currentHeight.value === undefined) {\n if (expanded) {\n return {};\n }\n return {\n height: 0,\n };\n }\n return {\n height: currentHeight.value,\n };\n });\n\n const onPreviewAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setPreviewAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onFullAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setFullAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onButtonViewLayout = useCallback((event: LayoutChangeEvent) => {\n setButtonViewHeight(event.nativeEvent.layout.height);\n }, []);\n\n const footerView: ReactElement | undefined = useMemo(() => {\n if (!footer) {\n return undefined;\n }\n if (React.isValidElement(footer)) {\n return footer;\n } else {\n const FooterComponent = footer as React.ComponentType<any>;\n return <FooterComponent />;\n }\n }, [footer]);\n\n const { header, ...cardProps } = card;\n\n const renderExtraAttributes =\n allAttributesRendered || (previewAttributesHeight !== undefined && currentHeight.value !== undefined);\n return (\n <View\n style={[styles.detailsCard, { backgroundColor: colorScheme.white }, style]}\n {...viewProps}\n testID={concatTestID(card.testID, expanded ? 'expanded' : 'collapsed')}>\n <CredentialCard\n {...cardProps}\n header={{ ...header, accessory: header.accessory ?? CaretIcon }}\n style={[styles.card, cardProps.style]}\n />\n {previewAttributes.length > 0 && (\n <Animated.View style={[styles.attributesAnimatedWrapper, credentialAttributesStyle]}>\n <View style={styles.attributesWrapper}>\n <View onLayout={onPreviewAttrContentLayout} style={styles.previewAttributesWrapper}>\n {previewAttributes.map((attribute, idx) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && !extraAttributes.length && idx === previewAttributes.length - 1}\n testID={concatTestID(testID, 'attribute', idx.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n {!allAttributesRendered && extraAttributes.length > 0 && (\n <View style={styles.allAttributesWrapper} onLayout={onButtonViewLayout}>\n <Button\n onPress={() => setAllAttributesRendered(true)}\n type={ButtonType.Secondary}\n testID={concatTestID(testID, 'showAllAttributesButton')}\n title={showAllButtonLabel!}\n />\n </View>\n )}\n {renderExtraAttributes && (\n <View\n style={[styles.allAttributesWrapper, footerView && styles.allAttributesWrapperWithFooter]}\n onLayout={onFullAttrContentLayout}>\n {extraAttributes.map((attribute, index, { length }) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && index === length - 1}\n testID={concatTestID(testID, 'attribute', index.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n )}\n </View>\n </Animated.View>\n )}\n {footerView ? <View style={styles.footer}>{footerView}</View> : null}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n allAttributesWrapper: {\n paddingBottom: 12,\n paddingHorizontal: 4,\n width: '100%',\n },\n allAttributesWrapperWithFooter: {\n paddingBottom: 0,\n },\n attributesAnimatedWrapper: {\n overflow: 'hidden',\n },\n attributesWrapper: {\n paddingTop: 7,\n position: 'absolute',\n width: '100%',\n },\n card: {\n borderRadius: 0,\n },\n detailsCard: {\n borderRadius: 10,\n overflow: 'hidden',\n },\n footer: {\n marginTop: 12,\n },\n previewAttributesWrapper: {\n paddingHorizontal: 4,\n width: '100%',\n },\n});\n\nexport default CredentialDetailsCard;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","StyleSheet","View","Animated","useAnimatedStyle","useSharedValue","withTiming","concatTestID","Button","ButtonType","DownIcon","UpIcon","useAppColorScheme","CredentialAttributeItem","CredentialCard","PREVIEW_ATTRIBUTES_COUNT","CredentialDetailsCard","animate","attributes","card","expanded","footer","onImagePreview","onAttributeSelected","style","showAllButtonLabel","testID","viewProps","_header$accessory","colorScheme","previewAttributesHeight","setPreviewAttributesHeight","fullAttributesHeight","setFullAttributesHeight","buttonViewHeight","setButtonViewHeight","allAttributesRendered","setAllAttributesRendered","length","CaretIcon","currentHeight","undefined","previewAttributes","slice","extraAttributes","viewStyle","flatten","styles","allAttributesWrapper","allAttributesWrapperWithFooter","padding","paddingBottom","additionalAttributesHeight","additionalHeight","newHeight","value","duration","credentialAttributesStyle","height","onPreviewAttrContentLayout","event","nativeEvent","layout","onFullAttrContentLayout","onButtonViewLayout","footerView","isValidElement","FooterComponent","createElement","header","cardProps","renderExtraAttributes","_extends","detailsCard","backgroundColor","white","accessory","attributesAnimatedWrapper","attributesWrapper","onLayout","previewAttributesWrapper","map","attribute","idx","key","id","last","toString","onPress","type","Secondary","title","index","create","paddingHorizontal","width","overflow","paddingTop","position","borderRadius","marginTop"],"sources":["credential-details-card.tsx"],"sourcesContent":["import React, { ComponentType, FC, ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { ImageSourcePropType, LayoutChangeEvent, StyleSheet, View, ViewProps } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport { concatTestID } from '../../../utils/testID';\nimport { Button, ButtonType } from '../../buttons';\nimport { DownIcon, UpIcon } from '../../icons/credential';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\nimport CredentialAttributeItem, { CredentialAttribute } from '../credential-attribute-item';\nimport CredentialCard, { CredentialCardProps } from './credential-card';\n\nexport type CredentialDetailsCardProps = ViewProps & {\n animate?: boolean;\n attributes: CredentialAttribute[] | false;\n card: CredentialCardProps;\n expanded?: boolean;\n footer?: ComponentType<any> | ReactElement;\n onImagePreview?: (name: string, image: ImageSourcePropType) => void;\n onAttributeSelected?: (id: string, selected: boolean) => void;\n showAllButtonLabel?: string;\n};\n\nconst PREVIEW_ATTRIBUTES_COUNT = 3;\n\nconst CredentialDetailsCard: FC<CredentialDetailsCardProps> = ({\n animate = true,\n attributes,\n card,\n expanded,\n footer,\n onImagePreview,\n onAttributeSelected,\n style,\n showAllButtonLabel,\n testID,\n ...viewProps\n}) => {\n const colorScheme = useAppColorScheme();\n const [previewAttributesHeight, setPreviewAttributesHeight] = useState<number>();\n const [fullAttributesHeight, setFullAttributesHeight] = useState<number>();\n const [buttonViewHeight, setButtonViewHeight] = useState<number>();\n\n const [allAttributesRendered, setAllAttributesRendered] = useState<boolean>(\n (attributes && attributes.length <= PREVIEW_ATTRIBUTES_COUNT) || !showAllButtonLabel,\n );\n\n const CaretIcon = expanded ? UpIcon : DownIcon;\n\n const currentHeight = useSharedValue<number | undefined>(undefined);\n\n const previewAttributes = attributes ? attributes.slice(0, PREVIEW_ATTRIBUTES_COUNT) : [];\n const extraAttributes = useMemo(() => (attributes ? attributes.slice(PREVIEW_ATTRIBUTES_COUNT) : []), [attributes]);\n\n useEffect(() => {\n if (!extraAttributes || allAttributesRendered) {\n setButtonViewHeight(0);\n }\n }, [extraAttributes, allAttributesRendered]);\n\n useEffect(() => {\n if (extraAttributes.length === 0) {\n const viewStyle = StyleSheet.flatten([\n styles.allAttributesWrapper,\n footer && styles.allAttributesWrapperWithFooter,\n ]);\n const padding = viewStyle.paddingBottom;\n setFullAttributesHeight(padding);\n }\n }, [extraAttributes, footer]);\n\n useEffect(() => {\n if (previewAttributesHeight === undefined || buttonViewHeight === undefined) {\n return;\n }\n if (allAttributesRendered && fullAttributesHeight === undefined) {\n return;\n }\n\n const additionalAttributesHeight = fullAttributesHeight ?? 0;\n const additionalHeight = allAttributesRendered ? additionalAttributesHeight : buttonViewHeight;\n const newHeight = expanded || !animate ? previewAttributesHeight + additionalHeight : 0;\n\n if (currentHeight.value === undefined || !animate) {\n currentHeight.value = newHeight;\n return;\n }\n\n const duration = !expanded\n ? 250\n : allAttributesRendered\n ? previewAttributes.length * 50\n : extraAttributes.length * 50;\n currentHeight.value = withTiming(newHeight, {\n duration,\n });\n }, [\n allAttributesRendered,\n buttonViewHeight,\n currentHeight,\n animate,\n expanded,\n extraAttributes.length,\n fullAttributesHeight,\n previewAttributes.length,\n previewAttributesHeight,\n ]);\n\n const credentialAttributesStyle = useAnimatedStyle(() => {\n if (currentHeight.value === undefined) {\n if (expanded) {\n return {};\n }\n return {\n height: 0,\n };\n }\n return {\n height: currentHeight.value,\n };\n }, [expanded, currentHeight]);\n\n const onPreviewAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setPreviewAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onFullAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setFullAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onButtonViewLayout = useCallback((event: LayoutChangeEvent) => {\n setButtonViewHeight(event.nativeEvent.layout.height);\n }, []);\n\n const footerView: ReactElement | undefined = useMemo(() => {\n if (!footer) {\n return undefined;\n }\n if (React.isValidElement(footer)) {\n return footer;\n } else {\n const FooterComponent = footer as React.ComponentType<any>;\n return <FooterComponent />;\n }\n }, [footer]);\n\n const { header, ...cardProps } = card;\n\n const renderExtraAttributes =\n allAttributesRendered || (previewAttributesHeight !== undefined && currentHeight.value !== undefined);\n return (\n <View\n style={[styles.detailsCard, { backgroundColor: colorScheme.white }, style]}\n {...viewProps}\n testID={concatTestID(card.testID, expanded ? 'expanded' : 'collapsed')}>\n <CredentialCard\n {...cardProps}\n header={{ ...header, accessory: header.accessory ?? CaretIcon }}\n style={[styles.card, cardProps.style]}\n />\n {previewAttributes.length > 0 && (\n <Animated.View style={[styles.attributesAnimatedWrapper, credentialAttributesStyle]}>\n <View style={styles.attributesWrapper}>\n <View onLayout={onPreviewAttrContentLayout} style={styles.previewAttributesWrapper}>\n {previewAttributes.map((attribute, idx) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && !extraAttributes.length && idx === previewAttributes.length - 1}\n testID={concatTestID(testID, 'attribute', idx.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n {!allAttributesRendered && extraAttributes.length > 0 && (\n <View style={styles.allAttributesWrapper} onLayout={onButtonViewLayout}>\n <Button\n onPress={() => setAllAttributesRendered(true)}\n type={ButtonType.Secondary}\n testID={concatTestID(testID, 'showAllAttributesButton')}\n title={showAllButtonLabel!}\n />\n </View>\n )}\n {renderExtraAttributes && (\n <View\n style={[styles.allAttributesWrapper, footerView && styles.allAttributesWrapperWithFooter]}\n onLayout={onFullAttrContentLayout}>\n {extraAttributes.map((attribute, index, { length }) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && index === length - 1}\n testID={concatTestID(testID, 'attribute', index.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n )}\n </View>\n </Animated.View>\n )}\n {footerView ? <View style={styles.footer}>{footerView}</View> : null}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n allAttributesWrapper: {\n paddingBottom: 12,\n paddingHorizontal: 4,\n width: '100%',\n },\n allAttributesWrapperWithFooter: {\n paddingBottom: 0,\n },\n attributesAnimatedWrapper: {\n overflow: 'hidden',\n },\n attributesWrapper: {\n paddingTop: 7,\n position: 'absolute',\n width: '100%',\n },\n card: {\n borderRadius: 0,\n },\n detailsCard: {\n borderRadius: 10,\n overflow: 'hidden',\n },\n footer: {\n marginTop: 12,\n },\n previewAttributesWrapper: {\n paddingHorizontal: 4,\n width: '100%',\n },\n});\n\nexport default CredentialDetailsCard;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
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
2
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
3
3
|
import { StyleSheet, View } from 'react-native';
|
|
4
4
|
import Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
5
5
|
import { CredentialCardRatio, CredentialCardShadow } from './credential-card';
|
|
6
6
|
import CredentialDetailsCard from './credential-details-card';
|
|
7
|
-
const CredentialDetailsCardListItem =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const CredentialDetailsCardListItem = ({
|
|
8
|
+
detailsCardStyle,
|
|
9
|
+
expanded,
|
|
10
|
+
lastItem,
|
|
11
|
+
style,
|
|
12
|
+
...props
|
|
13
|
+
}) => {
|
|
14
|
+
const [cardWidth, setCardWidth] = useState();
|
|
15
15
|
const [minHeight, setMinHeight] = useState();
|
|
16
16
|
const [detailsCardHeight, setDetailsCardHeight] = useState();
|
|
17
17
|
const cardListItemHeight = useSharedValue(undefined);
|
|
@@ -28,7 +28,7 @@ const CredentialDetailsCardListItem = _ref => {
|
|
|
28
28
|
duration: 250
|
|
29
29
|
});
|
|
30
30
|
}, [cardListItemHeight, detailsCardHeight, minHeight, expanded]);
|
|
31
|
-
const
|
|
31
|
+
const animatedCardWrapperStyle = useAnimatedStyle(() => {
|
|
32
32
|
if (cardListItemHeight.value !== undefined) {
|
|
33
33
|
return {
|
|
34
34
|
height: cardListItemHeight.value
|
|
@@ -40,13 +40,17 @@ const CredentialDetailsCardListItem = _ref => {
|
|
|
40
40
|
return {
|
|
41
41
|
height: 60
|
|
42
42
|
};
|
|
43
|
-
});
|
|
43
|
+
}, [cardListItemHeight, lastItem, expanded]);
|
|
44
|
+
const cardWrapperStyle = {
|
|
45
|
+
minHeight: cardWidth ? cardWidth / CredentialCardRatio : undefined
|
|
46
|
+
};
|
|
44
47
|
const onContentLayout = useCallback(event => {
|
|
45
48
|
var _StyleSheet$flatten$b, _StyleSheet$flatten;
|
|
46
49
|
const {
|
|
47
50
|
width,
|
|
48
51
|
height
|
|
49
52
|
} = event.nativeEvent.layout;
|
|
53
|
+
setCardWidth(width);
|
|
50
54
|
if (!minHeight) {
|
|
51
55
|
setMinHeight(lastItem ? width / CredentialCardRatio : 60);
|
|
52
56
|
}
|
|
@@ -54,9 +58,9 @@ const CredentialDetailsCardListItem = _ref => {
|
|
|
54
58
|
setDetailsCardHeight(height + 2 * borderWidth);
|
|
55
59
|
}, [lastItem, minHeight, style]);
|
|
56
60
|
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
57
|
-
style: [
|
|
61
|
+
style: [styles.animatedWrapper, animatedCardWrapperStyle, style]
|
|
58
62
|
}, /*#__PURE__*/React.createElement(View, {
|
|
59
|
-
style: styles.cardWrapper
|
|
63
|
+
style: [styles.cardWrapper, cardWrapperStyle]
|
|
60
64
|
}, /*#__PURE__*/React.createElement(CredentialDetailsCard, _extends({
|
|
61
65
|
animate: false,
|
|
62
66
|
expanded: expanded,
|
|
@@ -65,9 +69,13 @@ const CredentialDetailsCardListItem = _ref => {
|
|
|
65
69
|
}, props))));
|
|
66
70
|
};
|
|
67
71
|
const styles = StyleSheet.create({
|
|
72
|
+
animatedWrapper: {
|
|
73
|
+
...CredentialCardShadow
|
|
74
|
+
},
|
|
68
75
|
cardWrapper: {
|
|
69
|
-
|
|
70
|
-
|
|
76
|
+
borderRadius: 10,
|
|
77
|
+
height: '100%',
|
|
78
|
+
overflow: 'hidden'
|
|
71
79
|
}
|
|
72
80
|
});
|
|
73
81
|
export default CredentialDetailsCardListItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useState","StyleSheet","View","Animated","useAnimatedStyle","useSharedValue","withTiming","CredentialCardRatio","CredentialCardShadow","CredentialDetailsCard","CredentialDetailsCardListItem","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useState","StyleSheet","View","Animated","useAnimatedStyle","useSharedValue","withTiming","CredentialCardRatio","CredentialCardShadow","CredentialDetailsCard","CredentialDetailsCardListItem","detailsCardStyle","expanded","lastItem","style","props","cardWidth","setCardWidth","minHeight","setMinHeight","detailsCardHeight","setDetailsCardHeight","cardListItemHeight","undefined","newValue","value","duration","animatedCardWrapperStyle","height","cardWrapperStyle","onContentLayout","event","_StyleSheet$flatten$b","_StyleSheet$flatten","width","nativeEvent","layout","borderWidth","flatten","createElement","styles","animatedWrapper","cardWrapper","_extends","animate","onLayout","create","borderRadius","overflow"],"sources":["credential-details-list-item.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useState } from 'react';\nimport { LayoutChangeEvent, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport { CredentialCardRatio, CredentialCardShadow } from './credential-card';\nimport CredentialDetailsCard, { CredentialDetailsCardProps } from './credential-details-card';\n\nexport type CredentialDetailsCardListItemProps = Omit<CredentialDetailsCardProps, 'animate'> & {\n detailsCardStyle?: StyleProp<ViewStyle>;\n lastItem?: boolean;\n};\n\nconst CredentialDetailsCardListItem: FC<CredentialDetailsCardListItemProps> = ({\n detailsCardStyle,\n expanded,\n lastItem,\n style,\n ...props\n}) => {\n const [cardWidth, setCardWidth] = useState<number>();\n const [minHeight, setMinHeight] = useState<number>();\n const [detailsCardHeight, setDetailsCardHeight] = useState<number>();\n\n const cardListItemHeight = useSharedValue<number | undefined>(undefined);\n\n useEffect(() => {\n if (!detailsCardHeight || !minHeight) {\n return;\n }\n const newValue = expanded ? detailsCardHeight : minHeight;\n if (cardListItemHeight.value === undefined) {\n cardListItemHeight.value = newValue;\n return;\n }\n cardListItemHeight.value = withTiming(newValue, {\n duration: 250,\n });\n }, [cardListItemHeight, detailsCardHeight, minHeight, expanded]);\n\n const animatedCardWrapperStyle = useAnimatedStyle(() => {\n if (cardListItemHeight.value !== undefined) {\n return {\n height: cardListItemHeight.value,\n };\n }\n if (lastItem || expanded) {\n return {};\n }\n return {\n height: 60,\n };\n }, [cardListItemHeight, lastItem, expanded]);\n\n const cardWrapperStyle: ViewStyle = {\n minHeight: cardWidth ? cardWidth / CredentialCardRatio : undefined,\n }\n\n const onContentLayout = useCallback(\n (event: LayoutChangeEvent) => {\n const { width, height } = event.nativeEvent.layout;\n setCardWidth(width);\n if (!minHeight) {\n setMinHeight(lastItem ? width / CredentialCardRatio : 60);\n }\n const borderWidth = StyleSheet.flatten(style)?.borderWidth ?? 0;\n setDetailsCardHeight(height + 2 * borderWidth);\n },\n [lastItem, minHeight, style],\n );\n\n return (\n <Animated.View style={[styles.animatedWrapper, animatedCardWrapperStyle, style]}>\n <View style={[styles.cardWrapper, cardWrapperStyle]}>\n <CredentialDetailsCard\n animate={false}\n expanded={expanded}\n onLayout={onContentLayout}\n style={detailsCardStyle}\n {...props}\n />\n </View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n cardWrapper: {\n borderRadius: 10,\n height: '100%',\n overflow: 'hidden',\n },\n});\n\nexport default CredentialDetailsCardListItem;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
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
2
|
import React, { useMemo } from 'react';
|
|
3
3
|
import { StyleSheet, View } from 'react-native';
|
|
4
4
|
import { concatTestID } from '../../../utils/testID';
|
|
@@ -6,28 +6,27 @@ import BlurView from '../../blur/blur-view';
|
|
|
6
6
|
import ImageOrComponent from '../../image/image-or-component';
|
|
7
7
|
import Typography from '../../text/typography';
|
|
8
8
|
import { useAppColorScheme } from '../../theme/color-scheme-context';
|
|
9
|
-
const CredentialHeader =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} = _ref;
|
|
9
|
+
const CredentialHeader = ({
|
|
10
|
+
accessory,
|
|
11
|
+
blur = true,
|
|
12
|
+
color = '#5A69F3',
|
|
13
|
+
credentialDetailPrimary,
|
|
14
|
+
credentialDetailSecondary,
|
|
15
|
+
credentialDetailTestID,
|
|
16
|
+
credentialDetailErrorColor,
|
|
17
|
+
credentialName,
|
|
18
|
+
icon,
|
|
19
|
+
iconLabelColor = '#FFFFFF',
|
|
20
|
+
statusIcon,
|
|
21
|
+
style,
|
|
22
|
+
testID
|
|
23
|
+
}) => {
|
|
25
24
|
const colorScheme = useAppColorScheme();
|
|
26
25
|
const statusIconView = useMemo(() => {
|
|
27
26
|
if (!statusIcon) {
|
|
28
27
|
return undefined;
|
|
29
28
|
}
|
|
30
|
-
if (
|
|
29
|
+
if (/*#__PURE__*/React.isValidElement(statusIcon)) {
|
|
31
30
|
return statusIcon;
|
|
32
31
|
} else {
|
|
33
32
|
const StatusIconComponent = statusIcon;
|
|
@@ -38,7 +37,7 @@ const CredentialHeader = _ref => {
|
|
|
38
37
|
if (!accessory) {
|
|
39
38
|
return undefined;
|
|
40
39
|
}
|
|
41
|
-
if (
|
|
40
|
+
if (/*#__PURE__*/React.isValidElement(accessory)) {
|
|
42
41
|
return accessory;
|
|
43
42
|
} else {
|
|
44
43
|
const AccessoryComponent = accessory;
|
|
@@ -46,6 +45,9 @@ const CredentialHeader = _ref => {
|
|
|
46
45
|
}
|
|
47
46
|
}, [accessory]);
|
|
48
47
|
const DetailText = useMemo(() => {
|
|
48
|
+
if (!credentialDetailPrimary) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
49
51
|
const commonProps = {
|
|
50
52
|
color: credentialDetailErrorColor ? colorScheme.error : colorScheme.text,
|
|
51
53
|
ellipsizeMode: 'tail',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","StyleSheet","View","concatTestID","BlurView","ImageOrComponent","Typography","useAppColorScheme","CredentialHeader","_ref","accessory","blur","color","credentialDetailPrimary","credentialDetailSecondary","credentialDetailTestID","credentialDetailErrorColor","credentialName","icon","iconLabelColor","statusIcon","style","testID","colorScheme","statusIconView","undefined","isValidElement","StatusIconComponent","createElement","accessoryView","AccessoryComponent","DetailText","commonProps","error","text","ellipsizeMode","numberOfLines","preset","styles","detailText","detailTextContainer","_extends","Fragment","interpunct","container","backgroundColor","white","blurStyle","absoluteFill","imageContainer","source","image","String","imagePlaceholder","substring","statusIconWrapper","nameText","create","alignItems","height","justifyContent","width","flexDirection","padding","flex","opacity","marginTop","borderRadius","marginRight","overflow","paddingLeft","paddingTop","textTransform","marginHorizontal","bottom","left","position"],"sources":["credential-header.tsx"],"sourcesContent":["import React, { FC, useMemo } from 'react';\nimport { AccessibilityProps, ColorValue, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport BlurView from '../../blur/blur-view';\nimport ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography, { TypographyProps } from '../../text/typography';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\n\nexport interface CredentialHeaderProps extends AccessibilityProps {\n accessory?: React.ComponentType<any> | React.ReactElement;\n blur?: boolean;\n color?: ColorValue;\n credentialDetailPrimary: string;\n credentialDetailSecondary?: string;\n credentialDetailTestID?: string;\n credentialDetailErrorColor?: boolean;\n credentialName: string;\n icon?: ImageOrComponentSource;\n iconLabelColor?: ColorValue;\n statusIcon?: React.ComponentType<any> | React.ReactElement;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n}\n\nconst CredentialHeader: FC<CredentialHeaderProps> = ({\n accessory,\n blur = true,\n color = '#5A69F3',\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialDetailErrorColor,\n credentialName,\n icon,\n iconLabelColor = '#FFFFFF',\n statusIcon,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n const statusIconView: React.ReactElement | undefined = useMemo(() => {\n if (!statusIcon) {\n return undefined;\n }\n if (React.isValidElement(statusIcon)) {\n return statusIcon;\n } else {\n const StatusIconComponent = statusIcon as React.ComponentType<any>;\n return <StatusIconComponent />;\n }\n }, [statusIcon]);\n\n const accessoryView: React.ReactElement | undefined = useMemo(() => {\n if (!accessory) {\n return undefined;\n }\n if (React.isValidElement(accessory)) {\n return accessory;\n } else {\n const AccessoryComponent = accessory as React.ComponentType<any>;\n return <AccessoryComponent />;\n }\n }, [accessory]);\n\n const DetailText = useMemo(() => {\n const commonProps: TypographyProps = {\n color: credentialDetailErrorColor ? colorScheme.error : colorScheme.text,\n ellipsizeMode: 'tail',\n numberOfLines: 1,\n preset: 'xs',\n style: styles.detailText,\n };\n return (\n <View style={styles.detailTextContainer}>\n <Typography {...commonProps} testID={credentialDetailTestID ?? concatTestID(testID, 'primaryDetail')}>\n {credentialDetailPrimary}\n </Typography>\n {credentialDetailSecondary ? (\n <>\n <Typography {...commonProps} style={styles.interpunct}>\n {'·'}\n </Typography>\n <Typography {...commonProps} testID={concatTestID(testID, 'secondaryDetail')}>\n {credentialDetailSecondary}\n </Typography>\n </>\n ) : null}\n </View>\n );\n }, [\n credentialDetailPrimary,\n credentialDetailSecondary,\n colorScheme,\n testID,\n credentialDetailErrorColor,\n credentialDetailTestID,\n ]);\n\n return (\n <View style={[styles.container, { backgroundColor: blur ? undefined : colorScheme.white }, style]} testID={testID}>\n {blur && <BlurView blurStyle=\"strong\" style={StyleSheet.absoluteFill} />}\n <View style={[styles.imageContainer, { backgroundColor: color }]}>\n {icon ? (\n <ImageOrComponent testID={concatTestID(testID, 'logoIcon')} source={icon} style={styles.image} />\n ) : (\n <View testID={concatTestID(testID, 'logoBackgroundColor', String(color))}>\n <View testID={concatTestID(testID, 'logoTextColor', String(iconLabelColor))}>\n <Typography\n testID={concatTestID(testID, 'logoName')}\n color={iconLabelColor}\n preset=\"m\"\n style={styles.imagePlaceholder}>\n {credentialName.substring(0, 1)}\n </Typography>\n </View>\n </View>\n )}\n </View>\n {statusIconView && <View style={styles.statusIconWrapper}>{statusIconView}</View>}\n <View style={styles.text}>\n <Typography\n testID={concatTestID(testID, 'name')}\n color={colorScheme.text}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n preset=\"regular\"\n style={styles.nameText}>\n {credentialName}\n </Typography>\n {DetailText}\n </View>\n {accessoryView && <View style={styles.accessory}>{accessoryView}</View>}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n accessory: {\n alignItems: 'center',\n height: 44,\n justifyContent: 'center',\n width: 44,\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n height: 60,\n padding: 8,\n },\n detailText: {\n flex: 1,\n opacity: 0.7,\n },\n detailTextContainer: {\n flexDirection: 'row',\n marginTop: -1,\n },\n image: {\n height: 44,\n width: 44,\n },\n imageContainer: {\n alignItems: 'center',\n borderRadius: 5,\n height: 44,\n justifyContent: 'center',\n marginRight: 8,\n overflow: 'hidden',\n width: 44,\n },\n imagePlaceholder: {\n paddingLeft: 1,\n paddingTop: 3,\n textTransform: 'uppercase',\n },\n interpunct: {\n marginHorizontal: 12,\n opacity: 0.5,\n },\n nameText: {\n marginTop: 2,\n },\n statusIconWrapper: {\n bottom: 3,\n left: 36,\n position: 'absolute',\n },\n text: {\n flex: 1,\n justifyContent: 'center',\n },\n});\n\nexport default CredentialHeader;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useMemo","StyleSheet","View","concatTestID","BlurView","ImageOrComponent","Typography","useAppColorScheme","CredentialHeader","accessory","blur","color","credentialDetailPrimary","credentialDetailSecondary","credentialDetailTestID","credentialDetailErrorColor","credentialName","icon","iconLabelColor","statusIcon","style","testID","colorScheme","statusIconView","undefined","isValidElement","StatusIconComponent","createElement","accessoryView","AccessoryComponent","DetailText","commonProps","error","text","ellipsizeMode","numberOfLines","preset","styles","detailText","detailTextContainer","_extends","Fragment","interpunct","container","backgroundColor","white","blurStyle","absoluteFill","imageContainer","source","image","String","imagePlaceholder","substring","statusIconWrapper","nameText","create","alignItems","height","justifyContent","width","flexDirection","padding","flex","opacity","marginTop","borderRadius","marginRight","overflow","paddingLeft","paddingTop","textTransform","marginHorizontal","bottom","left","position"],"sources":["credential-header.tsx"],"sourcesContent":["import React, { FC, useMemo } from 'react';\nimport { AccessibilityProps, ColorValue, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../../utils/testID';\nimport BlurView from '../../blur/blur-view';\nimport ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';\nimport Typography, { TypographyProps } from '../../text/typography';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\n\nexport interface CredentialHeaderProps extends AccessibilityProps {\n accessory?: React.ComponentType<any> | React.ReactElement;\n blur?: boolean;\n color?: ColorValue;\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailTestID?: string;\n credentialDetailErrorColor?: boolean;\n credentialName: string;\n icon?: ImageOrComponentSource;\n iconLabelColor?: ColorValue;\n statusIcon?: React.ComponentType<any> | React.ReactElement;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n}\n\nconst CredentialHeader: FC<CredentialHeaderProps> = ({\n accessory,\n blur = true,\n color = '#5A69F3',\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialDetailErrorColor,\n credentialName,\n icon,\n iconLabelColor = '#FFFFFF',\n statusIcon,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n const statusIconView: React.ReactElement | undefined = useMemo(() => {\n if (!statusIcon) {\n return undefined;\n }\n if (React.isValidElement(statusIcon)) {\n return statusIcon;\n } else {\n const StatusIconComponent = statusIcon as React.ComponentType<any>;\n return <StatusIconComponent />;\n }\n }, [statusIcon]);\n\n const accessoryView: React.ReactElement | undefined = useMemo(() => {\n if (!accessory) {\n return undefined;\n }\n if (React.isValidElement(accessory)) {\n return accessory;\n } else {\n const AccessoryComponent = accessory as React.ComponentType<any>;\n return <AccessoryComponent />;\n }\n }, [accessory]);\n\n const DetailText = useMemo(() => {\n if (!credentialDetailPrimary) {\n return undefined;\n }\n const commonProps: TypographyProps = {\n color: credentialDetailErrorColor ? colorScheme.error : colorScheme.text,\n ellipsizeMode: 'tail',\n numberOfLines: 1,\n preset: 'xs',\n style: styles.detailText,\n };\n return (\n <View style={styles.detailTextContainer}>\n <Typography {...commonProps} testID={credentialDetailTestID ?? concatTestID(testID, 'primaryDetail')}>\n {credentialDetailPrimary}\n </Typography>\n {credentialDetailSecondary ? (\n <>\n <Typography {...commonProps} style={styles.interpunct}>\n {'·'}\n </Typography>\n <Typography {...commonProps} testID={concatTestID(testID, 'secondaryDetail')}>\n {credentialDetailSecondary}\n </Typography>\n </>\n ) : null}\n </View>\n );\n }, [\n credentialDetailPrimary,\n credentialDetailSecondary,\n colorScheme,\n testID,\n credentialDetailErrorColor,\n credentialDetailTestID,\n ]);\n\n return (\n <View style={[styles.container, { backgroundColor: blur ? undefined : colorScheme.white }, style]} testID={testID}>\n {blur && <BlurView blurStyle=\"strong\" style={StyleSheet.absoluteFill} />}\n <View style={[styles.imageContainer, { backgroundColor: color }]}>\n {icon ? (\n <ImageOrComponent testID={concatTestID(testID, 'logoIcon')} source={icon} style={styles.image} />\n ) : (\n <View testID={concatTestID(testID, 'logoBackgroundColor', String(color))}>\n <View testID={concatTestID(testID, 'logoTextColor', String(iconLabelColor))}>\n <Typography\n testID={concatTestID(testID, 'logoName')}\n color={iconLabelColor}\n preset=\"m\"\n style={styles.imagePlaceholder}>\n {credentialName.substring(0, 1)}\n </Typography>\n </View>\n </View>\n )}\n </View>\n {statusIconView && <View style={styles.statusIconWrapper}>{statusIconView}</View>}\n <View style={styles.text}>\n <Typography\n testID={concatTestID(testID, 'name')}\n color={colorScheme.text}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n preset=\"regular\"\n style={styles.nameText}>\n {credentialName}\n </Typography>\n {DetailText}\n </View>\n {accessoryView && <View style={styles.accessory}>{accessoryView}</View>}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n accessory: {\n alignItems: 'center',\n height: 44,\n justifyContent: 'center',\n width: 44,\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n height: 60,\n padding: 8,\n },\n detailText: {\n flex: 1,\n opacity: 0.7,\n },\n detailTextContainer: {\n flexDirection: 'row',\n marginTop: -1,\n },\n image: {\n height: 44,\n width: 44,\n },\n imageContainer: {\n alignItems: 'center',\n borderRadius: 5,\n height: 44,\n justifyContent: 'center',\n marginRight: 8,\n overflow: 'hidden',\n width: 44,\n },\n imagePlaceholder: {\n paddingLeft: 1,\n paddingTop: 3,\n textTransform: 'uppercase',\n },\n interpunct: {\n marginHorizontal: 12,\n opacity: 0.5,\n },\n nameText: {\n marginTop: 2,\n },\n statusIconWrapper: {\n bottom: 3,\n left: 36,\n position: 'absolute',\n },\n text: {\n flex: 1,\n justifyContent: 'center',\n },\n});\n\nexport default CredentialHeader;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,20 +3,19 @@ import { StyleSheet, View } from 'react-native';
|
|
|
3
3
|
import Carousel from 'react-native-reanimated-carousel';
|
|
4
4
|
import Svg, { Circle } from 'react-native-svg';
|
|
5
5
|
import { concatTestID } from '../../../utils';
|
|
6
|
-
export let CarouselImageType
|
|
7
|
-
(function (CarouselImageType) {
|
|
6
|
+
export let CarouselImageType = /*#__PURE__*/function (CarouselImageType) {
|
|
8
7
|
CarouselImageType["Barcode"] = "Barcode";
|
|
9
8
|
CarouselImageType["QrCode"] = "QrCode";
|
|
10
9
|
CarouselImageType["MRZ"] = "MRZ";
|
|
11
10
|
CarouselImageType["Photo"] = "Photo";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
return CarouselImageType;
|
|
12
|
+
}({});
|
|
13
|
+
const CarouselComponent = ({
|
|
14
|
+
carouselSize,
|
|
15
|
+
imagesToRender,
|
|
16
|
+
style,
|
|
17
|
+
testID
|
|
18
|
+
}) => {
|
|
20
19
|
const [selectedDot, setSelectedDot] = useState(0);
|
|
21
20
|
if (!carouselSize.width || !carouselSize.height) {
|
|
22
21
|
return null;
|
|
@@ -34,19 +33,20 @@ const CarouselComponent = _ref => {
|
|
|
34
33
|
enabled: numberOfSlides >= 2,
|
|
35
34
|
data: imagesToRender,
|
|
36
35
|
testID: testID,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
panGestureHandlerProps: {
|
|
37
|
+
activeOffsetX: [-10, 10],
|
|
38
|
+
failOffsetY: [-10, 10]
|
|
39
|
+
},
|
|
40
|
+
renderItem: ({
|
|
41
|
+
item: {
|
|
42
|
+
type,
|
|
43
|
+
element
|
|
44
|
+
}
|
|
45
|
+
}) => /*#__PURE__*/React.createElement(View, {
|
|
46
|
+
style: styles.carouselItem
|
|
47
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
48
|
+
style: [styles[type]]
|
|
49
|
+
}, element))
|
|
50
50
|
}), numberOfSlides >= 2 ? /*#__PURE__*/React.createElement(View, {
|
|
51
51
|
style: styles.pageDotContainer
|
|
52
52
|
}, imagesToRender.map((_, index) => /*#__PURE__*/React.createElement(Svg, {
|