@unif/react-native-design 0.20.0 → 0.21.1
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 +121 -12
- package/lib/module/components/business/AvatarWithRing/AvatarWithRing.js +4 -5
- package/lib/module/components/business/AvatarWithRing/AvatarWithRing.js.map +1 -1
- package/lib/module/components/business/AvatarWithRing/styles.js +10 -9
- package/lib/module/components/business/AvatarWithRing/styles.js.map +1 -1
- package/lib/module/components/business/VersionPill/VersionPill.js +32 -15
- package/lib/module/components/business/VersionPill/VersionPill.js.map +1 -1
- package/lib/module/components/business/VersionPill/content.js +30 -0
- package/lib/module/components/business/VersionPill/content.js.map +1 -0
- package/lib/module/components/business/VersionPill/styles.js +4 -0
- package/lib/module/components/business/VersionPill/styles.js.map +1 -1
- package/lib/module/components/business/useSvgId.js +17 -8
- package/lib/module/components/business/useSvgId.js.map +1 -1
- package/lib/module/components/ui/Avatar/Avatar.js +22 -29
- package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/ui/Button/Button.js +40 -23
- package/lib/module/components/ui/Button/Button.js.map +1 -1
- package/lib/module/components/ui/Button/ButtonBase.js +13 -13
- package/lib/module/components/ui/Button/ButtonBase.js.map +1 -1
- package/lib/module/components/ui/Carousel/Carousel.js +68 -40
- package/lib/module/components/ui/Carousel/Carousel.js.map +1 -1
- package/lib/module/components/ui/Carousel/behavior.js +60 -0
- package/lib/module/components/ui/Carousel/behavior.js.map +1 -0
- package/lib/module/components/ui/Carousel/styles.js +6 -8
- package/lib/module/components/ui/Carousel/styles.js.map +1 -1
- package/lib/module/components/ui/Cell/Cell.js +76 -65
- package/lib/module/components/ui/Cell/Cell.js.map +1 -1
- package/lib/module/components/ui/Cell/Leading.js +11 -5
- package/lib/module/components/ui/Cell/Leading.js.map +1 -1
- package/lib/module/components/ui/Cell/content.js +34 -0
- package/lib/module/components/ui/Cell/content.js.map +1 -0
- package/lib/module/components/ui/Checkbox/Checkbox.js +25 -8
- package/lib/module/components/ui/Checkbox/Checkbox.js.map +1 -1
- package/lib/module/components/ui/Confirm/ConfirmHost.js +49 -25
- package/lib/module/components/ui/Confirm/ConfirmHost.js.map +1 -1
- package/lib/module/components/ui/Confirm/confirm.js +15 -29
- package/lib/module/components/ui/Confirm/confirm.js.map +1 -1
- package/lib/module/components/ui/Confirm/labels.js +10 -0
- package/lib/module/components/ui/Confirm/labels.js.map +1 -0
- package/lib/module/components/ui/Confirm/store.js +113 -0
- package/lib/module/components/ui/Confirm/store.js.map +1 -0
- package/lib/module/components/ui/Confirm/styles.js +4 -0
- package/lib/module/components/ui/Confirm/styles.js.map +1 -1
- package/lib/module/components/ui/DrawerHeader/DrawerHeader.js +17 -25
- package/lib/module/components/ui/DrawerHeader/DrawerHeader.js.map +1 -1
- package/lib/module/components/ui/Grid/Grid.js +26 -9
- package/lib/module/components/ui/Grid/Grid.js.map +1 -1
- package/lib/module/components/ui/Grid/accessibility.js +13 -0
- package/lib/module/components/ui/Grid/accessibility.js.map +1 -0
- package/lib/module/components/ui/IconButton/IconButton.js +16 -3
- package/lib/module/components/ui/IconButton/IconButton.js.map +1 -1
- package/lib/module/components/ui/Input/Input.js +8 -5
- package/lib/module/components/ui/Input/Input.js.map +1 -1
- package/lib/module/components/ui/Logo/Logo.js +22 -4
- package/lib/module/components/ui/Logo/Logo.js.map +1 -1
- package/lib/module/components/ui/NavBar/NavBar.js +23 -14
- package/lib/module/components/ui/NavBar/NavBar.js.map +1 -1
- package/lib/module/components/ui/NavBar/isSlot.js +297 -4
- package/lib/module/components/ui/NavBar/isSlot.js.map +1 -1
- package/lib/module/components/ui/PasswordInput/PasswordInput.js +61 -66
- package/lib/module/components/ui/PasswordInput/PasswordInput.js.map +1 -1
- package/lib/module/components/ui/Pulse/Pulse.js +1 -1
- package/lib/module/components/ui/Pulse/Pulse.js.map +1 -1
- package/lib/module/components/ui/Pulse/PulseDot.js +5 -7
- package/lib/module/components/ui/Pulse/PulseDot.js.map +1 -1
- package/lib/module/components/ui/Pulse/index.js +1 -1
- package/lib/module/components/ui/Pulse/index.js.map +1 -1
- package/lib/module/components/ui/Pulse/normalizePulseOptions.js +45 -0
- package/lib/module/components/ui/Pulse/normalizePulseOptions.js.map +1 -0
- package/lib/module/components/ui/Pulse/usePulse.js +61 -24
- package/lib/module/components/ui/Pulse/usePulse.js.map +1 -1
- package/lib/module/components/ui/Pulse/usePulseDriver.js +44 -0
- package/lib/module/components/ui/Pulse/usePulseDriver.js.map +1 -0
- package/lib/module/components/ui/Pulse/usePulseDriver.web.js +67 -0
- package/lib/module/components/ui/Pulse/usePulseDriver.web.js.map +1 -0
- package/lib/module/components/ui/Radio/Radio.js +31 -14
- package/lib/module/components/ui/Radio/Radio.js.map +1 -1
- package/lib/module/components/ui/Radio/RadioGroup.js +15 -2
- package/lib/module/components/ui/Radio/RadioGroup.js.map +1 -1
- package/lib/module/components/ui/Reveal/Reveal.js +4 -3
- package/lib/module/components/ui/Reveal/Reveal.js.map +1 -1
- package/lib/module/components/ui/Reveal/Reveal.web.js +55 -32
- package/lib/module/components/ui/Reveal/Reveal.web.js.map +1 -1
- package/lib/module/components/ui/Reveal/webTransition.js +157 -0
- package/lib/module/components/ui/Reveal/webTransition.js.map +1 -0
- package/lib/module/components/ui/Search/Search.js +85 -58
- package/lib/module/components/ui/Search/Search.js.map +1 -1
- package/lib/module/components/ui/Segmented/Segmented.js +4 -2
- package/lib/module/components/ui/Segmented/Segmented.js.map +1 -1
- package/lib/module/components/ui/Skeleton/Skeleton.js +5 -7
- package/lib/module/components/ui/Skeleton/Skeleton.js.map +1 -1
- package/lib/module/components/ui/Spinner/Spinner.js +18 -11
- package/lib/module/components/ui/Spinner/Spinner.js.map +1 -1
- package/lib/module/components/ui/Spinner/Spinner.web.js +18 -14
- package/lib/module/components/ui/Spinner/Spinner.web.js.map +1 -1
- package/lib/module/components/ui/Spinner/shared.js +6 -0
- package/lib/module/components/ui/Spinner/shared.js.map +1 -1
- package/lib/module/components/ui/Stepper/Stepper.js +131 -99
- package/lib/module/components/ui/Stepper/Stepper.js.map +1 -1
- package/lib/module/components/ui/Stepper/StepperPressable.js +4 -0
- package/lib/module/components/ui/Stepper/StepperPressable.js.map +1 -0
- package/lib/module/components/ui/Stepper/StepperPressable.web.js +4 -0
- package/lib/module/components/ui/Stepper/StepperPressable.web.js.map +1 -0
- package/lib/module/components/ui/Stepper/accessibility.js +30 -0
- package/lib/module/components/ui/Stepper/accessibility.js.map +1 -0
- package/lib/module/components/ui/Stepper/accessibility.types.js +4 -0
- package/lib/module/components/ui/Stepper/accessibility.types.js.map +1 -0
- package/lib/module/components/ui/Stepper/accessibility.web.js +57 -0
- package/lib/module/components/ui/Stepper/accessibility.web.js.map +1 -0
- package/lib/module/components/ui/Stepper/layout.js +28 -0
- package/lib/module/components/ui/Stepper/layout.js.map +1 -0
- package/lib/module/components/ui/Stepper/normalizeStepper.js +53 -0
- package/lib/module/components/ui/Stepper/normalizeStepper.js.map +1 -0
- package/lib/module/components/ui/Stepper/styles.js +9 -2
- package/lib/module/components/ui/Stepper/styles.js.map +1 -1
- package/lib/module/components/ui/Switch/Switch.js +45 -19
- package/lib/module/components/ui/Switch/Switch.js.map +1 -1
- package/lib/module/components/ui/Switch/Switch.web.js +47 -20
- package/lib/module/components/ui/Switch/Switch.web.js.map +1 -1
- package/lib/module/components/ui/Switch/styles.js +12 -5
- package/lib/module/components/ui/Switch/styles.js.map +1 -1
- package/lib/module/components/ui/Tag/Tag.js +3 -2
- package/lib/module/components/ui/Tag/Tag.js.map +1 -1
- package/lib/module/components/ui/TextField/TextFieldBase.js +131 -86
- package/lib/module/components/ui/TextField/TextFieldBase.js.map +1 -1
- package/lib/module/components/ui/TextField/TextFieldSlot.js +82 -0
- package/lib/module/components/ui/TextField/TextFieldSlot.js.map +1 -0
- package/lib/module/components/ui/TextField/normalize.js +238 -0
- package/lib/module/components/ui/TextField/normalize.js.map +1 -0
- package/lib/module/components/ui/TextField/styles.js +31 -0
- package/lib/module/components/ui/TextField/styles.js.map +1 -1
- package/lib/module/components/ui/TextField/useErrorAnnouncement.js +27 -0
- package/lib/module/components/ui/TextField/useErrorAnnouncement.js.map +1 -0
- package/lib/module/components/ui/TextField/useTextFieldValue.js +66 -0
- package/lib/module/components/ui/TextField/useTextFieldValue.js.map +1 -0
- package/lib/module/components/ui/TextField/valueState.js +93 -0
- package/lib/module/components/ui/TextField/valueState.js.map +1 -0
- package/lib/module/components/ui/Textarea/Textarea.js +7 -3
- package/lib/module/components/ui/Textarea/Textarea.js.map +1 -1
- package/lib/module/components/ui/Thumbnail/Thumbnail.js +67 -48
- package/lib/module/components/ui/Thumbnail/Thumbnail.js.map +1 -1
- package/lib/module/components/ui/Thumbnail/normalize.js +58 -0
- package/lib/module/components/ui/Thumbnail/normalize.js.map +1 -0
- package/lib/module/components/ui/Thumbnail/styles.js +6 -11
- package/lib/module/components/ui/Thumbnail/styles.js.map +1 -1
- package/lib/module/components/ui/Toast/ToastHost.js +64 -21
- package/lib/module/components/ui/Toast/ToastHost.js.map +1 -1
- package/lib/module/components/ui/Toast/ToastHost.web.js +73 -24
- package/lib/module/components/ui/Toast/ToastHost.web.js.map +1 -1
- package/lib/module/components/ui/Toast/store.js +110 -0
- package/lib/module/components/ui/Toast/store.js.map +1 -0
- package/lib/module/components/ui/Toast/toast.js +17 -7
- package/lib/module/components/ui/Toast/toast.js.map +1 -1
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/components/ui/shared/ImageAttempt.js +28 -0
- package/lib/module/components/ui/shared/ImageAttempt.js.map +1 -0
- package/lib/module/components/ui/shared/a11y.js +21 -0
- package/lib/module/components/ui/shared/a11y.js.map +1 -0
- package/lib/module/components/ui/shared/accessibilityName.js +9 -0
- package/lib/module/components/ui/shared/accessibilityName.js.map +1 -0
- package/lib/module/components/ui/shared/selectImageAttemptSource.js +5 -0
- package/lib/module/components/ui/shared/selectImageAttemptSource.js.map +1 -0
- package/lib/module/components/ui/shared/selectImageAttemptSource.shared.js +13 -0
- package/lib/module/components/ui/shared/selectImageAttemptSource.shared.js.map +1 -0
- package/lib/module/components/ui/shared/selectImageAttemptSource.web.js +5 -0
- package/lib/module/components/ui/shared/selectImageAttemptSource.web.js.map +1 -0
- package/lib/module/icons/data.js +1 -1
- package/lib/module/icons/data.js.map +1 -1
- package/lib/module/theme/ThemeProvider.js +14 -4
- package/lib/module/theme/ThemeProvider.js.map +1 -1
- package/lib/module/theme/fontScale.js +13 -0
- package/lib/module/theme/fontScale.js.map +1 -0
- package/lib/module/theme/index.js +2 -4
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/themeContext.js +15 -0
- package/lib/module/theme/themeContext.js.map +1 -0
- package/lib/module/theme/themeDiagnostics.js +29 -0
- package/lib/module/theme/themeDiagnostics.js.map +1 -0
- package/lib/module/theme/usePrefersReducedMotion.js +11 -4
- package/lib/module/theme/usePrefersReducedMotion.js.map +1 -1
- package/lib/module/theme/usePrefersReducedMotion.web.js +5 -2
- package/lib/module/theme/usePrefersReducedMotion.web.js.map +1 -1
- package/lib/module/theme/useTheme.js +12 -25
- package/lib/module/theme/useTheme.js.map +1 -1
- package/lib/module/theme/useThemedStyles.js +9 -6
- package/lib/module/theme/useThemedStyles.js.map +1 -1
- package/lib/module/utils/imageSource.js +198 -0
- package/lib/module/utils/imageSource.js.map +1 -0
- package/lib/typescript/manual-tests/runtime-api/RuntimeApiScreen.d.ts +12 -0
- package/lib/typescript/manual-tests/runtime-api/RuntimeApiScreen.d.ts.map +1 -0
- package/lib/typescript/src/components/business/AvatarWithRing/AvatarWithRing.d.ts.map +1 -1
- package/lib/typescript/src/components/business/AvatarWithRing/styles.d.ts +8 -7
- package/lib/typescript/src/components/business/AvatarWithRing/styles.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/content.d.ts +19 -0
- package/lib/typescript/src/components/business/VersionPill/content.d.ts.map +1 -0
- package/lib/typescript/src/components/business/VersionPill/index.d.ts +1 -1
- package/lib/typescript/src/components/business/VersionPill/index.d.ts.map +1 -1
- package/lib/typescript/src/components/business/VersionPill/styles.d.ts +4 -0
- package/lib/typescript/src/components/business/VersionPill/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/business/VersionPill/types.d.ts +6 -2
- 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 +6 -5
- package/lib/typescript/src/components/business/useSvgId.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Avatar/Avatar.d.ts +2 -2
- package/lib/typescript/src/components/ui/Avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Avatar/types.d.ts +6 -2
- package/lib/typescript/src/components/ui/Avatar/types.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 +5 -3
- package/lib/typescript/src/components/ui/Button/ButtonBase.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Button/types.d.ts +5 -3
- package/lib/typescript/src/components/ui/Button/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Carousel/Carousel.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Carousel/behavior.d.ts +25 -0
- package/lib/typescript/src/components/ui/Carousel/behavior.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Carousel/styles.d.ts +4 -6
- package/lib/typescript/src/components/ui/Carousel/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Carousel/types.d.ts +14 -6
- package/lib/typescript/src/components/ui/Carousel/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/Cell.d.ts +1 -1
- package/lib/typescript/src/components/ui/Cell/Cell.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/Leading.d.ts +2 -3
- package/lib/typescript/src/components/ui/Cell/Leading.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/content.d.ts +18 -0
- package/lib/typescript/src/components/ui/Cell/content.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Cell/index.d.ts +1 -1
- package/lib/typescript/src/components/ui/Cell/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Cell/types.d.ts +66 -30
- package/lib/typescript/src/components/ui/Cell/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Checkbox/Checkbox.d.ts +1 -1
- package/lib/typescript/src/components/ui/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Checkbox/types.d.ts +12 -3
- package/lib/typescript/src/components/ui/Checkbox/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts +6 -3
- package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Confirm/confirm.d.ts +10 -4
- package/lib/typescript/src/components/ui/Confirm/confirm.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Confirm/labels.d.ts +6 -0
- package/lib/typescript/src/components/ui/Confirm/labels.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Confirm/store.d.ts +44 -0
- package/lib/typescript/src/components/ui/Confirm/store.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Confirm/styles.d.ts +3 -0
- package/lib/typescript/src/components/ui/Confirm/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Confirm/types.d.ts +0 -9
- package/lib/typescript/src/components/ui/Confirm/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/DrawerHeader/DrawerHeader.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/DrawerHeader/types.d.ts +7 -1
- package/lib/typescript/src/components/ui/DrawerHeader/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Grid/Grid.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Grid/accessibility.d.ts +5 -0
- package/lib/typescript/src/components/ui/Grid/accessibility.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Grid/types.d.ts +2 -0
- package/lib/typescript/src/components/ui/Grid/types.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 +4 -2
- package/lib/typescript/src/components/ui/IconButton/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Input/Input.d.ts +5 -383
- package/lib/typescript/src/components/ui/Input/Input.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Input/index.d.ts +1 -0
- package/lib/typescript/src/components/ui/Input/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Input/types.d.ts +3 -17
- package/lib/typescript/src/components/ui/Input/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Logo/Logo.d.ts +2 -2
- package/lib/typescript/src/components/ui/Logo/Logo.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Logo/types.d.ts +2 -2
- package/lib/typescript/src/components/ui/Logo/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/NavBar/NavBar.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/NavBar/index.d.ts +1 -1
- package/lib/typescript/src/components/ui/NavBar/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/NavBar/isSlot.d.ts +24 -4
- package/lib/typescript/src/components/ui/NavBar/isSlot.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/NavBar/types.d.ts +8 -8
- package/lib/typescript/src/components/ui/NavBar/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/PasswordInput/PasswordInput.d.ts +6 -14
- package/lib/typescript/src/components/ui/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/PasswordInput/types.d.ts +4 -14
- package/lib/typescript/src/components/ui/PasswordInput/types.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/normalizePulseOptions.d.ts +32 -0
- package/lib/typescript/src/components/ui/Pulse/normalizePulseOptions.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Pulse/usePulse.d.ts +10 -5
- package/lib/typescript/src/components/ui/Pulse/usePulse.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Pulse/usePulseDriver.d.ts +11 -0
- package/lib/typescript/src/components/ui/Pulse/usePulseDriver.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Pulse/usePulseDriver.web.d.ts +18 -0
- package/lib/typescript/src/components/ui/Pulse/usePulseDriver.web.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Radio/Radio.d.ts +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 +2 -2
- package/lib/typescript/src/components/ui/Radio/RadioGroup.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Radio/types.d.ts +14 -3
- package/lib/typescript/src/components/ui/Radio/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Reveal/Reveal.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Reveal/Reveal.web.d.ts +2 -8
- package/lib/typescript/src/components/ui/Reveal/Reveal.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Reveal/types.d.ts +1 -1
- package/lib/typescript/src/components/ui/Reveal/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Reveal/webTransition.d.ts +38 -0
- package/lib/typescript/src/components/ui/Reveal/webTransition.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Search/Search.d.ts +4 -214
- package/lib/typescript/src/components/ui/Search/Search.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Search/types.d.ts +13 -6
- package/lib/typescript/src/components/ui/Search/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Segmented/Segmented.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Skeleton/Skeleton.d.ts +3 -3
- package/lib/typescript/src/components/ui/Skeleton/Skeleton.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Spinner/Spinner.d.ts +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 +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 -1
- package/lib/typescript/src/components/ui/Spinner/types.d.ts +1 -1
- package/lib/typescript/src/components/ui/Spinner/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Stepper/Stepper.d.ts +3 -3
- package/lib/typescript/src/components/ui/Stepper/Stepper.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Stepper/StepperPressable.d.ts +2 -0
- package/lib/typescript/src/components/ui/Stepper/StepperPressable.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Stepper/StepperPressable.web.d.ts +2 -0
- package/lib/typescript/src/components/ui/Stepper/StepperPressable.web.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Stepper/accessibility.d.ts +3 -0
- package/lib/typescript/src/components/ui/Stepper/accessibility.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Stepper/accessibility.types.d.ts +23 -0
- package/lib/typescript/src/components/ui/Stepper/accessibility.types.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Stepper/accessibility.web.d.ts +9 -0
- package/lib/typescript/src/components/ui/Stepper/accessibility.web.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Stepper/layout.d.ts +22 -0
- package/lib/typescript/src/components/ui/Stepper/layout.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Stepper/normalizeStepper.d.ts +31 -0
- package/lib/typescript/src/components/ui/Stepper/normalizeStepper.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Stepper/styles.d.ts +9 -2
- package/lib/typescript/src/components/ui/Stepper/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Stepper/types.d.ts +3 -1
- package/lib/typescript/src/components/ui/Stepper/types.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 +9 -3
- package/lib/typescript/src/components/ui/Switch/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Switch/types.d.ts +2 -2
- package/lib/typescript/src/components/ui/Switch/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Tag/Tag.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts +4 -401
- package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/TextFieldSlot.d.ts +13 -0
- package/lib/typescript/src/components/ui/TextField/TextFieldSlot.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextField/normalize.d.ts +51 -0
- package/lib/typescript/src/components/ui/TextField/normalize.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextField/styles.d.ts +30 -0
- package/lib/typescript/src/components/ui/TextField/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/types.d.ts +92 -18
- package/lib/typescript/src/components/ui/TextField/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/useErrorAnnouncement.d.ts +3 -0
- package/lib/typescript/src/components/ui/TextField/useErrorAnnouncement.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextField/useTextFieldValue.d.ts +18 -0
- package/lib/typescript/src/components/ui/TextField/useTextFieldValue.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextField/valueState.d.ts +50 -0
- package/lib/typescript/src/components/ui/TextField/valueState.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Textarea/Textarea.d.ts +4 -382
- package/lib/typescript/src/components/ui/Textarea/Textarea.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Textarea/index.d.ts +1 -0
- package/lib/typescript/src/components/ui/Textarea/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Textarea/types.d.ts +3 -14
- package/lib/typescript/src/components/ui/Textarea/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Thumbnail/Thumbnail.d.ts +5 -12
- package/lib/typescript/src/components/ui/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Thumbnail/index.d.ts +1 -1
- package/lib/typescript/src/components/ui/Thumbnail/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Thumbnail/normalize.d.ts +13 -0
- package/lib/typescript/src/components/ui/Thumbnail/normalize.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Thumbnail/styles.d.ts +4 -8
- package/lib/typescript/src/components/ui/Thumbnail/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Thumbnail/types.d.ts +21 -13
- package/lib/typescript/src/components/ui/Thumbnail/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts +6 -2
- package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/ToastHost.web.d.ts +6 -3
- package/lib/typescript/src/components/ui/Toast/ToastHost.web.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/store.d.ts +39 -0
- package/lib/typescript/src/components/ui/Toast/store.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Toast/toast.d.ts +7 -2
- package/lib/typescript/src/components/ui/Toast/toast.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/types.d.ts +5 -3
- package/lib/typescript/src/components/ui/Toast/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/index.d.ts +4 -4
- package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/shared/ImageAttempt.d.ts +13 -0
- package/lib/typescript/src/components/ui/shared/ImageAttempt.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/shared/a11y.d.ts +19 -0
- package/lib/typescript/src/components/ui/shared/a11y.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/shared/accessibilityName.d.ts +3 -0
- package/lib/typescript/src/components/ui/shared/accessibilityName.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.d.ts +3 -0
- package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.shared.d.ts +4 -0
- package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.shared.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.web.d.ts +3 -0
- package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.web.d.ts.map +1 -0
- package/lib/typescript/src/theme/ThemeProvider.d.ts +2 -3
- package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/theme/fontScale.d.ts +4 -0
- package/lib/typescript/src/theme/fontScale.d.ts.map +1 -0
- package/lib/typescript/src/theme/index.d.ts +2 -1
- package/lib/typescript/src/theme/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/themeContext.d.ts +6 -0
- package/lib/typescript/src/theme/themeContext.d.ts.map +1 -0
- package/lib/typescript/src/theme/themeDiagnostics.d.ts +6 -0
- package/lib/typescript/src/theme/themeDiagnostics.d.ts.map +1 -0
- package/lib/typescript/src/theme/usePrefersReducedMotion.d.ts +8 -3
- package/lib/typescript/src/theme/usePrefersReducedMotion.d.ts.map +1 -1
- package/lib/typescript/src/theme/usePrefersReducedMotion.web.d.ts +5 -2
- package/lib/typescript/src/theme/usePrefersReducedMotion.web.d.ts.map +1 -1
- package/lib/typescript/src/theme/useTheme.d.ts +1 -1
- package/lib/typescript/src/theme/useTheme.d.ts.map +1 -1
- package/lib/typescript/src/theme/useThemedStyles.d.ts +1 -1
- package/lib/typescript/src/theme/useThemedStyles.d.ts.map +1 -1
- package/lib/typescript/src/utils/imageSource.d.ts +20 -0
- package/lib/typescript/src/utils/imageSource.d.ts.map +1 -0
- package/lib/typescript/type-tests/public-api.d.ts +2 -0
- package/lib/typescript/type-tests/public-api.d.ts.map +1 -0
- package/lib/typescript/website/src/components/iconCatalogCategories.d.ts +11 -0
- package/lib/typescript/website/src/components/iconCatalogCategories.d.ts.map +1 -0
- package/package.json +30 -14
- package/src/components/business/AvatarWithRing/AvatarWithRing.tsx +11 -4
- package/src/components/business/AvatarWithRing/styles.ts +11 -9
- package/src/components/business/VersionPill/VersionPill.tsx +31 -25
- package/src/components/business/VersionPill/content.ts +47 -0
- package/src/components/business/VersionPill/index.ts +1 -1
- package/src/components/business/VersionPill/styles.ts +4 -0
- package/src/components/business/VersionPill/types.ts +7 -2
- package/src/components/business/index.ts +1 -1
- package/src/components/business/useSvgId.ts +29 -8
- package/src/components/ui/Avatar/Avatar.tsx +25 -34
- package/src/components/ui/Avatar/types.ts +6 -2
- package/src/components/ui/Button/Button.tsx +39 -20
- package/src/components/ui/Button/ButtonBase.tsx +21 -12
- package/src/components/ui/Button/types.ts +5 -3
- package/src/components/ui/Carousel/Carousel.tsx +102 -40
- package/src/components/ui/Carousel/behavior.ts +78 -0
- package/src/components/ui/Carousel/styles.ts +5 -7
- package/src/components/ui/Carousel/types.ts +18 -6
- package/src/components/ui/Cell/Cell.tsx +85 -74
- package/src/components/ui/Cell/Leading.tsx +14 -14
- package/src/components/ui/Cell/content.ts +53 -0
- package/src/components/ui/Cell/index.ts +7 -1
- package/src/components/ui/Cell/types.ts +64 -30
- package/src/components/ui/Checkbox/Checkbox.tsx +35 -8
- package/src/components/ui/Checkbox/types.ts +15 -3
- package/src/components/ui/Confirm/ConfirmHost.tsx +51 -26
- package/src/components/ui/Confirm/confirm.ts +17 -34
- package/src/components/ui/Confirm/labels.ts +14 -0
- package/src/components/ui/Confirm/store.ts +147 -0
- package/src/components/ui/Confirm/styles.ts +4 -0
- package/src/components/ui/Confirm/types.ts +2 -10
- package/src/components/ui/DrawerHeader/DrawerHeader.tsx +22 -27
- package/src/components/ui/DrawerHeader/types.ts +7 -1
- package/src/components/ui/Grid/Grid.tsx +44 -12
- package/src/components/ui/Grid/accessibility.ts +21 -0
- package/src/components/ui/Grid/types.ts +2 -0
- package/src/components/ui/IconButton/IconButton.tsx +20 -3
- package/src/components/ui/IconButton/types.ts +4 -2
- package/src/components/ui/Input/Input.tsx +16 -6
- package/src/components/ui/Input/index.ts +5 -0
- package/src/components/ui/Input/types.ts +12 -23
- package/src/components/ui/Logo/Logo.tsx +27 -4
- package/src/components/ui/Logo/types.ts +2 -2
- package/src/components/ui/NavBar/NavBar.tsx +27 -19
- package/src/components/ui/NavBar/index.ts +1 -1
- package/src/components/ui/NavBar/isSlot.ts +372 -5
- package/src/components/ui/NavBar/types.ts +9 -8
- package/src/components/ui/PasswordInput/PasswordInput.tsx +67 -69
- package/src/components/ui/PasswordInput/types.ts +12 -14
- package/src/components/ui/Pulse/PulseDot.tsx +5 -4
- package/src/components/ui/Pulse/normalizePulseOptions.ts +76 -0
- package/src/components/ui/Pulse/usePulse.ts +80 -34
- package/src/components/ui/Pulse/usePulseDriver.ts +49 -0
- package/src/components/ui/Pulse/usePulseDriver.web.ts +66 -0
- package/src/components/ui/Radio/Radio.tsx +44 -15
- package/src/components/ui/Radio/RadioGroup.tsx +21 -3
- package/src/components/ui/Radio/types.ts +17 -3
- package/src/components/ui/Reveal/Reveal.tsx +5 -3
- package/src/components/ui/Reveal/Reveal.web.tsx +72 -29
- package/src/components/ui/Reveal/types.ts +1 -1
- package/src/components/ui/Reveal/webTransition.ts +206 -0
- package/src/components/ui/Search/Search.tsx +127 -58
- package/src/components/ui/Search/types.ts +30 -9
- package/src/components/ui/Segmented/Segmented.tsx +10 -2
- package/src/components/ui/Skeleton/Skeleton.tsx +9 -5
- package/src/components/ui/Spinner/Spinner.tsx +25 -17
- package/src/components/ui/Spinner/Spinner.web.tsx +23 -18
- package/src/components/ui/Spinner/shared.ts +7 -0
- package/src/components/ui/Spinner/types.ts +1 -1
- package/src/components/ui/Stepper/Stepper.tsx +166 -86
- package/src/components/ui/Stepper/StepperPressable.tsx +1 -0
- package/src/components/ui/Stepper/StepperPressable.web.tsx +1 -0
- package/src/components/ui/Stepper/accessibility.ts +32 -0
- package/src/components/ui/Stepper/accessibility.types.ts +22 -0
- package/src/components/ui/Stepper/accessibility.web.ts +65 -0
- package/src/components/ui/Stepper/layout.ts +44 -0
- package/src/components/ui/Stepper/normalizeStepper.ts +85 -0
- package/src/components/ui/Stepper/styles.ts +9 -2
- package/src/components/ui/Stepper/types.ts +3 -1
- package/src/components/ui/Switch/Switch.tsx +54 -15
- package/src/components/ui/Switch/Switch.web.tsx +57 -19
- package/src/components/ui/Switch/styles.ts +11 -4
- package/src/components/ui/Switch/types.ts +2 -2
- package/src/components/ui/Tag/Tag.tsx +6 -2
- package/src/components/ui/TextField/TextFieldBase.tsx +175 -70
- package/src/components/ui/TextField/TextFieldSlot.tsx +91 -0
- package/src/components/ui/TextField/normalize.ts +280 -0
- package/src/components/ui/TextField/styles.ts +31 -0
- package/src/components/ui/TextField/types.ts +118 -22
- package/src/components/ui/TextField/useErrorAnnouncement.ts +27 -0
- package/src/components/ui/TextField/useTextFieldValue.ts +94 -0
- package/src/components/ui/TextField/valueState.ts +125 -0
- package/src/components/ui/Textarea/Textarea.tsx +11 -4
- package/src/components/ui/Textarea/index.ts +5 -0
- package/src/components/ui/Textarea/types.ts +14 -22
- package/src/components/ui/Thumbnail/Thumbnail.tsx +86 -51
- package/src/components/ui/Thumbnail/index.ts +5 -1
- package/src/components/ui/Thumbnail/normalize.ts +78 -0
- package/src/components/ui/Thumbnail/styles.ts +5 -10
- package/src/components/ui/Thumbnail/types.ts +43 -13
- package/src/components/ui/Toast/ToastHost.tsx +81 -22
- package/src/components/ui/Toast/ToastHost.web.tsx +91 -29
- package/src/components/ui/Toast/store.ts +148 -0
- package/src/components/ui/Toast/toast.ts +19 -10
- package/src/components/ui/Toast/types.ts +7 -3
- package/src/components/ui/index.ts +19 -4
- package/src/components/ui/shared/ImageAttempt.tsx +30 -0
- package/src/components/ui/shared/a11y.ts +18 -0
- package/src/components/ui/shared/accessibilityName.ts +6 -0
- package/src/components/ui/shared/selectImageAttemptSource.shared.ts +17 -0
- package/src/components/ui/shared/selectImageAttemptSource.ts +3 -0
- package/src/components/ui/shared/selectImageAttemptSource.web.ts +3 -0
- package/src/icons/data.ts +1 -1
- package/src/theme/ThemeProvider.tsx +18 -7
- package/src/theme/fontScale.ts +15 -0
- package/src/theme/index.ts +2 -3
- package/src/theme/themeContext.ts +24 -0
- package/src/theme/themeDiagnostics.ts +41 -0
- package/src/theme/usePrefersReducedMotion.ts +11 -4
- package/src/theme/usePrefersReducedMotion.web.ts +5 -2
- package/src/theme/useTheme.ts +19 -27
- package/src/theme/useThemedStyles.ts +12 -7
- package/src/utils/imageSource.ts +303 -0
- package/lib/module/components/ui/PasswordInput/styles.js +0 -12
- package/lib/module/components/ui/PasswordInput/styles.js.map +0 -1
- package/lib/module/components/ui/Pulse/usePulse.web.js +0 -76
- package/lib/module/components/ui/Pulse/usePulse.web.js.map +0 -1
- package/lib/typescript/src/components/ui/PasswordInput/styles.d.ts +0 -7
- package/lib/typescript/src/components/ui/PasswordInput/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Pulse/usePulse.web.d.ts +0 -21
- package/lib/typescript/src/components/ui/Pulse/usePulse.web.d.ts.map +0 -1
- package/src/components/ui/PasswordInput/styles.ts +0 -7
- package/src/components/ui/Pulse/usePulse.web.ts +0 -74
|
@@ -1,32 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
4
|
import { Text, View } from 'react-native';
|
|
5
5
|
import { Pressable } from 'react-native-gesture-handler';
|
|
6
6
|
import { pressedOpacity, r, useColors, useThemedStyles } from "../../../theme/index.js";
|
|
7
|
+
import { createLogger } from "../../../utils/logger/index.js";
|
|
7
8
|
import { Icon } from "../Icon/index.js";
|
|
9
|
+
import { A11Y_HIDDEN_PROPS } from "../shared/a11y.js";
|
|
10
|
+
import { resolveCellActionAccessibilityLabel, stringifyCellText } from "./content.js";
|
|
8
11
|
import { useListVariant } from "./context.js";
|
|
9
12
|
import { Leading } from "./Leading.js";
|
|
10
13
|
import { makeStyles } from "./styles.js";
|
|
11
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
const log = createLogger('Cell');
|
|
16
|
+
function CellExtraContent({
|
|
17
|
+
extra,
|
|
18
|
+
textStyle
|
|
19
|
+
}) {
|
|
20
|
+
if (!extra) return null;
|
|
21
|
+
switch (extra.kind) {
|
|
22
|
+
case 'text':
|
|
23
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
24
|
+
style: textStyle,
|
|
25
|
+
numberOfLines: 1,
|
|
26
|
+
children: stringifyCellText(extra.value)
|
|
27
|
+
});
|
|
28
|
+
case 'display':
|
|
29
|
+
return /*#__PURE__*/_jsx(View, {
|
|
30
|
+
...A11Y_HIDDEN_PROPS,
|
|
31
|
+
children: extra.node
|
|
32
|
+
});
|
|
33
|
+
case 'control':
|
|
34
|
+
return extra.node;
|
|
28
35
|
}
|
|
29
|
-
return value;
|
|
30
36
|
}
|
|
31
37
|
|
|
32
38
|
/**
|
|
@@ -36,27 +42,27 @@ function renderSlot(value, textStyle, numberOfLines) {
|
|
|
36
42
|
* - `grouped`(默认):独立白卡片 + 8px 间距
|
|
37
43
|
* - `flush`(嵌在 Card 内):紧凑列表,28×28 橙色 icon 盒子,行间 inset hairline 分隔
|
|
38
44
|
*/
|
|
39
|
-
export function Cell({
|
|
40
|
-
title,
|
|
41
|
-
titleLines,
|
|
42
|
-
desc,
|
|
43
|
-
extra,
|
|
44
|
-
arrow,
|
|
45
|
-
leading,
|
|
46
|
-
onPress,
|
|
47
|
-
disabled,
|
|
48
|
-
danger,
|
|
49
|
-
style,
|
|
50
|
-
testID,
|
|
51
|
-
accessibilityLabel,
|
|
52
|
-
accessibilityHint
|
|
53
|
-
}) {
|
|
45
|
+
export function Cell(props) {
|
|
54
46
|
const c = useColors();
|
|
55
47
|
const styles = useThemedStyles(makeStyles);
|
|
56
48
|
const variant = useListVariant();
|
|
57
49
|
const flush = variant === 'flush';
|
|
58
|
-
const
|
|
59
|
-
const
|
|
50
|
+
const requestedAction = typeof props.onPress === 'function';
|
|
51
|
+
const accessibilityLabel = requestedAction ? resolveCellActionAccessibilityLabel({
|
|
52
|
+
accessibilityLabel: props.accessibilityLabel,
|
|
53
|
+
title: props.title,
|
|
54
|
+
desc: props.desc,
|
|
55
|
+
extra: props.extra
|
|
56
|
+
}) : undefined;
|
|
57
|
+
const hasEffectiveAction = requestedAction && accessibilityLabel !== undefined;
|
|
58
|
+
const hasMissingActionName = requestedAction && !hasEffectiveAction;
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (hasMissingActionName) {
|
|
61
|
+
log.warn('Cell action 缺少非空业务名称,已按 display-only 渲染。');
|
|
62
|
+
}
|
|
63
|
+
}, [hasMissingActionName]);
|
|
64
|
+
const cellStyle = [styles.cell, flush && styles.cellFlush, flush && props.desc !== undefined && styles.cellFlushWithDesc, props.style];
|
|
65
|
+
const titleColor = props.danger ? c.error : undefined;
|
|
60
66
|
const titleStyle = [flush ? styles.titleFlush : styles.title, titleColor && {
|
|
61
67
|
color: titleColor
|
|
62
68
|
}];
|
|
@@ -64,45 +70,50 @@ export function Cell({
|
|
|
64
70
|
const extraStyle = flush ? styles.extraFlush : styles.extra;
|
|
65
71
|
const inner = /*#__PURE__*/_jsxs(View, {
|
|
66
72
|
style: cellStyle,
|
|
67
|
-
testID:
|
|
68
|
-
children: [leading
|
|
69
|
-
slot: leading,
|
|
70
|
-
danger: danger
|
|
73
|
+
testID: hasEffectiveAction ? undefined : props.testID,
|
|
74
|
+
children: [props.leading !== undefined ? /*#__PURE__*/_jsx(Leading, {
|
|
75
|
+
slot: props.leading,
|
|
76
|
+
danger: props.danger
|
|
71
77
|
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
72
78
|
style: styles.body,
|
|
73
|
-
children: [
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
80
|
+
style: titleStyle,
|
|
81
|
+
numberOfLines: props.titleLines ?? 1,
|
|
82
|
+
children: stringifyCellText(props.title)
|
|
83
|
+
}), props.desc !== undefined ? /*#__PURE__*/_jsx(Text, {
|
|
84
|
+
style: descStyle,
|
|
85
|
+
numberOfLines: 2,
|
|
86
|
+
children: stringifyCellText(props.desc)
|
|
87
|
+
}) : null]
|
|
88
|
+
}), /*#__PURE__*/_jsx(CellExtraContent, {
|
|
89
|
+
extra: props.extra,
|
|
90
|
+
textStyle: extraStyle
|
|
91
|
+
}), hasEffectiveAction && props.arrow && !props.danger ? /*#__PURE__*/_jsx(View, {
|
|
92
|
+
...A11Y_HIDDEN_PROPS,
|
|
93
|
+
style: flush ? styles.chevronFlush : undefined,
|
|
94
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
95
|
+
name: "chevron-right",
|
|
96
|
+
size: r(flush ? 18 : 20),
|
|
97
|
+
color: c.foregroundSubtle
|
|
98
|
+
})
|
|
79
99
|
}) : null]
|
|
80
100
|
});
|
|
81
|
-
if (
|
|
82
|
-
|
|
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;
|
|
101
|
+
if (hasEffectiveAction) {
|
|
102
|
+
const isDisabled = props.disabled === true;
|
|
89
103
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
90
|
-
onPress: onPress,
|
|
91
|
-
disabled:
|
|
104
|
+
onPress: isDisabled ? undefined : props.onPress,
|
|
105
|
+
disabled: isDisabled,
|
|
92
106
|
accessibilityRole: "button",
|
|
93
|
-
accessibilityLabel: accessibilityLabel
|
|
94
|
-
accessibilityHint: accessibilityHint,
|
|
95
|
-
accessibilityState:
|
|
96
|
-
disabled:
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
,
|
|
100
|
-
accessible: hasInteractiveExtra ? false : undefined,
|
|
101
|
-
testID: testID,
|
|
107
|
+
accessibilityLabel: accessibilityLabel,
|
|
108
|
+
accessibilityHint: props.accessibilityHint,
|
|
109
|
+
accessibilityState: {
|
|
110
|
+
disabled: isDisabled
|
|
111
|
+
},
|
|
112
|
+
testID: props.testID,
|
|
102
113
|
style: ({
|
|
103
114
|
pressed
|
|
104
115
|
}) => [{
|
|
105
|
-
opacity:
|
|
116
|
+
opacity: isDisabled ? 0.5 : pressed ? pressedOpacity : 1
|
|
106
117
|
}],
|
|
107
118
|
children: inner
|
|
108
119
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","Pressable","pressedOpacity","r","useColors","useThemedStyles","Icon","useListVariant","Leading","makeStyles","jsx","_jsx","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["React","useEffect","Text","View","Pressable","pressedOpacity","r","useColors","useThemedStyles","createLogger","Icon","A11Y_HIDDEN_PROPS","resolveCellActionAccessibilityLabel","stringifyCellText","useListVariant","Leading","makeStyles","jsx","_jsx","jsxs","_jsxs","log","CellExtraContent","extra","textStyle","kind","style","numberOfLines","children","value","node","Cell","props","c","styles","variant","flush","requestedAction","onPress","accessibilityLabel","title","desc","undefined","hasEffectiveAction","hasMissingActionName","warn","cellStyle","cell","cellFlush","cellFlushWithDesc","titleColor","danger","error","titleStyle","titleFlush","color","descStyle","descFlush","extraStyle","extraFlush","inner","testID","leading","slot","body","titleLines","arrow","chevronFlush","name","size","foregroundSubtle","isDisabled","disabled","accessibilityRole","accessibilityHint","accessibilityState","pressed","opacity"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Cell.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { StyleSheet, View } from 'react-native';
|
|
4
4
|
import { r, useColors } from "../../../theme/index.js";
|
|
5
5
|
import { Icon } from "../Icon/index.js";
|
|
6
|
+
import { A11Y_HIDDEN_PROPS } from "../shared/a11y.js";
|
|
6
7
|
import { useListVariant } from "./context.js";
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
const FLUSH_BOX_SIZE = r(28);
|
|
@@ -26,6 +27,7 @@ export function Leading({
|
|
|
26
27
|
// grouped 模式:裸 icon 22px;flush 模式:28×28 圆角盒子,danger 时切 error-container
|
|
27
28
|
if (variant === 'flush') {
|
|
28
29
|
return /*#__PURE__*/_jsx(View, {
|
|
30
|
+
...A11Y_HIDDEN_PROPS,
|
|
29
31
|
style: [sharedStyles.flushBox, {
|
|
30
32
|
backgroundColor: danger ? c.errorContainer : c.primaryContainer
|
|
31
33
|
}],
|
|
@@ -36,14 +38,18 @@ export function Leading({
|
|
|
36
38
|
})
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
|
-
return /*#__PURE__*/_jsx(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
return /*#__PURE__*/_jsx(View, {
|
|
42
|
+
...A11Y_HIDDEN_PROPS,
|
|
43
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
44
|
+
name: slot,
|
|
45
|
+
size: r(22),
|
|
46
|
+
color: danger ? c.error : c.foregroundMuted
|
|
47
|
+
})
|
|
43
48
|
});
|
|
44
49
|
}
|
|
45
50
|
return /*#__PURE__*/_jsx(View, {
|
|
46
|
-
|
|
51
|
+
...A11Y_HIDDEN_PROPS,
|
|
52
|
+
children: slot.node
|
|
47
53
|
});
|
|
48
54
|
}
|
|
49
55
|
//# sourceMappingURL=Leading.js.map
|
|
@@ -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":";;
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","r","useColors","Icon","A11Y_HIDDEN_PROPS","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","node"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Leading.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,CAAC,EAAEC,SAAS,QAAQ,yBAAgB;AAC7C,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,iBAAiB,QAAQ,mBAAgB;AAClD,SAASC,cAAc,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3C,MAAMC,cAAc,GAAGP,CAAC,CAAC,EAAE,CAAC;AAC5B,MAAMQ,gBAAgB,GAAGR,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAMS,YAAY,GAAGX,UAAU,CAACY,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,GAAGnB,SAAS,CAAC,CAAC;EACrB,MAAMoB,OAAO,GAAGjB,cAAc,CAAC,CAAC;EAEhC,IAAI,OAAOc,IAAI,KAAK,QAAQ,EAAE;IAC5B;IACA,IAAIG,OAAO,KAAK,OAAO,EAAE;MACvB,oBACEf,IAAA,CAACP,IAAI;QAAA,GACCI,iBAAiB;QACrBmB,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,CAACJ,IAAI;UAACyB,IAAI,EAAET,IAAK;UAACU,IAAI,EAAE5B,CAAC,CAAC,EAAE,CAAE;UAAC6B,KAAK,EAAEV,MAAM,GAAGC,CAAC,CAACU,KAAK,GAAGV,CAAC,CAACW;QAAQ,CAAE;MAAC,CAClE,CAAC;IAEX;IACA,oBACEzB,IAAA,CAACP,IAAI;MAAA,GAAKI,iBAAiB;MAAAuB,QAAA,eACzBpB,IAAA,CAACJ,IAAI;QACHyB,IAAI,EAAET,IAAK;QACXU,IAAI,EAAE5B,CAAC,CAAC,EAAE,CAAE;QACZ6B,KAAK,EAAEV,MAAM,GAAGC,CAAC,CAACU,KAAK,GAAGV,CAAC,CAACY;MAAgB,CAC7C;IAAC,CACE,CAAC;EAEX;EACA,oBAAO1B,IAAA,CAACP,IAAI;IAAA,GAAKI,iBAAiB;IAAAuB,QAAA,EAAGR,IAAI,CAACe;EAAI,CAAO,CAAC;AACxD","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { normalizeNonBlankText } from "../shared/accessibilityName.js";
|
|
4
|
+
export function stringifyCellText(value) {
|
|
5
|
+
return String(value);
|
|
6
|
+
}
|
|
7
|
+
function appendNonBlank(parts, value) {
|
|
8
|
+
const normalized = normalizeNonBlankText(value);
|
|
9
|
+
if (normalized !== undefined) parts.push(normalized);
|
|
10
|
+
}
|
|
11
|
+
export function buildCellAccessibilityLabel({
|
|
12
|
+
title,
|
|
13
|
+
desc,
|
|
14
|
+
extra
|
|
15
|
+
}) {
|
|
16
|
+
const parts = [];
|
|
17
|
+
appendNonBlank(parts, stringifyCellText(title));
|
|
18
|
+
if (desc !== undefined) {
|
|
19
|
+
appendNonBlank(parts, stringifyCellText(desc));
|
|
20
|
+
}
|
|
21
|
+
if (extra?.kind === 'text') {
|
|
22
|
+
appendNonBlank(parts, stringifyCellText(extra.value));
|
|
23
|
+
} else if (extra?.kind === 'display') {
|
|
24
|
+
appendNonBlank(parts, extra.accessibilityText ?? '');
|
|
25
|
+
}
|
|
26
|
+
return parts.join(',');
|
|
27
|
+
}
|
|
28
|
+
export function resolveCellActionAccessibilityLabel({
|
|
29
|
+
accessibilityLabel,
|
|
30
|
+
...content
|
|
31
|
+
}) {
|
|
32
|
+
return normalizeNonBlankText(accessibilityLabel) ?? normalizeNonBlankText(buildCellAccessibilityLabel(content));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeNonBlankText","stringifyCellText","value","String","appendNonBlank","parts","normalized","undefined","push","buildCellAccessibilityLabel","title","desc","extra","kind","accessibilityText","join","resolveCellActionAccessibilityLabel","accessibilityLabel","content"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/content.ts"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,gCAA6B;AAInE,OAAO,SAASC,iBAAiBA,CAACC,KAAoB,EAAU;EAC9D,OAAOC,MAAM,CAACD,KAAK,CAAC;AACtB;AAEA,SAASE,cAAcA,CAACC,KAAe,EAAEH,KAAa,EAAQ;EAC5D,MAAMI,UAAU,GAAGN,qBAAqB,CAACE,KAAK,CAAC;EAC/C,IAAII,UAAU,KAAKC,SAAS,EAAEF,KAAK,CAACG,IAAI,CAACF,UAAU,CAAC;AACtD;AAEA,OAAO,SAASG,2BAA2BA,CAAC;EAC1CC,KAAK;EACLC,IAAI;EACJC;AAKF,CAAC,EAAU;EACT,MAAMP,KAAe,GAAG,EAAE;EAC1BD,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACS,KAAK,CAAC,CAAC;EAE/C,IAAIC,IAAI,KAAKJ,SAAS,EAAE;IACtBH,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACU,IAAI,CAAC,CAAC;EAChD;EAEA,IAAIC,KAAK,EAAEC,IAAI,KAAK,MAAM,EAAE;IAC1BT,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACW,KAAK,CAACV,KAAK,CAAC,CAAC;EACvD,CAAC,MAAM,IAAIU,KAAK,EAAEC,IAAI,KAAK,SAAS,EAAE;IACpCT,cAAc,CAACC,KAAK,EAAEO,KAAK,CAACE,iBAAiB,IAAI,EAAE,CAAC;EACtD;EAEA,OAAOT,KAAK,CAACU,IAAI,CAAC,GAAG,CAAC;AACxB;AAEA,OAAO,SAASC,mCAAmCA,CAAC;EAClDC,kBAAkB;EAClB,GAAGC;AAML,CAAC,EAAsB;EACrB,OACElB,qBAAqB,CAACiB,kBAAkB,CAAC,IACzCjB,qBAAqB,CAACS,2BAA2B,CAACS,OAAO,CAAC,CAAC;AAE/D","ignoreList":[]}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
4
|
import { Text, View } from 'react-native';
|
|
5
5
|
import { Pressable } from 'react-native-gesture-handler';
|
|
6
6
|
import { fixed, pressedOpacity, r, useColors, useThemedStyles } from "../../../theme/index.js";
|
|
7
|
+
import { createLogger } from "../../../utils/logger/index.js";
|
|
8
|
+
import { A11Y_HIDDEN_PROPS } from "../shared/a11y.js";
|
|
9
|
+
import { normalizeNonBlankText } from "../shared/accessibilityName.js";
|
|
7
10
|
import { Icon } from "../Icon/index.js";
|
|
8
11
|
import { makeStyles } from "./styles.js";
|
|
9
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
const log = createLogger('Checkbox');
|
|
14
|
+
|
|
10
15
|
/**
|
|
11
16
|
* 多选复选框。20×20 盒子。
|
|
12
17
|
* 关:透明背景 + 细线边框。
|
|
@@ -18,31 +23,42 @@ export function Checkbox({
|
|
|
18
23
|
checked,
|
|
19
24
|
onChange,
|
|
20
25
|
label,
|
|
26
|
+
accessibilityLabel,
|
|
21
27
|
shape = 'square',
|
|
22
28
|
disabled,
|
|
23
29
|
testID
|
|
24
30
|
}) {
|
|
25
31
|
const c = useColors();
|
|
26
32
|
const styles = useThemedStyles(makeStyles);
|
|
33
|
+
const accessibleName = normalizeNonBlankText(accessibilityLabel) ?? normalizeNonBlankText(label);
|
|
34
|
+
const hasMissingName = accessibleName === undefined;
|
|
35
|
+
const isDisabled = disabled === true || hasMissingName;
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (hasMissingName) {
|
|
38
|
+
log.warn('Checkbox 需要非空的 accessibilityLabel 或可见 label,当前 action 已禁用。');
|
|
39
|
+
}
|
|
40
|
+
}, [hasMissingName]);
|
|
27
41
|
return /*#__PURE__*/_jsxs(Pressable, {
|
|
28
|
-
|
|
29
|
-
|
|
42
|
+
accessible: !hasMissingName,
|
|
43
|
+
onPress: isDisabled ? undefined : () => onChange(!checked),
|
|
44
|
+
disabled: isDisabled
|
|
30
45
|
// [M-7] box 20pt → 垂直补 (44-20)/2=12 到 fixed.hitTarget
|
|
31
46
|
,
|
|
32
47
|
hitSlop: Math.round((fixed.hitTarget - r(20)) / 2),
|
|
33
|
-
accessibilityRole:
|
|
34
|
-
accessibilityState: {
|
|
48
|
+
accessibilityRole: hasMissingName ? undefined : 'checkbox',
|
|
49
|
+
accessibilityState: hasMissingName ? undefined : {
|
|
35
50
|
checked,
|
|
36
|
-
disabled:
|
|
51
|
+
disabled: isDisabled
|
|
37
52
|
},
|
|
38
|
-
accessibilityLabel:
|
|
53
|
+
accessibilityLabel: accessibleName,
|
|
39
54
|
testID: testID,
|
|
40
55
|
style: ({
|
|
41
56
|
pressed
|
|
42
57
|
}) => [styles.row, {
|
|
43
|
-
opacity:
|
|
58
|
+
opacity: isDisabled ? 0.5 : pressed ? pressedOpacity : 1
|
|
44
59
|
}],
|
|
45
60
|
children: [/*#__PURE__*/_jsx(View, {
|
|
61
|
+
...A11Y_HIDDEN_PROPS,
|
|
46
62
|
style: [styles.box,
|
|
47
63
|
// [L-79] circle 形态改用 radius.pill —— sentinel 999 确保任何尺寸下都是真圆
|
|
48
64
|
shape === 'circle' && styles.boxCircle, checked && {
|
|
@@ -57,6 +73,7 @@ export function Checkbox({
|
|
|
57
73
|
style: checked ? undefined : styles.tickHidden
|
|
58
74
|
})
|
|
59
75
|
}), label ? /*#__PURE__*/_jsx(Text, {
|
|
76
|
+
...A11Y_HIDDEN_PROPS,
|
|
60
77
|
style: styles.label,
|
|
61
78
|
children: label
|
|
62
79
|
}) : null]
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
1
|
+
{"version":3,"names":["React","useEffect","Text","View","Pressable","fixed","pressedOpacity","r","useColors","useThemedStyles","createLogger","A11Y_HIDDEN_PROPS","normalizeNonBlankText","Icon","makeStyles","jsx","_jsx","jsxs","_jsxs","log","Checkbox","checked","onChange","label","accessibilityLabel","shape","disabled","testID","c","styles","accessibleName","hasMissingName","undefined","isDisabled","warn","accessible","onPress","hitSlop","Math","round","hitTarget","accessibilityRole","accessibilityState","style","pressed","row","opacity","children","box","boxCircle","backgroundColor","primary","borderColor","name","size","color","onPrimary","strokeWidth","tickHidden"],"sourceRoot":"../../../../../src","sources":["components/ui/Checkbox/Checkbox.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,8 @@ import { Animated, Easing, Modal, Pressable, Text, View, useWindowDimensions } f
|
|
|
5
5
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
6
6
|
import { space, useThemedStyles } from "../../../theme/index.js";
|
|
7
7
|
import { Button } from "../Button/index.js";
|
|
8
|
-
import {
|
|
8
|
+
import { registerConfirmHost, settleConfirm } from "./confirm.js";
|
|
9
|
+
import { resolveConfirmLabels } from "./labels.js";
|
|
9
10
|
import { makeStyles } from "./styles.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
12
|
/** 遮罩淡入 / 淡出时长(ms)—— 出场略长于入场,与 Modal slide 退场(~300ms)大致同步收完。 */
|
|
@@ -13,11 +14,14 @@ const SCRIM_IN_MS = 220;
|
|
|
13
14
|
const SCRIM_OUT_MS = 260;
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
|
-
* Confirm 对话框宿主 —— App
|
|
17
|
+
* Confirm 对话框宿主 —— App 根挂**一次**,监听 `confirm()` 调用并渲染。
|
|
17
18
|
*
|
|
18
19
|
* 原生 RN `Modal`(transparent + animationType slide)从底部滑入,backdrop 点击
|
|
19
|
-
* 取消、内层 sheet 拦截点击不冒泡。**不依赖 @gorhom
|
|
20
|
-
*
|
|
20
|
+
* 取消、内层 sheet 拦截点击不冒泡。**不依赖 @gorhom**。
|
|
21
|
+
*
|
|
22
|
+
* 唯一 owner:重复挂载的实例拿到 `null` lease,永久惰性、不渲染 —— 不会出现两个
|
|
23
|
+
* Host 争抢同一个对话框。所有关闭路径统一走 `settleConfirm(entry, result)`,
|
|
24
|
+
* 组件内不直接调用 entry 的 resolver。
|
|
21
25
|
*/
|
|
22
26
|
export function ConfirmHost() {
|
|
23
27
|
const styles = useThemedStyles(makeStyles);
|
|
@@ -27,33 +31,52 @@ export function ConfirmHost() {
|
|
|
27
31
|
} = useWindowDimensions();
|
|
28
32
|
const [entry, setEntry] = useState(null);
|
|
29
33
|
|
|
30
|
-
//
|
|
34
|
+
// 同步权威副本:effect cleanup 与迟到回调都读它,不受 React state 批处理延迟影响。
|
|
31
35
|
const pendingRef = useRef(null);
|
|
32
|
-
|
|
36
|
+
|
|
37
|
+
// 注册失败(已有 owner)时保持惰性:不订阅、不渲染。
|
|
38
|
+
const [inert, setInert] = useState(false);
|
|
33
39
|
|
|
34
40
|
// 保留最后一次显示的 entry:关闭时 entry 立即置 null,但 slide 退场动画期 Modal 仍可见,
|
|
35
41
|
// 渲染 lastEntry 才不会滑出一个只剩 padding 的空 sheet([M-17])。
|
|
36
42
|
const lastEntryRef = useRef(null);
|
|
37
43
|
if (entry) lastEntryRef.current = entry;
|
|
38
44
|
const display = entry ?? lastEntryRef.current;
|
|
45
|
+
const labels = resolveConfirmLabels({
|
|
46
|
+
confirmLabel: display?.options.confirmLabel,
|
|
47
|
+
cancelLabel: display?.options.cancelLabel
|
|
48
|
+
});
|
|
39
49
|
useEffect(() => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
50
|
+
const subscriber = event => {
|
|
51
|
+
// 先写同步 ref 再置 React state —— cleanup 与迟到回调依赖 ref 的即时正确性。
|
|
52
|
+
if (event.type === 'show') {
|
|
53
|
+
pendingRef.current = event.entry;
|
|
54
|
+
setEntry(event.entry);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (pendingRef.current?.id === event.id) {
|
|
58
|
+
pendingRef.current = null;
|
|
59
|
+
setEntry(current => current?.id === event.id ? null : current);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const lease = registerConfirmHost(subscriber);
|
|
63
|
+
if (!lease) {
|
|
64
|
+
setInert(true);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
43
67
|
return () => {
|
|
44
|
-
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
pendingRef.current
|
|
68
|
+
// 卸载时若对话框仍未决(error boundary 重置 / 根 re-key 切语言主题等),
|
|
69
|
+
// Store 把它 settle(false) —— 否则 confirm() 的 Promise 永久悬挂并锁死单例([H-5])。
|
|
70
|
+
const held = pendingRef.current;
|
|
71
|
+
pendingRef.current = null;
|
|
72
|
+
lease.release(held);
|
|
48
73
|
};
|
|
49
74
|
}, []);
|
|
50
75
|
const handleConfirm = useCallback(() => {
|
|
51
|
-
entry
|
|
52
|
-
setEntry(null);
|
|
76
|
+
if (entry) settleConfirm(entry, true);
|
|
53
77
|
}, [entry]);
|
|
54
78
|
const handleCancel = useCallback(() => {
|
|
55
|
-
entry
|
|
56
|
-
setEntry(null);
|
|
79
|
+
if (entry) settleConfirm(entry, false);
|
|
57
80
|
}, [entry]);
|
|
58
81
|
|
|
59
82
|
// 遮罩自持淡入 / 淡出(不蹭 Modal 的位移动画,理由见下方 scrim 注释)。退场也要淡:
|
|
@@ -67,6 +90,7 @@ export function ConfirmHost() {
|
|
|
67
90
|
useNativeDriver: true
|
|
68
91
|
}).start();
|
|
69
92
|
}, [entry, scrimOpacity]);
|
|
93
|
+
if (inert) return null;
|
|
70
94
|
return /*#__PURE__*/_jsx(Modal, {
|
|
71
95
|
visible: !!entry,
|
|
72
96
|
transparent: true,
|
|
@@ -99,24 +123,24 @@ export function ConfirmHost() {
|
|
|
99
123
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
100
124
|
style: styles.title,
|
|
101
125
|
accessibilityRole: "header",
|
|
102
|
-
children: display.title
|
|
103
|
-
}), display.message ? /*#__PURE__*/_jsx(Text, {
|
|
126
|
+
children: display.options.title
|
|
127
|
+
}), display.options.message ? /*#__PURE__*/_jsx(Text, {
|
|
104
128
|
style: styles.message,
|
|
105
|
-
children: display.message
|
|
129
|
+
children: display.options.message
|
|
106
130
|
}) : null]
|
|
107
131
|
}), /*#__PURE__*/_jsxs(View, {
|
|
108
132
|
style: styles.actions,
|
|
109
133
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
110
134
|
testID: "confirm-cancel",
|
|
111
|
-
label:
|
|
135
|
+
label: labels.cancelLabel,
|
|
112
136
|
variant: "secondary",
|
|
113
|
-
|
|
137
|
+
style: styles.action,
|
|
114
138
|
onPress: handleCancel
|
|
115
139
|
}), /*#__PURE__*/_jsx(Button, {
|
|
116
140
|
testID: "confirm-ok",
|
|
117
|
-
label:
|
|
118
|
-
variant: display.destructive ? 'danger' : 'primary',
|
|
119
|
-
|
|
141
|
+
label: labels.confirmLabel,
|
|
142
|
+
variant: display.options.destructive ? 'danger' : 'primary',
|
|
143
|
+
style: styles.action,
|
|
120
144
|
onPress: handleConfirm
|
|
121
145
|
})]
|
|
122
146
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","Animated","Easing","Modal","Pressable","Text","View","useWindowDimensions","useSafeAreaInsets","space","useThemedStyles","Button","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","Animated","Easing","Modal","Pressable","Text","View","useWindowDimensions","useSafeAreaInsets","space","useThemedStyles","Button","registerConfirmHost","settleConfirm","resolveConfirmLabels","makeStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SCRIM_IN_MS","SCRIM_OUT_MS","ConfirmHost","styles","insets","height","screenH","entry","setEntry","pendingRef","inert","setInert","lastEntryRef","current","display","labels","confirmLabel","options","cancelLabel","subscriber","event","type","id","lease","held","release","handleConfirm","handleCancel","scrimOpacity","Value","timing","toValue","duration","easing","out","quad","useNativeDriver","start","visible","transparent","animationType","statusBarTranslucent","onRequestClose","children","style","backdrop","onPress","accessible","pointerEvents","scrim","top","opacity","testID","sheet","paddingBottom","bottom","body","title","accessibilityRole","message","actions","label","variant","action","destructive"],"sourceRoot":"../../../../../src","sources":["components/ui/Confirm/ConfirmHost.tsx"],"mappings":"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","ignoreList":[]}
|