@unif/react-native-design 0.8.2 → 0.10.0
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 +1 -2
- package/lib/module/components/business/AvatarWithRing/AvatarWithRing.js +6 -4
- package/lib/module/components/business/AvatarWithRing/AvatarWithRing.js.map +1 -1
- package/lib/module/components/business/AvatarWithRing/styles.js +15 -3
- package/lib/module/components/business/AvatarWithRing/styles.js.map +1 -1
- package/lib/module/components/business/Decorations/GradientWash.js +50 -36
- package/lib/module/components/business/Decorations/GradientWash.js.map +1 -1
- package/lib/module/components/business/Decorations/RadialHalo.js +10 -4
- package/lib/module/components/business/Decorations/RadialHalo.js.map +1 -1
- package/lib/module/components/business/Decorations/ScreenBackdrop.js +22 -14
- package/lib/module/components/business/Decorations/ScreenBackdrop.js.map +1 -1
- package/lib/module/components/business/Decorations/index.js +3 -0
- package/lib/module/components/business/Decorations/index.js.map +1 -1
- package/lib/module/components/business/GlassStats/GlassStats.js +7 -4
- package/lib/module/components/business/GlassStats/GlassStats.js.map +1 -1
- package/lib/module/components/business/GlassStats/types.js +2 -0
- package/lib/module/components/business/VersionPill/VersionPill.js +23 -5
- package/lib/module/components/business/VersionPill/VersionPill.js.map +1 -1
- package/lib/module/components/business/VersionPill/styles.js +1 -1
- package/lib/module/components/business/index.js.map +1 -1
- package/lib/module/components/business/useSvgId.js +20 -0
- package/lib/module/components/business/useSvgId.js.map +1 -0
- package/lib/module/components/ui/Avatar/Avatar.js +13 -8
- package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/ui/Avatar/styles.js +7 -7
- package/lib/module/components/ui/Avatar/styles.js.map +1 -1
- package/lib/module/components/ui/BlurLayer/BlurLayer.js +5 -1
- package/lib/module/components/ui/BlurLayer/BlurLayer.js.map +1 -1
- package/lib/module/components/ui/BlurLayer/BlurLayer.web.js +7 -1
- package/lib/module/components/ui/BlurLayer/BlurLayer.web.js.map +1 -1
- package/lib/module/components/ui/Button/Button.js +2 -1
- package/lib/module/components/ui/Button/Button.js.map +1 -1
- package/lib/module/components/ui/Button/ButtonBase.js +36 -2
- package/lib/module/components/ui/Button/ButtonBase.js.map +1 -1
- package/lib/module/components/ui/Button/styles.js +27 -25
- package/lib/module/components/ui/Button/styles.js.map +1 -1
- package/lib/module/components/ui/Card/Card.js +17 -8
- package/lib/module/components/ui/Card/Card.js.map +1 -1
- package/lib/module/components/ui/Card/styles.js +6 -1
- package/lib/module/components/ui/Card/styles.js.map +1 -1
- package/lib/module/components/ui/Carousel/Carousel.js +36 -6
- package/lib/module/components/ui/Carousel/Carousel.js.map +1 -1
- package/lib/module/components/ui/Cell/Cell.js +23 -5
- package/lib/module/components/ui/Cell/Cell.js.map +1 -1
- package/lib/module/components/ui/Cell/Leading.js +2 -2
- package/lib/module/components/ui/Cell/Leading.js.map +1 -1
- package/lib/module/components/ui/Cell/List.js +10 -5
- package/lib/module/components/ui/Cell/List.js.map +1 -1
- package/lib/module/components/ui/Cell/styles.js +7 -6
- package/lib/module/components/ui/Cell/styles.js.map +1 -1
- package/lib/module/components/ui/Checkbox/Checkbox.js +10 -8
- package/lib/module/components/ui/Checkbox/Checkbox.js.map +1 -1
- package/lib/module/components/ui/Checkbox/styles.js +9 -1
- package/lib/module/components/ui/Checkbox/styles.js.map +1 -1
- package/lib/module/components/ui/Chip/Chip.js +19 -5
- package/lib/module/components/ui/Chip/Chip.js.map +1 -1
- package/lib/module/components/ui/Confirm/ConfirmHost.js +28 -11
- package/lib/module/components/ui/Confirm/ConfirmHost.js.map +1 -1
- package/lib/module/components/ui/Confirm/confirm.js +6 -0
- package/lib/module/components/ui/Confirm/confirm.js.map +1 -1
- package/lib/module/components/ui/DrawerHeader/DrawerHeader.js +14 -9
- package/lib/module/components/ui/DrawerHeader/DrawerHeader.js.map +1 -1
- package/lib/module/components/ui/DrawerHeader/styles.js +10 -6
- package/lib/module/components/ui/DrawerHeader/styles.js.map +1 -1
- package/lib/module/components/ui/Empty/Empty.js +5 -4
- package/lib/module/components/ui/Empty/Empty.js.map +1 -1
- package/lib/module/components/ui/EntryCard/EntryCard.js +5 -3
- package/lib/module/components/ui/EntryCard/EntryCard.js.map +1 -1
- package/lib/module/components/ui/EntryCard/styles.js +4 -4
- package/lib/module/components/ui/EntryCard/styles.js.map +1 -1
- package/lib/module/components/ui/Form/FormRow.js +1 -0
- package/lib/module/components/ui/Form/FormRow.js.map +1 -1
- package/lib/module/components/ui/Form/styles.js +3 -1
- package/lib/module/components/ui/Form/styles.js.map +1 -1
- package/lib/module/components/ui/Grid/Grid.js +39 -24
- package/lib/module/components/ui/Grid/Grid.js.map +1 -1
- package/lib/module/components/ui/Grid/styles.js +35 -46
- package/lib/module/components/ui/Grid/styles.js.map +1 -1
- package/lib/module/components/ui/Icon/Icon.js +46 -29
- package/lib/module/components/ui/Icon/Icon.js.map +1 -1
- package/lib/module/components/ui/IconButton/IconButton.js +2 -0
- package/lib/module/components/ui/IconButton/IconButton.js.map +1 -1
- package/lib/module/components/ui/Logo/Logo.js +2 -1
- package/lib/module/components/ui/Logo/Logo.js.map +1 -1
- package/lib/module/components/ui/NavBar/NavBar.js +15 -3
- package/lib/module/components/ui/NavBar/NavBar.js.map +1 -1
- package/lib/module/components/ui/PasswordInput/PasswordInput.js +43 -14
- package/lib/module/components/ui/PasswordInput/PasswordInput.js.map +1 -1
- package/lib/module/components/ui/PasswordInput/styles.js +1 -1
- package/lib/module/components/ui/Pulse/Pulse.js +2 -1
- package/lib/module/components/ui/Pulse/Pulse.js.map +1 -1
- package/lib/module/components/ui/Pulse/PulseDot.js +8 -10
- package/lib/module/components/ui/Pulse/PulseDot.js.map +1 -1
- package/lib/module/components/ui/Pulse/types.js +2 -0
- package/lib/module/components/ui/Pulse/usePulse.web.js +51 -30
- package/lib/module/components/ui/Pulse/usePulse.web.js.map +1 -1
- package/lib/module/components/ui/Radio/Radio.js +19 -5
- package/lib/module/components/ui/Radio/Radio.js.map +1 -1
- package/lib/module/components/ui/Radio/RadioGroup.js +10 -6
- package/lib/module/components/ui/Radio/RadioGroup.js.map +1 -1
- package/lib/module/components/ui/Radio/styles.js +10 -3
- package/lib/module/components/ui/Radio/styles.js.map +1 -1
- package/lib/module/components/ui/Reveal/Reveal.web.js +18 -3
- package/lib/module/components/ui/Reveal/Reveal.web.js.map +1 -1
- package/lib/module/components/ui/Search/Search.js +26 -10
- package/lib/module/components/ui/Search/Search.js.map +1 -1
- package/lib/module/components/ui/Segmented/Segmented.js +40 -30
- package/lib/module/components/ui/Segmented/Segmented.js.map +1 -1
- package/lib/module/components/ui/Segmented/styles.js +4 -2
- package/lib/module/components/ui/Segmented/styles.js.map +1 -1
- package/lib/module/components/ui/Skeleton/Skeleton.js +9 -8
- package/lib/module/components/ui/Skeleton/Skeleton.js.map +1 -1
- package/lib/module/components/ui/Spinner/Spinner.js +15 -16
- package/lib/module/components/ui/Spinner/Spinner.js.map +1 -1
- package/lib/module/components/ui/Spinner/Spinner.web.js +10 -14
- package/lib/module/components/ui/Spinner/Spinner.web.js.map +1 -1
- package/lib/module/components/ui/Spinner/shared.js +31 -0
- package/lib/module/components/ui/Spinner/shared.js.map +1 -0
- package/lib/module/components/ui/StatusDot/StatusDot.js +21 -4
- package/lib/module/components/ui/StatusDot/StatusDot.js.map +1 -1
- package/lib/module/components/ui/StatusDot/styles.js +1 -1
- package/lib/module/components/ui/StatusDot/types.js +2 -0
- package/lib/module/components/ui/Stepper/Stepper.js +46 -10
- package/lib/module/components/ui/Stepper/Stepper.js.map +1 -1
- package/lib/module/components/ui/Switch/Switch.js +6 -11
- package/lib/module/components/ui/Switch/Switch.js.map +1 -1
- package/lib/module/components/ui/Switch/Switch.web.js +2 -8
- package/lib/module/components/ui/Switch/Switch.web.js.map +1 -1
- package/lib/module/components/ui/Switch/styles.js +12 -3
- package/lib/module/components/ui/Switch/styles.js.map +1 -1
- package/lib/module/components/ui/TabBar/TabBar.js +10 -6
- package/lib/module/components/ui/TabBar/TabBar.js.map +1 -1
- package/lib/module/components/ui/TabBar/styles.js +28 -39
- package/lib/module/components/ui/TabBar/styles.js.map +1 -1
- package/lib/module/components/ui/Tabs/Tabs.js +19 -5
- package/lib/module/components/ui/Tabs/Tabs.js.map +1 -1
- package/lib/module/components/ui/Tabs/styles.js +6 -2
- package/lib/module/components/ui/Tabs/styles.js.map +1 -1
- package/lib/module/components/ui/Tabs/types.js +2 -0
- package/lib/module/components/ui/Tag/styles.js +15 -14
- package/lib/module/components/ui/Tag/styles.js.map +1 -1
- package/lib/module/components/ui/TextField/TextFieldBase.js +24 -6
- package/lib/module/components/ui/TextField/TextFieldBase.js.map +1 -1
- package/lib/module/components/ui/Thumbnail/Thumbnail.js +11 -3
- package/lib/module/components/ui/Thumbnail/Thumbnail.js.map +1 -1
- package/lib/module/components/ui/Thumbnail/styles.js +6 -2
- package/lib/module/components/ui/Thumbnail/styles.js.map +1 -1
- package/lib/module/components/ui/Toast/ToastHost.js +16 -5
- package/lib/module/components/ui/Toast/ToastHost.js.map +1 -1
- package/lib/module/components/ui/Toast/ToastHost.web.js +21 -4
- package/lib/module/components/ui/Toast/ToastHost.web.js.map +1 -1
- package/lib/module/components/ui/Toast/styles.js +2 -0
- package/lib/module/components/ui/Toast/styles.js.map +1 -1
- package/lib/module/components/ui/Toast/toast.js +23 -3
- package/lib/module/components/ui/Toast/toast.js.map +1 -1
- package/lib/module/components/ui/shared/badgeStyles.js +31 -0
- package/lib/module/components/ui/shared/badgeStyles.js.map +1 -0
- package/lib/module/icons/data.js +45 -19
- package/lib/module/icons/data.js.map +1 -1
- package/lib/module/theme/colors.js +28 -10
- package/lib/module/theme/colors.js.map +1 -1
- package/lib/module/theme/index.js +6 -2
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/scale.js +9 -1
- package/lib/module/theme/scale.js.map +1 -1
- package/lib/module/theme/shadow.js +24 -41
- package/lib/module/theme/shadow.js.map +1 -1
- package/lib/module/theme/tokens.js +10 -5
- package/lib/module/theme/tokens.js.map +1 -1
- package/lib/module/theme/usePrefersReducedMotion.js +12 -0
- package/lib/module/theme/usePrefersReducedMotion.js.map +1 -0
- package/lib/module/theme/usePrefersReducedMotion.web.js +25 -0
- package/lib/module/theme/usePrefersReducedMotion.web.js.map +1 -0
- package/lib/module/theme/useTheme.js +13 -0
- package/lib/module/theme/useTheme.js.map +1 -1
- package/lib/module/utils/logger/logger.js +5 -1
- package/lib/module/utils/logger/logger.js.map +1 -1
- package/lib/module/utils/testID/testID.js +6 -3
- package/lib/module/utils/testID/testID.js.map +1 -1
- package/lib/typescript/src/components/business/AvatarWithRing/AvatarWithRing.d.ts +1 -1
- package/lib/typescript/src/components/business/AvatarWithRing/AvatarWithRing.d.ts.map +1 -1
- package/lib/typescript/src/components/business/AvatarWithRing/styles.d.ts +5 -5
- package/lib/typescript/src/components/business/AvatarWithRing/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/business/AvatarWithRing/types.d.ts +3 -1
- package/lib/typescript/src/components/business/AvatarWithRing/types.d.ts.map +1 -1
- package/lib/typescript/src/components/business/Decorations/GradientWash.d.ts +25 -0
- package/lib/typescript/src/components/business/Decorations/GradientWash.d.ts.map +1 -1
- package/lib/typescript/src/components/business/Decorations/RadialHalo.d.ts.map +1 -1
- package/lib/typescript/src/components/business/Decorations/ScreenBackdrop.d.ts +1 -1
- package/lib/typescript/src/components/business/Decorations/ScreenBackdrop.d.ts.map +1 -1
- package/lib/typescript/src/components/business/Decorations/index.d.ts +1 -1
- package/lib/typescript/src/components/business/Decorations/index.d.ts.map +1 -1
- package/lib/typescript/src/components/business/Decorations/types.d.ts +2 -0
- package/lib/typescript/src/components/business/Decorations/types.d.ts.map +1 -1
- package/lib/typescript/src/components/business/GlassStats/GlassStats.d.ts +1 -1
- package/lib/typescript/src/components/business/GlassStats/GlassStats.d.ts.map +1 -1
- package/lib/typescript/src/components/business/GlassStats/styles.d.ts +2 -2
- package/lib/typescript/src/components/business/GlassStats/types.d.ts +5 -0
- package/lib/typescript/src/components/business/GlassStats/types.d.ts.map +1 -1
- package/lib/typescript/src/components/business/VersionPill/VersionPill.d.ts +1 -1
- package/lib/typescript/src/components/business/VersionPill/VersionPill.d.ts.map +1 -1
- package/lib/typescript/src/components/business/VersionPill/styles.d.ts +1 -1
- package/lib/typescript/src/components/business/VersionPill/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/business/VersionPill/types.d.ts +13 -1
- package/lib/typescript/src/components/business/VersionPill/types.d.ts.map +1 -1
- package/lib/typescript/src/components/business/index.d.ts +1 -1
- package/lib/typescript/src/components/business/index.d.ts.map +1 -1
- package/lib/typescript/src/components/business/useSvgId.d.ts +12 -0
- package/lib/typescript/src/components/business/useSvgId.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Avatar/Avatar.d.ts +1 -1
- package/lib/typescript/src/components/ui/Avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Avatar/styles.d.ts +1 -1
- package/lib/typescript/src/components/ui/Avatar/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Avatar/types.d.ts +3 -1
- package/lib/typescript/src/components/ui/Avatar/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.d.ts +1 -1
- package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Button/Button.d.ts +1 -1
- package/lib/typescript/src/components/ui/Button/Button.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Button/ButtonBase.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Button/styles.d.ts +2 -1
- package/lib/typescript/src/components/ui/Button/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Button/types.d.ts +1 -1
- package/lib/typescript/src/components/ui/Button/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Card/Card.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Card/styles.d.ts +2 -0
- package/lib/typescript/src/components/ui/Card/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Card/types.d.ts +4 -4
- package/lib/typescript/src/components/ui/Card/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Carousel/Carousel.d.ts +4 -11
- package/lib/typescript/src/components/ui/Carousel/Carousel.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Carousel/index.d.ts +1 -1
- package/lib/typescript/src/components/ui/Carousel/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Carousel/types.d.ts +4 -0
- package/lib/typescript/src/components/ui/Carousel/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/Cell.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/List.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/styles.d.ts +1 -1
- package/lib/typescript/src/components/ui/Cell/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/types.d.ts +5 -2
- package/lib/typescript/src/components/ui/Cell/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Checkbox/styles.d.ts +6 -0
- package/lib/typescript/src/components/ui/Checkbox/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Chip/Chip.d.ts +4 -3
- package/lib/typescript/src/components/ui/Chip/Chip.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Chip/types.d.ts +2 -0
- package/lib/typescript/src/components/ui/Chip/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Confirm/confirm.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Confirm/types.d.ts +4 -2
- package/lib/typescript/src/components/ui/Confirm/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/DrawerHeader/DrawerHeader.d.ts +1 -1
- package/lib/typescript/src/components/ui/DrawerHeader/DrawerHeader.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/DrawerHeader/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/DrawerHeader/types.d.ts +3 -1
- package/lib/typescript/src/components/ui/DrawerHeader/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Empty/Empty.d.ts +2 -2
- package/lib/typescript/src/components/ui/Empty/Empty.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Empty/types.d.ts +3 -0
- package/lib/typescript/src/components/ui/Empty/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/EntryCard/EntryCard.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/EntryCard/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/EntryCard/types.d.ts +2 -2
- package/lib/typescript/src/components/ui/EntryCard/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Form/FormRow.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Form/styles.d.ts +1 -0
- package/lib/typescript/src/components/ui/Form/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Form/types.d.ts +7 -2
- package/lib/typescript/src/components/ui/Form/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Grid/Grid.d.ts +1 -1
- package/lib/typescript/src/components/ui/Grid/Grid.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Grid/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Grid/types.d.ts +4 -1
- package/lib/typescript/src/components/ui/Grid/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Icon/Icon.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/IconButton/IconButton.d.ts +1 -1
- package/lib/typescript/src/components/ui/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/IconButton/types.d.ts +7 -2
- package/lib/typescript/src/components/ui/IconButton/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Input/Input.d.ts +16 -16
- package/lib/typescript/src/components/ui/Input/types.d.ts +3 -2
- package/lib/typescript/src/components/ui/Input/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Logo/Logo.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/NavBar/NavBar.d.ts +8 -1
- package/lib/typescript/src/components/ui/NavBar/NavBar.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/NavBar/types.d.ts +5 -1
- package/lib/typescript/src/components/ui/NavBar/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/PasswordInput/PasswordInput.d.ts +13 -5
- package/lib/typescript/src/components/ui/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/PasswordInput/styles.d.ts +1 -1
- package/lib/typescript/src/components/ui/PasswordInput/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/PasswordInput/types.d.ts +7 -2
- package/lib/typescript/src/components/ui/PasswordInput/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Pulse/Pulse.d.ts +1 -1
- package/lib/typescript/src/components/ui/Pulse/Pulse.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Pulse/PulseDot.d.ts +1 -1
- package/lib/typescript/src/components/ui/Pulse/PulseDot.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Pulse/types.d.ts +5 -0
- package/lib/typescript/src/components/ui/Pulse/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Pulse/usePulse.web.d.ts +12 -8
- package/lib/typescript/src/components/ui/Pulse/usePulse.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Radio/Radio.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Radio/RadioGroup.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Radio/styles.d.ts +4 -2
- package/lib/typescript/src/components/ui/Radio/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Reveal/Reveal.web.d.ts +9 -0
- package/lib/typescript/src/components/ui/Reveal/Reveal.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Search/Search.d.ts +16 -15
- package/lib/typescript/src/components/ui/Search/Search.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Search/types.d.ts +3 -1
- package/lib/typescript/src/components/ui/Search/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Segmented/Segmented.d.ts +1 -1
- package/lib/typescript/src/components/ui/Segmented/Segmented.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Segmented/styles.d.ts +1 -1
- package/lib/typescript/src/components/ui/Segmented/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Segmented/types.d.ts +2 -0
- package/lib/typescript/src/components/ui/Segmented/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Skeleton/Skeleton.d.ts +3 -2
- package/lib/typescript/src/components/ui/Skeleton/Skeleton.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Spinner/Spinner.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Spinner/Spinner.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Spinner/shared.d.ts +5 -0
- package/lib/typescript/src/components/ui/Spinner/shared.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/StatusDot/StatusDot.d.ts +1 -5
- package/lib/typescript/src/components/ui/StatusDot/StatusDot.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/StatusDot/styles.d.ts +1 -1
- package/lib/typescript/src/components/ui/StatusDot/types.d.ts +13 -1
- package/lib/typescript/src/components/ui/StatusDot/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Stepper/Stepper.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Switch/Switch.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Switch/Switch.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Switch/styles.d.ts +7 -1
- package/lib/typescript/src/components/ui/Switch/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TabBar/TabBar.d.ts +2 -2
- package/lib/typescript/src/components/ui/TabBar/TabBar.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TabBar/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TabBar/types.d.ts +3 -0
- package/lib/typescript/src/components/ui/TabBar/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Tabs/Tabs.d.ts +1 -1
- package/lib/typescript/src/components/ui/Tabs/Tabs.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Tabs/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Tabs/types.d.ts +9 -1
- package/lib/typescript/src/components/ui/Tabs/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Tag/styles.d.ts +2 -1
- package/lib/typescript/src/components/ui/Tag/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Tag/types.d.ts +6 -2
- package/lib/typescript/src/components/ui/Tag/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts +16 -16
- package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Textarea/Textarea.d.ts +16 -16
- package/lib/typescript/src/components/ui/Textarea/types.d.ts +2 -1
- package/lib/typescript/src/components/ui/Textarea/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Thumbnail/styles.d.ts +3 -0
- package/lib/typescript/src/components/ui/Thumbnail/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/ToastHost.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/toast.d.ts +0 -5
- package/lib/typescript/src/components/ui/Toast/toast.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/types.d.ts +1 -1
- package/lib/typescript/src/components/ui/Toast/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/shared/badgeStyles.d.ts +27 -0
- package/lib/typescript/src/components/ui/shared/badgeStyles.d.ts.map +1 -0
- package/lib/typescript/src/icons/data.d.ts +1 -1
- package/lib/typescript/src/icons/data.d.ts.map +1 -1
- package/lib/typescript/src/icons/types.d.ts +18 -12
- package/lib/typescript/src/icons/types.d.ts.map +1 -1
- package/lib/typescript/src/theme/colors.d.ts +9 -3
- package/lib/typescript/src/theme/colors.d.ts.map +1 -1
- package/lib/typescript/src/theme/index.d.ts +3 -2
- package/lib/typescript/src/theme/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/scale.d.ts.map +1 -1
- package/lib/typescript/src/theme/shadow.d.ts +8 -8
- package/lib/typescript/src/theme/shadow.d.ts.map +1 -1
- package/lib/typescript/src/theme/tokens.d.ts +7 -3
- package/lib/typescript/src/theme/tokens.d.ts.map +1 -1
- package/lib/typescript/src/theme/usePrefersReducedMotion.d.ts +8 -0
- package/lib/typescript/src/theme/usePrefersReducedMotion.d.ts.map +1 -0
- package/lib/typescript/src/theme/usePrefersReducedMotion.web.d.ts +6 -0
- package/lib/typescript/src/theme/usePrefersReducedMotion.web.d.ts.map +1 -0
- package/lib/typescript/src/theme/useTheme.d.ts.map +1 -1
- package/lib/typescript/src/utils/logger/logger.d.ts.map +1 -1
- package/lib/typescript/src/utils/testID/testID.d.ts +6 -3
- package/lib/typescript/src/utils/testID/testID.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/components/business/AvatarWithRing/AvatarWithRing.tsx +5 -4
- package/src/components/business/AvatarWithRing/styles.ts +21 -3
- package/src/components/business/AvatarWithRing/types.ts +3 -1
- package/src/components/business/Decorations/GradientWash.tsx +46 -22
- package/src/components/business/Decorations/RadialHalo.tsx +8 -4
- package/src/components/business/Decorations/ScreenBackdrop.tsx +23 -5
- package/src/components/business/Decorations/index.ts +4 -0
- package/src/components/business/Decorations/types.ts +2 -0
- package/src/components/business/GlassStats/GlassStats.tsx +8 -4
- package/src/components/business/GlassStats/types.ts +6 -0
- package/src/components/business/VersionPill/VersionPill.tsx +46 -6
- package/src/components/business/VersionPill/styles.ts +1 -1
- package/src/components/business/VersionPill/types.ts +13 -1
- package/src/components/business/index.ts +1 -0
- package/src/components/business/useSvgId.ts +17 -0
- package/src/components/ui/Avatar/Avatar.tsx +17 -10
- package/src/components/ui/Avatar/styles.ts +7 -7
- package/src/components/ui/Avatar/types.ts +3 -1
- package/src/components/ui/BlurLayer/BlurLayer.tsx +4 -1
- package/src/components/ui/BlurLayer/BlurLayer.web.tsx +7 -1
- package/src/components/ui/Button/Button.tsx +2 -1
- package/src/components/ui/Button/ButtonBase.tsx +26 -2
- package/src/components/ui/Button/styles.ts +27 -25
- package/src/components/ui/Button/types.ts +1 -1
- package/src/components/ui/Card/Card.tsx +17 -7
- package/src/components/ui/Card/styles.ts +5 -0
- package/src/components/ui/Card/types.ts +4 -4
- package/src/components/ui/Carousel/Carousel.tsx +44 -15
- package/src/components/ui/Carousel/index.ts +1 -1
- package/src/components/ui/Carousel/types.ts +5 -0
- package/src/components/ui/Cell/Cell.tsx +28 -6
- package/src/components/ui/Cell/Leading.tsx +2 -2
- package/src/components/ui/Cell/List.tsx +14 -8
- package/src/components/ui/Cell/styles.ts +8 -5
- package/src/components/ui/Cell/types.ts +5 -2
- package/src/components/ui/Checkbox/Checkbox.tsx +18 -5
- package/src/components/ui/Checkbox/styles.ts +8 -0
- package/src/components/ui/Chip/Chip.tsx +20 -5
- package/src/components/ui/Chip/types.ts +2 -0
- package/src/components/ui/Confirm/ConfirmHost.tsx +26 -10
- package/src/components/ui/Confirm/confirm.ts +8 -0
- package/src/components/ui/Confirm/types.ts +4 -2
- package/src/components/ui/DrawerHeader/DrawerHeader.tsx +18 -12
- package/src/components/ui/DrawerHeader/styles.ts +10 -6
- package/src/components/ui/DrawerHeader/types.ts +3 -1
- package/src/components/ui/Empty/Empty.tsx +5 -4
- package/src/components/ui/Empty/types.ts +3 -0
- package/src/components/ui/EntryCard/EntryCard.tsx +5 -3
- package/src/components/ui/EntryCard/styles.ts +13 -4
- package/src/components/ui/EntryCard/types.ts +2 -2
- package/src/components/ui/Form/FormRow.tsx +7 -1
- package/src/components/ui/Form/styles.ts +2 -0
- package/src/components/ui/Form/types.ts +7 -2
- package/src/components/ui/Grid/Grid.tsx +42 -25
- package/src/components/ui/Grid/styles.ts +8 -20
- package/src/components/ui/Grid/types.ts +4 -1
- package/src/components/ui/Icon/Icon.tsx +42 -27
- package/src/components/ui/IconButton/IconButton.tsx +2 -0
- package/src/components/ui/IconButton/types.ts +8 -2
- package/src/components/ui/Input/types.ts +3 -2
- package/src/components/ui/Logo/Logo.tsx +2 -1
- package/src/components/ui/NavBar/NavBar.tsx +16 -2
- package/src/components/ui/NavBar/types.ts +5 -1
- package/src/components/ui/PasswordInput/PasswordInput.tsx +77 -43
- package/src/components/ui/PasswordInput/styles.ts +1 -1
- package/src/components/ui/PasswordInput/types.ts +7 -2
- package/src/components/ui/Pulse/Pulse.tsx +2 -1
- package/src/components/ui/Pulse/PulseDot.tsx +7 -6
- package/src/components/ui/Pulse/types.ts +6 -0
- package/src/components/ui/Pulse/usePulse.web.ts +50 -33
- package/src/components/ui/Radio/Radio.tsx +29 -6
- package/src/components/ui/Radio/RadioGroup.tsx +10 -3
- package/src/components/ui/Radio/styles.ts +9 -2
- package/src/components/ui/Reveal/Reveal.web.tsx +18 -3
- package/src/components/ui/Search/Search.tsx +22 -9
- package/src/components/ui/Search/types.ts +7 -1
- package/src/components/ui/Segmented/Segmented.tsx +8 -3
- package/src/components/ui/Segmented/styles.ts +4 -2
- package/src/components/ui/Segmented/types.ts +2 -0
- package/src/components/ui/Skeleton/Skeleton.tsx +9 -8
- package/src/components/ui/Spinner/Spinner.tsx +17 -17
- package/src/components/ui/Spinner/Spinner.web.tsx +7 -15
- package/src/components/ui/Spinner/shared.ts +37 -0
- package/src/components/ui/StatusDot/StatusDot.tsx +21 -3
- package/src/components/ui/StatusDot/styles.ts +1 -1
- package/src/components/ui/StatusDot/types.ts +14 -1
- package/src/components/ui/Stepper/Stepper.tsx +45 -10
- package/src/components/ui/Switch/Switch.tsx +4 -10
- package/src/components/ui/Switch/Switch.web.tsx +2 -8
- package/src/components/ui/Switch/styles.ts +10 -1
- package/src/components/ui/TabBar/TabBar.tsx +14 -6
- package/src/components/ui/TabBar/styles.ts +9 -21
- package/src/components/ui/TabBar/types.ts +3 -0
- package/src/components/ui/Tabs/Tabs.tsx +24 -5
- package/src/components/ui/Tabs/styles.ts +6 -2
- package/src/components/ui/Tabs/types.ts +10 -1
- package/src/components/ui/Tag/styles.ts +18 -10
- package/src/components/ui/Tag/types.ts +6 -2
- package/src/components/ui/TextField/TextFieldBase.tsx +31 -6
- package/src/components/ui/Textarea/types.ts +2 -1
- package/src/components/ui/Thumbnail/Thumbnail.tsx +14 -3
- package/src/components/ui/Thumbnail/styles.ts +6 -2
- package/src/components/ui/Toast/ToastHost.tsx +16 -8
- package/src/components/ui/Toast/ToastHost.web.tsx +26 -4
- package/src/components/ui/Toast/styles.ts +2 -0
- package/src/components/ui/Toast/toast.ts +35 -2
- package/src/components/ui/Toast/types.ts +1 -1
- package/src/components/ui/shared/badgeStyles.ts +36 -0
- package/src/icons/data.ts +30 -0
- package/src/icons/types.ts +25 -10
- package/src/theme/colors.ts +29 -10
- package/src/theme/index.ts +10 -1
- package/src/theme/scale.ts +5 -1
- package/src/theme/shadow.ts +33 -24
- package/src/theme/tokens.ts +10 -5
- package/src/theme/usePrefersReducedMotion.ts +9 -0
- package/src/theme/usePrefersReducedMotion.web.ts +27 -0
- package/src/theme/useTheme.ts +15 -0
- package/src/utils/logger/logger.ts +5 -1
- package/src/utils/testID/testID.ts +6 -3
- package/lib/module/components/index.js +0 -5
- package/lib/module/components/index.js.map +0 -1
- package/lib/typescript/src/components/index.d.ts +0 -3
- package/lib/typescript/src/components/index.d.ts.map +0 -1
- package/src/components/index.ts +0 -2
|
@@ -3,12 +3,20 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Text, View } from 'react-native';
|
|
5
5
|
import { Pressable } from 'react-native-gesture-handler';
|
|
6
|
-
import { useColors, useThemedStyles } from "../../../theme/index.js";
|
|
6
|
+
import { pressedOpacity, r, useColors, useThemedStyles } from "../../../theme/index.js";
|
|
7
7
|
import { Icon } from "../Icon/index.js";
|
|
8
8
|
import { useListVariant } from "./context.js";
|
|
9
9
|
import { Leading } from "./Leading.js";
|
|
10
10
|
import { makeStyles } from "./styles.js";
|
|
11
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
/** extra 是否包含可交互控件(Switch/Stepper/Checkbox 等 ReactNode)。
|
|
13
|
+
* 用于决定 Pressable 外壳是否关闭 accessible —— 若外壳 accessible=true 且 extra 也是
|
|
14
|
+
* 独立 accessible 控件,SR 会产生「双播报 + 控件被遮挡无法直接激活」的体验缺陷。
|
|
15
|
+
* 规则:extra 是 ReactNode(非 string / null / undefined)时判定为「可能含控件」。
|
|
16
|
+
* 使用方若明确 extra 是纯展示 ReactNode,可通过 accessibilityHint='none' 绕过(暂不加 prop)。*/
|
|
17
|
+
function extraHasInteractiveNode(extra) {
|
|
18
|
+
return extra != null && typeof extra !== 'string';
|
|
19
|
+
}
|
|
12
20
|
function renderSlot(value, textStyle, numberOfLines) {
|
|
13
21
|
if (value == null) return null;
|
|
14
22
|
if (typeof value === 'string') {
|
|
@@ -65,26 +73,36 @@ export function Cell({
|
|
|
65
73
|
children: [renderSlot(title, titleStyle, titleLines ?? 1), renderSlot(desc, descStyle, 2)]
|
|
66
74
|
}), renderSlot(extra, extraStyle, 1), arrow && !danger ? /*#__PURE__*/_jsx(Icon, {
|
|
67
75
|
name: "chevron-right",
|
|
68
|
-
size: flush ? 18 : 20,
|
|
76
|
+
size: r(flush ? 18 : 20),
|
|
69
77
|
color: c.foregroundSubtle,
|
|
70
78
|
style: flush ? styles.chevronFlush : undefined
|
|
71
79
|
}) : null]
|
|
72
80
|
});
|
|
73
81
|
if (onPress) {
|
|
82
|
+
// 若 extra 含交互控件(Switch/Stepper 等),外壳 Pressable 关闭 accessible,
|
|
83
|
+
// 让 SR 直接穿透读取控件本身,避免双播报和控件被遮挡无法激活的体验缺陷。
|
|
84
|
+
const hasInteractiveExtra = extraHasInteractiveNode(extra);
|
|
85
|
+
|
|
86
|
+
// 默认 a11y label:title + desc 拼接,给 SR 用户同时听到主副信息。
|
|
87
|
+
// 有 accessibilityLabel 显式覆盖时走 prop,否则组合 title+desc。
|
|
88
|
+
const defaultLabel = typeof title === 'string' ? typeof desc === 'string' && desc ? `${title},${desc}` : title : undefined;
|
|
74
89
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
75
90
|
onPress: onPress,
|
|
76
91
|
disabled: disabled,
|
|
77
92
|
accessibilityRole: "button",
|
|
78
|
-
accessibilityLabel: accessibilityLabel ??
|
|
93
|
+
accessibilityLabel: accessibilityLabel ?? defaultLabel,
|
|
79
94
|
accessibilityHint: accessibilityHint,
|
|
80
95
|
accessibilityState: disabled ? {
|
|
81
96
|
disabled: true
|
|
82
|
-
} : undefined
|
|
97
|
+
} : undefined
|
|
98
|
+
// extra 含控件时外壳不作为独立 a11y 元素,让 SR 穿透到 extra 控件
|
|
99
|
+
,
|
|
100
|
+
accessible: hasInteractiveExtra ? false : undefined,
|
|
83
101
|
testID: testID,
|
|
84
102
|
style: ({
|
|
85
103
|
pressed
|
|
86
104
|
}) => [{
|
|
87
|
-
opacity: disabled ? 0.5 : pressed ?
|
|
105
|
+
opacity: disabled ? 0.5 : pressed ? pressedOpacity : 1
|
|
88
106
|
}],
|
|
89
107
|
children: inner
|
|
90
108
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","Pressable","useColors","useThemedStyles","Icon","useListVariant","Leading","makeStyles","jsx","_jsx","jsxs","_jsxs","renderSlot","value","textStyle","numberOfLines","style","children","Cell","title","titleLines","desc","
|
|
1
|
+
{"version":3,"names":["React","Text","View","Pressable","pressedOpacity","r","useColors","useThemedStyles","Icon","useListVariant","Leading","makeStyles","jsx","_jsx","jsxs","_jsxs","extraHasInteractiveNode","extra","renderSlot","value","textStyle","numberOfLines","style","children","Cell","title","titleLines","desc","arrow","leading","onPress","disabled","danger","testID","accessibilityLabel","accessibilityHint","c","styles","variant","flush","cellStyle","cell","cellFlush","cellFlushWithDesc","titleColor","error","undefined","titleStyle","titleFlush","color","descStyle","descFlush","extraStyle","extraFlush","inner","slot","body","name","size","foregroundSubtle","chevronFlush","hasInteractiveExtra","defaultLabel","accessibilityRole","accessibilityState","accessible","pressed","opacity"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Cell.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,14 +31,14 @@ export function Leading({
|
|
|
31
31
|
}],
|
|
32
32
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
33
33
|
name: slot,
|
|
34
|
-
size: 16,
|
|
34
|
+
size: r(16),
|
|
35
35
|
color: danger ? c.error : c.primary
|
|
36
36
|
})
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
return /*#__PURE__*/_jsx(Icon, {
|
|
40
40
|
name: slot,
|
|
41
|
-
size: 22,
|
|
41
|
+
size: r(22),
|
|
42
42
|
color: danger ? c.error : c.foregroundMuted
|
|
43
43
|
});
|
|
44
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","r","useColors","Icon","useListVariant","jsx","_jsx","FLUSH_BOX_SIZE","FLUSH_BOX_RADIUS","sharedStyles","create","flushBox","width","height","borderRadius","alignItems","justifyContent","Leading","slot","danger","c","variant","style","backgroundColor","errorContainer","primaryContainer","children","name","size","color","error","primary","foregroundMuted"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Leading.tsx"],"mappings":";;AACA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,CAAC,EAAEC,SAAS,QAAQ,yBAAgB;AAC7C,SAASC,IAAI,QAAuB,kBAAS;AAC7C,SAASC,cAAc,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAMC,cAAc,GAAGN,CAAC,CAAC,EAAE,CAAC;AAC5B,MAAMO,gBAAgB,GAAGP,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAMQ,YAAY,GAAGV,UAAU,CAACW,MAAM,CAAC;EACrCC,QAAQ,EAAE;IACRC,KAAK,EAAEL,cAAc;IACrBM,MAAM,EAAEN,cAAc;IACtBO,YAAY,EAAEN,gBAAgB;IAC9BO,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAEF,OAAO,SAASC,OAAOA,CAAC;EACtBC,IAAI;EACJC;AAIF,CAAC,EAAE;EACD,MAAMC,CAAC,GAAGlB,SAAS,CAAC,CAAC;EACrB,MAAMmB,OAAO,GAAGjB,cAAc,CAAC,CAAC;EAEhC,IAAI,OAAOc,IAAI,KAAK,QAAQ,EAAE;IAC5B;IACA,IAAIG,OAAO,KAAK,OAAO,EAAE;MACvB,oBACEf,IAAA,CAACN,IAAI;QACHsB,KAAK,EAAE,CACLb,YAAY,CAACE,QAAQ,EACrB;UACEY,eAAe,EAAEJ,MAAM,GAAGC,CAAC,CAACI,cAAc,GAAGJ,CAAC,CAACK;QACjD,CAAC,CACD;QAAAC,QAAA,eAEFpB,IAAA,CAACH,IAAI;UACHwB,IAAI,EAAET,IAAiB;UACvBU,IAAI,EAAE,
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","r","useColors","Icon","useListVariant","jsx","_jsx","FLUSH_BOX_SIZE","FLUSH_BOX_RADIUS","sharedStyles","create","flushBox","width","height","borderRadius","alignItems","justifyContent","Leading","slot","danger","c","variant","style","backgroundColor","errorContainer","primaryContainer","children","name","size","color","error","primary","foregroundMuted"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Leading.tsx"],"mappings":";;AACA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,CAAC,EAAEC,SAAS,QAAQ,yBAAgB;AAC7C,SAASC,IAAI,QAAuB,kBAAS;AAC7C,SAASC,cAAc,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAMC,cAAc,GAAGN,CAAC,CAAC,EAAE,CAAC;AAC5B,MAAMO,gBAAgB,GAAGP,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAMQ,YAAY,GAAGV,UAAU,CAACW,MAAM,CAAC;EACrCC,QAAQ,EAAE;IACRC,KAAK,EAAEL,cAAc;IACrBM,MAAM,EAAEN,cAAc;IACtBO,YAAY,EAAEN,gBAAgB;IAC9BO,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAEF,OAAO,SAASC,OAAOA,CAAC;EACtBC,IAAI;EACJC;AAIF,CAAC,EAAE;EACD,MAAMC,CAAC,GAAGlB,SAAS,CAAC,CAAC;EACrB,MAAMmB,OAAO,GAAGjB,cAAc,CAAC,CAAC;EAEhC,IAAI,OAAOc,IAAI,KAAK,QAAQ,EAAE;IAC5B;IACA,IAAIG,OAAO,KAAK,OAAO,EAAE;MACvB,oBACEf,IAAA,CAACN,IAAI;QACHsB,KAAK,EAAE,CACLb,YAAY,CAACE,QAAQ,EACrB;UACEY,eAAe,EAAEJ,MAAM,GAAGC,CAAC,CAACI,cAAc,GAAGJ,CAAC,CAACK;QACjD,CAAC,CACD;QAAAC,QAAA,eAEFpB,IAAA,CAACH,IAAI;UACHwB,IAAI,EAAET,IAAiB;UACvBU,IAAI,EAAE3B,CAAC,CAAC,EAAE,CAAE;UACZ4B,KAAK,EAAEV,MAAM,GAAGC,CAAC,CAACU,KAAK,GAAGV,CAAC,CAACW;QAAQ,CACrC;MAAC,CACE,CAAC;IAEX;IACA,oBACEzB,IAAA,CAACH,IAAI;MACHwB,IAAI,EAAET,IAAiB;MACvBU,IAAI,EAAE3B,CAAC,CAAC,EAAE,CAAE;MACZ4B,KAAK,EAAEV,MAAM,GAAGC,CAAC,CAACU,KAAK,GAAGV,CAAC,CAACY;IAAgB,CAC7C,CAAC;EAEN;EACA,oBAAO1B,IAAA,CAACN,IAAI;IAAA0B,QAAA,EAAER;EAAI,CAAO,CAAC;AAC5B","ignoreList":[]}
|
|
@@ -27,11 +27,16 @@ export function List({
|
|
|
27
27
|
children: /*#__PURE__*/_jsx(View, {
|
|
28
28
|
style: [styles.listFlush, style],
|
|
29
29
|
testID: testID,
|
|
30
|
-
children: items.map((child, i) =>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
children: items.map((child, i) => {
|
|
31
|
+
// 优先使用 caller 传入的 key(React.Children.toArray 已将 key 注入 child),
|
|
32
|
+
// 回退到索引确保 reconciler 稳定 —— 避免 caller key 丢失导致不必要重挂载。
|
|
33
|
+
const key = /*#__PURE__*/React.isValidElement(child) && child.key != null ? child.key : i;
|
|
34
|
+
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
35
|
+
children: [i > 0 && divider === 'full' ? /*#__PURE__*/_jsx(View, {
|
|
36
|
+
style: styles.separator
|
|
37
|
+
}) : null, child]
|
|
38
|
+
}, key);
|
|
39
|
+
})
|
|
35
40
|
})
|
|
36
41
|
});
|
|
37
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","useThemedStyles","ListVariantContext","makeStyles","jsx","_jsx","jsxs","_jsxs","List","children","flush","divider","style","testID","styles","items","Children","toArray","filter","Boolean","Provider","value","listFlush","map","child","i","Fragment","separator","list","listGrouped"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/List.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,yBAAgB;AAChD,SAASC,kBAAkB,QAAQ,cAAW;AAC9C,SAASC,UAAU,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAAC;EACnBC,QAAQ;EACRC,KAAK;EACLC,OAAO,GAAG,MAAM;EAChBC,KAAK;EACLC;AACS,CAAC,EAAqB;EAC/B,MAAMC,MAAM,GAAGb,eAAe,CAACE,UAAU,CAAC;EAC1C,IAAIO,KAAK,EAAE;IACT,MAAMK,KAAK,GAAGhB,KAAK,CAACiB,QAAQ,CAACC,OAAO,CAACR,QAAQ,CAAC,CAACS,MAAM,CAACC,OAAO,CAAC;IAC9D,oBACEd,IAAA,CAACH,kBAAkB,CAACkB,QAAQ;MAACC,KAAK,EAAC,OAAO;MAAAZ,QAAA,eACxCJ,IAAA,CAACL,IAAI;QAACY,KAAK,EAAE,CAACE,MAAM,CAACQ,SAAS,EAAEV,KAAK,CAAE;QAACC,MAAM,EAAEA,MAAO;QAAAJ,QAAA,EACpDM,KAAK,CAACQ,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,
|
|
1
|
+
{"version":3,"names":["React","View","useThemedStyles","ListVariantContext","makeStyles","jsx","_jsx","jsxs","_jsxs","List","children","flush","divider","style","testID","styles","items","Children","toArray","filter","Boolean","Provider","value","listFlush","map","child","i","key","isValidElement","Fragment","separator","list","listGrouped"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/List.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,yBAAgB;AAChD,SAASC,kBAAkB,QAAQ,cAAW;AAC9C,SAASC,UAAU,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAAC;EACnBC,QAAQ;EACRC,KAAK;EACLC,OAAO,GAAG,MAAM;EAChBC,KAAK;EACLC;AACS,CAAC,EAAqB;EAC/B,MAAMC,MAAM,GAAGb,eAAe,CAACE,UAAU,CAAC;EAC1C,IAAIO,KAAK,EAAE;IACT,MAAMK,KAAK,GAAGhB,KAAK,CAACiB,QAAQ,CAACC,OAAO,CAACR,QAAQ,CAAC,CAACS,MAAM,CAACC,OAAO,CAAC;IAC9D,oBACEd,IAAA,CAACH,kBAAkB,CAACkB,QAAQ;MAACC,KAAK,EAAC,OAAO;MAAAZ,QAAA,eACxCJ,IAAA,CAACL,IAAI;QAACY,KAAK,EAAE,CAACE,MAAM,CAACQ,SAAS,EAAEV,KAAK,CAAE;QAACC,MAAM,EAAEA,MAAO;QAAAJ,QAAA,EACpDM,KAAK,CAACQ,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;UACvB;UACA;UACA,MAAMC,GAAG,GACP,aAAA3B,KAAK,CAAC4B,cAAc,CAACH,KAAK,CAAC,IAAIA,KAAK,CAACE,GAAG,IAAI,IAAI,GAAGF,KAAK,CAACE,GAAG,GAAGD,CAAC;UAClE,oBACElB,KAAA,CAACR,KAAK,CAAC6B,QAAQ;YAAAnB,QAAA,GACZgB,CAAC,GAAG,CAAC,IAAId,OAAO,KAAK,MAAM,gBAC1BN,IAAA,CAACL,IAAI;cAACY,KAAK,EAAEE,MAAM,CAACe;YAAU,CAAE,CAAC,GAC/B,IAAI,EACPL,KAAK;UAAA,GAJaE,GAKL,CAAC;QAErB,CAAC;MAAC,CACE;IAAC,CACoB,CAAC;EAElC;EACA,oBACErB,IAAA,CAACH,kBAAkB,CAACkB,QAAQ;IAACC,KAAK,EAAC,SAAS;IAAAZ,QAAA,eAC1CJ,IAAA,CAACL,IAAI;MAACY,KAAK,EAAE,CAACE,MAAM,CAACgB,IAAI,EAAEhB,MAAM,CAACiB,WAAW,EAAEnB,KAAK,CAAE;MAACC,MAAM,EAAEA,MAAO;MAAAJ,QAAA,EACnEA;IAAQ,CACL;EAAC,CACoB,CAAC;AAElC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { StyleSheet } from 'react-native';
|
|
4
|
-
import { fw, r, radius, space, type as t } from "../../../theme/index.js";
|
|
4
|
+
import { fixed, fw, r, rf, radius, space, type as t } from "../../../theme/index.js";
|
|
5
5
|
export const makeStyles = c => StyleSheet.create({
|
|
6
6
|
cell: {
|
|
7
7
|
flexDirection: 'row',
|
|
@@ -19,7 +19,8 @@ export const makeStyles = c => StyleSheet.create({
|
|
|
19
19
|
gap: space[4],
|
|
20
20
|
paddingHorizontal: r(11),
|
|
21
21
|
paddingVertical: r(11),
|
|
22
|
-
minHeight
|
|
22
|
+
// [M-7] flush 可按压行高约 39pt < iOS HIG 44pt;用 minHeight 撑到 fixed.hitTarget
|
|
23
|
+
minHeight: fixed.hitTarget
|
|
23
24
|
},
|
|
24
25
|
cellFlushWithDesc: {
|
|
25
26
|
paddingVertical: r(9)
|
|
@@ -36,10 +37,10 @@ export const makeStyles = c => StyleSheet.create({
|
|
|
36
37
|
lineHeight: t.body * 1.3
|
|
37
38
|
},
|
|
38
39
|
titleFlush: {
|
|
39
|
-
fontSize:
|
|
40
|
+
fontSize: rf(13),
|
|
40
41
|
fontWeight: fw.medium,
|
|
41
42
|
letterSpacing: -0.1,
|
|
42
|
-
lineHeight:
|
|
43
|
+
lineHeight: rf(13) * 1.3,
|
|
43
44
|
color: c.foreground
|
|
44
45
|
},
|
|
45
46
|
desc: {
|
|
@@ -48,7 +49,7 @@ export const makeStyles = c => StyleSheet.create({
|
|
|
48
49
|
lineHeight: t.xs * 1.4
|
|
49
50
|
},
|
|
50
51
|
descFlush: {
|
|
51
|
-
fontSize:
|
|
52
|
+
fontSize: rf(11),
|
|
52
53
|
color: c.foregroundMuted,
|
|
53
54
|
opacity: 0.55,
|
|
54
55
|
marginTop: r(1)
|
|
@@ -58,7 +59,7 @@ export const makeStyles = c => StyleSheet.create({
|
|
|
58
59
|
color: c.foregroundSubtle
|
|
59
60
|
},
|
|
60
61
|
extraFlush: {
|
|
61
|
-
fontSize:
|
|
62
|
+
fontSize: rf(11),
|
|
62
63
|
color: c.foregroundMuted,
|
|
63
64
|
opacity: 0.55
|
|
64
65
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","fw","r","radius","space","type","t","makeStyles","c","create","cell","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","minHeight","backgroundColor","surface","borderRadius","lg","cellFlush","cellFlushWithDesc","body","flex","minWidth","title","fontSize","fontWeight","medium","color","foreground","lineHeight","titleFlush","letterSpacing","desc","xs","foregroundSubtle","descFlush","foregroundMuted","opacity","marginTop","extra","extraFlush","chevronFlush","separator","height","hairlineWidth","outline","list","listGrouped","background","padding","xl","listFlush"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SACEC,EAAE,EACFC,CAAC,EACDC,MAAM,EACNC,KAAK,EACLC,IAAI,IAAIC,CAAC,QAEJ,yBAAgB;AAEvB,OAAO,MAAMC,UAAU,GAAIC,CAAc,
|
|
1
|
+
{"version":3,"names":["StyleSheet","fixed","fw","r","rf","radius","space","type","t","makeStyles","c","create","cell","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","minHeight","backgroundColor","surface","borderRadius","lg","cellFlush","hitTarget","cellFlushWithDesc","body","flex","minWidth","title","fontSize","fontWeight","medium","color","foreground","lineHeight","titleFlush","letterSpacing","desc","xs","foregroundSubtle","descFlush","foregroundMuted","opacity","marginTop","extra","extraFlush","chevronFlush","separator","height","hairlineWidth","outline","list","listGrouped","background","padding","xl","listFlush"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/styles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Text, View } from 'react-native';
|
|
5
5
|
import { Pressable } from 'react-native-gesture-handler';
|
|
6
|
-
import { r, useColors, useThemedStyles } from "../../../theme/index.js";
|
|
6
|
+
import { fixed, pressedOpacity, r, useColors, useThemedStyles } from "../../../theme/index.js";
|
|
7
7
|
import { Icon } from "../Icon/index.js";
|
|
8
8
|
import { makeStyles } from "./styles.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -26,8 +26,10 @@ export function Checkbox({
|
|
|
26
26
|
const styles = useThemedStyles(makeStyles);
|
|
27
27
|
return /*#__PURE__*/_jsxs(Pressable, {
|
|
28
28
|
onPress: () => !disabled && onChange(!checked),
|
|
29
|
-
disabled: disabled
|
|
30
|
-
|
|
29
|
+
disabled: disabled
|
|
30
|
+
// [M-7] box 20pt → 垂直补 (44-20)/2=12 到 fixed.hitTarget
|
|
31
|
+
,
|
|
32
|
+
hitSlop: Math.round((fixed.hitTarget - r(20)) / 2),
|
|
31
33
|
accessibilityRole: "checkbox",
|
|
32
34
|
accessibilityState: {
|
|
33
35
|
checked,
|
|
@@ -38,18 +40,18 @@ export function Checkbox({
|
|
|
38
40
|
style: ({
|
|
39
41
|
pressed
|
|
40
42
|
}) => [styles.row, {
|
|
41
|
-
opacity: disabled ? 0.5 : pressed ?
|
|
43
|
+
opacity: disabled ? 0.5 : pressed ? pressedOpacity : 1
|
|
42
44
|
}],
|
|
43
45
|
children: [/*#__PURE__*/_jsx(View, {
|
|
44
|
-
style: [styles.box,
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
style: [styles.box,
|
|
47
|
+
// [L-79] circle 形态改用 radius.pill —— sentinel 999 确保任何尺寸下都是真圆
|
|
48
|
+
shape === 'circle' && styles.boxCircle, checked && {
|
|
47
49
|
backgroundColor: c.primary,
|
|
48
50
|
borderColor: c.primary
|
|
49
51
|
}],
|
|
50
52
|
children: checked ? /*#__PURE__*/_jsx(Icon, {
|
|
51
53
|
name: "check",
|
|
52
|
-
size: 14,
|
|
54
|
+
size: r(14),
|
|
53
55
|
color: c.onPrimary,
|
|
54
56
|
strokeWidth: 2.5
|
|
55
57
|
}) : null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","Pressable","r","useColors","useThemedStyles","Icon","makeStyles","jsx","_jsx","jsxs","_jsxs","Checkbox","checked","onChange","label","shape","disabled","testID","c","styles","onPress","hitSlop","accessibilityRole","accessibilityState","accessibilityLabel","style","pressed","row","opacity","children","box","
|
|
1
|
+
{"version":3,"names":["React","Text","View","Pressable","fixed","pressedOpacity","r","useColors","useThemedStyles","Icon","makeStyles","jsx","_jsx","jsxs","_jsxs","Checkbox","checked","onChange","label","shape","disabled","testID","c","styles","onPress","hitSlop","Math","round","hitTarget","accessibilityRole","accessibilityState","accessibilityLabel","style","pressed","row","opacity","children","box","boxCircle","backgroundColor","primary","borderColor","name","size","color","onPrimary","strokeWidth"],"sourceRoot":"../../../../../src","sources":["components/ui/Checkbox/Checkbox.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SACEC,KAAK,EACLC,cAAc,EACdC,CAAC,EACDC,SAAS,EACTC,eAAe,QACV,yBAAgB;AACvB,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,UAAU,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAAC;EACvBC,OAAO;EACPC,QAAQ;EACRC,KAAK;EACLC,KAAK,GAAG,QAAQ;EAChBC,QAAQ;EACRC;AACa,CAAC,EAAqB;EACnC,MAAMC,CAAC,GAAGf,SAAS,CAAC,CAAC;EACrB,MAAMgB,MAAM,GAAGf,eAAe,CAACE,UAAU,CAAC;EAC1C,oBACEI,KAAA,CAACX,SAAS;IACRqB,OAAO,EAAEA,CAAA,KAAM,CAACJ,QAAQ,IAAIH,QAAQ,CAAC,CAACD,OAAO,CAAE;IAC/CI,QAAQ,EAAEA;IACV;IAAA;IACAK,OAAO,EAAEC,IAAI,CAACC,KAAK,CAAC,CAACvB,KAAK,CAACwB,SAAS,GAAGtB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAE;IACnDuB,iBAAiB,EAAC,UAAU;IAC5BC,kBAAkB,EAAE;MAAEd,OAAO;MAAEI,QAAQ,EAAE,CAAC,CAACA;IAAS,CAAE;IACtDW,kBAAkB,EAAEb,KAAM;IAC1BG,MAAM,EAAEA,MAAO;IACfW,KAAK,EAAEA,CAAC;MAAEC;IAAQ,CAAC,KAAK,CACtBV,MAAM,CAACW,GAAG,EACV;MAAEC,OAAO,EAAEf,QAAQ,GAAG,GAAG,GAAGa,OAAO,GAAG5B,cAAc,GAAG;IAAE,CAAC,CAC1D;IAAA+B,QAAA,gBAEFxB,IAAA,CAACV,IAAI;MACH8B,KAAK,EAAE,CACLT,MAAM,CAACc,GAAG;MACV;MACAlB,KAAK,KAAK,QAAQ,IAAII,MAAM,CAACe,SAAS,EACtCtB,OAAO,IAAI;QACTuB,eAAe,EAAEjB,CAAC,CAACkB,OAAO;QAC1BC,WAAW,EAAEnB,CAAC,CAACkB;MACjB,CAAC,CACD;MAAAJ,QAAA,EAEDpB,OAAO,gBACNJ,IAAA,CAACH,IAAI;QACHiC,IAAI,EAAC,OAAO;QACZC,IAAI,EAAErC,CAAC,CAAC,EAAE,CAAE;QACZsC,KAAK,EAAEtB,CAAC,CAACuB,SAAU;QACnBC,WAAW,EAAE;MAAI,CAClB,CAAC,GACA;IAAI,CACJ,CAAC,EACN5B,KAAK,gBAAGN,IAAA,CAACX,IAAI;MAAC+B,KAAK,EAAET,MAAM,CAACL,KAAM;MAAAkB,QAAA,EAAElB;IAAK,CAAO,CAAC,GAAG,IAAI;EAAA,CAChD,CAAC;AAEhB","ignoreList":[]}
|
|
@@ -6,6 +6,8 @@ export const makeStyles = c => StyleSheet.create({
|
|
|
6
6
|
row: {
|
|
7
7
|
flexDirection: 'row',
|
|
8
8
|
alignItems: 'center',
|
|
9
|
+
// [L-37] alignSelf:'flex-start' 防止父容器拉伸(与 Chip [M-8] 同口径)
|
|
10
|
+
alignSelf: 'flex-start',
|
|
9
11
|
gap: space[4]
|
|
10
12
|
},
|
|
11
13
|
box: {
|
|
@@ -17,10 +19,16 @@ export const makeStyles = c => StyleSheet.create({
|
|
|
17
19
|
alignItems: 'center',
|
|
18
20
|
justifyContent: 'center'
|
|
19
21
|
},
|
|
22
|
+
/** [L-79] circle 形态 —— radius.pill(sentinel 999)确保任何尺寸下真圆 */
|
|
23
|
+
boxCircle: {
|
|
24
|
+
borderRadius: radius.pill
|
|
25
|
+
},
|
|
20
26
|
label: {
|
|
21
27
|
fontSize: t.sm,
|
|
22
28
|
color: c.foreground,
|
|
23
|
-
fontWeight: fw.regular
|
|
29
|
+
fontWeight: fw.regular,
|
|
30
|
+
// flexShrink:长 label 在 row 内换行/截断,不溢出也不把同行控件挤没([M-10])
|
|
31
|
+
flexShrink: 1
|
|
24
32
|
}
|
|
25
33
|
});
|
|
26
34
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","fw","r","radius","space","type","t","makeStyles","c","create","row","flexDirection","alignItems","gap","box","width","height","borderRadius","xs","borderWidth","borderColor","outline","justifyContent","label","fontSize","sm","color","foreground","fontWeight","regular"],"sourceRoot":"../../../../../src","sources":["components/ui/Checkbox/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,EAAE,EAAEC,CAAC,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,IAAIC,CAAC,QAAQ,yBAAgB;AAGhE,OAAO,MAAMC,UAAU,GAAIC,CAAc,IACvCR,UAAU,CAACS,MAAM,CAAC;EAChBC,GAAG,EAAE;IACHC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"names":["StyleSheet","fw","r","radius","space","type","t","makeStyles","c","create","row","flexDirection","alignItems","alignSelf","gap","box","width","height","borderRadius","xs","borderWidth","borderColor","outline","justifyContent","boxCircle","pill","label","fontSize","sm","color","foreground","fontWeight","regular","flexShrink"],"sourceRoot":"../../../../../src","sources":["components/ui/Checkbox/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,EAAE,EAAEC,CAAC,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,IAAIC,CAAC,QAAQ,yBAAgB;AAGhE,OAAO,MAAMC,UAAU,GAAIC,CAAc,IACvCR,UAAU,CAACS,MAAM,CAAC;EAChBC,GAAG,EAAE;IACHC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpB;IACAC,SAAS,EAAE,YAAqB;IAChCC,GAAG,EAAEV,KAAK,CAAC,CAAC;EACd,CAAC;EACDW,GAAG,EAAE;IACHC,KAAK,EAAEd,CAAC,CAAC,EAAE,CAAC;IACZe,MAAM,EAAEf,CAAC,CAAC,EAAE,CAAC;IACbgB,YAAY,EAAEf,MAAM,CAACgB,EAAE;IACvBC,WAAW,EAAElB,CAAC,CAAC,GAAG,CAAC;IACnBmB,WAAW,EAAEb,CAAC,CAACc,OAAO;IACtBV,UAAU,EAAE,QAAQ;IACpBW,cAAc,EAAE;EAClB,CAAC;EACD;EACAC,SAAS,EAAE;IACTN,YAAY,EAAEf,MAAM,CAACsB;EACvB,CAAC;EACDC,KAAK,EAAE;IACLC,QAAQ,EAAErB,CAAC,CAACsB,EAAE;IACdC,KAAK,EAAErB,CAAC,CAACsB,UAAU;IACnBC,UAAU,EAAE9B,EAAE,CAAC+B,OAAO;IACtB;IACAC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Text, View } from 'react-native';
|
|
5
5
|
import { Pressable } from 'react-native-gesture-handler';
|
|
6
|
-
import { useThemedStyles } from "../../../theme/index.js";
|
|
6
|
+
import { fixed, pressedOpacity, r, rf, useThemedStyles } from "../../../theme/index.js";
|
|
7
7
|
import { makeStyles } from "./styles.js";
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
/**
|
|
10
10
|
* 胶囊形可点击 chip。
|
|
11
|
-
* -
|
|
11
|
+
* - 默认:surface 底 + outline 细线边框,foreground 文本
|
|
12
12
|
* - 选中:主色边框 + 主色文本
|
|
13
|
-
* - 按下:透明度
|
|
13
|
+
* - 按下:透明度 pressedOpacity(与 ButtonBase 同源)
|
|
14
|
+
* - 禁用:透明度 0.5 + 不响应 onPress
|
|
14
15
|
*
|
|
15
16
|
* 常用于建议 chip、筛选 pill、多选标签等。
|
|
16
17
|
*/
|
|
@@ -18,6 +19,7 @@ export function Chip({
|
|
|
18
19
|
label,
|
|
19
20
|
selected,
|
|
20
21
|
onPress,
|
|
22
|
+
disabled,
|
|
21
23
|
leading,
|
|
22
24
|
trailing,
|
|
23
25
|
style,
|
|
@@ -38,18 +40,30 @@ export function Chip({
|
|
|
38
40
|
}) : null]
|
|
39
41
|
});
|
|
40
42
|
if (onPress) {
|
|
43
|
+
// [M-7] chip 内容高 ≈ 2×space[3] + xs 行高 ≈ 34pt < 44pt
|
|
44
|
+
// Pressable 是外壳,hitSlop 向外补足到 fixed.hitTarget
|
|
45
|
+
const chipHitSlopV = Math.max(0, Math.round((fixed.hitTarget - (2 * r(8) + rf(13) * 1.4)) / 2));
|
|
41
46
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
42
47
|
onPress: onPress,
|
|
48
|
+
disabled: disabled,
|
|
43
49
|
accessibilityRole: "button",
|
|
44
50
|
accessibilityState: {
|
|
45
|
-
selected: !!selected
|
|
51
|
+
selected: !!selected,
|
|
52
|
+
disabled: !!disabled
|
|
46
53
|
},
|
|
47
54
|
accessibilityLabel: label,
|
|
48
55
|
testID: testID,
|
|
56
|
+
hitSlop: {
|
|
57
|
+
top: chipHitSlopV,
|
|
58
|
+
bottom: chipHitSlopV,
|
|
59
|
+
left: 0,
|
|
60
|
+
right: 0
|
|
61
|
+
},
|
|
49
62
|
style: ({
|
|
50
63
|
pressed
|
|
51
64
|
}) => [{
|
|
52
|
-
|
|
65
|
+
alignSelf: 'flex-start',
|
|
66
|
+
opacity: disabled ? 0.5 : pressed ? pressedOpacity : 1
|
|
53
67
|
}],
|
|
54
68
|
children: inner
|
|
55
69
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","Pressable","useThemedStyles","makeStyles","jsx","_jsx","jsxs","_jsxs","Chip","label","selected","onPress","leading","trailing","style","testID","styles","inner","chip","chipOn","undefined","children","text","textOn","numberOfLines","accessibilityRole","accessibilityState","accessibilityLabel","pressed","opacity"],"sourceRoot":"../../../../../src","sources":["components/ui/Chip/Chip.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,eAAe,QAAQ,yBAAgB;
|
|
1
|
+
{"version":3,"names":["React","Text","View","Pressable","fixed","pressedOpacity","r","rf","useThemedStyles","makeStyles","jsx","_jsx","jsxs","_jsxs","Chip","label","selected","onPress","disabled","leading","trailing","style","testID","styles","inner","chip","chipOn","undefined","children","text","textOn","numberOfLines","chipHitSlopV","Math","max","round","hitTarget","accessibilityRole","accessibilityState","accessibilityLabel","hitSlop","top","bottom","left","right","pressed","alignSelf","opacity"],"sourceRoot":"../../../../../src","sources":["components/ui/Chip/Chip.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,KAAK,EAAEC,cAAc,EAAEC,CAAC,EAAEC,EAAE,EAAEC,eAAe,QAAQ,yBAAgB;AAC9E,SAASC,UAAU,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAAC;EACnBC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;EACRC,OAAO;EACPC,QAAQ;EACRC,KAAK;EACLC;AACS,CAAC,EAAqB;EAC/B,MAAMC,MAAM,GAAGf,eAAe,CAACC,UAAU,CAAC;EAC1C,MAAMe,KAAK,gBACTX,KAAA,CAACX,IAAI;IACHmB,KAAK,EAAE,CAACE,MAAM,CAACE,IAAI,EAAET,QAAQ,IAAIO,MAAM,CAACG,MAAM,EAAEL,KAAK,CAAE;IACvDC,MAAM,EAAEL,OAAO,GAAGU,SAAS,GAAGL,MAAO;IAAAM,QAAA,GAEpCT,OAAO,IAAI,IAAI,gBAAGR,IAAA,CAACT,IAAI;MAAA0B,QAAA,EAAET;IAAO,CAAO,CAAC,GAAG,IAAI,eAChDR,IAAA,CAACV,IAAI;MAACoB,KAAK,EAAE,CAACE,MAAM,CAACM,IAAI,EAAEb,QAAQ,IAAIO,MAAM,CAACO,MAAM,CAAE;MAACC,aAAa,EAAE,CAAE;MAAAH,QAAA,EACrEb;IAAK,CACF,CAAC,EACNK,QAAQ,IAAI,IAAI,gBAAGT,IAAA,CAACT,IAAI;MAAA0B,QAAA,EAAER;IAAQ,CAAO,CAAC,GAAG,IAAI;EAAA,CAC9C,CACP;EAED,IAAIH,OAAO,EAAE;IACX;IACA;IACA,MAAMe,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC3B,CAAC,EACDD,IAAI,CAACE,KAAK,CAAC,CAAC/B,KAAK,CAACgC,SAAS,IAAI,CAAC,GAAG9B,CAAC,CAAC,CAAC,CAAC,GAAGC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAC9D,CAAC;IACD,oBACEI,IAAA,CAACR,SAAS;MACRc,OAAO,EAAEA,OAAQ;MACjBC,QAAQ,EAAEA,QAAS;MACnBmB,iBAAiB,EAAC,QAAQ;MAC1BC,kBAAkB,EAAE;QAAEtB,QAAQ,EAAE,CAAC,CAACA,QAAQ;QAAEE,QAAQ,EAAE,CAAC,CAACA;MAAS,CAAE;MACnEqB,kBAAkB,EAAExB,KAAM;MAC1BO,MAAM,EAAEA,MAAO;MACfkB,OAAO,EAAE;QAAEC,GAAG,EAAET,YAAY;QAAEU,MAAM,EAAEV,YAAY;QAAEW,IAAI,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAE;MACxEvB,KAAK,EAAEA,CAAC;QAAEwB;MAAQ,CAAC,KAAK,CACtB;QACEC,SAAS,EAAE,YAAY;QACvBC,OAAO,EAAE7B,QAAQ,GAAG,GAAG,GAAG2B,OAAO,GAAGxC,cAAc,GAAG;MACvD,CAAC,CACD;MAAAuB,QAAA,EAEDJ;IAAK,CACG,CAAC;EAEhB;EACA,OAAOA,KAAK;AACd","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
3
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { Modal, Pressable, Text, View } from 'react-native';
|
|
5
5
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
6
6
|
import { space, useThemedStyles } from "../../../theme/index.js";
|
|
@@ -19,11 +19,25 @@ export function ConfirmHost() {
|
|
|
19
19
|
const styles = useThemedStyles(makeStyles);
|
|
20
20
|
const insets = useSafeAreaInsets();
|
|
21
21
|
const [entry, setEntry] = useState(null);
|
|
22
|
+
|
|
23
|
+
// 跟踪当前未决 entry,供 unmount cleanup resolve(false)。
|
|
24
|
+
const pendingRef = useRef(null);
|
|
25
|
+
pendingRef.current = entry;
|
|
26
|
+
|
|
27
|
+
// 保留最后一次显示的 entry:关闭时 entry 立即置 null,但 slide 退场动画期 Modal 仍可见,
|
|
28
|
+
// 渲染 lastEntry 才不会滑出一个只剩 padding 的空 sheet([M-17])。
|
|
29
|
+
const lastEntryRef = useRef(null);
|
|
30
|
+
if (entry) lastEntryRef.current = entry;
|
|
31
|
+
const display = entry ?? lastEntryRef.current;
|
|
22
32
|
useEffect(() => {
|
|
33
|
+
// [L-101] Subscriber 不再接收 null —— 收到新 entry 即显示;关闭路径由 resolve() 驱动
|
|
23
34
|
const sub = next => setEntry(next);
|
|
24
35
|
_subs.add(sub);
|
|
25
36
|
return () => {
|
|
26
37
|
_subs.delete(sub);
|
|
38
|
+
// Host 卸载时若对话框仍未决(error boundary 重置 / 根 re-key 切语言主题等),
|
|
39
|
+
// resolve(false) —— 否则 confirm() 的 Promise 永久悬挂、_activeEntry 锁死([H-5])。
|
|
40
|
+
pendingRef.current?.resolve(false);
|
|
27
41
|
};
|
|
28
42
|
}, []);
|
|
29
43
|
const handleConfirm = useCallback(() => {
|
|
@@ -42,37 +56,40 @@ export function ConfirmHost() {
|
|
|
42
56
|
onRequestClose: handleCancel,
|
|
43
57
|
children: /*#__PURE__*/_jsx(Pressable, {
|
|
44
58
|
style: styles.backdrop,
|
|
45
|
-
onPress: handleCancel
|
|
46
|
-
|
|
47
|
-
|
|
59
|
+
onPress: handleCancel
|
|
60
|
+
// [M-16] accessible={false}:否则 backdrop 把整个子树合并成单一「关闭, 按钮」,
|
|
61
|
+
// 遮蔽 sheet 内的 title/message/按钮。SR 取消路径走 cancel 按钮 + onRequestClose。
|
|
62
|
+
,
|
|
63
|
+
accessible: false,
|
|
48
64
|
children: /*#__PURE__*/_jsx(Pressable, {
|
|
49
65
|
style: [styles.sheet, {
|
|
50
66
|
paddingBottom: insets.bottom + space['7']
|
|
51
67
|
}],
|
|
52
68
|
onPress: () => {},
|
|
53
|
-
|
|
69
|
+
accessible: false,
|
|
70
|
+
children: display ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
54
71
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
55
72
|
style: styles.body,
|
|
56
73
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
57
74
|
style: styles.title,
|
|
58
75
|
accessibilityRole: "header",
|
|
59
|
-
children:
|
|
60
|
-
}),
|
|
76
|
+
children: display.title
|
|
77
|
+
}), display.message ? /*#__PURE__*/_jsx(Text, {
|
|
61
78
|
style: styles.message,
|
|
62
|
-
children:
|
|
79
|
+
children: display.message
|
|
63
80
|
}) : null]
|
|
64
81
|
}), /*#__PURE__*/_jsxs(View, {
|
|
65
82
|
style: styles.actions,
|
|
66
83
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
67
84
|
testID: "confirm-cancel",
|
|
68
|
-
label:
|
|
85
|
+
label: display.cancelLabel ?? '取消',
|
|
69
86
|
variant: "secondary",
|
|
70
87
|
block: true,
|
|
71
88
|
onPress: handleCancel
|
|
72
89
|
}), /*#__PURE__*/_jsx(Button, {
|
|
73
90
|
testID: "confirm-ok",
|
|
74
|
-
label:
|
|
75
|
-
variant:
|
|
91
|
+
label: display.confirmLabel ?? '确认',
|
|
92
|
+
variant: display.destructive ? 'danger' : 'primary',
|
|
76
93
|
block: true,
|
|
77
94
|
onPress: handleConfirm
|
|
78
95
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useState","Modal","Pressable","Text","View","useSafeAreaInsets","space","useThemedStyles","Button","_subs","makeStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ConfirmHost","styles","insets","entry","setEntry","sub","next","add","delete","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","Modal","Pressable","Text","View","useSafeAreaInsets","space","useThemedStyles","Button","_subs","makeStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ConfirmHost","styles","insets","entry","setEntry","pendingRef","current","lastEntryRef","display","sub","next","add","delete","resolve","handleConfirm","handleCancel","visible","transparent","animationType","statusBarTranslucent","onRequestClose","children","style","backdrop","onPress","accessible","sheet","paddingBottom","bottom","body","title","accessibilityRole","message","actions","testID","label","cancelLabel","variant","block","confirmLabel","destructive"],"sourceRoot":"../../../../../src","sources":["components/ui/Confirm/ConfirmHost.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,6 +35,12 @@ export function confirm(options) {
|
|
|
35
35
|
log.warn('confirm() 已有一个对话框在显示,新请求被拒绝(同一时间只 1 个,避免叠加)。');
|
|
36
36
|
return Promise.resolve(false);
|
|
37
37
|
}
|
|
38
|
+
// 没有 ConfirmHost 订阅 → entry 无人接收,Promise 会永久悬挂、调用方 await 卡死。
|
|
39
|
+
// 立即 resolve(false) 并告警,且不占 _activeEntry(否则后续 confirm 全被重入分支锁死)。
|
|
40
|
+
if (_subs.size === 0) {
|
|
41
|
+
log.warn('confirm() 调用时未挂载 <ConfirmHost />,对话框无法显示,已 resolve(false)。请在 app 根附近挂一次 <ConfirmHost />。');
|
|
42
|
+
return Promise.resolve(false);
|
|
43
|
+
}
|
|
38
44
|
return new Promise(resolve => {
|
|
39
45
|
const entry = {
|
|
40
46
|
id: ++_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createLogger","log","_id","_activeEntry","_subs","Set","confirm","options","warn","Promise","resolve","entry","id","confirmed","forEach","s"],"sourceRoot":"../../../../../src","sources":["components/ui/Confirm/confirm.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,gCAAuB;AAGpD,MAAMC,GAAG,GAAGD,YAAY,CAAC,SAAS,CAAC;AAEnC,IAAIE,GAAG,GAAG,CAAC;AACX,IAAIC,YAAiC,GAAG,IAAI;AAC5C,OAAO,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAAa,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,OAAOA,CAACC,OAAuB,EAAoB;EACjE,IAAIJ,YAAY,EAAE;IAChBF,GAAG,CAACO,IAAI,CACN,8CACF,CAAC;IACD,OAAOC,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;EAC/B;EACA,OAAO,IAAID,OAAO,CAAWC,OAAO,IAAK;IACvC,
|
|
1
|
+
{"version":3,"names":["createLogger","log","_id","_activeEntry","_subs","Set","confirm","options","warn","Promise","resolve","size","entry","id","confirmed","forEach","s"],"sourceRoot":"../../../../../src","sources":["components/ui/Confirm/confirm.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,gCAAuB;AAGpD,MAAMC,GAAG,GAAGD,YAAY,CAAC,SAAS,CAAC;AAEnC,IAAIE,GAAG,GAAG,CAAC;AACX,IAAIC,YAAiC,GAAG,IAAI;AAC5C,OAAO,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAAa,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,OAAOA,CAACC,OAAuB,EAAoB;EACjE,IAAIJ,YAAY,EAAE;IAChBF,GAAG,CAACO,IAAI,CACN,8CACF,CAAC;IACD,OAAOC,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;EAC/B;EACA;EACA;EACA,IAAIN,KAAK,CAACO,IAAI,KAAK,CAAC,EAAE;IACpBV,GAAG,CAACO,IAAI,CACN,0FACF,CAAC;IACD,OAAOC,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;EAC/B;EACA,OAAO,IAAID,OAAO,CAAWC,OAAO,IAAK;IACvC,MAAME,KAAmB,GAAG;MAC1BC,EAAE,EAAE,EAAEX,GAAG;MACT,GAAGK,OAAO;MACVG,OAAO,EAAGI,SAAkB,IAAK;QAC/BX,YAAY,GAAG,IAAI;QACnBO,OAAO,CAACI,SAAS,CAAC;MACpB;IACF,CAAC;IACDX,YAAY,GAAGS,KAAK;IACpBR,KAAK,CAACW,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACJ,KAAK,CAAC,CAAC;EAChC,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect,
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
4
|
import { Image, Text, View } from 'react-native';
|
|
5
5
|
import { useThemedStyles } from "../../../theme/index.js";
|
|
6
6
|
import { makeStyles } from "./styles.js";
|
|
@@ -13,22 +13,26 @@ export function DrawerHeader({
|
|
|
13
13
|
name,
|
|
14
14
|
subtitle,
|
|
15
15
|
source,
|
|
16
|
+
style,
|
|
16
17
|
testID
|
|
17
18
|
}) {
|
|
18
19
|
const styles = useThemedStyles(makeStyles);
|
|
19
20
|
const [imageFailed, setImageFailed] = useState(false);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
|
|
22
|
+
// [M-20] React 18+ 已移除 unmount 后 setState 的 warning,mountedRef 守卫为死码,删除。
|
|
23
|
+
// [L-44] source 变化时重置 imageFailed,否则换图 URL 后仍展示 fallback 文字。
|
|
24
|
+
const uri = source != null && typeof source === 'object' && 'uri' in source ? source.uri : null;
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
setImageFailed(false);
|
|
27
|
+
}, [uri, source]);
|
|
25
28
|
const handleImageError = () => {
|
|
26
|
-
|
|
29
|
+
setImageFailed(true);
|
|
27
30
|
};
|
|
28
|
-
|
|
31
|
+
// [L-51] 码点级取首字,防 emoji / 代理对被截断为乱码。
|
|
32
|
+
const initial = [...name.trim()][0] ?? '?';
|
|
29
33
|
const showImage = source != null && !imageFailed;
|
|
30
34
|
return /*#__PURE__*/_jsxs(View, {
|
|
31
|
-
style: styles.header,
|
|
35
|
+
style: [styles.header, style],
|
|
32
36
|
testID: testID,
|
|
33
37
|
children: [/*#__PURE__*/_jsx(View, {
|
|
34
38
|
style: [styles.avatar, showImage && styles.avatarImageMode],
|
|
@@ -37,6 +41,7 @@ export function DrawerHeader({
|
|
|
37
41
|
onError: handleImageError,
|
|
38
42
|
style: styles.avatarImage,
|
|
39
43
|
resizeMode: "cover",
|
|
44
|
+
accessible: !!name,
|
|
40
45
|
accessibilityLabel: name
|
|
41
46
|
}) : /*#__PURE__*/_jsx(Text, {
|
|
42
47
|
style: styles.avatarText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","Image","Text","View","useThemedStyles","makeStyles","jsx","_jsx","jsxs","_jsxs","DrawerHeader","name","subtitle","source","style","testID","styles","imageFailed","setImageFailed","uri","handleImageError","initial","trim","showImage","header","children","avatar","avatarImageMode","onError","avatarImage","resizeMode","accessible","accessibilityLabel","avatarText","numberOfLines"],"sourceRoot":"../../../../../src","sources":["components/ui/DrawerHeader/DrawerHeader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,KAAK,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAChD,SAASC,eAAe,QAAQ,yBAAgB;AAChD,SAASC,UAAU,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGtC;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAC;EAC3BC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC,KAAK;EACLC;AACiB,CAAC,EAAqB;EACvC,MAAMC,MAAM,GAAGZ,eAAe,CAACC,UAAU,CAAC;EAC1C,MAAM,CAACY,WAAW,EAAEC,cAAc,CAAC,GAAGlB,QAAQ,CAAC,KAAK,CAAC;;EAErD;EACA;EACA,MAAMmB,GAAG,GACPN,MAAM,IAAI,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAIA,MAAM,GAC1DA,MAAM,CAAsBM,GAAG,GAChC,IAAI;EACVpB,SAAS,CAAC,MAAM;IACdmB,cAAc,CAAC,KAAK,CAAC;EACvB,CAAC,EAAE,CAACC,GAAG,EAAEN,MAAM,CAAC,CAAC;EAEjB,MAAMO,gBAAgB,GAAGA,CAAA,KAAM;IAC7BF,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EACD;EACA,MAAMG,OAAO,GAAG,CAAC,GAAGV,IAAI,CAACW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;EAC1C,MAAMC,SAAS,GAAGV,MAAM,IAAI,IAAI,IAAI,CAACI,WAAW;EAChD,oBACER,KAAA,CAACN,IAAI;IAACW,KAAK,EAAE,CAACE,MAAM,CAACQ,MAAM,EAAEV,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAU,QAAA,gBAClDlB,IAAA,CAACJ,IAAI;MAACW,KAAK,EAAE,CAACE,MAAM,CAACU,MAAM,EAAEH,SAAS,IAAIP,MAAM,CAACW,eAAe,CAAE;MAAAF,QAAA,EAC/DF,SAAS,gBACRhB,IAAA,CAACN,KAAK;QACJY,MAAM,EAAEA,MAAO;QACfe,OAAO,EAAER,gBAAiB;QAC1BN,KAAK,EAAEE,MAAM,CAACa,WAAY;QAC1BC,UAAU,EAAC,OAAO;QAClBC,UAAU,EAAE,CAAC,CAACpB,IAAK;QACnBqB,kBAAkB,EAAErB;MAAK,CAC1B,CAAC,gBAEFJ,IAAA,CAACL,IAAI;QAACY,KAAK,EAAEE,MAAM,CAACiB,UAAW;QAAAR,QAAA,EAAEJ;MAAO,CAAO;IAChD,CACG,CAAC,eACPd,IAAA,CAACL,IAAI;MAACY,KAAK,EAAEE,MAAM,CAACL,IAAK;MAACuB,aAAa,EAAE,CAAE;MAAAT,QAAA,EACxCd;IAAI,CACD,CAAC,EACNC,QAAQ,gBACPL,IAAA,CAACL,IAAI;MAACY,KAAK,EAAEE,MAAM,CAACJ,QAAS;MAACsB,aAAa,EAAE,CAAE;MAAAT,QAAA,EAC5Cb;IAAQ,CACL,CAAC,GACL,IAAI;EAAA,CACJ,CAAC;AAEX","ignoreList":[]}
|