@procivis/one-react-native-components 0.1.63
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/LICENSE +201 -0
- package/README.md +66 -0
- package/lib/commonjs/accessibility/accessibility.js +193 -0
- package/lib/commonjs/accessibility/accessibility.js.map +1 -0
- package/lib/commonjs/accessibility/accessibilityHistory.js +81 -0
- package/lib/commonjs/accessibility/accessibilityHistory.js.map +1 -0
- package/lib/commonjs/accessibility/accessibilityHistoryWrappers.js +49 -0
- package/lib/commonjs/accessibility/accessibilityHistoryWrappers.js.map +1 -0
- package/lib/commonjs/accessibility/accessibilityLanguage.js +63 -0
- package/lib/commonjs/accessibility/accessibilityLanguage.js.map +1 -0
- package/lib/commonjs/accessibility/index.js +129 -0
- package/lib/commonjs/accessibility/index.js.map +1 -0
- package/lib/commonjs/accessibility/locale/de.json +21 -0
- package/lib/commonjs/accessibility/locale/en.json +21 -0
- package/lib/commonjs/accessibility/locale/fr.json +21 -0
- package/lib/commonjs/accessibility/locale/index.js +21 -0
- package/lib/commonjs/accessibility/locale/index.js.map +1 -0
- package/lib/commonjs/accessibility/locale/it.json +21 -0
- package/lib/commonjs/accessibility/locale.test.js +15 -0
- package/lib/commonjs/accessibility/locale.test.js.map +1 -0
- package/lib/commonjs/action-modal/ActionModal.js +52 -0
- package/lib/commonjs/action-modal/ActionModal.js.map +1 -0
- package/lib/commonjs/action-modal/index.js +14 -0
- package/lib/commonjs/action-modal/index.js.map +1 -0
- package/lib/commonjs/activity-indicator/activity-indicator.js +34 -0
- package/lib/commonjs/activity-indicator/activity-indicator.js.map +1 -0
- package/lib/commonjs/activity-indicator/index.js +14 -0
- package/lib/commonjs/activity-indicator/index.js.map +1 -0
- package/lib/commonjs/blur/blur-view.js +76 -0
- package/lib/commonjs/blur/blur-view.js.map +1 -0
- package/lib/commonjs/blur/index.js +21 -0
- package/lib/commonjs/blur/index.js.map +1 -0
- package/lib/commonjs/buttons/back-button.js +37 -0
- package/lib/commonjs/buttons/back-button.js.map +1 -0
- package/lib/commonjs/buttons/button.js +153 -0
- package/lib/commonjs/buttons/button.js.map +1 -0
- package/lib/commonjs/buttons/connectivity-button.js +82 -0
- package/lib/commonjs/buttons/connectivity-button.js.map +1 -0
- package/lib/commonjs/buttons/filter-button.js +51 -0
- package/lib/commonjs/buttons/filter-button.js.map +1 -0
- package/lib/commonjs/buttons/ghost-button.js +62 -0
- package/lib/commonjs/buttons/ghost-button.js.map +1 -0
- package/lib/commonjs/buttons/index.js +104 -0
- package/lib/commonjs/buttons/index.js.map +1 -0
- package/lib/commonjs/buttons/scan-button.js +83 -0
- package/lib/commonjs/buttons/scan-button.js.map +1 -0
- package/lib/commonjs/camera/camera-overlay.js +61 -0
- package/lib/commonjs/camera/camera-overlay.js.map +1 -0
- package/lib/commonjs/camera/index.js +21 -0
- package/lib/commonjs/camera/index.js.map +1 -0
- package/lib/commonjs/camera/qr-code-scanner.js +50 -0
- package/lib/commonjs/camera/qr-code-scanner.js.map +1 -0
- package/lib/commonjs/control/checkbox.js +79 -0
- package/lib/commonjs/control/checkbox.js.map +1 -0
- package/lib/commonjs/control/index.js +32 -0
- package/lib/commonjs/control/index.js.map +1 -0
- package/lib/commonjs/control/switch.js +65 -0
- package/lib/commonjs/control/switch.js.map +1 -0
- package/lib/commonjs/credential/card/credential-card.js +189 -0
- package/lib/commonjs/credential/card/credential-card.js.map +1 -0
- package/lib/commonjs/credential/card/credential-details-card.js +201 -0
- package/lib/commonjs/credential/card/credential-details-card.js.map +1 -0
- package/lib/commonjs/credential/card/credential-details-list-item.js +84 -0
- package/lib/commonjs/credential/card/credential-details-list-item.js.map +1 -0
- package/lib/commonjs/credential/card/credential-header.js +172 -0
- package/lib/commonjs/credential/card/credential-header.js.map +1 -0
- package/lib/commonjs/credential/card/credential-image-carousel.js +124 -0
- package/lib/commonjs/credential/card/credential-image-carousel.js.map +1 -0
- package/lib/commonjs/credential/card/index.js +85 -0
- package/lib/commonjs/credential/card/index.js.map +1 -0
- package/lib/commonjs/credential/credential-attribute-item.js +289 -0
- package/lib/commonjs/credential/credential-attribute-item.js.map +1 -0
- package/lib/commonjs/credential/credential-carousel-images.js +98 -0
- package/lib/commonjs/credential/credential-carousel-images.js.map +1 -0
- package/lib/commonjs/credential/index.js +90 -0
- package/lib/commonjs/credential/index.js.map +1 -0
- package/lib/commonjs/credential/selector-status.js +17 -0
- package/lib/commonjs/credential/selector-status.js.map +1 -0
- package/lib/commonjs/credential/selector.js +79 -0
- package/lib/commonjs/credential/selector.js.map +1 -0
- package/lib/commonjs/detail/detail.js +84 -0
- package/lib/commonjs/detail/detail.js.map +1 -0
- package/lib/commonjs/detail/index.js +14 -0
- package/lib/commonjs/detail/index.js.map +1 -0
- package/lib/commonjs/entity/avatar.js +96 -0
- package/lib/commonjs/entity/avatar.js.map +1 -0
- package/lib/commonjs/entity/entity-cluster.js +66 -0
- package/lib/commonjs/entity/entity-cluster.js.map +1 -0
- package/lib/commonjs/entity/index.js +34 -0
- package/lib/commonjs/entity/index.js.map +1 -0
- package/lib/commonjs/header/focus-aware-status-bar.js +20 -0
- package/lib/commonjs/header/focus-aware-status-bar.js.map +1 -0
- package/lib/commonjs/header/foldable-header.js +89 -0
- package/lib/commonjs/header/foldable-header.js.map +1 -0
- package/lib/commonjs/header/header.js +105 -0
- package/lib/commonjs/header/header.js.map +1 -0
- package/lib/commonjs/header/index.js +55 -0
- package/lib/commonjs/header/index.js.map +1 -0
- package/lib/commonjs/header/navigation-header.js +148 -0
- package/lib/commonjs/header/navigation-header.js.map +1 -0
- package/lib/commonjs/history/data-item.js +70 -0
- package/lib/commonjs/history/data-item.js.map +1 -0
- package/lib/commonjs/history/history-list-item.js +90 -0
- package/lib/commonjs/history/history-list-item.js.map +1 -0
- package/lib/commonjs/history/history-section-header.js +49 -0
- package/lib/commonjs/history/history-section-header.js.map +1 -0
- package/lib/commonjs/history/history-section-list-item.js +47 -0
- package/lib/commonjs/history/history-section-list-item.js.map +1 -0
- package/lib/commonjs/history/index.js +55 -0
- package/lib/commonjs/history/index.js.map +1 -0
- package/lib/commonjs/icons/connectivity.js +139 -0
- package/lib/commonjs/icons/connectivity.js.map +1 -0
- package/lib/commonjs/icons/credential.js +162 -0
- package/lib/commonjs/icons/credential.js.map +1 -0
- package/lib/commonjs/icons/entity.js +34 -0
- package/lib/commonjs/icons/entity.js.map +1 -0
- package/lib/commonjs/icons/history.js +408 -0
- package/lib/commonjs/icons/history.js.map +1 -0
- package/lib/commonjs/icons/icons.js +250 -0
- package/lib/commonjs/icons/icons.js.map +1 -0
- package/lib/commonjs/icons/index.js +127 -0
- package/lib/commonjs/icons/index.js.map +1 -0
- package/lib/commonjs/icons/input.js +44 -0
- package/lib/commonjs/icons/input.js.map +1 -0
- package/lib/commonjs/icons/keypad.js +94 -0
- package/lib/commonjs/icons/keypad.js.map +1 -0
- package/lib/commonjs/icons/loader.js +180 -0
- package/lib/commonjs/icons/loader.js.map +1 -0
- package/lib/commonjs/icons/nerd-view.js +123 -0
- package/lib/commonjs/icons/nerd-view.js.map +1 -0
- package/lib/commonjs/icons/selector.js +56 -0
- package/lib/commonjs/icons/selector.js.map +1 -0
- package/lib/commonjs/icons/wallet.js +121 -0
- package/lib/commonjs/icons/wallet.js.map +1 -0
- package/lib/commonjs/image/image-or-component.js +80 -0
- package/lib/commonjs/image/image-or-component.js.map +1 -0
- package/lib/commonjs/image/index.js +21 -0
- package/lib/commonjs/image/index.js.map +1 -0
- package/lib/commonjs/index.js +292 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/input/index.js +65 -0
- package/lib/commonjs/input/index.js.map +1 -0
- package/lib/commonjs/input/radio-group.js +95 -0
- package/lib/commonjs/input/radio-group.js.map +1 -0
- package/lib/commonjs/input/selection-input.js +102 -0
- package/lib/commonjs/input/selection-input.js.map +1 -0
- package/lib/commonjs/input/text-input.js +195 -0
- package/lib/commonjs/input/text-input.js.map +1 -0
- package/lib/commonjs/list/index.js +34 -0
- package/lib/commonjs/list/index.js.map +1 -0
- package/lib/commonjs/list/list-section-header.js +36 -0
- package/lib/commonjs/list/list-section-header.js.map +1 -0
- package/lib/commonjs/list/list-title-header.js +35 -0
- package/lib/commonjs/list/list-title-header.js.map +1 -0
- package/lib/commonjs/loader/index.js +40 -0
- package/lib/commonjs/loader/index.js.map +1 -0
- package/lib/commonjs/loader/loader.js +140 -0
- package/lib/commonjs/loader/loader.js.map +1 -0
- package/lib/commonjs/loader/loading-result.js +92 -0
- package/lib/commonjs/loader/loading-result.js.map +1 -0
- package/lib/commonjs/nerd-view/index.js +27 -0
- package/lib/commonjs/nerd-view/index.js.map +1 -0
- package/lib/commonjs/nerd-view/nerd-mode-item.js +235 -0
- package/lib/commonjs/nerd-view/nerd-mode-item.js.map +1 -0
- package/lib/commonjs/normalize-color.d.js +2 -0
- package/lib/commonjs/normalize-color.d.js.map +1 -0
- package/lib/commonjs/pin/index.js +32 -0
- package/lib/commonjs/pin/index.js.map +1 -0
- package/lib/commonjs/pin/keypad.js +201 -0
- package/lib/commonjs/pin/keypad.js.map +1 -0
- package/lib/commonjs/pin/pin-code-screen.js +162 -0
- package/lib/commonjs/pin/pin-code-screen.js.map +1 -0
- package/lib/commonjs/pin/pins.js +54 -0
- package/lib/commonjs/pin/pins.js.map +1 -0
- package/lib/commonjs/screens/backup-screen.js +87 -0
- package/lib/commonjs/screens/backup-screen.js.map +1 -0
- package/lib/commonjs/screens/image-preview-screen.js +92 -0
- package/lib/commonjs/screens/image-preview-screen.js.map +1 -0
- package/lib/commonjs/screens/index.js +98 -0
- package/lib/commonjs/screens/index.js.map +1 -0
- package/lib/commonjs/screens/nerd-mode-screen.js +142 -0
- package/lib/commonjs/screens/nerd-mode-screen.js.map +1 -0
- package/lib/commonjs/screens/qr-code-scanner-screen.js +120 -0
- package/lib/commonjs/screens/qr-code-scanner-screen.js.map +1 -0
- package/lib/commonjs/screens/scroll-view-screen.js +94 -0
- package/lib/commonjs/screens/scroll-view-screen.js.map +1 -0
- package/lib/commonjs/screens/section-list-screen.js +67 -0
- package/lib/commonjs/screens/section-list-screen.js.map +1 -0
- package/lib/commonjs/searchbar/animated-search-bar.js +88 -0
- package/lib/commonjs/searchbar/animated-search-bar.js.map +1 -0
- package/lib/commonjs/searchbar/index.js +34 -0
- package/lib/commonjs/searchbar/index.js.map +1 -0
- package/lib/commonjs/searchbar/search-bar.js +99 -0
- package/lib/commonjs/searchbar/search-bar.js.map +1 -0
- package/lib/commonjs/settings/button-setting.js +67 -0
- package/lib/commonjs/settings/button-setting.js.map +1 -0
- package/lib/commonjs/settings/index.js +73 -0
- package/lib/commonjs/settings/index.js.map +1 -0
- package/lib/commonjs/settings/setting-item-separator.js +40 -0
- package/lib/commonjs/settings/setting-item-separator.js.map +1 -0
- package/lib/commonjs/settings/setting-item.js +79 -0
- package/lib/commonjs/settings/setting-item.js.map +1 -0
- package/lib/commonjs/settings/settings-button.js +35 -0
- package/lib/commonjs/settings/settings-button.js.map +1 -0
- package/lib/commonjs/settings/switch-setting.js +35 -0
- package/lib/commonjs/settings/switch-setting.js.map +1 -0
- package/lib/commonjs/state/error-screen.js +71 -0
- package/lib/commonjs/state/error-screen.js.map +1 -0
- package/lib/commonjs/state/index.js +27 -0
- package/lib/commonjs/state/index.js.map +1 -0
- package/lib/commonjs/text/base.js +40 -0
- package/lib/commonjs/text/base.js.map +1 -0
- package/lib/commonjs/text/font.js +64 -0
- package/lib/commonjs/text/font.js.map +1 -0
- package/lib/commonjs/text/index.js +21 -0
- package/lib/commonjs/text/index.js.map +1 -0
- package/lib/commonjs/text/typography.js +119 -0
- package/lib/commonjs/text/typography.js.map +1 -0
- package/lib/commonjs/theme/color-scheme-context.js +52 -0
- package/lib/commonjs/theme/color-scheme-context.js.map +1 -0
- package/lib/commonjs/theme/color-scheme.js +2 -0
- package/lib/commonjs/theme/color-scheme.js.map +1 -0
- package/lib/commonjs/theme/index.js +19 -0
- package/lib/commonjs/theme/index.js.map +1 -0
- package/lib/commonjs/utils/color.js +34 -0
- package/lib/commonjs/utils/color.js.map +1 -0
- package/lib/commonjs/utils/contrasting-status-bar.js +30 -0
- package/lib/commonjs/utils/contrasting-status-bar.js.map +1 -0
- package/lib/commonjs/utils/date.js +57 -0
- package/lib/commonjs/utils/date.js.map +1 -0
- package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js +21 -0
- package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js.map +1 -0
- package/lib/commonjs/utils/hooks/index.js +20 -0
- package/lib/commonjs/utils/hooks/index.js.map +1 -0
- package/lib/commonjs/utils/hooks/list/list-content-inset.js +31 -0
- package/lib/commonjs/utils/hooks/list/list-content-inset.js.map +1 -0
- package/lib/commonjs/utils/index.js +83 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/utils/navigation.js +51 -0
- package/lib/commonjs/utils/navigation.js.map +1 -0
- package/lib/commonjs/utils/ref.js +42 -0
- package/lib/commonjs/utils/ref.js.map +1 -0
- package/lib/commonjs/utils/testID.js +18 -0
- package/lib/commonjs/utils/testID.js.map +1 -0
- package/lib/commonjs/utils/testID.test.js +21 -0
- package/lib/commonjs/utils/testID.test.js.map +1 -0
- package/lib/commonjs/utils/useMemoAsync.js +26 -0
- package/lib/commonjs/utils/useMemoAsync.js.map +1 -0
- package/lib/module/accessibility/accessibility.js +185 -0
- package/lib/module/accessibility/accessibility.js.map +1 -0
- package/lib/module/accessibility/accessibilityHistory.js +71 -0
- package/lib/module/accessibility/accessibilityHistory.js.map +1 -0
- package/lib/module/accessibility/accessibilityHistoryWrappers.js +38 -0
- package/lib/module/accessibility/accessibilityHistoryWrappers.js.map +1 -0
- package/lib/module/accessibility/accessibilityLanguage.js +53 -0
- package/lib/module/accessibility/accessibilityLanguage.js.map +1 -0
- package/lib/module/accessibility/index.js +8 -0
- package/lib/module/accessibility/index.js.map +1 -0
- package/lib/module/accessibility/locale/de.json +21 -0
- package/lib/module/accessibility/locale/en.json +21 -0
- package/lib/module/accessibility/locale/fr.json +21 -0
- package/lib/module/accessibility/locale/index.js +12 -0
- package/lib/module/accessibility/locale/index.js.map +1 -0
- package/lib/module/accessibility/locale/it.json +21 -0
- package/lib/module/accessibility/locale.test.js +13 -0
- package/lib/module/accessibility/locale.test.js.map +1 -0
- package/lib/module/action-modal/ActionModal.js +44 -0
- package/lib/module/action-modal/ActionModal.js.map +1 -0
- package/lib/module/action-modal/index.js +3 -0
- package/lib/module/action-modal/index.js.map +1 -0
- package/lib/module/activity-indicator/activity-indicator.js +24 -0
- package/lib/module/activity-indicator/activity-indicator.js.map +1 -0
- package/lib/module/activity-indicator/index.js +3 -0
- package/lib/module/activity-indicator/index.js.map +1 -0
- package/lib/module/blur/blur-view.js +67 -0
- package/lib/module/blur/blur-view.js.map +1 -0
- package/lib/module/blur/index.js +3 -0
- package/lib/module/blur/index.js.map +1 -0
- package/lib/module/buttons/back-button.js +28 -0
- package/lib/module/buttons/back-button.js.map +1 -0
- package/lib/module/buttons/button.js +143 -0
- package/lib/module/buttons/button.js.map +1 -0
- package/lib/module/buttons/connectivity-button.js +73 -0
- package/lib/module/buttons/connectivity-button.js.map +1 -0
- package/lib/module/buttons/filter-button.js +43 -0
- package/lib/module/buttons/filter-button.js.map +1 -0
- package/lib/module/buttons/ghost-button.js +53 -0
- package/lib/module/buttons/ghost-button.js.map +1 -0
- package/lib/module/buttons/index.js +8 -0
- package/lib/module/buttons/index.js.map +1 -0
- package/lib/module/buttons/scan-button.js +75 -0
- package/lib/module/buttons/scan-button.js.map +1 -0
- package/lib/module/camera/camera-overlay.js +51 -0
- package/lib/module/camera/camera-overlay.js.map +1 -0
- package/lib/module/camera/index.js +3 -0
- package/lib/module/camera/index.js.map +1 -0
- package/lib/module/camera/qr-code-scanner.js +40 -0
- package/lib/module/camera/qr-code-scanner.js.map +1 -0
- package/lib/module/control/checkbox.js +70 -0
- package/lib/module/control/checkbox.js.map +1 -0
- package/lib/module/control/index.js +4 -0
- package/lib/module/control/index.js.map +1 -0
- package/lib/module/control/switch.js +56 -0
- package/lib/module/control/switch.js.map +1 -0
- package/lib/module/credential/card/credential-card.js +177 -0
- package/lib/module/credential/card/credential-card.js.map +1 -0
- package/lib/module/credential/card/credential-details-card.js +191 -0
- package/lib/module/credential/card/credential-details-card.js.map +1 -0
- package/lib/module/credential/card/credential-details-list-item.js +74 -0
- package/lib/module/credential/card/credential-details-list-item.js.map +1 -0
- package/lib/module/credential/card/credential-header.js +162 -0
- package/lib/module/credential/card/credential-header.js.map +1 -0
- package/lib/module/credential/card/credential-image-carousel.js +113 -0
- package/lib/module/credential/card/credential-image-carousel.js.map +1 -0
- package/lib/module/credential/card/index.js +11 -0
- package/lib/module/credential/card/index.js.map +1 -0
- package/lib/module/credential/credential-attribute-item.js +279 -0
- package/lib/module/credential/credential-attribute-item.js.map +1 -0
- package/lib/module/credential/credential-carousel-images.js +86 -0
- package/lib/module/credential/credential-carousel-images.js.map +1 -0
- package/lib/module/credential/index.js +9 -0
- package/lib/module/credential/index.js.map +1 -0
- package/lib/module/credential/selector-status.js +10 -0
- package/lib/module/credential/selector-status.js.map +1 -0
- package/lib/module/credential/selector.js +70 -0
- package/lib/module/credential/selector.js.map +1 -0
- package/lib/module/detail/detail.js +75 -0
- package/lib/module/detail/detail.js.map +1 -0
- package/lib/module/detail/index.js +3 -0
- package/lib/module/detail/index.js.map +1 -0
- package/lib/module/entity/avatar.js +86 -0
- package/lib/module/entity/avatar.js.map +1 -0
- package/lib/module/entity/entity-cluster.js +56 -0
- package/lib/module/entity/entity-cluster.js.map +1 -0
- package/lib/module/entity/index.js +5 -0
- package/lib/module/entity/index.js.map +1 -0
- package/lib/module/header/focus-aware-status-bar.js +12 -0
- package/lib/module/header/focus-aware-status-bar.js.map +1 -0
- package/lib/module/header/foldable-header.js +79 -0
- package/lib/module/header/foldable-header.js.map +1 -0
- package/lib/module/header/header.js +97 -0
- package/lib/module/header/header.js.map +1 -0
- package/lib/module/header/index.js +9 -0
- package/lib/module/header/index.js.map +1 -0
- package/lib/module/header/navigation-header.js +138 -0
- package/lib/module/header/navigation-header.js.map +1 -0
- package/lib/module/history/data-item.js +60 -0
- package/lib/module/history/data-item.js.map +1 -0
- package/lib/module/history/history-list-item.js +80 -0
- package/lib/module/history/history-list-item.js.map +1 -0
- package/lib/module/history/history-section-header.js +42 -0
- package/lib/module/history/history-section-header.js.map +1 -0
- package/lib/module/history/history-section-list-item.js +43 -0
- package/lib/module/history/history-section-list-item.js.map +1 -0
- package/lib/module/history/index.js +9 -0
- package/lib/module/history/index.js.map +1 -0
- package/lib/module/icons/connectivity.js +125 -0
- package/lib/module/icons/connectivity.js.map +1 -0
- package/lib/module/icons/credential.js +147 -0
- package/lib/module/icons/credential.js.map +1 -0
- package/lib/module/icons/entity.js +25 -0
- package/lib/module/icons/entity.js.map +1 -0
- package/lib/module/icons/history.js +391 -0
- package/lib/module/icons/history.js.map +1 -0
- package/lib/module/icons/icons.js +231 -0
- package/lib/module/icons/icons.js.map +1 -0
- package/lib/module/icons/index.js +12 -0
- package/lib/module/icons/index.js.map +1 -0
- package/lib/module/icons/input.js +33 -0
- package/lib/module/icons/input.js.map +1 -0
- package/lib/module/icons/keypad.js +81 -0
- package/lib/module/icons/keypad.js.map +1 -0
- package/lib/module/icons/loader.js +168 -0
- package/lib/module/icons/loader.js.map +1 -0
- package/lib/module/icons/nerd-view.js +110 -0
- package/lib/module/icons/nerd-view.js.map +1 -0
- package/lib/module/icons/selector.js +45 -0
- package/lib/module/icons/selector.js.map +1 -0
- package/lib/module/icons/wallet.js +111 -0
- package/lib/module/icons/wallet.js.map +1 -0
- package/lib/module/image/image-or-component.js +71 -0
- package/lib/module/image/image-or-component.js.map +1 -0
- package/lib/module/image/index.js +3 -0
- package/lib/module/image/index.js.map +1 -0
- package/lib/module/index.js +27 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/input/index.js +7 -0
- package/lib/module/input/index.js.map +1 -0
- package/lib/module/input/radio-group.js +87 -0
- package/lib/module/input/radio-group.js.map +1 -0
- package/lib/module/input/selection-input.js +92 -0
- package/lib/module/input/selection-input.js.map +1 -0
- package/lib/module/input/text-input.js +185 -0
- package/lib/module/input/text-input.js.map +1 -0
- package/lib/module/list/index.js +5 -0
- package/lib/module/list/index.js.map +1 -0
- package/lib/module/list/list-section-header.js +28 -0
- package/lib/module/list/list-section-header.js.map +1 -0
- package/lib/module/list/list-title-header.js +27 -0
- package/lib/module/list/list-title-header.js.map +1 -0
- package/lib/module/loader/index.js +5 -0
- package/lib/module/loader/index.js.map +1 -0
- package/lib/module/loader/loader.js +130 -0
- package/lib/module/loader/loader.js.map +1 -0
- package/lib/module/loader/loading-result.js +84 -0
- package/lib/module/loader/loading-result.js.map +1 -0
- package/lib/module/nerd-view/index.js +3 -0
- package/lib/module/nerd-view/index.js.map +1 -0
- package/lib/module/nerd-view/nerd-mode-item.js +224 -0
- package/lib/module/nerd-view/nerd-mode-item.js.map +1 -0
- package/lib/module/normalize-color.d.js +2 -0
- package/lib/module/normalize-color.d.js.map +1 -0
- package/lib/module/pin/index.js +4 -0
- package/lib/module/pin/index.js.map +1 -0
- package/lib/module/pin/keypad.js +191 -0
- package/lib/module/pin/keypad.js.map +1 -0
- package/lib/module/pin/pin-code-screen.js +152 -0
- package/lib/module/pin/pin-code-screen.js.map +1 -0
- package/lib/module/pin/pins.js +46 -0
- package/lib/module/pin/pins.js.map +1 -0
- package/lib/module/screens/backup-screen.js +78 -0
- package/lib/module/screens/backup-screen.js.map +1 -0
- package/lib/module/screens/image-preview-screen.js +83 -0
- package/lib/module/screens/image-preview-screen.js.map +1 -0
- package/lib/module/screens/index.js +13 -0
- package/lib/module/screens/index.js.map +1 -0
- package/lib/module/screens/nerd-mode-screen.js +132 -0
- package/lib/module/screens/nerd-mode-screen.js.map +1 -0
- package/lib/module/screens/qr-code-scanner-screen.js +110 -0
- package/lib/module/screens/qr-code-scanner-screen.js.map +1 -0
- package/lib/module/screens/scroll-view-screen.js +86 -0
- package/lib/module/screens/scroll-view-screen.js.map +1 -0
- package/lib/module/screens/section-list-screen.js +59 -0
- package/lib/module/screens/section-list-screen.js.map +1 -0
- package/lib/module/searchbar/animated-search-bar.js +78 -0
- package/lib/module/searchbar/animated-search-bar.js.map +1 -0
- package/lib/module/searchbar/index.js +5 -0
- package/lib/module/searchbar/index.js.map +1 -0
- package/lib/module/searchbar/search-bar.js +89 -0
- package/lib/module/searchbar/search-bar.js.map +1 -0
- package/lib/module/settings/button-setting.js +57 -0
- package/lib/module/settings/button-setting.js.map +1 -0
- package/lib/module/settings/index.js +11 -0
- package/lib/module/settings/index.js.map +1 -0
- package/lib/module/settings/setting-item-separator.js +32 -0
- package/lib/module/settings/setting-item-separator.js.map +1 -0
- package/lib/module/settings/setting-item.js +69 -0
- package/lib/module/settings/setting-item.js.map +1 -0
- package/lib/module/settings/settings-button.js +27 -0
- package/lib/module/settings/settings-button.js.map +1 -0
- package/lib/module/settings/switch-setting.js +27 -0
- package/lib/module/settings/switch-setting.js.map +1 -0
- package/lib/module/state/error-screen.js +63 -0
- package/lib/module/state/error-screen.js.map +1 -0
- package/lib/module/state/index.js +3 -0
- package/lib/module/state/index.js.map +1 -0
- package/lib/module/text/base.js +31 -0
- package/lib/module/text/base.js.map +1 -0
- package/lib/module/text/font.js +56 -0
- package/lib/module/text/font.js.map +1 -0
- package/lib/module/text/index.js +3 -0
- package/lib/module/text/index.js.map +1 -0
- package/lib/module/text/typography.js +111 -0
- package/lib/module/text/typography.js.map +1 -0
- package/lib/module/theme/color-scheme-context.js +44 -0
- package/lib/module/theme/color-scheme-context.js.map +1 -0
- package/lib/module/theme/color-scheme.js +2 -0
- package/lib/module/theme/color-scheme.js.map +1 -0
- package/lib/module/theme/index.js +3 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/utils/color.js +23 -0
- package/lib/module/utils/color.js.map +1 -0
- package/lib/module/utils/contrasting-status-bar.js +21 -0
- package/lib/module/utils/contrasting-status-bar.js.map +1 -0
- package/lib/module/utils/date.js +51 -0
- package/lib/module/utils/date.js.map +1 -0
- package/lib/module/utils/hooks/header/on-scroll-header-state.js +14 -0
- package/lib/module/utils/hooks/header/on-scroll-header-state.js.map +1 -0
- package/lib/module/utils/hooks/index.js +5 -0
- package/lib/module/utils/hooks/index.js.map +1 -0
- package/lib/module/utils/hooks/list/list-content-inset.js +24 -0
- package/lib/module/utils/hooks/list/list-content-inset.js.map +1 -0
- package/lib/module/utils/index.js +9 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/navigation.js +45 -0
- package/lib/module/utils/navigation.js.map +1 -0
- package/lib/module/utils/ref.js +35 -0
- package/lib/module/utils/ref.js.map +1 -0
- package/lib/module/utils/testID.js +12 -0
- package/lib/module/utils/testID.js.map +1 -0
- package/lib/module/utils/testID.test.js +19 -0
- package/lib/module/utils/testID.test.js.map +1 -0
- package/lib/module/utils/useMemoAsync.js +20 -0
- package/lib/module/utils/useMemoAsync.js.map +1 -0
- package/lib/typescript/accessibility/accessibility.d.ts +55 -0
- package/lib/typescript/accessibility/accessibilityHistory.d.ts +13 -0
- package/lib/typescript/accessibility/accessibilityHistoryWrappers.d.ts +18 -0
- package/lib/typescript/accessibility/accessibilityLanguage.d.ts +20 -0
- package/lib/typescript/accessibility/index.d.ts +6 -0
- package/lib/typescript/accessibility/locale/index.d.ts +90 -0
- package/lib/typescript/accessibility/locale.test.d.ts +1 -0
- package/lib/typescript/action-modal/ActionModal.d.ts +10 -0
- package/lib/typescript/action-modal/index.d.ts +2 -0
- package/lib/typescript/activity-indicator/activity-indicator.d.ts +7 -0
- package/lib/typescript/activity-indicator/index.d.ts +2 -0
- package/lib/typescript/blur/blur-view.d.ts +10 -0
- package/lib/typescript/blur/index.d.ts +2 -0
- package/lib/typescript/buttons/back-button.d.ts +9 -0
- package/lib/typescript/buttons/button.d.ts +22 -0
- package/lib/typescript/buttons/connectivity-button.d.ts +17 -0
- package/lib/typescript/buttons/filter-button.d.ts +7 -0
- package/lib/typescript/buttons/ghost-button.d.ts +11 -0
- package/lib/typescript/buttons/index.d.ts +7 -0
- package/lib/typescript/buttons/scan-button.d.ts +5 -0
- package/lib/typescript/camera/camera-overlay.d.ts +7 -0
- package/lib/typescript/camera/index.d.ts +2 -0
- package/lib/typescript/camera/qr-code-scanner.d.ts +11 -0
- package/lib/typescript/control/checkbox.d.ts +9 -0
- package/lib/typescript/control/index.d.ts +3 -0
- package/lib/typescript/control/switch.d.ts +7 -0
- package/lib/typescript/credential/card/credential-card.d.ts +22 -0
- package/lib/typescript/credential/card/credential-details-card.d.ts +16 -0
- package/lib/typescript/credential/card/credential-details-list-item.d.ts +9 -0
- package/lib/typescript/credential/card/credential-header.d.ts +20 -0
- package/lib/typescript/credential/card/credential-image-carousel.d.ts +23 -0
- package/lib/typescript/credential/card/index.d.ts +10 -0
- package/lib/typescript/credential/credential-attribute-item.d.ts +48 -0
- package/lib/typescript/credential/credential-carousel-images.d.ts +19 -0
- package/lib/typescript/credential/index.d.ts +8 -0
- package/lib/typescript/credential/selector-status.d.ts +8 -0
- package/lib/typescript/credential/selector.d.ts +15 -0
- package/lib/typescript/detail/detail.d.ts +18 -0
- package/lib/typescript/detail/index.d.ts +2 -0
- package/lib/typescript/entity/avatar.d.ts +10 -0
- package/lib/typescript/entity/entity-cluster.d.ts +12 -0
- package/lib/typescript/entity/index.d.ts +4 -0
- package/lib/typescript/header/focus-aware-status-bar.d.ts +4 -0
- package/lib/typescript/header/foldable-header.d.ts +11 -0
- package/lib/typescript/header/header.d.ts +17 -0
- package/lib/typescript/header/index.d.ts +8 -0
- package/lib/typescript/header/navigation-header.d.ts +15 -0
- package/lib/typescript/history/data-item.d.ts +12 -0
- package/lib/typescript/history/history-list-item.d.ts +14 -0
- package/lib/typescript/history/history-section-header.d.ts +7 -0
- package/lib/typescript/history/history-section-list-item.d.ts +7 -0
- package/lib/typescript/history/index.d.ts +8 -0
- package/lib/typescript/icons/connectivity.d.ts +12 -0
- package/lib/typescript/icons/credential.d.ts +9 -0
- package/lib/typescript/icons/entity.d.ts +3 -0
- package/lib/typescript/icons/history.d.ts +42 -0
- package/lib/typescript/icons/icons.d.ts +13 -0
- package/lib/typescript/icons/index.d.ts +11 -0
- package/lib/typescript/icons/input.d.ts +3 -0
- package/lib/typescript/icons/keypad.d.ts +6 -0
- package/lib/typescript/icons/loader.d.ts +6 -0
- package/lib/typescript/icons/nerd-view.d.ts +7 -0
- package/lib/typescript/icons/selector.d.ts +10 -0
- package/lib/typescript/icons/wallet.d.ts +4 -0
- package/lib/typescript/image/image-or-component.d.ts +16 -0
- package/lib/typescript/image/index.d.ts +2 -0
- package/lib/typescript/index.d.ts +26 -0
- package/lib/typescript/input/index.d.ts +6 -0
- package/lib/typescript/input/radio-group.d.ts +23 -0
- package/lib/typescript/input/selection-input.d.ts +32 -0
- package/lib/typescript/input/text-input.d.ts +31 -0
- package/lib/typescript/list/index.d.ts +4 -0
- package/lib/typescript/list/list-section-header.d.ts +7 -0
- package/lib/typescript/list/list-title-header.d.ts +7 -0
- package/lib/typescript/loader/index.d.ts +4 -0
- package/lib/typescript/loader/loader.d.ts +14 -0
- package/lib/typescript/loader/loading-result.d.ts +16 -0
- package/lib/typescript/nerd-view/index.d.ts +2 -0
- package/lib/typescript/nerd-view/nerd-mode-item.d.ts +31 -0
- package/lib/typescript/pin/index.d.ts +3 -0
- package/lib/typescript/pin/keypad.d.ts +16 -0
- package/lib/typescript/pin/pin-code-screen.d.ts +32 -0
- package/lib/typescript/pin/pins.d.ts +7 -0
- package/lib/typescript/screens/backup-screen.d.ts +16 -0
- package/lib/typescript/screens/image-preview-screen.d.ts +9 -0
- package/lib/typescript/screens/index.d.ts +12 -0
- package/lib/typescript/screens/nerd-mode-screen.d.ts +22 -0
- package/lib/typescript/screens/qr-code-scanner-screen.d.ts +14 -0
- package/lib/typescript/screens/scroll-view-screen.d.ts +13 -0
- package/lib/typescript/screens/section-list-screen.d.ts +12 -0
- package/lib/typescript/searchbar/animated-search-bar.d.ts +10 -0
- package/lib/typescript/searchbar/index.d.ts +4 -0
- package/lib/typescript/searchbar/search-bar.d.ts +10 -0
- package/lib/typescript/settings/button-setting.d.ts +13 -0
- package/lib/typescript/settings/index.d.ts +10 -0
- package/lib/typescript/settings/setting-item-separator.d.ts +8 -0
- package/lib/typescript/settings/setting-item.d.ts +9 -0
- package/lib/typescript/settings/settings-button.d.ts +5 -0
- package/lib/typescript/settings/switch-setting.d.ts +13 -0
- package/lib/typescript/state/error-screen.d.ts +15 -0
- package/lib/typescript/state/index.d.ts +2 -0
- package/lib/typescript/text/base.d.ts +20 -0
- package/lib/typescript/text/font.d.ts +26 -0
- package/lib/typescript/text/index.d.ts +2 -0
- package/lib/typescript/text/typography.d.ts +112 -0
- package/lib/typescript/theme/color-scheme-context.d.ts +10 -0
- package/lib/typescript/theme/color-scheme.d.ts +31 -0
- package/lib/typescript/theme/index.d.ts +3 -0
- package/lib/typescript/utils/color.d.ts +4 -0
- package/lib/typescript/utils/contrasting-status-bar.d.ts +10 -0
- package/lib/typescript/utils/date.d.ts +12 -0
- package/lib/typescript/utils/hooks/header/on-scroll-header-state.d.ts +5 -0
- package/lib/typescript/utils/hooks/index.d.ts +4 -0
- package/lib/typescript/utils/hooks/list/list-content-inset.d.ts +8 -0
- package/lib/typescript/utils/index.d.ts +8 -0
- package/lib/typescript/utils/navigation.d.ts +9 -0
- package/lib/typescript/utils/ref.d.ts +11 -0
- package/lib/typescript/utils/testID.d.ts +6 -0
- package/lib/typescript/utils/testID.test.d.ts +1 -0
- package/lib/typescript/utils/useMemoAsync.d.ts +21 -0
- package/package.json +240 -0
- package/src/accessibility/accessibility.ts +215 -0
- package/src/accessibility/accessibilityHistory.tsx +77 -0
- package/src/accessibility/accessibilityHistoryWrappers.tsx +80 -0
- package/src/accessibility/accessibilityLanguage.tsx +66 -0
- package/src/accessibility/index.ts +35 -0
- package/src/accessibility/locale/de.json +21 -0
- package/src/accessibility/locale/en.json +21 -0
- package/src/accessibility/locale/fr.json +21 -0
- package/src/accessibility/locale/index.ts +19 -0
- package/src/accessibility/locale/it.json +21 -0
- package/src/accessibility/locale.test.ts +16 -0
- package/src/action-modal/ActionModal.stories.tsx +35 -0
- package/src/action-modal/ActionModal.tsx +45 -0
- package/src/action-modal/index.ts +3 -0
- package/src/activity-indicator/activity-indicator.stories.tsx +21 -0
- package/src/activity-indicator/activity-indicator.tsx +25 -0
- package/src/activity-indicator/index.ts +3 -0
- package/src/blur/blur-view.tsx +82 -0
- package/src/blur/index.ts +3 -0
- package/src/buttons/back-button.stories.tsx +31 -0
- package/src/buttons/back-button.tsx +31 -0
- package/src/buttons/button.stories.tsx +29 -0
- package/src/buttons/button.tsx +169 -0
- package/src/buttons/connectivity-button.stories.tsx +34 -0
- package/src/buttons/connectivity-button.tsx +95 -0
- package/src/buttons/filter-button.tsx +38 -0
- package/src/buttons/ghost-button.stories.tsx +28 -0
- package/src/buttons/ghost-button.tsx +56 -0
- package/src/buttons/index.ts +24 -0
- package/src/buttons/scan-button.stories.tsx +26 -0
- package/src/buttons/scan-button.tsx +66 -0
- package/src/camera/camera-overlay.tsx +48 -0
- package/src/camera/index.tsx +3 -0
- package/src/camera/qr-code-scanner.tsx +52 -0
- package/src/control/checkbox.stories.tsx +27 -0
- package/src/control/checkbox.tsx +81 -0
- package/src/control/index.ts +4 -0
- package/src/control/switch.stories.tsx +29 -0
- package/src/control/switch.tsx +47 -0
- package/src/credential/card/credential-card.stories.tsx +52 -0
- package/src/credential/card/credential-card.tsx +195 -0
- package/src/credential/card/credential-details-card.stories.tsx +268 -0
- package/src/credential/card/credential-details-card.tsx +242 -0
- package/src/credential/card/credential-details-list-item.tsx +87 -0
- package/src/credential/card/credential-header.stories.tsx +50 -0
- package/src/credential/card/credential-header.tsx +195 -0
- package/src/credential/card/credential-image-carousel.tsx +113 -0
- package/src/credential/card/index.ts +11 -0
- package/src/credential/credential-attribute-item.tsx +372 -0
- package/src/credential/credential-carousel-images.tsx +90 -0
- package/src/credential/index.ts +13 -0
- package/src/credential/selector-status.ts +8 -0
- package/src/credential/selector.stories.tsx +37 -0
- package/src/credential/selector.tsx +64 -0
- package/src/detail/detail.stories.tsx +65 -0
- package/src/detail/detail.tsx +98 -0
- package/src/detail/index.tsx +3 -0
- package/src/entity/avatar.stories.tsx +39 -0
- package/src/entity/avatar.tsx +87 -0
- package/src/entity/entity-cluster.stories.tsx +42 -0
- package/src/entity/entity-cluster.tsx +72 -0
- package/src/entity/index.ts +5 -0
- package/src/header/focus-aware-status-bar.tsx +10 -0
- package/src/header/foldable-header.tsx +107 -0
- package/src/header/header.stories.tsx +59 -0
- package/src/header/header.tsx +105 -0
- package/src/header/index.ts +9 -0
- package/src/header/navigation-header.stories.tsx +56 -0
- package/src/header/navigation-header.tsx +147 -0
- package/src/history/data-item.tsx +79 -0
- package/src/history/history-list-item.tsx +102 -0
- package/src/history/history-section-header.tsx +44 -0
- package/src/history/history-section-list-item.tsx +41 -0
- package/src/history/index.ts +9 -0
- package/src/icons/connectivity.tsx +114 -0
- package/src/icons/credential.tsx +118 -0
- package/src/icons/entity.tsx +21 -0
- package/src/icons/history.tsx +378 -0
- package/src/icons/icons.tsx +134 -0
- package/src/icons/index.ts +11 -0
- package/src/icons/input.tsx +29 -0
- package/src/icons/keypad.tsx +40 -0
- package/src/icons/loader.tsx +117 -0
- package/src/icons/nerd-view.tsx +105 -0
- package/src/icons/selector.tsx +43 -0
- package/src/icons/wallet.tsx +73 -0
- package/src/image/image-or-component.tsx +92 -0
- package/src/image/index.tsx +3 -0
- package/src/index.ts +26 -0
- package/src/input/index.ts +7 -0
- package/src/input/radio-group.tsx +110 -0
- package/src/input/selection-input.stories.tsx +46 -0
- package/src/input/selection-input.tsx +112 -0
- package/src/input/text-input.tsx +253 -0
- package/src/list/index.ts +5 -0
- package/src/list/list-section-header.tsx +37 -0
- package/src/list/list-title-header.tsx +30 -0
- package/src/loader/index.ts +5 -0
- package/src/loader/loader.stories.tsx +31 -0
- package/src/loader/loader.tsx +169 -0
- package/src/loader/loading-result.stories.tsx +67 -0
- package/src/loader/loading-result.tsx +93 -0
- package/src/nerd-view/index.ts +3 -0
- package/src/nerd-view/nerd-mode-item.tsx +296 -0
- package/src/normalize-color.d.ts +1 -0
- package/src/pin/index.ts +4 -0
- package/src/pin/keypad.tsx +166 -0
- package/src/pin/pin-code-screen.stories.tsx +80 -0
- package/src/pin/pin-code-screen.tsx +195 -0
- package/src/pin/pins.tsx +48 -0
- package/src/screens/backup-screen.tsx +92 -0
- package/src/screens/image-preview-screen.stories.tsx +28 -0
- package/src/screens/image-preview-screen.tsx +82 -0
- package/src/screens/index.ts +13 -0
- package/src/screens/nerd-mode-screen.tsx +150 -0
- package/src/screens/qr-code-scanner-screen.stories.tsx +37 -0
- package/src/screens/qr-code-scanner-screen.tsx +124 -0
- package/src/screens/scroll-view-screen.tsx +91 -0
- package/src/screens/section-list-screen.tsx +61 -0
- package/src/searchbar/animated-search-bar.tsx +96 -0
- package/src/searchbar/index.ts +5 -0
- package/src/searchbar/search-bar.stories.tsx +31 -0
- package/src/searchbar/search-bar.tsx +94 -0
- package/src/settings/button-setting.tsx +72 -0
- package/src/settings/index.ts +11 -0
- package/src/settings/setting-item-separator.tsx +32 -0
- package/src/settings/setting-item.tsx +68 -0
- package/src/settings/settings-button.tsx +23 -0
- package/src/settings/switch-setting.tsx +33 -0
- package/src/state/error-screen.stories.tsx +22 -0
- package/src/state/error-screen.tsx +71 -0
- package/src/state/index.ts +3 -0
- package/src/text/base.tsx +53 -0
- package/src/text/font.ts +52 -0
- package/src/text/index.ts +3 -0
- package/src/text/typography.stories.tsx +70 -0
- package/src/text/typography.tsx +117 -0
- package/src/theme/color-scheme-context.tsx +48 -0
- package/src/theme/color-scheme.ts +31 -0
- package/src/theme/index.ts +4 -0
- package/src/utils/color.ts +34 -0
- package/src/utils/contrasting-status-bar.tsx +21 -0
- package/src/utils/date.ts +49 -0
- package/src/utils/hooks/header/on-scroll-header-state.tsx +16 -0
- package/src/utils/hooks/index.ts +5 -0
- package/src/utils/hooks/list/list-content-inset.ts +24 -0
- package/src/utils/index.ts +19 -0
- package/src/utils/navigation.ts +37 -0
- package/src/utils/ref.ts +39 -0
- package/src/utils/testID.test.ts +20 -0
- package/src/utils/testID.ts +9 -0
- package/src/utils/useMemoAsync.ts +50 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Platform, StyleSheet, View } from 'react-native';
|
|
4
|
+
import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
5
|
+
import { Button } from '../buttons/button';
|
|
6
|
+
import NavigationHeader from '../header/navigation-header';
|
|
7
|
+
import Typography from '../text/typography';
|
|
8
|
+
import { useAppColorScheme } from '../theme/color-scheme-context';
|
|
9
|
+
import LoaderView from './loader';
|
|
10
|
+
const LoadingResultScreen = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
button,
|
|
13
|
+
header,
|
|
14
|
+
loader: {
|
|
15
|
+
label,
|
|
16
|
+
...loaderProps
|
|
17
|
+
},
|
|
18
|
+
secondaryButton: button2,
|
|
19
|
+
style,
|
|
20
|
+
tertiaryButton: button3,
|
|
21
|
+
...viewProps
|
|
22
|
+
} = _ref;
|
|
23
|
+
const colorScheme = useAppColorScheme();
|
|
24
|
+
const {
|
|
25
|
+
top
|
|
26
|
+
} = useSafeAreaInsets();
|
|
27
|
+
let headerPaddingStyle;
|
|
28
|
+
if (Platform.OS === 'android') {
|
|
29
|
+
headerPaddingStyle = {
|
|
30
|
+
paddingTop: top
|
|
31
|
+
};
|
|
32
|
+
} else if (!(header !== null && header !== void 0 && header.modalHandleVisible) && Platform.OS === 'ios') {
|
|
33
|
+
headerPaddingStyle = styles.modalHeaderWithoutHandle;
|
|
34
|
+
}
|
|
35
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
|
36
|
+
style: [styles.container, {
|
|
37
|
+
backgroundColor: colorScheme.background
|
|
38
|
+
}, style]
|
|
39
|
+
}, viewProps), /*#__PURE__*/React.createElement(View, {
|
|
40
|
+
style: [styles.headerWrapper, headerPaddingStyle]
|
|
41
|
+
}, /*#__PURE__*/React.createElement(NavigationHeader, header)), /*#__PURE__*/React.createElement(View, {
|
|
42
|
+
style: styles.loaderWrapper
|
|
43
|
+
}, /*#__PURE__*/React.createElement(LoaderView, loaderProps), /*#__PURE__*/React.createElement(Typography, {
|
|
44
|
+
align: "center",
|
|
45
|
+
color: colorScheme.text,
|
|
46
|
+
preset: "regular",
|
|
47
|
+
style: styles.label
|
|
48
|
+
}, label)), /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
49
|
+
edges: ['bottom'],
|
|
50
|
+
style: styles.buttonWrapper
|
|
51
|
+
}, button && /*#__PURE__*/React.createElement(Button, button, button.title), button2 && /*#__PURE__*/React.createElement(Button, button2, button2.title), button3 && /*#__PURE__*/React.createElement(Button, button3, button3.title)));
|
|
52
|
+
};
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
buttonWrapper: {
|
|
55
|
+
gap: 12,
|
|
56
|
+
height: 274,
|
|
57
|
+
justifyContent: 'flex-end',
|
|
58
|
+
padding: 12
|
|
59
|
+
},
|
|
60
|
+
container: {
|
|
61
|
+
alignItems: 'stretch',
|
|
62
|
+
flex: 1,
|
|
63
|
+
flexDirection: 'column',
|
|
64
|
+
justifyContent: 'space-between'
|
|
65
|
+
},
|
|
66
|
+
headerWrapper: {
|
|
67
|
+
height: 215
|
|
68
|
+
},
|
|
69
|
+
label: {
|
|
70
|
+
marginHorizontal: 20,
|
|
71
|
+
marginTop: 20
|
|
72
|
+
},
|
|
73
|
+
loaderWrapper: {
|
|
74
|
+
alignItems: 'center',
|
|
75
|
+
flexDirection: 'column',
|
|
76
|
+
height: 108,
|
|
77
|
+
justifyContent: 'space-between'
|
|
78
|
+
},
|
|
79
|
+
modalHeaderWithoutHandle: {
|
|
80
|
+
paddingTop: 15
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
export default LoadingResultScreen;
|
|
84
|
+
//# sourceMappingURL=loading-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Platform","StyleSheet","View","SafeAreaView","useSafeAreaInsets","Button","NavigationHeader","Typography","useAppColorScheme","LoaderView","LoadingResultScreen","_ref","button","header","loader","label","loaderProps","secondaryButton","button2","style","tertiaryButton","button3","viewProps","colorScheme","top","headerPaddingStyle","OS","paddingTop","modalHandleVisible","styles","modalHeaderWithoutHandle","createElement","_extends","container","backgroundColor","background","headerWrapper","loaderWrapper","align","color","text","preset","edges","buttonWrapper","title","create","gap","height","justifyContent","padding","alignItems","flex","flexDirection","marginHorizontal","marginTop"],"sources":["loading-result.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Platform, StyleSheet, View, ViewProps, ViewStyle } from 'react-native';\nimport { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { Button, ButtonProps } from '../buttons/button';\nimport NavigationHeader, { NavigationHeaderProps } from '../header/navigation-header';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\nimport LoaderView, { LoaderViewProps } from './loader';\n\nexport type LoadingResultScreenProps = ViewProps & {\n button?: ButtonProps;\n header?: NavigationHeaderProps;\n loader: LoaderViewProps & {\n label?: string;\n };\n secondaryButton?: ButtonProps;\n tertiaryButton?: ButtonProps;\n};\n\nconst LoadingResultScreen: FC<LoadingResultScreenProps> = ({\n button,\n header,\n loader: { label, ...loaderProps },\n secondaryButton: button2,\n style,\n tertiaryButton: button3,\n ...viewProps\n}) => {\n const colorScheme = useAppColorScheme();\n const { top } = useSafeAreaInsets();\n\n let headerPaddingStyle: ViewStyle | undefined;\n if (Platform.OS === 'android') {\n headerPaddingStyle = {\n paddingTop: top,\n };\n } else if (!header?.modalHandleVisible && Platform.OS === 'ios') {\n headerPaddingStyle = styles.modalHeaderWithoutHandle;\n }\n\n return (\n <View style={[styles.container, { backgroundColor: colorScheme.background }, style]} {...viewProps}>\n <View style={[styles.headerWrapper, headerPaddingStyle]}>\n <NavigationHeader {...header} />\n </View>\n <View style={styles.loaderWrapper}>\n <LoaderView {...loaderProps} />\n <Typography align=\"center\" color={colorScheme.text} preset=\"regular\" style={styles.label}>\n {label}\n </Typography>\n </View>\n <SafeAreaView edges={['bottom']} style={styles.buttonWrapper}>\n {button && <Button {...button}>{button.title}</Button>}\n {button2 && <Button {...button2}>{button2.title}</Button>}\n {button3 && <Button {...button3}>{button3.title}</Button>}\n </SafeAreaView>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n buttonWrapper: {\n gap: 12,\n height: 274,\n justifyContent: 'flex-end',\n padding: 12,\n },\n container: {\n alignItems: 'stretch',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between',\n },\n headerWrapper: {\n height: 215,\n },\n label: {\n marginHorizontal: 20,\n marginTop: 20,\n },\n loaderWrapper: {\n alignItems: 'center',\n flexDirection: 'column',\n height: 108,\n justifyContent: 'space-between',\n },\n modalHeaderWithoutHandle: {\n paddingTop: 15,\n },\n});\n\nexport default LoadingResultScreen;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NerdModeItem","ActionIcon","NerdModeItemProps"],"sources":["index.ts"],"sourcesContent":["import NerdModeItem, { ActionIcon, NerdModeItemProps } from './nerd-mode-item';\n\nexport { ActionIcon, NerdModeItem, NerdModeItemProps };\n"],"mappings":"AAAA,OAAOA,YAAY,IAAIC,UAAU,EAAEC,iBAAiB,QAAQ,kBAAkB;AAE9E,SAASD,UAAU,EAAED,YAAY,EAAEE,iBAAiB"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { Dimensions, Linking, StyleSheet, View } from 'react-native';
|
|
3
|
+
import { TouchableOpacity } from 'react-native-gesture-handler';
|
|
4
|
+
import Animated, { clamp, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
5
|
+
import { Button, ButtonType } from '../buttons/button';
|
|
6
|
+
import { CopyContentIcon, OpenLinkIcon } from '../icons/nerd-view';
|
|
7
|
+
import Typography from '../text/typography';
|
|
8
|
+
import { useAppColorScheme } from '../theme/color-scheme-context';
|
|
9
|
+
import { concatTestID } from '../utils/testID';
|
|
10
|
+
const VALUE_PREVIEW_LENGTH = 80;
|
|
11
|
+
const ICON_HEIGHT = 48;
|
|
12
|
+
const CONTAINER_PADDING = 8;
|
|
13
|
+
|
|
14
|
+
// The onExpand and expandedAttributes props are used to notify other expanded fields
|
|
15
|
+
// that the layout (and thus the scrollOffset / icon position) has changed. This
|
|
16
|
+
// will trigger a view measurement and repositioning of the icon on all expanded fields.
|
|
17
|
+
|
|
18
|
+
const styles = StyleSheet.create({
|
|
19
|
+
actionIcon: {
|
|
20
|
+
alignItems: 'center',
|
|
21
|
+
flex: 0.15,
|
|
22
|
+
height: ICON_HEIGHT,
|
|
23
|
+
justifyContent: 'center'
|
|
24
|
+
},
|
|
25
|
+
actionIconSingleLine: {
|
|
26
|
+
height: 24
|
|
27
|
+
},
|
|
28
|
+
attributeLabel: {
|
|
29
|
+
marginBottom: 4,
|
|
30
|
+
paddingHorizontal: 6
|
|
31
|
+
},
|
|
32
|
+
attributeValue: {
|
|
33
|
+
flex: 0.85,
|
|
34
|
+
flexGrow: 1
|
|
35
|
+
},
|
|
36
|
+
attributeValueContainer: {
|
|
37
|
+
borderRadius: 2,
|
|
38
|
+
borderWidth: 0.2,
|
|
39
|
+
flexDirection: 'row',
|
|
40
|
+
padding: CONTAINER_PADDING
|
|
41
|
+
},
|
|
42
|
+
container: {
|
|
43
|
+
paddingHorizontal: 20,
|
|
44
|
+
paddingTop: 16
|
|
45
|
+
},
|
|
46
|
+
expandValueButton: {
|
|
47
|
+
borderRadius: 4,
|
|
48
|
+
borderWidth: 0,
|
|
49
|
+
marginTop: 4
|
|
50
|
+
},
|
|
51
|
+
lastAttribute: {
|
|
52
|
+
paddingBottom: 30
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export const ActionIcon = _ref => {
|
|
56
|
+
let {
|
|
57
|
+
value,
|
|
58
|
+
link,
|
|
59
|
+
onCopyToClipboard,
|
|
60
|
+
testID,
|
|
61
|
+
copy
|
|
62
|
+
} = _ref;
|
|
63
|
+
const handleCopy = useCallback(() => {
|
|
64
|
+
onCopyToClipboard(value);
|
|
65
|
+
}, [onCopyToClipboard, value]);
|
|
66
|
+
const openLink = useCallback(() => {
|
|
67
|
+
if (link) {
|
|
68
|
+
Linking.openURL(link);
|
|
69
|
+
}
|
|
70
|
+
}, [link]);
|
|
71
|
+
if (copy) {
|
|
72
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
73
|
+
onPress: handleCopy,
|
|
74
|
+
testID: testID
|
|
75
|
+
}, /*#__PURE__*/React.createElement(CopyContentIcon, null));
|
|
76
|
+
}
|
|
77
|
+
if (link) {
|
|
78
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
79
|
+
onPress: openLink,
|
|
80
|
+
testID: testID
|
|
81
|
+
}, /*#__PURE__*/React.createElement(OpenLinkIcon, null));
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
};
|
|
85
|
+
const TextWithHighlight = _ref2 => {
|
|
86
|
+
let {
|
|
87
|
+
highlightedText,
|
|
88
|
+
onLayout,
|
|
89
|
+
testID,
|
|
90
|
+
text
|
|
91
|
+
} = _ref2;
|
|
92
|
+
const colorScheme = useAppColorScheme();
|
|
93
|
+
return /*#__PURE__*/React.createElement(Typography, {
|
|
94
|
+
color: colorScheme.white,
|
|
95
|
+
onLayout: onLayout,
|
|
96
|
+
preset: "s/code",
|
|
97
|
+
style: styles.attributeValue,
|
|
98
|
+
testID: testID
|
|
99
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
100
|
+
color: colorScheme.nerdView.codeHighlightText,
|
|
101
|
+
preset: "s/code"
|
|
102
|
+
}, highlightedText), text);
|
|
103
|
+
};
|
|
104
|
+
const NerdModeItem = _ref3 => {
|
|
105
|
+
let {
|
|
106
|
+
highlightedText = '',
|
|
107
|
+
attributeText = '',
|
|
108
|
+
attributeKey,
|
|
109
|
+
labels,
|
|
110
|
+
link,
|
|
111
|
+
canBeCopied,
|
|
112
|
+
onCopyToClipboard,
|
|
113
|
+
onExpand,
|
|
114
|
+
expandedAttributes,
|
|
115
|
+
last = false,
|
|
116
|
+
scrollOffset,
|
|
117
|
+
element,
|
|
118
|
+
testID
|
|
119
|
+
} = _ref3;
|
|
120
|
+
const colorScheme = useAppColorScheme();
|
|
121
|
+
const valueViewRef = React.useRef(null);
|
|
122
|
+
const [isSingleLine, setIsSingleLine] = useState();
|
|
123
|
+
const expandedView = useSharedValue({
|
|
124
|
+
expandedAtOffset: 0,
|
|
125
|
+
viewHeight: 0,
|
|
126
|
+
viewStart: 0
|
|
127
|
+
});
|
|
128
|
+
const expandable = attributeText.length > VALUE_PREVIEW_LENGTH;
|
|
129
|
+
const [expanded, setExpanded] = useState(!expandable);
|
|
130
|
+
const screenMiddle = useMemo(() => Dimensions.get('screen').height / 2, []);
|
|
131
|
+
const iconTopPosition = useDerivedValue(() => {
|
|
132
|
+
if (isSingleLine === undefined) {
|
|
133
|
+
return 0;
|
|
134
|
+
}
|
|
135
|
+
if (!expanded || !expandable || !scrollOffset || isSingleLine) {
|
|
136
|
+
const iconHeight = isSingleLine ? 0 : ICON_HEIGHT;
|
|
137
|
+
return expandedView.value.viewHeight / 2 - iconHeight / 2;
|
|
138
|
+
}
|
|
139
|
+
const viewEnd = expandedView.value.viewStart + expandedView.value.viewHeight;
|
|
140
|
+
let zeroedOffset = scrollOffset.value - expandedView.value.expandedAtOffset;
|
|
141
|
+
if (expandedView.value.viewStart > screenMiddle) {
|
|
142
|
+
zeroedOffset = zeroedOffset - (expandedView.value.viewStart - screenMiddle + ICON_HEIGHT / 2);
|
|
143
|
+
} else {
|
|
144
|
+
if (viewEnd < screenMiddle + ICON_HEIGHT) {
|
|
145
|
+
zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);
|
|
146
|
+
} else if (expandedView.value.viewStart < screenMiddle && viewEnd > screenMiddle) {
|
|
147
|
+
zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return clamp(zeroedOffset, 0, expandedView.value.viewHeight - ICON_HEIGHT - 8);
|
|
151
|
+
});
|
|
152
|
+
const iconStyle = useAnimatedStyle(() => {
|
|
153
|
+
return {
|
|
154
|
+
transform: [{
|
|
155
|
+
translateY: iconTopPosition.value
|
|
156
|
+
}]
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
const previewText = expanded ? attributeText : attributeText.slice(0, VALUE_PREVIEW_LENGTH) + '...';
|
|
160
|
+
useEffect(() => {
|
|
161
|
+
if (!scrollOffset || isSingleLine === undefined) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
setTimeout(() => {
|
|
165
|
+
var _valueViewRef$current;
|
|
166
|
+
(_valueViewRef$current = valueViewRef.current) === null || _valueViewRef$current === void 0 ? void 0 : _valueViewRef$current.measure((x, y, w, h, px, py) => {
|
|
167
|
+
expandedView.value = {
|
|
168
|
+
expandedAtOffset: isSingleLine ? 0 : scrollOffset.value,
|
|
169
|
+
viewHeight: isSingleLine ? 0 : h - 2 * CONTAINER_PADDING,
|
|
170
|
+
viewStart: py
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
}, 0);
|
|
174
|
+
// We only recompute when any attribute is expanded
|
|
175
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
176
|
+
}, [expandedAttributes, isSingleLine]);
|
|
177
|
+
const onTextLayout = useCallback(event => {
|
|
178
|
+
const {
|
|
179
|
+
height
|
|
180
|
+
} = event.nativeEvent.layout;
|
|
181
|
+
setIsSingleLine(height <= 24);
|
|
182
|
+
}, []);
|
|
183
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
184
|
+
style: [styles.container, {
|
|
185
|
+
backgroundColor: colorScheme.nerdView.attributeSectionBackground
|
|
186
|
+
}, last ? styles.lastAttribute : {}],
|
|
187
|
+
testID: testID
|
|
188
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
189
|
+
color: colorScheme.nerdView.attributeLabel,
|
|
190
|
+
preset: "s/code",
|
|
191
|
+
style: styles.attributeLabel,
|
|
192
|
+
testID: concatTestID(testID, 'attributeLabel')
|
|
193
|
+
}, attributeKey), /*#__PURE__*/React.createElement(View, {
|
|
194
|
+
ref: valueViewRef,
|
|
195
|
+
style: [styles.attributeValueContainer, {
|
|
196
|
+
backgroundColor: colorScheme.nerdView.attributeValueBackground,
|
|
197
|
+
borderColor: colorScheme.nerdView.attributeValueBorder
|
|
198
|
+
}]
|
|
199
|
+
}, element ? element : /*#__PURE__*/React.createElement(TextWithHighlight, {
|
|
200
|
+
highlightedText: highlightedText,
|
|
201
|
+
onLayout: onTextLayout,
|
|
202
|
+
testID: concatTestID(testID, 'attributeValue'),
|
|
203
|
+
text: previewText
|
|
204
|
+
}), (canBeCopied || link) && isSingleLine !== undefined ? /*#__PURE__*/React.createElement(Animated.View, {
|
|
205
|
+
style: [styles.actionIcon, isSingleLine ? styles.actionIconSingleLine : undefined, iconStyle]
|
|
206
|
+
}, /*#__PURE__*/React.createElement(ActionIcon, {
|
|
207
|
+
copy: canBeCopied,
|
|
208
|
+
link: link,
|
|
209
|
+
onCopyToClipboard: onCopyToClipboard,
|
|
210
|
+
testID: concatTestID(testID, 'actionIcon'),
|
|
211
|
+
value: `${highlightedText}${attributeText}`
|
|
212
|
+
})) : null), expandable ? /*#__PURE__*/React.createElement(Button, {
|
|
213
|
+
onPress: () => {
|
|
214
|
+
onExpand && onExpand(!expanded);
|
|
215
|
+
setExpanded(!expanded);
|
|
216
|
+
},
|
|
217
|
+
style: styles.expandValueButton,
|
|
218
|
+
testID: concatTestID(testID, 'expandValueButton'),
|
|
219
|
+
title: expanded ? labels.collapse : labels.expand,
|
|
220
|
+
type: ButtonType.SmallTech
|
|
221
|
+
}) : null);
|
|
222
|
+
};
|
|
223
|
+
export default NerdModeItem;
|
|
224
|
+
//# sourceMappingURL=nerd-mode-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","Dimensions","Linking","StyleSheet","View","TouchableOpacity","Animated","clamp","useAnimatedStyle","useDerivedValue","useSharedValue","Button","ButtonType","CopyContentIcon","OpenLinkIcon","Typography","useAppColorScheme","concatTestID","VALUE_PREVIEW_LENGTH","ICON_HEIGHT","CONTAINER_PADDING","styles","create","actionIcon","alignItems","flex","height","justifyContent","actionIconSingleLine","attributeLabel","marginBottom","paddingHorizontal","attributeValue","flexGrow","attributeValueContainer","borderRadius","borderWidth","flexDirection","padding","container","paddingTop","expandValueButton","marginTop","lastAttribute","paddingBottom","ActionIcon","_ref","value","link","onCopyToClipboard","testID","copy","handleCopy","openLink","openURL","createElement","onPress","TextWithHighlight","_ref2","highlightedText","onLayout","text","colorScheme","color","white","preset","style","nerdView","codeHighlightText","NerdModeItem","_ref3","attributeText","attributeKey","labels","canBeCopied","onExpand","expandedAttributes","last","scrollOffset","element","valueViewRef","useRef","isSingleLine","setIsSingleLine","expandedView","expandedAtOffset","viewHeight","viewStart","expandable","length","expanded","setExpanded","screenMiddle","get","iconTopPosition","undefined","iconHeight","viewEnd","zeroedOffset","iconStyle","transform","translateY","previewText","slice","setTimeout","_valueViewRef$current","current","measure","x","y","w","h","px","py","onTextLayout","event","nativeEvent","layout","backgroundColor","attributeSectionBackground","ref","attributeValueBackground","borderColor","attributeValueBorder","title","collapse","expand","type","SmallTech"],"sources":["nerd-mode-item.tsx"],"sourcesContent":["import React, { FunctionComponent, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Dimensions, LayoutChangeEvent, Linking, StyleSheet, View, ViewStyle } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\nimport Animated, {\n clamp,\n SharedValue,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n} from 'react-native-reanimated';\n\nimport { Button, ButtonType } from '../buttons/button';\nimport { CopyContentIcon, OpenLinkIcon } from '../icons/nerd-view';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\nimport { concatTestID } from '../utils/testID';\n\nconst VALUE_PREVIEW_LENGTH = 80;\nconst ICON_HEIGHT = 48;\nconst CONTAINER_PADDING = 8;\n\n// The onExpand and expandedAttributes props are used to notify other expanded fields\n// that the layout (and thus the scrollOffset / icon position) has changed. This\n// will trigger a view measurement and repositioning of the icon on all expanded fields.\n\nexport type NerdModeItemProps = {\n attributeKey: string;\n attributeText?: string;\n canBeCopied?: boolean;\n element?: React.ReactElement;\n expandedAttributes?: number;\n highlightedText?: string;\n labels: {\n expand: string;\n collapse: string;\n };\n last?: boolean;\n link?: string;\n onCopyToClipboard: (value: string) => void;\n onExpand?: (expanded: boolean) => void;\n scrollOffset?: SharedValue<number>;\n testID?: string;\n};\n\nconst styles = StyleSheet.create({\n actionIcon: {\n alignItems: 'center',\n flex: 0.15,\n height: ICON_HEIGHT,\n justifyContent: 'center',\n },\n actionIconSingleLine: {\n height: 24,\n },\n attributeLabel: {\n marginBottom: 4,\n paddingHorizontal: 6,\n },\n attributeValue: {\n flex: 0.85,\n flexGrow: 1,\n },\n attributeValueContainer: {\n borderRadius: 2,\n borderWidth: 0.2,\n flexDirection: 'row',\n padding: CONTAINER_PADDING,\n },\n container: {\n paddingHorizontal: 20,\n paddingTop: 16,\n },\n expandValueButton: {\n borderRadius: 4,\n borderWidth: 0,\n marginTop: 4,\n },\n lastAttribute: {\n paddingBottom: 30,\n },\n});\n\nexport const ActionIcon: FunctionComponent<{\n copy?: boolean;\n link?: string;\n onCopyToClipboard: (value: string) => void;\n style?: ViewStyle;\n testID?: string;\n value: string;\n}> = ({ value, link, onCopyToClipboard, testID, copy }) => {\n const handleCopy = useCallback(() => {\n onCopyToClipboard(value);\n }, [onCopyToClipboard, value]);\n\n const openLink = useCallback(() => {\n if (link) {\n Linking.openURL(link);\n }\n }, [link]);\n\n if (copy) {\n return (\n <TouchableOpacity onPress={handleCopy} testID={testID}>\n <CopyContentIcon />\n </TouchableOpacity>\n );\n }\n\n if (link) {\n return (\n <TouchableOpacity onPress={openLink} testID={testID}>\n <OpenLinkIcon />\n </TouchableOpacity>\n );\n }\n\n return null;\n};\n\nconst TextWithHighlight: FunctionComponent<{\n highlightedText: string;\n onLayout?: (event: LayoutChangeEvent) => void;\n testID: string;\n text: string;\n}> = ({ highlightedText, onLayout, testID, text }) => {\n const colorScheme = useAppColorScheme();\n return (\n <Typography\n color={colorScheme.white}\n onLayout={onLayout}\n preset=\"s/code\"\n style={styles.attributeValue}\n testID={testID}>\n <Typography color={colorScheme.nerdView.codeHighlightText} preset=\"s/code\">\n {highlightedText}\n </Typography>\n {text}\n </Typography>\n );\n};\n\nconst NerdModeItem: FunctionComponent<NerdModeItemProps> = ({\n highlightedText = '',\n attributeText = '',\n attributeKey,\n labels,\n link,\n canBeCopied,\n onCopyToClipboard,\n onExpand,\n expandedAttributes,\n last = false,\n scrollOffset,\n element,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const valueViewRef = React.useRef<View>(null);\n const [isSingleLine, setIsSingleLine] = useState<boolean>();\n\n const expandedView = useSharedValue({\n expandedAtOffset: 0,\n viewHeight: 0,\n viewStart: 0,\n });\n\n const expandable = attributeText.length > VALUE_PREVIEW_LENGTH;\n const [expanded, setExpanded] = useState(!expandable);\n\n const screenMiddle = useMemo(() => Dimensions.get('screen').height / 2, []);\n\n const iconTopPosition = useDerivedValue(() => {\n if (isSingleLine === undefined) {\n return 0;\n }\n if (!expanded || !expandable || !scrollOffset || isSingleLine) {\n const iconHeight = isSingleLine ? 0 : ICON_HEIGHT;\n return expandedView.value.viewHeight / 2 - iconHeight / 2;\n }\n\n const viewEnd = expandedView.value.viewStart + expandedView.value.viewHeight;\n let zeroedOffset = scrollOffset.value - expandedView.value.expandedAtOffset;\n\n if (expandedView.value.viewStart > screenMiddle) {\n zeroedOffset = zeroedOffset - (expandedView.value.viewStart - screenMiddle + ICON_HEIGHT / 2);\n } else {\n if (viewEnd < screenMiddle + ICON_HEIGHT) {\n zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);\n } else if (expandedView.value.viewStart < screenMiddle && viewEnd > screenMiddle) {\n zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);\n }\n }\n\n return clamp(zeroedOffset, 0, expandedView.value.viewHeight - ICON_HEIGHT - 8);\n });\n\n const iconStyle = useAnimatedStyle(() => {\n return {\n transform: [\n {\n translateY: iconTopPosition.value,\n },\n ],\n };\n });\n\n const previewText = expanded ? attributeText : attributeText.slice(0, VALUE_PREVIEW_LENGTH) + '...';\n\n useEffect(() => {\n if (!scrollOffset || isSingleLine === undefined) {\n return;\n }\n\n setTimeout(() => {\n valueViewRef.current?.measure((x, y, w, h, px, py) => {\n expandedView.value = {\n expandedAtOffset: isSingleLine ? 0 : scrollOffset.value,\n viewHeight: isSingleLine ? 0 : h - 2 * CONTAINER_PADDING,\n viewStart: py,\n };\n });\n }, 0);\n // We only recompute when any attribute is expanded\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expandedAttributes, isSingleLine]);\n\n const onTextLayout = useCallback((event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n setIsSingleLine(height <= 24);\n }, []);\n\n return (\n <View\n style={[\n styles.container,\n { backgroundColor: colorScheme.nerdView.attributeSectionBackground },\n last ? styles.lastAttribute : {},\n ]}\n testID={testID}>\n <Typography\n color={colorScheme.nerdView.attributeLabel}\n preset=\"s/code\"\n style={styles.attributeLabel}\n testID={concatTestID(testID, 'attributeLabel')}>\n {attributeKey}\n </Typography>\n <View\n ref={valueViewRef}\n style={[\n styles.attributeValueContainer,\n {\n backgroundColor: colorScheme.nerdView.attributeValueBackground,\n borderColor: colorScheme.nerdView.attributeValueBorder,\n },\n ]}>\n {element ? (\n element\n ) : (\n <TextWithHighlight\n highlightedText={highlightedText}\n onLayout={onTextLayout}\n testID={concatTestID(testID, 'attributeValue')!}\n text={previewText}\n />\n )}\n {(canBeCopied || link) && isSingleLine !== undefined ? (\n <Animated.View style={[styles.actionIcon, isSingleLine ? styles.actionIconSingleLine : undefined, iconStyle]}>\n {\n <ActionIcon\n copy={canBeCopied}\n link={link}\n onCopyToClipboard={onCopyToClipboard}\n testID={concatTestID(testID, 'actionIcon')}\n value={`${highlightedText}${attributeText}`}\n />\n }\n </Animated.View>\n ) : null}\n </View>\n {expandable ? (\n <Button\n onPress={() => {\n onExpand && onExpand(!expanded);\n setExpanded(!expanded);\n }}\n style={styles.expandValueButton}\n testID={concatTestID(testID, 'expandValueButton')}\n title={expanded ? labels.collapse : labels.expand}\n type={ButtonType.SmallTech}\n />\n ) : null}\n </View>\n );\n};\n\nexport default NerdModeItem;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["normalize-color.d.ts"],"sourcesContent":["declare module '@react-native/normalize-color';\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Biometry","PinCodeScreen","PinCodeScreenActions","PinCodeScreenProps"],"sources":["index.ts"],"sourcesContent":["import { Biometry } from './keypad';\nimport { PinCodeScreen, PinCodeScreenActions, PinCodeScreenProps } from './pin-code-screen';\n\nexport { Biometry, PinCodeScreen, PinCodeScreenActions, PinCodeScreenProps };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,UAAU;AACnC,SAASC,aAAa,EAAEC,oBAAoB,EAAEC,kBAAkB,QAAQ,mBAAmB;AAE3F,SAASH,QAAQ,EAAEC,aAAa,EAAEC,oBAAoB,EAAEC,kBAAkB"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import React, { useCallback, useMemo, useState } from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { TouchableOpacity } from '../accessibility';
|
|
4
|
+
import { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';
|
|
5
|
+
import { FaceIDIcon, FingerprintIcon, KeypadBackspaceIcon, KeypadClearIcon } from '../icons/keypad';
|
|
6
|
+
import { Typography } from '../text';
|
|
7
|
+
import { useAppColorScheme } from '../theme';
|
|
8
|
+
import { concatTestID } from '../utils/testID';
|
|
9
|
+
const DigitKey = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
10
|
+
let {
|
|
11
|
+
onPress,
|
|
12
|
+
testID,
|
|
13
|
+
digit
|
|
14
|
+
} = _ref;
|
|
15
|
+
const colorScheme = useAppColorScheme();
|
|
16
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
17
|
+
testID: concatTestID(testID, String(digit)),
|
|
18
|
+
ref: ref,
|
|
19
|
+
accessibilityRole: "button",
|
|
20
|
+
style: [styles.key, {
|
|
21
|
+
backgroundColor: colorScheme.background
|
|
22
|
+
}],
|
|
23
|
+
disabled: !onPress,
|
|
24
|
+
onPress: () => onPress === null || onPress === void 0 ? void 0 : onPress(digit)
|
|
25
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
26
|
+
maxFontSizeMultiplier: 1.5,
|
|
27
|
+
color: colorScheme.text,
|
|
28
|
+
preset: "xl"
|
|
29
|
+
}, digit));
|
|
30
|
+
});
|
|
31
|
+
DigitKey.displayName = 'DigitKey';
|
|
32
|
+
export let Biometry;
|
|
33
|
+
(function (Biometry) {
|
|
34
|
+
Biometry["FaceID"] = "faceID";
|
|
35
|
+
Biometry["Other"] = "other";
|
|
36
|
+
})(Biometry || (Biometry = {}));
|
|
37
|
+
const MIN_HEIGHT = 360;
|
|
38
|
+
const MIN_WIDTH = 264;
|
|
39
|
+
const KEY_SIZE = 72;
|
|
40
|
+
export const Keypad = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
41
|
+
let {
|
|
42
|
+
testID,
|
|
43
|
+
onPressDigit,
|
|
44
|
+
onPressDelete,
|
|
45
|
+
biometry,
|
|
46
|
+
onBiometricPress,
|
|
47
|
+
style,
|
|
48
|
+
onDeleteAll
|
|
49
|
+
} = _ref2;
|
|
50
|
+
const t = useAccessibilityTranslation();
|
|
51
|
+
const colorScheme = useAppColorScheme();
|
|
52
|
+
const [layout, setLayout] = useState();
|
|
53
|
+
const onLayout = useCallback(event => setLayout(event.nativeEvent.layout), []);
|
|
54
|
+
const {
|
|
55
|
+
width,
|
|
56
|
+
height
|
|
57
|
+
} = useMemo(() => {
|
|
58
|
+
if (!layout) {
|
|
59
|
+
return {};
|
|
60
|
+
}
|
|
61
|
+
const RATIO = MIN_WIDTH / MIN_HEIGHT;
|
|
62
|
+
if (layout.width > layout.height * RATIO) {
|
|
63
|
+
return {
|
|
64
|
+
height: layout.height,
|
|
65
|
+
width: layout.height * RATIO
|
|
66
|
+
};
|
|
67
|
+
} else {
|
|
68
|
+
return {
|
|
69
|
+
width: layout.width,
|
|
70
|
+
height: layout.width / RATIO
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}, [layout]);
|
|
74
|
+
const gap = width ? (width - 3 * KEY_SIZE) / 4 : undefined;
|
|
75
|
+
const lineStyles = [styles.line, {
|
|
76
|
+
width,
|
|
77
|
+
marginBottom: gap
|
|
78
|
+
}];
|
|
79
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
80
|
+
testID: testID,
|
|
81
|
+
style: [styles.cover, style],
|
|
82
|
+
onLayout: onLayout
|
|
83
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
84
|
+
style: {
|
|
85
|
+
height
|
|
86
|
+
}
|
|
87
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
88
|
+
style: lineStyles
|
|
89
|
+
}, /*#__PURE__*/React.createElement(DigitKey, {
|
|
90
|
+
testID: testID,
|
|
91
|
+
ref: ref,
|
|
92
|
+
digit: 1,
|
|
93
|
+
onPress: onPressDigit
|
|
94
|
+
}), /*#__PURE__*/React.createElement(DigitKey, {
|
|
95
|
+
testID: testID,
|
|
96
|
+
digit: 2,
|
|
97
|
+
onPress: onPressDigit
|
|
98
|
+
}), /*#__PURE__*/React.createElement(DigitKey, {
|
|
99
|
+
testID: testID,
|
|
100
|
+
digit: 3,
|
|
101
|
+
onPress: onPressDigit
|
|
102
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
103
|
+
style: lineStyles
|
|
104
|
+
}, /*#__PURE__*/React.createElement(DigitKey, {
|
|
105
|
+
testID: testID,
|
|
106
|
+
digit: 4,
|
|
107
|
+
onPress: onPressDigit
|
|
108
|
+
}), /*#__PURE__*/React.createElement(DigitKey, {
|
|
109
|
+
testID: testID,
|
|
110
|
+
digit: 5,
|
|
111
|
+
onPress: onPressDigit
|
|
112
|
+
}), /*#__PURE__*/React.createElement(DigitKey, {
|
|
113
|
+
testID: testID,
|
|
114
|
+
digit: 6,
|
|
115
|
+
onPress: onPressDigit
|
|
116
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
117
|
+
style: lineStyles
|
|
118
|
+
}, /*#__PURE__*/React.createElement(DigitKey, {
|
|
119
|
+
testID: testID,
|
|
120
|
+
digit: 7,
|
|
121
|
+
onPress: onPressDigit
|
|
122
|
+
}), /*#__PURE__*/React.createElement(DigitKey, {
|
|
123
|
+
testID: testID,
|
|
124
|
+
digit: 8,
|
|
125
|
+
onPress: onPressDigit
|
|
126
|
+
}), /*#__PURE__*/React.createElement(DigitKey, {
|
|
127
|
+
testID: testID,
|
|
128
|
+
digit: 9,
|
|
129
|
+
onPress: onPressDigit
|
|
130
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
131
|
+
style: lineStyles
|
|
132
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
133
|
+
testID: concatTestID(testID, 'delete-all'),
|
|
134
|
+
accessibilityRole: "button",
|
|
135
|
+
accessibilityLabel: t('accessibility.control.clear'),
|
|
136
|
+
style: styles.key,
|
|
137
|
+
disabled: !onDeleteAll,
|
|
138
|
+
onPress: onDeleteAll
|
|
139
|
+
}, onDeleteAll ? /*#__PURE__*/React.createElement(KeypadClearIcon, {
|
|
140
|
+
color: colorScheme.text
|
|
141
|
+
}) : null), /*#__PURE__*/React.createElement(DigitKey, {
|
|
142
|
+
testID: testID,
|
|
143
|
+
digit: 0,
|
|
144
|
+
onPress: onPressDigit
|
|
145
|
+
}), biometry ? /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
146
|
+
testID: concatTestID(testID, 'biometry'),
|
|
147
|
+
accessibilityRole: "button",
|
|
148
|
+
accessibilityLabel: t(biometry === Biometry.FaceID ? 'accessibility.key.faceId' : 'accessibility.key.fingerprint'),
|
|
149
|
+
style: styles.key,
|
|
150
|
+
disabled: !onBiometricPress,
|
|
151
|
+
onPress: onBiometricPress
|
|
152
|
+
}, biometry === Biometry.FaceID ? /*#__PURE__*/React.createElement(FaceIDIcon, {
|
|
153
|
+
color: colorScheme.text
|
|
154
|
+
}) : /*#__PURE__*/React.createElement(FingerprintIcon, {
|
|
155
|
+
color: colorScheme.text
|
|
156
|
+
})) : /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
157
|
+
testID: concatTestID(testID, 'delete'),
|
|
158
|
+
accessibilityRole: "button",
|
|
159
|
+
accessibilityLabel: t('accessibility.control.delete'),
|
|
160
|
+
style: styles.key,
|
|
161
|
+
disabled: !onPressDelete,
|
|
162
|
+
onPress: onPressDelete
|
|
163
|
+
}, onPressDelete ? /*#__PURE__*/React.createElement(KeypadBackspaceIcon, {
|
|
164
|
+
color: colorScheme.text
|
|
165
|
+
}) : null))));
|
|
166
|
+
});
|
|
167
|
+
Keypad.displayName = 'Keypad';
|
|
168
|
+
const styles = StyleSheet.create({
|
|
169
|
+
cover: {
|
|
170
|
+
alignItems: 'center',
|
|
171
|
+
flex: 1,
|
|
172
|
+
justifyContent: 'center',
|
|
173
|
+
maxHeight: 2 * MIN_HEIGHT,
|
|
174
|
+
maxWidth: 2 * MIN_WIDTH,
|
|
175
|
+
minHeight: MIN_HEIGHT,
|
|
176
|
+
minWidth: MIN_WIDTH,
|
|
177
|
+
width: '100%'
|
|
178
|
+
},
|
|
179
|
+
key: {
|
|
180
|
+
alignItems: 'center',
|
|
181
|
+
borderRadius: KEY_SIZE / 2,
|
|
182
|
+
height: KEY_SIZE,
|
|
183
|
+
justifyContent: 'center',
|
|
184
|
+
width: KEY_SIZE
|
|
185
|
+
},
|
|
186
|
+
line: {
|
|
187
|
+
flexDirection: 'row',
|
|
188
|
+
justifyContent: 'space-evenly'
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
//# sourceMappingURL=keypad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useState","StyleSheet","View","TouchableOpacity","useAccessibilityTranslation","FaceIDIcon","FingerprintIcon","KeypadBackspaceIcon","KeypadClearIcon","Typography","useAppColorScheme","concatTestID","DigitKey","forwardRef","_ref","ref","onPress","testID","digit","colorScheme","createElement","String","accessibilityRole","style","styles","key","backgroundColor","background","disabled","maxFontSizeMultiplier","color","text","preset","displayName","Biometry","MIN_HEIGHT","MIN_WIDTH","KEY_SIZE","Keypad","_ref2","onPressDigit","onPressDelete","biometry","onBiometricPress","onDeleteAll","t","layout","setLayout","onLayout","event","nativeEvent","width","height","RATIO","gap","undefined","lineStyles","line","marginBottom","cover","accessibilityLabel","FaceID","create","alignItems","flex","justifyContent","maxHeight","maxWidth","minHeight","minWidth","borderRadius","flexDirection"],"sources":["keypad.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { TouchableOpacity, TouchableOpacityRef } from '../accessibility';\nimport { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';\nimport { FaceIDIcon, FingerprintIcon, KeypadBackspaceIcon, KeypadClearIcon } from '../icons/keypad';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\nimport { concatTestID } from '../utils/testID';\n\ninterface DigitKeyProps {\n testID: string | undefined;\n digit: number;\n onPress?: (digit: number) => void;\n}\n\nconst DigitKey = React.forwardRef<TouchableOpacityRef, DigitKeyProps>(({ onPress, testID, digit }, ref) => {\n const colorScheme = useAppColorScheme();\n return (\n <TouchableOpacity\n testID={concatTestID(testID, String(digit))}\n ref={ref}\n accessibilityRole=\"button\"\n style={[styles.key, { backgroundColor: colorScheme.background }]}\n disabled={!onPress}\n onPress={() => onPress?.(digit)}>\n <Typography maxFontSizeMultiplier={1.5} color={colorScheme.text} preset=\"xl\">\n {digit}\n </Typography>\n </TouchableOpacity>\n );\n});\n\nDigitKey.displayName = 'DigitKey';\n\nexport enum Biometry {\n FaceID = 'faceID',\n Other = 'other',\n}\n\nexport interface KeypadProps {\n testID?: string;\n biometry?: Biometry | null;\n onBiometricPress?: () => void;\n onPressDigit?: (digit: number) => void;\n onPressDelete?: () => void;\n style?: StyleProp<ViewStyle>;\n onDeleteAll?: () => void;\n}\n\nconst MIN_HEIGHT = 360;\nconst MIN_WIDTH = 264;\nconst KEY_SIZE = 72;\n\nexport const Keypad = React.forwardRef<TouchableOpacityRef, KeypadProps>(\n ({ testID, onPressDigit, onPressDelete, biometry, onBiometricPress, style, onDeleteAll }, ref) => {\n const t = useAccessibilityTranslation();\n const colorScheme = useAppColorScheme();\n\n const [layout, setLayout] = useState<LayoutRectangle>();\n const onLayout = useCallback((event: LayoutChangeEvent) => setLayout(event.nativeEvent.layout), []);\n\n const { width, height } = useMemo(() => {\n if (!layout) {\n return {};\n }\n\n const RATIO = MIN_WIDTH / MIN_HEIGHT;\n if (layout.width > layout.height * RATIO) {\n return { height: layout.height, width: layout.height * RATIO };\n } else {\n return { width: layout.width, height: layout.width / RATIO };\n }\n }, [layout]);\n\n const gap = width ? (width - 3 * KEY_SIZE) / 4 : undefined;\n const lineStyles = [styles.line, { width, marginBottom: gap }];\n\n return (\n <View testID={testID} style={[styles.cover, style]} onLayout={onLayout}>\n <View style={{ height }}>\n <View style={lineStyles}>\n <DigitKey testID={testID} ref={ref} digit={1} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={2} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={3} onPress={onPressDigit} />\n </View>\n <View style={lineStyles}>\n <DigitKey testID={testID} digit={4} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={5} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={6} onPress={onPressDigit} />\n </View>\n <View style={lineStyles}>\n <DigitKey testID={testID} digit={7} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={8} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={9} onPress={onPressDigit} />\n </View>\n <View style={lineStyles}>\n <TouchableOpacity\n testID={concatTestID(testID, 'delete-all')}\n accessibilityRole=\"button\"\n accessibilityLabel={t('accessibility.control.clear')}\n style={styles.key}\n disabled={!onDeleteAll}\n onPress={onDeleteAll}>\n {onDeleteAll ? <KeypadClearIcon color={colorScheme.text} /> : null}\n </TouchableOpacity>\n <DigitKey testID={testID} digit={0} onPress={onPressDigit} />\n {biometry ? (\n <TouchableOpacity\n testID={concatTestID(testID, 'biometry')}\n accessibilityRole=\"button\"\n accessibilityLabel={t(\n biometry === Biometry.FaceID ? 'accessibility.key.faceId' : 'accessibility.key.fingerprint',\n )}\n style={styles.key}\n disabled={!onBiometricPress}\n onPress={onBiometricPress}>\n {biometry === Biometry.FaceID ? (\n <FaceIDIcon color={colorScheme.text} />\n ) : (\n <FingerprintIcon color={colorScheme.text} />\n )}\n </TouchableOpacity>\n ) : (\n <TouchableOpacity\n testID={concatTestID(testID, 'delete')}\n accessibilityRole=\"button\"\n accessibilityLabel={t('accessibility.control.delete')}\n style={styles.key}\n disabled={!onPressDelete}\n onPress={onPressDelete}>\n {onPressDelete ? <KeypadBackspaceIcon color={colorScheme.text} /> : null}\n </TouchableOpacity>\n )}\n </View>\n </View>\n </View>\n );\n },\n);\n\nKeypad.displayName = 'Keypad';\n\nconst styles = StyleSheet.create({\n cover: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n maxHeight: 2 * MIN_HEIGHT,\n maxWidth: 2 * MIN_WIDTH,\n minHeight: MIN_HEIGHT,\n minWidth: MIN_WIDTH,\n width: '100%',\n },\n key: {\n alignItems: 'center',\n borderRadius: KEY_SIZE / 2,\n height: KEY_SIZE,\n justifyContent: 'center',\n width: KEY_SIZE,\n },\n line: {\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n },\n});\n"],"mappings":"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"}
|